DocumentCode :
2145892
Title :
Abstraction in Assertion-Based Test Oracles
Author :
Cheon, Yoonsik
Author_Institution :
Univ. of Texas at El Paso, El Paso
fYear :
2007
fDate :
11-12 Oct. 2007
Firstpage :
410
Lastpage :
414
Abstract :
Assertions can be used as test oracles. However, writing effective assertions of right abstraction levels is difficult because on the one hand, detailed assertions are preferred for thorough testing (i.e., to detect as many errors as possible), but on the other hand abstract assertions are preferred for readability, maintainability, and reusability. As assertions become a practical tool for testing and debugging programs, this is an important and practical problem to solve for the effective use of assertions. We advocate the use of model variables - specification-only variables of which abstract values are given as mappings from concrete program states - to write abstract assertions for test oracles. We performed a mutation testing experiment to evaluate the effectiveness of the use of model variables in assertion-based test oracles. According to our experiment, assertions written in terms of model variables are as effective as assertions written without using model variables in detecting (injected) faults, and the execution time overhead of model variables are negligible. Our findings are applicable to other use of runtime checkable assertions.
Keywords :
formal specification; program diagnostics; program testing; abstract assertions; assertion-based test oracles; mutation testing; program debugging; program testing; runtime checkable assertions; specification-only variables; Computer science; Concrete; Debugging; Genetic mutations; Java; Performance evaluation; Programming profession; Runtime; Testing; Writing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Quality Software, 2007. QSIC '07. Seventh International Conference on
Conference_Location :
Portland, OR
ISSN :
1550-6002
Print_ISBN :
978-0-7695-3035-2
Type :
conf
DOI :
10.1109/QSIC.2007.4385528
Filename :
4385528
Link To Document :
بازگشت