Functional program testing and analysis
Functional program testing and analysis
Software reliability: measurement, prediction, application
Software reliability: measurement, prediction, application
Comparing the Effectiveness of Software Testing Strategies
IEEE Transactions on Software Engineering
An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
Testing in the program development cycle
Software Engineering Journal
Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Software risk management
A study of the effectiveness of control and data flow testing strategies
Journal of Systems and Software - Special issue on applying specification, verification, and validation techniques to industrial software systems
Evaluation of a predicate-based software testing strategy
IBM Systems Journal
Theory of Fault-Based Predicate Testing for Computer Programs
IEEE Transactions on Software Engineering
Art of Software Testing
Automatically Generating Test Data from a Boolean Specification
IEEE Transactions on Software Engineering
Cause-effect graphing analysis and validation of requirements
CASCON '95 Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
Specification-based testing using cause-effect graphs
Specification-based testing using cause-effect graphs
An extended fault class hierarchy for specification-based testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automatic generation of test cases from Boolean specifications using the MUMCUT strategy
Journal of Systems and Software
On detecting double literal faults in Boolean expressions
Ada-Europe'07 Proceedings of the 12th international conference on Reliable software technologies
Fault-based test suite prioritization for specification-based testing
Information and Software Technology
Hi-index | 0.00 |
In this paper we discuss the advantages and limitations of a specification‐based software testing technique we call CEG‐BOR. There are two phases in this approach. First, informal software specifications are converted into cause‐effect graphs (CEG). Then, the Boolean OperatoR (BOR) strategy is applied to design and select test cases. The conversion of an informal specification into a CEG helps detect ambiguities and inconsistencies in the specification and sets the stage for design of test cases. The number of test cases needed to satisfy the BOR strategy grows linearly with the number of Boolean operators in CEG, and BOR testing guarantees detection of certain classes of Boolean operator faults. But, what makes the approach especially attractive is that the BOR based test suites appear to be very effective in detecting other fault types. We have empirically evaluated this broader aspect of the CEG‐BOR strategy on a simplified safety‐related real‐time control system, a set of N‐version programs, and on elements of a commercial data‐base system. In all cases, CEG‐BOR testing required fewer test cases than those generated for the applications without the use of CEG‐BOR. Furthermore, in all cases CEG‐BOR testing detected all faults that the original, and independently generated, application test‐suites did. In two instances CEG‐BOR testing uncovered additional faults. Our results indicate that the CEG‐BOR strategy is practical, scalable, and effective across diverse applications. We believe that it is a cost‐effective methodology for the development of systematic specification‐based software test‐suites.