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 条
[1]  
Acree Allen T., 1979, Technical Report GIT-ICS-79/08
[2]   Criteria for testing polymorphic relationships [J].
Alexander, RT ;
Offutt, AJ .
11TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2000, :15-23
[3]  
[Anonymous], 2000, Object-Oriented Software Engineering Conquering Complex and Changing Systems
[4]  
[Anonymous], 1998, Software Metrics: A Rigorous and Practical Approach, DOI 10.1201/b17461
[5]  
[Anonymous], 1999, TESTING OBJECT ORIEN
[6]  
[Anonymous], DESIGNING CONCURRENT
[7]  
[Anonymous], 2013, Basics of Software Engineering Experimentation
[8]  
[Anonymous], 2000, UNIFIED MODELING LAN, DOI DOI 10.1007/3-540-40011-7_10
[9]  
[Anonymous], P ICSE
[10]   A case study using the round-trip strategy for state-based class testing [J].
Antoniol, G ;
Briand, LC ;
Di Penta, M ;
Labiche, Y .
13TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2002, :269-279