Improving testing reusability and automation for software product lines

Software product lines are widely used in industrial environments for developing complex software systems. One of the main advantages deriving from the adoption of this software engineering development methodology is increased reusability. In fact, software product lines offer convenient means for r...

Full description

Bibliographic Details
Main Author: Di Silvestro, Fabio
Format: Others
Language:English
Published: Mälardalens högskola, Akademin för innovation, design och teknik 2020
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-48635
Description
Summary:Software product lines are widely used in industrial environments for developing complex software systems. One of the main advantages deriving from the adoption of this software engineering development methodology is increased reusability. In fact, software product lines offer convenient means for representing different products belonging to the same family and different families of products by grouping shared functionalities and highlighting differences. Despite software product lines inherently improve the design and the development of complex software systems, they usually require ad-hoc strategies for the testing of such systems.To this end, testing strategies for software product lines need to account for the extensive amount of artefacts reuse and for possible differences among such artefact, too.In fact, even though software product line products might share several functionalities, the interfaces of such functionalities might differ due to the specificities imposed by the products or their designs. In this thesis, we propose a testing approach for software product lines, which allows to test functionalities that are shared among the products, accounting for the potential heterogeneity of the exposed interfaces.The main contribution of this approach is the definition of generic test-cases from which product-specific test-scripts are automatically generated, so to enhance the reusability of the handcrafted artefacts and overcome the issue of different interfaces.What is more, the proposed approach discloses the opportunity to reduce the time required to develop testing artefacts.