Assessing, Comparing, and Combining State Machine-Based Testing and Structural Testing: A Series of Experiments
Issue No. 02 - March/April (2011 vol. 37)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2010.32
Samar Mouchawrab , Carleton University, Ottawa, Canada
Lionel C. Briand , Simula Research Laboratory, Lysaker, Norway
Yvan Labiche , Carleton University, Ottawa, Canada
Massimiliano Di Penta , University of Sannio, Benevento, Italy
A large number of research works have addressed the importance of models in software engineering. However, the adoption of model-based techniques in software organizations is limited since these models are perceived to be expensive and not necessarily cost-effective. Focusing on model-based testing, this paper reports on a series of controlled experiments. It investigates the impact of state machine testing on fault detection in class clusters and its cost when compared with structural testing. Based on previous work showing this is a good compromise in terms of cost and effectiveness, this paper focuses on a specific state-based technique: the round-trip paths coverage criterion. Round-trip paths testing is compared to structural testing, and it is investigated whether they are complementary. Results show that even when a state machine models the behavior of the cluster under test as accurately as possible, no significant difference between the fault detection effectiveness of the two test strategies is observed, while the two test strategies are significantly more effective when combined by augmenting state machine testing with structural testing. A qualitative analysis also investigates the reasons why test techniques do not detect certain faults and how the cost of state machine testing can be brought down.
State-based software testing, structural testing, controlled experiments, state machines.
L. C. Briand, Y. Labiche, S. Mouchawrab and M. Di Penta, "Assessing, Comparing, and Combining State Machine-Based Testing and Structural Testing: A Series of Experiments," in IEEE Transactions on Software Engineering, vol. 37, no. , pp. 161-187, 2010.