Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Performance Testing
We turn 10!
June 2010
© iStockphoto.com/DNY59
© iStockphoto.com/Squareplum
In this article we describe the results achieved by the research mance test type definition, along with creating and preparing
developed during my master‘s degree in software engineering, test scripts to be reused, and finally supporting performance test
and will present an approach for reuse and customization of scripts derivation and customization for specific applications.
performance test scripts for web applications. Our study was de- We describe where each of these steps can and must be checked,
veloped with the main purpose of providing an alternate way to since we are not describing a sequential series of activities that
traditional software performance testing, currently based on ma- must be done only once.
nual test script code implementation using available automation
Below, each step of our approach is presented from a practical
tools.
point of view to make it easier to understand and apply, and also
We focused on performance due to its extreme importance as to indicate where future modifications or adaptations might be
a non-functional requirement, especially for web applications, needed for a different scenario.
where underestimating it may cause severe consequences and
Steps 1 to 4 shall preferably be executed by a domain engineer,
financial loss to users/clients of the application.
who frequently will be the one who has greater knowledge re-
Our work,which is based on software product-line concepts and garding application‘s domain. Together with a test and a requi-
practices, defines an approach composed of six steps, which is
supported by a product derivation tool. It allows the identifica-
tion of variabilities found among the different test scripts that
were collected or implemented, and the establishment of models
and templates that make it possible to derive new instances or
test scripts focused on different scenarios for web applications.
During the development of our approach, a case study was per-
formed, which was composed of the analysis of test scripts deve-
loped for four different web applications with the intent of vali-
dating the proposed approach. In this article we will describe part
of this case study, which will show you how our approach can be
applied.
Immediately after the defined and validated scripts from the pre- 3.1.1 Common and variable features identification
vious steps have been made available, they are analyzed for the During this phase (step 3) the analyses of the collected and ad-
purpose of identifying similarities and variabilities among the apted test scripts is started, which we called “Scripts’ line” (figu-
scripts. This way, we can check if different test scripts that were re 2). The main goal is to identify common and variable features
implemented for the same test type perform similar operations among the chosen test types and the attributes for the selected
(insert, remove, search) based on a similar attribute (e.g. response web applications. To achieve this goal, implemented scripts are
time). analyzed and studied in order to identify common and variable
Similarities and variabilities identification between these scripts elements (figure 3). The findings will be utilized as elements of
allows us to correctly represent them in a product derivation tool. the required models.
In our case, (using the GenArch derivation tool), this information
is mapped to a set of models and templates.
(4) Derivation tools‘ artifacts specification:
During this step of our approach, we start working directly on
creating the artifacts for the product derivation tool, and use all
information gathered in the previous steps as a reference.. These
artifacts will be used by the derivation tool to allow performance
test scripts to be customized for specific applications needs.
With regard to the GenArch tool, three models need to be defi-
ned: feature, architecture and configuration. After creating these
models, we need to define two further aspects:
• templates , which represent customizable test scripts; and
• constraints and dependencies between elements of the mo-
dels regarding script generation.
(5) Automatic test scripts derivation for an application:
In this step, the engineer defines the desired test types along with
the respective attributes. This is done, for all the features selec- Figure 2 – Script’s line representation
ted and values indicated in the previously created feature model.
During the analysis a variety of common and variable elements
These settings are defined according to the desired test types for
can be identified among the test scripts, which will determine
a specific application. After establishing this new configuration
how applications behave in different situations and scenarios.
(feature selection), the engineer can start the automatic test
This allows the identification of elements that represent variabili-
script derivation process.
ties and may be used for future test script derivation.
Biography
José Carréra, MSc, has been test engineer at C.E.S.A.R. (Recife Cen-
ter for Advanced Studies and Systems) since 2006 and Professor of
Computer Science at the Faculdade de Tecnologia de Pernambuco,
Brazil, since 2010. He holds a master degree in software engineering,
graduated in computer science, and he is a Certified Tester — Found-
ation Level (CTFL), certified through the ISTQB (International Soft-
ware Testing Qualifications Board). His research interests include
performance testing, exploratory testing, agile methodologies and
software quality in general.