Abstract
Test Case Prioritisation (TCP) aims to enhance fault detection ability by re-ordering test cases for execution. TCP techniques have been widely studied in the software engineering literature for decades. However, we found a lack of research applicable to the specification of systems expressed in the Object Constraint Language (OCL). OCL is a declarative language that can model the corresponding software systems. Performing TCP at the specification level is a promising practice. It enables the TCP process to be performed once, and the results can be used for all implementation of specifications in different programming languages or platforms. Inspired by the searching ability of the Genetic Algorithm (GA), we apply GA to perform the TCP process for OCL specifications in this work. We use the AgileUML tool to support the prioritisation process. In particular, this tool can generate test cases and mutations from the original OCL specification directly. We have performed three case studies upon real-world OCL specifications to assess our idea. The evaluation results show that the system defects can be detected more effectively by the prioritised test suite, also with a reasonable overhead.
Original language | English |
---|---|
Title of host publication | MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings |
Pages | 607-611 |
Number of pages | 5 |
Publication status | Published - Oct 2022 |