Model-Based Testing Community | Connecting the MBT world…



MBT for Product Lines

Hi folks,

in MBT, models are the major source for test case generation. In the basic scenario, there is one model that describes a part of the environment or a part of the system behavior. Based on such a description, paths or sequences in the model are identified, which can be transformed into (executable) test cases, afterwards. There are several options to enhance this approach. For instance, several models can be used together, e.g., to describe several communicating systems. Furthermore, other instances (from other modeling languages) can be linked to the behavioral models to influence test generation.

Multi-variant systems (or product lines) are sets of products that are similar to a certain extent and share several properties so that customers can identify if a product is part of a certain product line. Well-known examples of product lines can be found in the automotive domain or telecommunications. In order to keep the system engineering effort for product lines within reasonable boundaries, subcomponents have to be reused. Likewise, testing of a whole product line can be very costly: for big product lines, testing every product variant is simply impossible. Increasing test efficiency by introducing test automation is the first step. However, the concrete process of automating test design for a whole product line (the “HOW”) is still under investigation.

For instance, feature models in combination with state machines can be used to describe the behavior of several product variants and also to automatically generate test cases for a representative set of products from a product family. A basic approach of automated test generation for multi-variant systems is to resolve a representative set of product variants and to run automated test generation for each of them (“product-oriented approach”). This approach can often be implemented with existing tool. One issue of this approach is that the relations and dependencies between single products are not used and that the similarities of these product variants will be tested again and again for every product variant. A more mature approach is to derive tests without resolving single product variants on the product line level (“product line-oriented approach”). This would allow for an test generation approach that combines information about the product line behavior and the relations of product features. First experiments show that a considerable gain of efficiency is possible. However, commercial tools for this approach are rare or do not exist …

We implemented a prototype for both mentioned approaches of test generation for product lines. We recently published our first steps, which can be found here.

What do you think of these approaches? Or for a more general discussion,
1) what are your experiences about quality assurance for multi-variant systems / product lines?
2) what kinds of other modeling languages do you use (in combination with behavioral models) for test generation?


No tags

No comments yet.

Leave a Reply



Theme Design by
© by MBT Community 2011