|Authors||S. Ali, M. Z. Iqbal, A. Arcuri and L. C. Briand|
|Title||Generating Test Data From OCL Constraints With Search Techniques|
|Project(s)||The Certus Centre (SFI)|
|Publication Type||Technical reports|
|Year of Publication||2012|
|Publisher||Simula Research Laboratory|
Model-based testing (MBT) aims at automated, scalable, and systematic testing solutions for complex industrial software systems. To increase chances of adoption in industrial contexts, software systems should be modeled using well-established standards such as the Unified Modeling Language (UML) and Object Constraint Language (OCL). Given that test data generation is one of the major challenges to automate MBT, we focus on test data generation from OCL constraints in this paper. Though search-based software testing has been applied to test data generation for white-box testing (e.g., branch coverage), its application to the MBT of industrial software systems has been limited. In this paper, we propose a set of search heuristics targeted to OCL constraints to guide test data generation and automate MBT in industrial applications. These heuristics are used to develop an efficient OCL solver exclusively based on search. We evaluate these heuristics for search algorithms such as Genetic Algorithms, (1+1) Evolutionary Algorithm and Alternating Variable Method. We empirically evaluate our heuristics using complex artificial problems followed by empirical analyses to evaluate the feasibility of our approach on one industrial system. Our approach is compared with a downloadable, standard OCL solver and shows to be significantly more efficient and more widely applicable.