Agile Performance Testing - Testing Experience
Agile Performance Testing - Testing Experience
Agile Performance Testing - Testing Experience
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Figure 3 – Script line analysis<br />
2.1.2 Creating derivation models<br />
After identifying the test scripts’ common and variable features,<br />
we start creating the derivation models (step 4), which is a task<br />
supported by GenArch plug-ins. In our research, we established<br />
that it is best to create these models manually, since code annotations<br />
used are restricted to Java applications on GenArch. This<br />
meant it was not possible to automatically generate an initial<br />
version using the tool. Models must be created and refined with<br />
the aim of allowing optimum simplicity and flexibility for the final<br />
test script generation.<br />
These models are the central objects of the derivation tool used,<br />
and from these we will be able to derive test scripts according to<br />
our specifications. Therefore creating and refining the models is<br />
an essential task in order to successfully perform derivation. In<br />
the following section, we briefly describe the models used.<br />
Feature Model<br />
This represents all variabilities identified during the previously<br />
performed analysis of the test scripts. It is designed such that<br />
it uses a simple and direct language to allow test engineers to<br />
easily understand its elements and to determine during the instantiation<br />
phase (described later) the desired characteristics to<br />
be included in the new test scenario.<br />
3.4 - Feature Model Example<br />
Architecture Model<br />
This model visually represents SPL’s implementation elements. It<br />
does so in a way that allows mapping out the relation between<br />
implementation elements (solution space) and features found<br />
in the feature model (problem space). Like the other derivation<br />
models, this one must also be manually created based on the results<br />
of the analysis made in the previous step. This model is basically<br />
made up of a set of test script templates that are processed<br />
to generate tests for specific web applications.<br />
Configuration Model<br />
Finally, we define the last model required for our approach, the<br />
www.testingexperience.com<br />
so-called configuration<br />
model. This model specifies<br />
the existing relationships<br />
between the elements<br />
from SPL’s architecture and<br />
feature models. It is considered<br />
a fundamental tool to<br />
connect the problem space<br />
(feature model) with the<br />
solution space (architecture).<br />
The configuration model<br />
displays the mapped relationships<br />
in a tree-view<br />
format, just like the architecture<br />
model does. However,<br />
it shows an explicit indication<br />
of the architecture<br />
dependencies to identified<br />
features. It contains only<br />
those architectural<br />
elements that have<br />
explicit dependencies<br />
to a feature to<br />
be instantiated; all<br />
others are considered<br />
mandatory features<br />
and will be included<br />
for every new<br />
SPL instance.<br />
2.1.3 Customizable<br />
test template<br />
specification<br />
3.5 - Architecture Model Example<br />
The next step of our<br />
approach involves<br />
the specification<br />
of test templates, 3.6 – Configuration Model example<br />
which is necessary<br />
to enable the implementation elements (classes, interfaces, features<br />
and files) to be customized during a new instance or product<br />
derivation. Templates shall be defined following the items<br />
identified as variabilities (from stage three), and considering<br />
these aspects during implementation. The aim is to include the<br />
maximum number of elements and to thereby minimize the<br />
work to be done by the engineers for the derivation of a new instance.<br />
2.2 Test script derivation<br />
Once all models and templates have been created and refined in<br />
a way that represents the implementation and variabilities of the<br />
software product line’s architecture, the GenArch tool is ready for<br />
the derivation of new instances / products of the SPL, which in<br />
our case will represent performance test scripts.<br />
In the next sections, we will present the final steps of our approach,<br />
which are needed in order to correctly create and derive<br />
a new instance by using the GenArch tool. We will also indicate<br />
which actions need to be performed by the engineer after the<br />
new instance has been derived.<br />
2.2.1 Test script generation<br />
In the fifth step of our approach, the following actions shall be<br />
performed with the intent of allowing the creation and derivation<br />
of a new instance:<br />
(1) Initially, the engineer must create a feature model instance<br />
in order to decide which variabilities will be part of the generated<br />
test script and supply it to the derivation tool, specifying<br />
for each selected variability its attributes value (if required).<br />
The Magazine for Professional Testers<br />
53