A Framework for Specification-Based Testing
IEEE Transactions on Software Engineering
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
On fault classes and error detection capability of specification-based testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
A new method for constructing pair-wise covering designs for software testing
Information Processing Letters
A Test Generation Strategy for Pairwise Testing
IEEE Transactions on Software Engineering
Generating Test Data for Branch Coverage
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
A Graphical Class Representation for Integrated Black- and White-Box Testing
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A Choice Relation Framework for Supporting Category-Partition Test Case Generation
IEEE Transactions on Software Engineering
An extended fault class hierarchy for specification-based testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
From MC/DC to RC/DC: formalization and analysis of control-flow testing criteria
Formal Aspects of Computing
Code-coverage guided prioritized test generation
Information and Software Technology
ZB'03 Proceedings of the 3rd international conference on Formal specification and development in Z and B
Choices, choices: comparing between CHOC'LATE and the classification-tree methodology
Ada-Europe'12 Proceedings of the 17th Ada-Europe international conference on Reliable Software Technologies
Hi-index | 48.22 |
In spite of its importance in software reliability, testing is labor intensive and expensive. It has been found that software testing without a good strategy may not be more effective than testing the system with random data. Obviously, the effectiveness of testing relies heavily on how well the test suite --- the set of test cases actually used --- is generated. This is because the comprehensiveness of the test suite will affect the scope of testing and, hence, the chance of revealing software faults. There are two main approaches to generating test suites: specification-based and code-based. The former generates a test suite from information derived from the specification, without requiring the knowledge of the internal structure of the program. The latter approach, on the other hand, generates a test suite based on the source code of the program. Neither of these approaches is sufficient; they are complementary to one another. In software development, the requirements have to be established before implementation, and the specification should exist prior to coding. In this respect, the specification-based approach to test suite generation is particularly useful because test cases can be generated before coding has been completed. This facilitates software development phases to be performed in parallel, thus allowing time for preparing more thorough test plans and yet shortening the length of the whole process.