Supporting Software Product Line Testing by Optimizing Code
Configuration Coverage
László Vidács, Ferenc Horváth, József Mihalicza, Béla Vancsics
and Árpád Beszédes
Software product lines achieve much shorter time to
market by system level reuse and code variability. A possible way
to achieve this flexibility is to use generic components,
including the core system, in different products in alternative
configurations. The focus of testing efforts for such complex and
highly variable systems often shifts from testing specific
products to assessing the overall quality of the core system or
potential new configurations. As a complementary approach to
feature models and related combinatorial testing methods
optimizing for feature coverage, we apply a source code oriented
analysis of variability. We present two algorithms that optimize
for high coverage of the common code base in terms of C++
preprocessor-based configurations with a limited set of actual
configurations selected for testing. The methods have been
evaluated on iGO Navigation, a large industrial system with
typical configuration support for product lines, hence we believe
the approach can be generalized to other systems as well.
Keywords: Variability,
Preprocessor, Configurations, Software Product Line, White box
testing.
Back