23.03.2013 Views

Agile Performance Testing - Testing Experience

Agile Performance Testing - Testing Experience

Agile Performance Testing - Testing Experience

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!