Assessing and improving state-based class testing: A series of experiments

被引:61
作者
Briand, LC
Di Penta, M
Labiche, Y
机构
[1] Carleton Univ, Software Qual Engn Lab, Dept Syst & Comp Engn, Ottawa, ON K1S 5B6, Canada
[2] Univ Sannio, Res Ctr Software Technol, Dept Engn, I-82100 Benevento, Italy
基金
加拿大自然科学与工程研究理事会;
关键词
state-based testing; testing experimentation; UML statecharts; category partition;
D O I
10.1109/TSE.2004.79
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper describes an empirical investigation of the cost effectiveness of well-known state-based testing techniques for classes or clusters of classes that exhibit a state-dependent behavior. This is practically relevant as many object-oriented methodologies recommend modeling such components with statecharts which can then be used as a basis for testing. Our results, based on a series of three experiments, show that in most cases state-based techniques are not likely to be sufficient by themselves to catch most of the faults present in the code. Though useful, they need to be complemented with black-box, functional testing. We focus here on a particular technique, Category Partition, as this is the most commonly used and referenced black-box, functional testing technique. Two different oracle strategies have been applied for checking the success of test cases. One is a very precise oracle checking the concrete state of objects whereas the other one is based on the notion of state invariant (abstract states). Results show that there is a significant difference between them, both in terms of fault detection and cost. This is therefore an important choice to make that should be driven by the characteristics of the component to be tested, such as its criticality, complexity, and test budget.
引用
收藏
页码:770 / 793
页数:24
相关论文
共 45 条
[21]   HINTS ON TEST DATA SELECTION - HELP FOR PRACTICING PROGRAMMER [J].
DEMILLO, RA ;
LIPTON, RJ .
COMPUTER, 1978, 11 (04) :34-41
[22]  
Devore J. L., 1999, PROBABILITY STAT ENG
[23]   All-uses vs mutation testing: An experimental comparison of effectiveness [J].
Frankl, PG ;
Weiss, SN ;
Hu, C .
JOURNAL OF SYSTEMS AND SOFTWARE, 1997, 38 (03) :235-253
[24]   AN EXPERIMENTAL COMPARISON OF THE EFFECTIVENESS OF BRANCH TESTING AND DATA-FLOW TESTING [J].
FRANKL, PG ;
WEISS, SN .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1993, 19 (08) :774-787
[25]  
Gamma E., 1995, Design Patterns: Elements of Reusable Object-Oriented Software, V206, P395
[26]   An empirical study of regression test selection techniques [J].
Graves, TL ;
Harrold, MJ ;
Kim, JM ;
Porter, A ;
Rothermel, G .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2001, 10 (02) :184-208
[27]  
Hong HS, 2000, SOFTW TEST VERIF BEH, V10, P203, DOI 10.1002/1099-1689(200012)10:4<203::AID-STVR212>3.0.CO
[28]  
2-2
[29]  
KIM S, 2000, P MUT 2000 C OCT
[30]  
KIM S, 2000, P NET OBJECT DAY OCT