Coverage-based Approach for Model-based Testing in Software Product Line (original) (raw)

Features and Behaviours Mapping In Model-based Testing in Software Product Line

IOP Conference Series: Materials Science and Engineering, 2020

Testing in Software Product Line (SPL) is very hard task due to the high degree of variability that existed in products. Nowadays, many testing approaches have concern on reusability of technique. Feature Model (FM) is used to represent variability and commonality of products in SPL. The components of FM that represented as symbols caused the needs of mapping with other models to represent their semantics. In this paper, there are concise definitions that relates with mapping approaches between FM and behaviour model. Model definitions presented in our algorithms is used for automation mapping process based on traceability link created. The advanced query mechanism proposed to automate the process of mapping between models. Based on the experimental result, it shows that our proposed algorithm can help tester in automate searches for accurate mapping of features and requirements.

Software Product Line Testing Based on Feature Model Mutation

International Journal of Software Engineering and Knowledge Engineering

The Feature Model (FM) is a fundamental artifact of the Software Product Line (SPL) engineering, used to represent commonalities and variabilities, and also to derive products for testing. However, the test of all features combinations (products) is not always possible in practice. Due to the growing complexity of the applications, only a subset of products is usually selected. The selection is generally based on combinatorial testing, to test features interactions. This kind of selection does not consider different classes of faults that can be present in the FM. The application of a fault-based approach, such as mutation-based testing, can increase the probability of finding faults and the confidence that the SPL products match the requirements. Considering that, this paper introduces a mutation approach to select products for the feature testing of SPLs. The approach can be used similarly to a test criterion in the generation and assessment of test cases. It includes (i) a set of...

Model-based testing of software product lines: Mapping study and research roadmap

Journal of Systems and Software, 2020

Model-Based Testing (MBT) has been successfully applied to Software Product Lines (SPL). This paper provides a panorama of state-of-the-art on MBT of SPLs. We performed a systematic mapping for answering questions related with domains, approaches, solution types, variability, test case automation, artifacts, and evaluation. We built a roadmap from 44 selected studies. Main obtained results are: Software and Automotive domains are most considered; Black-box testing is widely performed; most studies have fully-automated support; variability is considered in most studies; Finite State Machines is the most used model to test SPLs; Behavioral-based and Scenario-based are the most used models; Case Studies and Experiments are used to evaluate MBT solutions and the majority is performed in industrial environments; traceability is not widely explored for MBT solutions. Furthermore, we provide a roadmap synthesizing studies based on used models, more formal artifacts, supporting tools, variability management, (semi-)automation, and traceability. The roadmap contributes to identify related primary studies based on given artifacts, variability management, tools, automation, and traceability techniques and to identify, from a given primary study, which artifacts, tools, variability management, automation and traceability techniques are related. Therefore, the roadmap serves as a guide to researchers and practitioners on how to model-based test SPLs.

Model-Based Testing for Software Product Lines A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy at George Mason University

2008

MODEL-BASED TESTING FOR SOFTWARE PRODUCT LINES Erika Mir Olimpiew, Ph.D. George Mason University, 2008 Dissertation Director: Dr. Hassan Gomaa, Chairman & Professor A Software Product Line (SPL), or family of systems, is a collection of applications that have so many features in common that it is worthwhile to study and analyze the common features as well as analyzing the features that differentiate these applications. Model-based design and development for SPLs extends modeling concepts for single applications to model the commonality and variability among the members of the SPL. Previous research on model-based functional testing methods for SPLs use existing requirement models, such as feature and use case models, to create reusable test specifications that can be configured for applications derived from a SPL. Feature-based test coverage criteria can be applied to determine what applications to test, when it is not feasible to test all possible applications of a SPL. However, pr...

Model-based Test Design for Software Product Lines

Splc, 2008

Modeling self-adaptive applications is a difficult task due to the complex relationships they have with their environments. Designers of such applications strive to model accurately a few (re)-configuration possibilities deemed to be the most relevant with respect to environmental changes. This deliberate restriction of the variability space is cumbersome and may unnecessarily reject interesting (re)configuration possibilities. We employ software productline techniques to properly cover the whole variability space of a self-adaptive application. This variability space is partitioned across three dimensions. Functional variability is modeled through a feature diagram whose features are realized by a set of components to be deployed on a platform. Topological variability is modeled via an UML collaboration excluding irrelevant configurations. Platform variability is modeled through constraints to be satisfied by configurations. For each dimension, we exhibit properties capturing the environment. Our modeling approach is illustrated on a web-server example.

Coverage Criteria for Behavioural Testing of Software Product Lines

Lecture Notes in Computer Science, 2014

Featured Transition Systems (FTS) is a mathematical structure to represent the behaviour of software product line in a concise way. The combination of the well-known transition systems approach to formal behavioural modelling with feature expressions was pivotal to the design of e cient verification approaches. Such approaches indeed avoid to consider products' behaviour independently, leading to often exponential savings. Building on this successful structure, we lay the foundations of model-based testing approach to SPLs. We define several FTSaware coverage criteria and report on our experience combining FTS with usage-based testing for configurable websites.

Automated Product Line Methodologies to Support Model-Based Testing

Testing products in a cost-efficient way remains an attractive topic for Model-Based Testing (MBT) of product lines in both academia and industry, which can be addressed by employing systematic and automated approaches based on models (such as feature models and UML models). Cost-effective testing products can be divided into three main problems, i.e., test selection, test generation, and test minimization. Driven by the needs of our industrial problems for testing Video Conferencing Systems (VCSs) product line developed by Cisco, Norway, this paper presents Product Line Model-based Testing Methodologies (PL-MTM) to tackle the above-mentioned three problems for costeffective testing a product in product line, which includes: 1) an systematic and automated test selection methodology; 2) an automated test minimization approach; and 3) an automated and systematic test generation methodology.

Heterogeneous Modeling and Testing of Software Product Lines

2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C)

Software product line (SPL) engineering is a widely accepted approach to systematically realizing software reuse in an industrial environment. Feature models, a centerpiece of most SPL engineering techniques, are appropriate to model the variability and the structure of SPLs, but not their behavior. This paper uses the idea to link feature modeling to modelbased behavior modeling and to determine the test direction (top-down or bottom-up) based on the variability binding. This heterogeneous modeling enables a holistic system testing for validating both desirable (positive) and undesirable (negative) properties of the SPL and variants. The proposed approach is validated by a non-trivial example and evaluated by comparison.

Goal-Oriented Test Case Selection and Prioritization for Product Line Feature Models

2011

The software product line engineering paradigm is amongst the widely used means for capturing and handling the commonalities and variabilities of the many applications of a target domain. The large number of possible products and complex interactions between software product line features makes the effective testing of them a challenge. To conquer the time and space complexity involved with testing a product line, an intuitive approach is the reduction of the test space. In this paper, we propose an approach to reduce the product line test space. We introduce a goal-oriented approach for the selection of the most desirable features from the product line. Such an approach allows us to identify the features that are more important and need to be tested more comprehensively from the perspective of the domain stakeholders. The more important features and the configurations that contain them will be given priority over the less important configurations, hence providing a hybrid test case reduction and prioritization strategy for testing software product lines.

A General Approach to Software Product Line Testing

Asociación de Ingeniería del Software y Tecnologías de Desarrollo de Software (SISTEDES), 2019

Variability is a central concept in Software Product Lines (SPLs). It has been extensively studied how the SPL paradigm can improve both the efficiency of a company and the quality of products. Nevertheless, this brings several challenges when testing an SPL, which are mainly caused by the potentially huge amount of products that can be derived from an SPL. Different studies proposing methods for testing SPLs exist. Furthermore, there are secondary studies reviewing and mapping the literature of the existing proposals. However, there is a lack of systematic guidelines for practitioners and researchers with the different steps required to perform a testing strategy of an SPL. In this paper, we present a first preliminary version for a tutorial that summarizes the existing proposals of the SPL testing area. To the best of our knowledge, there is no similar attempt in existing literature. Our goal is to discuss this tutorial with the community and enrich it to provide a more solid version of it in the future.