27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TABLE IV<br />

TOOL’S CLASSIFICATION ACCORDING WITH TESTING LEVELS PLUS<br />

REGRESSION TESTING<br />

Unit Testing<br />

SSTT [13],[25],[27],<br />

[14],[15],[31],<br />

[16],[32],[17],<br />

[33],[35],[19],<br />

[36]<br />

SPLTT [40],[41],[43],<br />

[44]<br />

Integr.<br />

Testing<br />

[13],[26],<br />

[31],[33]<br />

System<br />

Testing<br />

[23],[28],<br />

[29],[30],<br />

[21],[22]<br />

[39],[37],<br />

[45]<br />

Accept.<br />

Testing<br />

[23],[24]<br />

[18],[20]<br />

[42] [38]<br />

Regr.<br />

Testing<br />

[27],[17],<br />

[34],[20]<br />

same idea for SPLTT. Every year, since 2004, at least one tool<br />

for Unit Testing Level was published.<br />

There is a clear evolution of tools at the Unit Testing Level.<br />

We identified that JTest [14], Jwalk [16], and JUnitMX [35]<br />

evolved from the xUnit [41]. A possible reason for this fact<br />

was the release of new versions of the Java programming<br />

language, which allowed the development of more complex<br />

functionalities. Nevertheless, there is no visible evolution in<br />

other testing levels of single system and SPL testing tools<br />

including regression testing.<br />

V. MAIN FINDINGS<br />

The analysis of the results enables us to identify what have<br />

been emphasized in past research and also to identify gaps<br />

and possibilities for future research.<br />

Based on the analyzed tools, it was possible to identify that<br />

the tools are usually developed to support a specific testing<br />

level, under the justification that there are no tools supporting<br />

all functionalities of a testing process. None of the selected<br />

tools supports the overall SPL life cycle. For example, the<br />

prototype tool developed by [39] was created to assist the<br />

ScenTED technique, and does not support a general testing<br />

process. Moreover, the majority of the testing tools were<br />

implemented to solve a specific problem.<br />

The amount of SPL testing tools in academy (78%) is<br />

higher than the number of single system testing tools (58%). In<br />

industry this percentage is inverted: 25% of the SSTT and 11%<br />

of SPLTT. The percentage is equivalent when the tools are<br />

applied in both industry and academy (17% for single system<br />

and 11% for SPL). In accordance with Table III, the amount<br />

of projects applied in industrial context lacks investments.<br />

During the research, we identified the possibility to use<br />

single system testing tools such as JUnitMX [35], and Code-<br />

Genie [31] to support the SPL testing process, however, it<br />

will be necessary to change the methodology of using in<br />

order to suit the tool for the SPL context. Another possibility<br />

should be implement specific functionalities from SPL such as<br />

variability management of the assets, but this will be possible<br />

only for open-source applications. Tools such as AsmL [24],<br />

and SimC [15] were developed to solve specific problems of a<br />

specific environment, thus, the effort to adapt these tools can<br />

be impracticable.<br />

Despite the number of SSTT be twice higher than the<br />

number of SPLTT, when the tools are organized by testing<br />

levels, the percentage of single system and SPL testing tools<br />

are equivalent. The only exception was the Integration Testing<br />

Level since there was no SPLTT identified for this level.<br />

The amount of SSTT used in industry added with tools used<br />

in both academy and industry correspond to 41% of the total.<br />

When we focus on SPLTT, this number decreases to 22%.<br />

Thus, we believe that SPLTT do not achieve maturity enough<br />

to be applied in industrial projects so far. Moreover, the effort<br />

required to implement a SPL testing process into organizations<br />

hampers the development of SPLTT.<br />

Companies are interested in developing tools that could be<br />

used by a large number of consumers. For this reason, they<br />

look for attacking problems common to most customers. These<br />

tools are implemented to test general functionalities, performance,<br />

security, etc. Meanwhile, academy aims to produce<br />

tools that solve complex problems, which can explain the large<br />

number of Solution Proposal.<br />

Figure 5 shows that 2007 was the year with a higher<br />

number of publications describing SSTT (8 papers): 3 in the<br />

International Conference on Software Engineering (ICSE’07),<br />

2 in the International Conference on Automated Software<br />

Engineering (ASE’07), and 3 in other conferences. These<br />

two conferences together published the largest number of<br />

papers describing SSTT over the years, 6 papers each one.<br />

Coincidentally, 2007 was also the year with more tools focused<br />

on System Testing Level. From all the tools of System Testing<br />

Level analyzed, only 3 were applied in industry: 2 SSTT and<br />

1 SPLTT.<br />

The lack of SPLTT since 2009 could be explained by the<br />

absence of the Software Product Lines Testing Workshop<br />

(SPLiT) which is a great responsible by publications of this<br />

kind of tools. The SPLiT is part of the Software Product Lines<br />

Conference (SPLC) which is the main event of the SPL area.<br />

Finally, we identified a tendency directed to Automatic Generation<br />

Tools (50% of the analyzed tools) and according to [46]<br />

“The dream would be a powerful integrated test environment<br />

which by itself, as a piece of software is completed and<br />

deployed, generating the most suitable test cases, executing<br />

them and finally issuing a test report”.<br />

However, tools for automatic test case, test input, and test<br />

data generation, work independently. For this reason, the need<br />

for a framework to integrate these tools still exists [3].<br />

VI. THREATS TO VALIDITY<br />

The main threats to validity identified in the review are<br />

described next:<br />

• Tools selection. A possible threat in such review is to<br />

exclude some relevant tool. In order to reduce this possibility,<br />

the tools selection was based on the identification<br />

of the key research portals in computer science and a wide<br />

range of web search engines, besides the main journals<br />

and conferences. The defined criteria intended to select<br />

tools supporting some functionalities of the SPL Test<br />

Process and not just supporting specifics requirements.<br />

• Data Extraction. In order to ensure the validity, multiple<br />

sources of data were analyzed, i.e. papers, prototypes,<br />

632

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

Saved successfully!

Ooh no, something went wrong!