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
相关论文
共 50 条
  • [1] A STATE-BASED APPROACH TO THE TESTING OF CLASS-BASED PROGRAMS
    TURNER, CD
    ROBSON, DJ
    SOFTWARE-CONCEPTS AND TOOLS, 1995, 16 (03): : 106 - 112
  • [2] Assessing, Comparing, and Combining State Machine-Based Testing and Structural Testing: A Series of Experiments
    Mouchawrab, Samar
    Briand, Lionel C.
    Labiche, Yvan
    Di Penta, Massimiliano
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (02) : 161 - 187
  • [3] State-based testing is functional testing!
    Ipate, Florentin
    Lefticaru, Raluca
    TAIC PART 2007 - TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS: CO-LOCATED WITH MUTATION 2007, 2007, : 55 - +
  • [4] Evolutionary testing of state-based programs
    McMinn, Phil
    Holcombe, Mike
    GECCO 2005: GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, VOLS 1 AND 2, 2005, : 1013 - 1020
  • [5] A case study using the round-trip strategy for state-based class testing
    Antoniol, G
    Briand, LC
    Di Penta, M
    Labiche, Y
    13TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2002, : 269 - 279
  • [6] State-based reproducible testing for CORBA applications
    Sohn, HW
    Kung, DC
    Hsia, P
    INTERNATIONAL SYMPOSIUM ON SOFTWARE ENGINEERING FOR PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1999, : 24 - 35
  • [7] Concolic Testing for Models of State-Based Systems
    Ahmadi, Reza
    Dingel, Juergen
    ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 4 - 15
  • [8] State-based reproducible testing for CORBA applications
    Univ of Texas at Arlington, Arlington, United States
    Int Workshop Software Eng Parall Distrib Syst Proc, (24-35):
  • [9] Metaheuristic Algorithm for State-Based Software Testing
    Haraty, Ramzi A.
    Mansour, Nashat
    Zeitunlian, Hratch
    APPLIED ARTIFICIAL INTELLIGENCE, 2018, 32 (02) : 197 - 213
  • [10] Testing refinements of state-based formal specifications
    Derrick, John
    Boiten, Eerke
    Software Testing Verification and Reliability, 1999, 9 (01): : 27 - 50