Assessing, comparing, and combining state machine-based testing and structural testing: A series of experiments

Samar Mouchawrab, Lionel C. Briand, Yvan Labiche, Massimiliano Di Penta

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Article number5416729
Pages (from-to)161-187
Number of pages27
JournalIEEE Transactions on Software Engineering
Volume37
Issue number2
DOIs
Publication statusPublished - 2011
Externally publishedYes

Keywords

  • controlled experiments
  • state machines
  • State-based software testing
  • structural testing

Fingerprint

Dive into the research topics of 'Assessing, comparing, and combining state machine-based testing and structural testing: A series of experiments'. Together they form a unique fingerprint.

Cite this