Testing software product lines spls is very challenging due to a high degree of variability leading to an enormous number of possible products. Using feature model to support modelbased testing of product lines. Modelbased testing mbt is an approach to software testing that requires developers to create a second, lightweight implementation of a software build called a model. Modelbased testing mbt has been successfully applied to software product lines spl. Modelbased testing saves you lots of time and money. Model based testing is a software testing technique where run time behavior of software under test is checked against predictions made by a model.
Who would not prefer to create models rather than create. Lochau et al incremental modelbased testing of deltaoriented software product lines, tap 2012 lity et al deltaoriented modelbased spl regression testing, please 2012 lity et al. Automatic modelbased test design for single product variants is wellknown. Test models and algorithms for modelbased testing of. Advances in testing software product lines sciencedirect. Modelbased design and development for spls extends modeling concepts for single applications to model the commonality and variability among the members of the spl. In proceedings of the international conference of quality software qsic, pp. To accelerate system testing at any development stage of the modelbased development process, simcenter extends its portfolio with modelbased system testing capabilities.
As decreasing testing cost is an important challenge in software product line integration testing, the contribution of this paper is in introducing a method for early integration testing in software product lines based on feature model fm by prioritizing test cases in. Integration of model based testing into continuous development processes and environments e. One approach is to resolve a representative set of products from a product line for the purpose of testing, and then to generate test cases for these products. An application to similarity testing ieee conference publication. As decreasing testing cost is an important challenge in software product line integration testing, the contribution of this paper is in introducing a method for early integration testing in software product lines based on feature model fm by prioritizing test cases in order to decrease integration testing costs in spls. Software product line spl engineering has become common practice for mass production and customization of variability intensive systems. Modelbased testing helps you generate better tests faster, with better quality. An automated modelbased testing approach in software product.
Automated product line methodologies to support modelbased. Software product line testing based on feature model mutation. Incremental modelbased testing of deltaoriented software. In this paper, we introduce an approach for systematic reuse. Modelbased software product line testing by coupling feature. Our proposal defines a set of metamodels, models and algorithms, all of them organized and managed in a 5step process, which are implemented in a tool specifically developed for this goal, pralintool.
Pohl, integration testing in software product line engineering. Featureoriented model based functional testing of software product lines. Model based testing relies on a model of the system under test. Our work has as main topics the model based testing paradigm for the testing of software, and the variability for addressing the challenges of software product line systems. Previous research on modelbased 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. Incremental model based testing of deltaoriented software product lines ina schaefer joint work with malte lochau and sascha lity ifip wg 2. A survey of modelbased software product lines testing 3. Topdown and bottomup approach for modelbased testing of. It makes use of a model to generate tests that includes both offline and online testing. A novel modelbased testing approach for software product lines. A survey of modelbased software product lines testing.
Schlinglo, reusing state machines for automatic test generation in product lines, in 1st workshop on model based testing in practice, 2008. The picture on the right depicts the former approach. Citeseerx document details isaac councill, lee giles, pradeep teregowda. A model based testing method for software product lines spl is used to create test specifications from use case and feature models, which can then be configured to test individual applications that are members of the spl.
Modelbased testing is a software testing technique in which the test cases are derived from a model that describes the functional aspects of the system under test. A software product line is a family of programs the products with welldefined commonalities and variabilities that are developed by reusing common artifacts. Software product line testing a systematic mapping study. Software product lines, testing, software design, software testing, coverage criteria, domain model, exhaustive testing, feature. Modelbased testing relies on a model of the system under test.
Modelbased pairwise testing for feature interaction. Modelbased testing for applications derived from software. Automated product line methodologies to support model. Models can be used to represent the desired behavior of a system under test sut, or to represent testing strategies and a test environment. Unit testing wont be sufficient to check the functionalities. Topdown and bottomup approach for modelbased testing. However, product owners and requirement engineers need to grapple with test definitions to ensure consistency and conformity. The use of mbt has several other advantages when compared to other test techniques.
Testrelated activities that can be used to form the test process for a product line organization are described. A novel modelbased testing approach for software product lines 3 deltafinefit enables the fully automated testing of all the products of an spl. Modelbased 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 by erika mir olimpiew master of science, virginia commonwealth university, 1997 bachelor of science, virginia commonwealth university, 1995. A software product line is a set of softwareintensive systems sharing a common, managed set of features thatsatisfy the specificneeds of a particularmarket segment or mission and thataredeveloped from a common set of core assets in a prescribedway. The invited talk and paper of jan peleska in this volume gives a nice survey of current challenges. Software product lines spls are increasing in relevance and importance as various domains strive to cope with the challenges of supporting a high degree of variability in modern software systems. Pdf on jan 1, 2008, erika mir olimpiew and others published modelbased test design for software product lines. In mbt, an abstract model, which captures the desired behavior of the system, is used to generate test cases. A novel model based testing approach for software product lines 3 deltafinefit enables the fully automated testing of all the products of an spl. A product line modeling and configuration methodology to support model based testing. When the number of products is too large, testing all the products is unfeasible. Its true, and believe me im deeply convinced about that. Model based system testing siemens digital industries.
Effective productline testing using similaritybased. Modelbased testing mbt is a technique that is widely used for quality assurance of software systems. Automatic model based test design for single product variants is wellknown. This report expands on the testing practice area described by clements and northrop. Reuse and the maintenance of traceability between the different artefacts in the line are fundamental requirements in this paradigm, articulating the best practices for software development in an environment that is perfectly controlled by software. Corrigendum to basic behavioral models for software product lines. Product linebased software engineering is a paradigm that models the commonalities and variabilities of different applications of a given domain of interest within a unique framework and enhances. This section presents essential concepts on model based testing of software product lines spl. Testing a software product line december 2001 technical report john mcgregor. Featureoriented modelbased functional testing of software product lines. A method for prioritizing integration testing in software. The feature model fm is a fundamental artifact of the software product line spl engineering, used to represent commonalities and variabilities, and also to. A modelbased testing method for software product lines spl is used to create test specifications from use case and feature models, which can then be configured to test individual applications that are members of the spl. Software product line spl engineering has become common practice for mass production and customization of software.
The vast majority of todays testing approaches for spls validate products individually using different kinds of reuse techniques for testing. Modelbased testing automates test case generation based on usage models of a system. Assessing software product line testing via modelbased. A software product line comprises a family of software systems which share a managed core set of artifacts. Keywords software product lines productline testing modelbased testing combinatorial interaction testing testcase prioritization 1 introduction most software project managers view testing as a necessary evil that occurs during or at the end of a project. Related work is discussed at the end of this section. Finefit is a framework for modelbased testing of java programs. Optimizing modelbased software product line testing with.
Modelbased system testing siemens digital industries software. Our proposal defines a set of metamodels, models and algorithms, all of them organized and managed in a 5. Modeling and model based testing of software product lines varshosaz, mahsa halmstad university, school of information technology, halmstad embedded and intelligent systems research eis, centre for research on embedded systems ceres. Software product lines constitute a new paradigm where industrial production techniques are adapted and applied to software development. While testers interpret the specifications, test cases and test scripts are created which can be executed to check if the software was created according. Testing activities for software product lines should be different from that of single software systems, due to significant differences between software product line engineering and single software. In this paper, we do focus on how to use this technique for product lines. Our proposal defines a set of metamodels, models and algorithms, all of them organized and managed in a 5step process, which are implemented in a tool specifically developed for. According to ludewig and lichter, testing a single system consumes.
Colored model based testing for software product lines. From its beginnings over 10 years ago of deriving tests from uml statecharts, modelbased testing has matured into a topic with both breadth and depth. Colored model based testing for software product lines about the author dr. Incremental modelbased testing of deltaoriented software product lines ina schaefer joint work with malte lochau and sascha lity ifip wg 2.
Modelbased testing for embedded systems this book is exactly what is needed at the exact right time in this fastgrowing area. Automation is desirable, because manual testing is usually a complex and. Integration of modelbased testing into continuous development processes and environments e. For example, it can reduce the probability of misinterpretation of system requirements by system analyst, test engineers, and testers in an spl rodrigues et al. For software product lines, there are various possibilities to define model based testing processes. Behavior can be described in terms of input sequences, actions, conditions, output and flow of data from input to output.
To accelerate system testing at any development stage of the model based development process, simcenter extends its portfolio with model based system testing capabilities. Modelbased testing is an application of modelbased design for designing and optionally also executing artifacts to perform software testing or system testing. In the finefit approach, the model is expressed by a set of tables based on parnas tables. Analysis of testing effort by using core assets in software product line testing. Schlinglo, reusing state machines for automatic test generation in product lines, in 1st workshop on modelbased testing in practice, 2008.
For software product lines, there are various possibilities to define modelbased testing processes. Furthermore, the submitted contributions, selected by the program committee, reflect the above research trends. Mason archival repository service modelbased testing for software product lines. Spls are families of products sharing c assessing software product line testing via modelbased mutation. Modeling and modelbased testing of software product lines. Our work has as main topics the modelbased testing paradigm for the testing of software, and the variability for addressing the challenges of software product line systems. Basic behavioral models for software product lines. Model based testing in software product lines springerlink. Mbt creates test specifications and test cases of formal or semiformal models of a software system. Therefore, one topic that needs greater emphasis is testing of software product lines toachieve the required software quality assurance. Effective productline testing using similaritybased product. Selection from model based testing for embedded systems book. Deltaoriented modelbased software product line testing.
A product line modeling and configuration methodology to support modelbased testing. Spls are families of products sharing c assessing software product line testing via model based mutation. Modeling variability and testability interaction in software product line engineering. In this thesis report, we present an approach to test a software product line with. Needs for mass customization and economies of scale have pushed engineers to develop software product lines spls. Especially the systematic testing of spls is nontrivial as a high degree of variability implies a vast number of. Another program, called the driver, sends the same information to the software under test sut and the model and then compares the input results to.
Variability is still a huge challenge at modelbased testing of product lines. Modelbased software product lines testing survey request pdf. Apr 29, 2020 model based testing is a software testing technique where run time behavior of software under test is checked against predictions made by a model. Modelbased testing of software product lines part ii. Mason archival repository service model based testing for software product lines. Modelbased pairwise testing for feature interaction coverage. Manal farrag is an assistant professor of software engineering at prince sultan university,saudi arabia. Modelbased testing is a technique for automatically generating a suite of test cases from requirements. This paper provides a panorama of stateoftheart on mbt of spls. Test specification documents are typically difficult to understand even by experts. Software product lines spl are difficult to validate due to combinatorics induced by variability, which in turn leads to combinatorial explosion of the number of derivable products. By integrating test and simulation in a single environment for validation of product performance, testing costs and risks can be reduced, productivity increased, and extra.
An automated modelbased testing approach in software. Modelbased testing provides a technique for automatic generation. Because of their reusability and adaptability capabilities, modelbased approaches are suitable to. Test models and algorithms for model based testing of software product lines varshosaz, mahsa halmstad university, school of information technology, halmstad embedded and intelligent systems research eis, centre for research on embedded systems ceres. One of the most time and resource consuming tasks of testing is the creation of test scripts for checking if the software product complies with its specifications. Model based testing in software product lines core. Pdf modelbased test design for software product lines. Using feature model to support model based testing of product lines. Modelbased 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 by erika mir olimpiew master of science, virginia commonwealth university, 1997 bachelor of.
Colored model based testing for software product lines cmbt. A novel modelbased testing approach for software product. Modelbased testing of software product lines carmo machado et al. This article describes an approach for test case generation in software product lines, using model driven. Software product line testing based on feature model. Selection from modelbased testing for embedded systems book. 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 by erika mir olimpiew master of science, virginia commonwealth university, 1997 bachelor of science, virginia commonwealth university, 1995. The use of mbt has several other advantages when compared to other test. The art of simplicity has never been more important in our complex digital world.
384 313 1065 1185 1344 1195 1485 253 1138 981 1256 1486 341 1294 10 1338 1348 998 394 980 289 1299 803 1331 265 1412 706 942 1165 1153 725 326 1354 497 290