|Authors||S. Mouchawrab, L. Briand and Y. Labiche|
|Title||Assessing, Comparing, and Combining Statechart-Based Testing and Structural Testing: an Experiment|
|Publication Type||Proceedings, refereed|
|Year of Publication||2007|
|Conference Name||International Symposium on Empirical Software Engineering and Measurement (ESEM)|
An important number of studies have addressed the importance of models in software engineering, mainly in the design of robust software systems. Although models have been proven to be helpful in a number of software engineering activities, such as providing a better medium for communication among designers and customers, there is still significant resistance to model-driven development in many software organizations. The main reason is that it is perceived to be expensive and not necessarily cost-effective. This paper investigates one specific aspect of this larger problem. It addresses the impact of using statecharts for testing class clusters that exhibit a state-dependent behavior. More precisely, it reports on a controlled experiment that investigates their impact on testing fault-detection effectiveness and cost. Code-based, structural testing is compared to statechart-based testing and their combination is investigated to determine whether they are complementary. Results show that there is no significant difference between the fault detection effectiveness of the two test strategies but that they are significantly more effective when combined. This implies that a cost-effective strategy could be to specify statechart-based test cases early on, execute them when the source code becomes available, and then complete them with code-based test cases based on coverage analysis. This article also investigates the reasons for undetected faults and how the statechartbased testing of source code could be improved.