Software development is an error-prone process. Testing is the primary tool for detecting defects in the software and has tremendous impact on the quality of the developed product. Testing the implementation of the system alone is often not adequate since it does not take into account what the system is supposed to do. Testing should also involve the system's specification. Incorporating specification-based testing into the development process helps remove inconsistencies between the implementation and the specification. This dissertation provides contributions in the area of specification-based testing.
This dissertation describes structural specification-based testing (SST), a technique that I have developed to support specification-based test selection. Specification-based test selection ensures that the implementation is fully tested with respect to the required elements of the specification. I have also developed a tool, called ADLscope, to provide automated support for SST. SST and ADLscope are intended for unit-level testing and the testing of application programmatic interfaces (APIs).
In short, SST utilizes the specification of a program unit as the basis for measuring test coverage. First coverage conditions are automatically derived from the specification. When the implementation is tested, ADLscope automatically measures how many of the coverage conditions have been covered by the tests. An uncovered condition usually means that certain aspects of the specification have not been thoroughly tested. The tester then uses this information to develop new test data that exercise the uncovered conditions.
This research is validated by empirical studies that report defect detection and usability of SST/ADLscope. A summary of empirical results and observations is provided in the dissertation. The dissertation concludes by discussing future extension of this research.
Cited By
- Chang J and Richardson D (2019). Structural specification-based testing, ACM SIGSOFT Software Engineering Notes, 24:6, (285-302), Online publication date: 1-Nov-1999.
- Chang J and Richardson D Structural specification-based testing Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering, (285-302)
Recommendations
Program Segmentation for Controlling Test Coverage
ISSRE '97: Proceedings of the Eighth International Symposium on Software Reliability EngineeringIn this paper we present a new control-flow based approach to dynamic testing of sequential software. A practicable number of test cases is generated by using the boundary-interior path testing strategy and by dividing the test units into test segments (...
Guidelines for Coverage-Based Comparisons of Non-Adequate Test Suites
Special Issue on ISSTA 2013A fundamental question in software testing research is how to compare test suites, often as a means for comparing test-generation techniques that produce those test suites. Researchers frequently compare test suites by measuring their coverage. A ...
Coverage Based Testing with Test Purposes
QSIC '08: Proceedings of the 2008 The Eighth International Conference on Quality SoftwareTest purposes have been presented as a solution to avoid the state space explosion when selecting test cases from formal models. Although such techniques work very well with regard to the speed of the test derivation, they leave the tester with one ...