Performance Testing Modeling: an Empirical Evaluation of DSL and UML-Based Approaches

Performance Testing Modeling: an Empirical Evaluation of DSL and UML-Based Approaches

Performance Testing Modeling: an empirical evaluation of DSL and UML-based approaches Maicon Bernardino Elder M. Rodrigues Avelino F. Zorzo PUCRS PUCRS PUCRS Av. Ipiranga, 6681, Partenon Av. Ipiranga, 6681, Partenon Av. Ipiranga, 6681, Partenon Porto Alegre, RS, Brazil Porto Alegre, RS, Brazil Porto Alegre, RS, Brazil [email protected] [email protected] [email protected] ABSTRACT software testing [8], e.g. unit testing, functional testing and Performance testing modeling is a relative new research field. performance testing. However, software testing is a time Researches investigating how to apply models to document consuming and highly specialized phase in a software devel- performance testing information essentially started to be opment process. For instance, for a company to apply per- reported in the last decade. Motivated by the lack of a formance testing [6], it requires a team of performance engi- standard to represent performance testing information, our neers and testers with deep knowledge about the application research group, in collaboration with an IT company, pro- to be tested, its usage profile, and the infrastructure where posed a UML approach and lately a Domain-Specific Lan- it will operate. Moreover, it will also require a performance guage (DSL) to support performance testing modeling. The engineer with great ability on identifying and tracing appli- goal of this paper is to show how we support our partner cations requirements to performance requirements. Another company on the decision process to replace UML by a DSL, issue faced by performance testing teams is that most com- hence we designed and conducted an experimental study to panies still write applications requirements in an ambiguous provide evidence about the benefits and drawbacks when us- textual format, which could lead to misinterpretation and ing UML or DSL for modeling performance testing. In this inconsistencies on the definition of the performance require- paper, we report an in vitro experiment, where the subjects ments. Moreover, the lack of an unambiguous standard to designed UML models and DSL models, for the purpose of write the performance test case is another issue to be tackled evaluation with respect to the effort and suitability, from in performance testing. the perspective of the performance testers and the perfor- In order to mitigate these issues and to improve the com- mance engineers in the context of industry and academia munication between development and testing teams, our re- for modeling performance testing. Our results indicate that, search group proposed a model-based approach, based on for performance modeling, effort using a DSL was lower than a UML profile, to support the performance testing mod- eling [11]. After an empirical investigation [13], a partner using UML. Our statistical analysis showed that the results 1 were valid, i.e., that to design performance testing models company started the adoption of our approach, allowing using our DSL is better than using UML. performance teams to get involved in designing test models from early stages of the software development process and supporting the automatic generation of the performance ar- CCS Concepts tifacts from the applications models. Despite all the ben- •Software and its engineering ! Software perfor- efits, our daily experience on using UML models to design mance; Domain specific languages; •General and ref- performance testing revealed that it presents some limita- erence ! Experimentation; tions [2]: (a) most of available UML design tools do not pro- vide support to work with only those UML elements that are Keywords needed for a specialized language. Thus, the presence of un- used and not required elements may result in an error-prone Experiment; performance testing; domain-specific language and complex activity; (b) UML diagrams are restricted to the semantics that is defined by Object Management Group 1. INTRODUCTION (OMG) [9]. Therefore, in some cases, the available UML el- Nowadays, software quality has become a very important ements and their semantics can restrict or even prevent the asset, even for medium/small software development compa- modeling of some performance features for the Web domain. nies. In most of these companies, software quality rely on To overcome these issues, we have proposed and imple- mented a Domain-Specific Language (DSL) [5] to the per- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed formance domain: Canopus [2]. Canopus provides a graph- for profit or commercial advantage and that copies bear this notice and the full citation ical and textual DSL to support the design of performance on the first page. Copyrights for components of this work owned by others than the models. Our DSL, unlike the UML Testing profile, is de- author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission signed to support the performance testing modeling activity and/or a fee. Request permissions from [email protected]. and also to be used within MBT tools to generate perfor- SAC 2016, April 04 - 08, 2016, Pisa, Italy mance test scripts and scenarios for third-party tools/load Copyright is held by the owner/author(s). Publication rights licensed to ACM. ACM 978-1-4503-3739-7/16/04. $15.00 1Study developed in the context of PDTI 001/2015, financed DOI: http://dx.doi.org/10.1145/2851613.2851832 by Dell Computers with resources of Law 8.248/91. 1660 generators. It is important to notice that our DSL was de- 3. EXPERIMENT INSTRUMENTS signed and developed based on our previous experience and In this section we briefly present the UML approach for on our partner's expertise on performance testing model- modeling performance testing, the Canopus, and LimeSur- ing and on applying model-based testing to generate per- vey and Moodle 2 used as Systems Under Test (SUT) during formance scripts and scenarios. Despite all our expertise on the experiment training and execution: (a) UML pro- performance testing modeling, there was a lack of knowledge file for performance testing [11]: allows the use of UML about the benefits and drawbacks of using DSL or UML to Use Case and Activity diagrams annotated with stereotypes design performance testing model. Motivated by this lack and tagged values to model performance testing. Our ap- of knowledge, we planned and conducted an experimental proach to model performance information into UML mod- study to provide evidence about the benefits and drawbacks els relies on stereotypes3 to annotate test scenario informa- when using UML or DSL for modeling performance testing. tion into Use Case diagrams and the test case information These evidences will support our partner company on the de- into Activity diagrams; (b) Canopus: aims to allow per- cision process on the replacement of UML by Canopus. We formance testing teams to model the activities performed understand that some of the limitations, mentioned above, by the application's users and the environment where the are due to UML being a general propose language, but to applications is hosted. Canopus is composed of three meta- the best of our knowledge, there is no work that show that models: performance monitoring, performance scenario and UML performs better, in performance testing, than a DSL. performance scripting. The performance monitoring meta- This paper is organized as follows. Section 2 presents some model supports the design of a model to represent the test- context relative to the company in place, as well as motiva- ing environment infra-structure, such as application servers, tions for the study. Section 3 introduces the experiment database servers, and the load generator servers. This meta- instruments. Section 4 presents the experiment design and model supports the definition of performance counters that introduces our research questions. Section 5 describes the will be monitored during the test execution, for every server. execution of the experiment, while Section 6 presents our The performance scenario metamodel supports the model- analysis and interpretation of results. Finally, we present ing of the users workload profiles and the probabilities of the conclusion and future work. execution of test cases by each of these profiles. For every modeled workload profile, it must be instantiated to a per- 2. EXPERIMENT CONTEXT formance workload metamodel.4.A performance scripting In the past years our research group in performance test- metamodel is used to model the virtual users behavior, and ing has been investigating, in cooperation with a Technology it must be bound to a user profile; (c) LimeSurvey: is Development Lab (TDL) of a global IT company, novel ap- an open source Web application that allows non-technical proaches and strategies to support performance testing. One users to quickly create on-line question-and-answer surveys; of our main research focus is the automation of performance (d) Moodle: is an open source learning management plat- testing process, mainly through the application of Model- form that provides a customized virtual environment for ed- based Testing (MBT) [15] approaches and its related lan- ucators and students. guages and modeling notations. In this context, we have pro- posed and empirically evaluated several approaches [12] [13], 4. EXPERIMENT DESIGN notations [4] [14], languages [2] and tools

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us