Canopus : a domain-specific language for modeling performance testing - Silveira, Maicon Bernardino da (2016)
Performance is a fundamental quality of software systems. Performance testing is a technique able to reveal system bottlenecks and/or lack of scalability of the up-and-running environment. However, usually the software development cycle does not apply this effort on the early development phases, thereby resulting in a weak elicitation process of performance requirements and difficulties for the performance team to integrate them into the project scope. Model-Based Testing (MBT) is an approach to automate the generation of test artifacts from the system models. By doing that, communication is improved among teams, given that the test information is aggregated in the system models since the early stages aiming to automate the testing process. The main contribution of this thesis is to propose a Domain-Specific Language (DSL) for modeling performance testing in Web applications. The language is called Canopus, in which a graphical model and a natural language are proposed to support performance modeling and automatic generation of test scenarios and scripts. Furthermore, this work provides an example of use and an industrial case study to demonstrate the use of Canopus. Based on the results obtained from these studies, we can infer that Canopus can be considered a valid DSL for modeling performance testing. Our motivation to perform this study was to investigate whether a DSL for modeling performance testing can improve quality, cost, and efficiency of performance testing. Therefore, we also carried out a controlled empirical experiment to evaluate the effort (time spent), when comparing Canopus with another industrial approach - UML. Our results indicate that, for performance modeling, effort using Canopus was lower than using UML. Our statistical analysis showed that the results were valid, i.e., that to design performance testing models using Canopus is better than using UML.