improve-testsuite-icse2003 - Improving Test Suites via...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Improving Test Suites via Operational Abstraction Michael Harder Jeff Mellen Michael D. Ernst MIT Lab for Computer Science 200 Technology Square Cambridge, MA 02139 USA { mharder,jeffm,mernst } Abstract This paper presents the operational difference technique for generating, augmenting, and minimizing test suites. The technique is analogous to structural code coverage tech- niques, but it operates in the semantic domain of program properties rather than the syntactic domain of program text. The operational difference technique automatically se- lects test cases; it assumes only the existence of a source of test cases. The technique dynamically generates opera- tional abstractions (which describe observed behavior and are syntactically identical to formal specifications) from test suite executions. Test suites can be generated by adding cases until the operational abstraction stops changing. The resulting test suites are as small, and detect as many faults, as suites with 100% branch coverage, and are better at de- tecting certain common faults. This paper also presents the area and stacking tech- niques for comparing test suite generation strategies; these techniques avoid bias due to test suite size. 1 Introduction Program specifications play a valuable role in dynamic analyses such as software testing [GG75b, ROT89, CRS96, OL99]. Most previous research on automated specification- based testing has required software testers to provide a for- mal specification. Furthermore, the research has generally focused on systematic generation of test suites rather than evaluation and comparison of existing test suites. The ap- plicability of previous research is limited by the fact that very few programs are formally specified — most lack even assert statements. Additionally, software engineers may desire to improve existing test suites or to use other tools for selecting test cases. The operational difference (OD) technique is a new specification-based test case selection technique that en- ables augmentation, minimization, and generation of test suites in cooperation with any existing technique for test case generation. It does not require a specification to be provided a priori , nor does it require an oracle that indi- cates whether a particular test case passes or fails. It au- tomatically provides users with an operational abstraction . An operational abstraction is syntactically identical to a for- mal specification, but describes actual behavior, which may or may not be desired behavior. For future testing, the op- erational abstraction can provide the benefits of an a priori specification, such as assisting regression testing by reveal- ing removed functionality and checking test results. The operational abstractions are also useful in their own right....
View Full Document

This note was uploaded on 02/24/2012 for the course CSE 503 taught by Professor Davidnotikin during the Spring '11 term at University of Washington.

Page1 / 12

improve-testsuite-icse2003 - Improving Test Suites via...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online