model-based testing of software product lines – part...

47
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Model-based Testing of Software Product Lines – Part II Prof. Dr.-Ing. Ina Schaefer – 9 June 2015

Upload: others

Post on 29-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen

Model-based Testing of Software Product Lines – Part II

Prof. Dr.-Ing. Ina Schaefer – 9 June 2015

Page 2: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 10

Institut für Softwaretechnik und Fahrzeuginformatik

Challenges of Testing variant-rich Software Systems

Observations:

•  Complex systems with many interacting functions and features •  Many system variants and versions •  Large rate of changes, in particular in agile development

processes Consequences: •  Increasing testing effort •  Combinatorial explosion during integration and system testing •  Complete re-test in case of changes mostly infeasible

Page 3: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 11

Institut für Softwaretechnik und Fahrzeuginformatik

Roadmap

•  Describing and Managing Variant-rich Systems

•  Testing Strategies for Software Product Lines

•  Sample-based Testing of SPLs

•  Regression-based Testing of SPLs

•  Family-based Testing of SPLs

Page 4: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 12

Institut für Softwaretechnik und Fahrzeuginformatik

Describing and Managing Variant-rich Systems

Page 5: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 13

Institut für Softwaretechnik und Fahrzeuginformatik

Describing and Managing variant-rich Systems

•  Variant-rich systems can be described as Software Product Lines.

•  SPLs are systems, which have commonalities and variabilities between each other.

•  A SPL consists of several features which are either mandatory or optional.

•  There can be further constraints between features •  Feature A excludes feature B •  Feature A requires feature B •  Feature A OR feature B has to be selected •  …

•  How to describe and manage these features and there connections?

Page 6: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 14

Institut für Softwaretechnik und Fahrzeuginformatik

Feature Models

•  Kang et al. [Kang90] introduced Feature-Models as possibility to represent SPLs •  FMs are tree-structures, which represent features and their dependencies

Vending Machine

Beverage

Coffee Tea

Restock Cups Coins

1€ 2€

Change

Page 7: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 15

Institut für Softwaretechnik und Fahrzeuginformatik

Feature Interactions

•  A feature is a customer-visible product characteristic.

•  Each feature in isolation satisfies its specification.

•  If features are combined, the single specifications are violated. There are unwanted side effects.

! Feature Interaction!

Page 8: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 16

Institut für Softwaretechnik und Fahrzeuginformatik

Example: Combine Fire and Water Alarms

If there is fire, start sprinkling system.

If there is water, cut the main water line.

Page 9: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 17

Institut für Softwaretechnik und Fahrzeuginformatik

Reasons for Feature Interactions

Intended Feature Interactions: •  Communication via shared variables: one feature writes, another

feature reads values.

Unintended Feature Interactions: •  Non-synchronized write access to shared resources, such as

actuators, memory, shared variables, status flags

In general, uncritical: •  Shared read access to resources, e.g., sensors

Page 10: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 18

Institut für Softwaretechnik und Fahrzeuginformatik

SPL Testing Strategies

Page 11: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 19

Institut für Softwaretechnik und Fahrzeuginformatik

Software Product Line Testing

Product Line Specification

Product Line Implementation

Under Test

Test Case Design Test Case Execution

Tester

I

O

Platform Environment

P1 Specification

P1 SUT

P2 Specification

Pn Specification

P2 SUT

Pn SUT

. . . . . .

Page 12: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 20

Institut für Softwaretechnik und Fahrzeuginformatik

SPL Testing Strategies

Sample-based SPL testing •  Selection of representative subsets from a large set of possible

variants

Regression-based SPL Testing: •  Reuse test cases and test results in order to efficiently test the

selected variants

Family-based SPL Testing: •  Derive test suite from a 150%-SPL test model

Page 13: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 21

Institut für Softwaretechnik und Fahrzeuginformatik

Sample-based SPL Testing

Page 14: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 22

Institut für Softwaretechnik und Fahrzeuginformatik

Process of Sample-based SPL Testing

•  Problem: Number of test cases growths exponentially

•  Solution: Combinatorial Interaction Testing (CIT)

1.  Create Feature Model 2.  Generate a subset of variants based on the FM, covering relevant

combinations of features 3.  Apply single system testing to the selected variants

•  Efficiency of t-wise Covering Arrays (CA) "  1-wise CA: 50% of all errors "  2-wise CA: 75% of all errors Trade-Off "  3-wise CA: 95% of all errors

Page 15: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 23

Institut für Softwaretechnik und Fahrzeuginformatik

Set Covering Problem and CAs

•  S = {a,b,c,d,e} SPL features

•  M = {{a,b,c}, {b,d}, {c,d}, {d,e}} valid product configurations

•  What is the optimal Covering Array?

•  Solution: L = M1 + M4 minimal CA

•  Precondition: All valid product configurations already known •  SAT-problem, which is NP-complete •  Fortunately, we deal with realistic FMs

•  Foundation of pairwise testing…

Page 16: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 24

Institut für Softwaretechnik und Fahrzeuginformatik

First Solution by Chvátal (1979)

18 June 2014 | Ina Schaefer | Model-based Testing – Part 2 | Slide 24

First Solution by Chvátal (1979)

• Idea of the algorithm:

1. ݐ ܮ = Ø2. ܫ ܯ = Ø, , א 1, 2,… , .ܦܧ

ܧܮܧ ݎݓ,ᇱܯ # ݎݒݑ ݏݐ ݏ ݔ3. ܣ ݐᇱܯ ܮ ݎ ݏݐ ܯ ݕ ܯ െ ᇱܯ

4. ݐܩ ݐ 2

• Worst Case: ܯ contains only subsets with different elements

• Best solution not guaranteed

• Adaptation for pairwise CA generation is easy!

Page 17: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 25

Institut für Softwaretechnik und Fahrzeuginformatik

Adaptation to FMs and Improvements by the ICPL

•  Adaptation is still slow in computation!

•  (Selected) Improvements "  Finding core and dead features quickly "  Early identification of invalid t-sets "  Parallelization "  and several more…

Page 18: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 26

Institut für Softwaretechnik und Fahrzeuginformatik

Vending Machine and ICPL runtimes

•  VM has 12 valid variants

•  t = 2, ICPL calculates CA of size 6

•  50% testing time saved

•  ICPL can handle large-scale SPLs

•  2-wise with „normal“ hardware possible

•  Easily over 90% variant reduction

•  Even with ICPL: Calculation time can be several hours

Page 19: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 27

Institut für Softwaretechnik und Fahrzeuginformatik

Feature Annotations for More Efficient Combinatorics

•  Annotate features with shared resources, communication links, testing priorities •  Use additional information for combinatorial testing •  Consequence: Even lesser variants to test and shorter computation time

Kowal, M., Schulze, S., Schaefer, I.: Towards Efficient SPL Testing by Variant Reduction. In: VariComp. pp. 1–6. ACM (2013)

Page 20: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 28

Institut für Softwaretechnik und Fahrzeuginformatik

Regression-based SPL Testing

Page 21: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 29

Institut für Softwaretechnik und Fahrzeuginformatik

Model-based Testing - Procedure

s1 s2

s3

t1: e1/e2

t2: e3/ t3: e2/

t5: e4/e6 t4: e5/e6

TM

TG

s1 s2

s3

t2: e3/ t3: e2/

t5: e4/e6 t4: e5/e6

t6: e3/ t7: e1/ s4

t1

t2

t3

t4

t5 t2

t3

t4

t5

t6 t7

C1 C1

t1

TS

s1 s2

s3

t1

t3 t4

t5

s1 s2

s3

t1 t3

s1

s3 t4

t2

t5

s1 s2

s3

t1 t3

tc1

s1

s3 t4

t2

tc2

tc3

tc4

tc1

tc2

tc3

Generierung Generierung

TP t5

s1 s2

s3

t1 t3

s1

s3 t4

t2

t5 s1

s2

s3

t3

t6 t7 s4 tc2

tc4

tc3

Selektion Selektion

Δ

Δ

Δ

Δ

t5 s1

s2

s3

t3

t6 t7 s4

s1 s2

s3

t1

t3 t4

Coverage Criterion: e.g., all transitions

Test Model

Test Goals

Page 22: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 30

Institut für Softwaretechnik und Fahrzeuginformatik

Model-based Testing – Procedure (2)

s1 s2

s3

t1: e1/e2

t2: e3/ t3: e2/

t5: e4/e6 t4: e5/e6

TM

TG

s1 s2

s3

t2: e3/ t3: e2/

t5: e4/e6 t4: e5/e6

t6: e3/ t7: e1/ s4

t1

t2

t3

t4

t5 t2

t3

t4

t5

t6 t7

C1 C1

t1

TS

s1 s2

s3

t1

t3 t4

t5

s1 s2

s3

t1 t3

s1

s3 t4

t2

t5

s1 s2

s3

t1 t3

tc1

s1

s3 t4

t2

tc2

tc3

tc4

tc1

tc2

tc3

Generierung Generierung

TP t5

s1 s2

s3

t1 t3

s1

s3 t4

t2

t5 s1

s2

s3

t3

t6 t7 s4 tc2

tc4

tc3

Selektion Selektion

Δ

Δ

Δ

Δ

t5 s1

s2

s3

t3

t6 t7 s4

s1 s2

s3

t1

t3 t4

Test Case Generation

Test Suite

Test Plan

Test Selection

Page 23: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 31

Institut für Softwaretechnik und Fahrzeuginformatik

Incremental Model-based Testing

Test Model TM

Test Goals TG

Test Suite TS

Test Plan TP

Test Model TM’

Test Goals TG’

Test Suite TS’

Test Plan TP’

Evolution/Variation

Page 24: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 32

Institut für Softwaretechnik und Fahrzeuginformatik

Delta-Modeling of Variant-Rich Systems

• Modifications of Core Product.

• Application conditions over product features.

• Partial ordering for conflict resolution.

[...]Core Product

ProductDelta1

ProductDeltan

• Product for valid feature configuration.

• Developed with Standard Techniques

Page 25: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 33

Institut für Softwaretechnik und Fahrzeuginformatik

Delta-Modeling - Background

Instances of Delta-Languages: •  Software architectures (Delta-MontiArc) •  Programming languages (Delta-Java) •  Modeling languages (Delta-Simulink, Delta-State Machines, Deltarx)

Advantages of Delta-Modeling:

•  Modular and flexible description of change •  Intuitively understandable and well-structured •  Traceability of changes and extensions •  Support for proactive, reactive and extractive SPLE

Page 26: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 34

Institut für Softwaretechnik und Fahrzeuginformatik

Delta-oriented Testing approaches

•  Based on delta languages and modeling techniques, different testing approaches can be defined [Lity13]

•  Goal: Reduce regression testing effort by only testing differences between products and not every product as a whole

•  Deltas on variable test-models: •  Statemachines •  Architectures •  Activity Diagrams

•  Deltas on requirements in natural language

Page 27: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 35

Institut für Softwaretechnik und Fahrzeuginformatik

Delta-oriented Test Models (Examples)

s1

s3

ΔBsm_Root

s2s1

s3

Bsm_Root

s2

s4

Adding a state to a State Machine:

s1 s2t1:e1/e2;e3

Δ

s1 s2t1:e5/e2;e3

Changing the transition labels:

Page 28: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 36

Institut für Softwaretechnik und Fahrzeuginformatik

Delta-oriented Test Modeling

Kern + Delta 1 +

Delta 2 + Delta 3

Kern + Delta 1 +

Delta 2

Kern + Delta 1

T6: e3/ T7: e1/

Application Condition

Feature- Konfiguration

Feature-Modell

S1 S2

S3

T1: e1/e2

T2: e3/ T3: e2/

T5: e4/e6 T4: e5/e6

Kernprodukt

Delta 1 Add

T1: e1/e2

Delta 2 Rem

Delta 3 Mod

T5: e5/e2;e3;e4

+

+

+

S1 S2

S3

T1: e1/e2

T2: e3/ T3: e2/

T5: e4/e6 T4: e5/e6

T6: e3/ T7: e1/ S4

S1 S2

S3

T2: e3/ T3: e2/

T5: e4/e6 T4: e5/e6

T6: e3/ T7: e1/ S4

S1 S2

S3

T2: e3/ T3: e2/

T4: e5/e6

T6: e3/ T7: e1/ S4

T5: e5/e2;e3;e4

Produkt

S1 S2

S1 S2

S3

+ +

+

-

*

+ +

-

* S2

S4

Page 29: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 37

Institut für Softwaretechnik und Fahrzeuginformatik

Classification of Test Cases by Delta-Analysis

Test cases Vn

Test cases V2

Test cases V1

Retest V2

Variant 1

Variant 2

Variant n

[…]

Invalid V2

Page 30: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 38

Institut für Softwaretechnik und Fahrzeuginformatik

Delta Testing - Procedure

0. Fully test first product variant

1.  Generate test cases for subsequent variants •  Still valid and reuseable test cases? •  Invalid test cases? •  New test cases?

2.  Selection of test cases by delta analysis:

•  Always test new test cases •  Select subset of reuseable test cases for re-test

3.  Optionally minimize resulting test suite by redundancy elimination

Page 31: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 39

Institut für Softwaretechnik und Fahrzeuginformatik

Delta-Testing Strategy

CoreProduct

Variant 1 Variant 2

Variant 3 Variant 4

Page 32: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 40

Institut für Softwaretechnik und Fahrzeuginformatik

Case Study – Body Comfort System 2

28 Features, 11616 Product Variants, 1 Core Product, 40 Deltas 16 Products for Pair-Wise Feature Coverage

Finger Protection

Body Comfort System

Power Window

Central Locking System

Automatic Locking

Remote Control

Key

Human Machine Interface

Manual Power

Window

Automatic Power

Window

Control Alarm System

Safety Function

Interior Monitoring

Alarm System

Exterior Mirror

Electric Heatable

require

require

require

Legende

Mandatory Or

require

exclude Optional Alternative

Status LED

Security Door System

LED Central Locking System

LED Power

Window

LED Exterior Mirror

LED Heatable

LED Alarm System

LED Finger Protection

Control Automatic

Power Window

require exclude

require

For more information see [BCS12]

Page 33: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 41

Institut für Softwaretechnik und Fahrzeuginformatik

Case Study BCM 2 – Delta-Testing Results

0

20

40

60

80

100

120

140

160

180

200

P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17

Neu

Wiederverwendbar

Retest

Invalid

Insgesamt

Page 34: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 42

Institut für Softwaretechnik und Fahrzeuginformatik

Motivation Delta SM Testverfahren eDeltaMBT Fallstudie Zusammenfassung

Ergebnisse (6/6)

0

10

20

30

40

50

60

70

80

P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17

Redundant

Selektiert

MoSo-PoLiTe

S. Lity | Delta-orientiertes modellbasiertes Testen | 47

Case Study BCM 2 – Delta-Testing Results (2)

Page 35: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 43

Institut für Softwaretechnik und Fahrzeuginformatik

Requirements-Based Delta-oriented Testing Requirements Test cases

BCS_TC1 Precondition: Action: Expected Result:

BCS_TC2 Precondition: Action: Expected Result:

BCS_R1 If an object is detected in the window (window pressure P > threshold), activate the finger protection to prevent the power window from moving any further.

BCS_R2 If the central locking system is activated and the power window is not in the top position, move the power window up, until it reaches the top position.

CLS is activated & power window is not in top position Press move up button Power window moves to the top position and stops

Window is open and an object is within the window Press move up button Window moves up, until it reaches the objects and stops

BCS_TC3 Precondition: Action: Expected Result:

No CLS installed Press move down button Power window moves to the bottom position and stops

BCS_TC4 Precondition: Action: Expected Result:

CLS installed and deactivated Press move down button Power window moves to the bottom position and stops

... ... BCS_TCn BCS_Rn

BCS_R3 If the move down button for the power window is pressed and there is no Central locking system, move the power Window down. Otherwise, only move down if the central locking system is deactivated

BCS_R3V1

BCS_R3V2

without CLS

with CLS

BCS_R4 After the move up button has been tapped shortly (< 1 sec), the power window moves automatically up until it reaches the top position and then the movement stops.

BCS_TC5 Precondition: Action: Expected Result:

Power window is at bottom position Press move up button for less then 1 second Power window moves to the top position and stops

Page 36: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 44

Institut für Softwaretechnik und Fahrzeuginformatik

Possible Strategies for Re-Test Selection

•  Manually by test engineer

•  (Semi-)Automatical classification of test cases into variants

•  Formulation of requirements in delta-sets with linking of test cases to requirements

•  Model-based impact analysis of changes by delta analysis

Page 37: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 45

Institut für Softwaretechnik und Fahrzeuginformatik

Family-based SPL Testing

Page 38: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 46

Institut für Softwaretechnik und Fahrzeuginformatik

Software Product Line Testing

Product Line Specification

Product Line Implementation

Under Test

Test Case Design Test Case Execution

Tester

I

O

Platform Environment

P1 Specification

P1 SUT

P2 Specification

Pn Specification

P2 SUT

Pn SUT

. . . . . .

150% SPL specification

150% SPL implementation

Page 39: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 47

Institut für Softwaretechnik und Fahrzeuginformatik

Meaning of Specifications

Implementation freedom in single system IOCO testing #  The implementation must show at least one

specified output behavior for specified input behaviors

#  The implementation may show arbritrary output behaviors for unspecified input behaviors

Implementation variability in SPL IOCO testing

#  Distinction between mandatory and possible input/ouput behaviors

#  SPL specification with explicit transition modality

18 June 2014 | Ina Schaefer | Model-based Testing – Part 2 | Slide 48

Meaning of Specifications

Implementation freedom in single system IOCO testing

� The implementation must show at least onespecified output behavior for specified input behaviors

� The implementation may show arbritrary output behaviorsfor unspecified input behaviors

Implementation variability in SPL IOCO testing

� Distinction between mandatory and possibleinput/ouput behaviors

� SPL specification with explicit transition modality

? 1€

! ! ݐ

ଵݍ

Page 40: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 48

Institut für Softwaretechnik und Fahrzeuginformatik

Modal I/O Transition Systems

may transition

must transition

Page 41: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 49

Institut für Softwaretechnik und Fahrzeuginformatik

I/O MTS

18 June 2014 | Ina Schaefer | Model-based Testing – Part 2 | Slide 50

I/O MTS

Modal I/O Labeled Transitionsystem: ,, ՜ᇝ,ڃ՜,, , where

• is a countable set of states,

• א is the initial state,

• and are disjoint sets of input actions and output actions,

• ՜ڃ ك × × is a labeled may-transition relation, and

• ՜ᇝك × × is a labeled must-transition relation.

Page 42: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 50

Institut für Softwaretechnik und Fahrzeuginformatik

Syntactical Consistency of Transition Modality

Mandatory behaviors are always also possible:

→↓□ #⊆ #→↓⋄ 

18 June 2014 | Ina Schaefer | Model-based Testing – Part 2 | Slide 51

Syntactical Consistency of Transition Modality

Mandatory behaviors are always also possible:

՜ᇝ ڃ՜ك

Page 43: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 51

Institut für Softwaretechnik und Fahrzeuginformatik

Modal Trace Semantics

The set of modal traces of an MTS $ is defined as

From syntactical consistency of MTS it follows that

where

Page 44: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 52

Institut für Softwaretechnik und Fahrzeuginformatik

Modal IOR

Modal I/O Conformance holds iff

#  all possible behaviors of a product line implemenation are allowed by the specification

#  all mandatory behaviors of a product line implementation are required by the specification

Modal Refinement I/O Conformance holds iff the product line implementation shows #  at least all mandatory behaviors

#  at most all allowed behaviors

of the product line specification.

Page 45: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 53

Institut für Softwaretechnik und Fahrzeuginformatik

Modal IOCO

Let %,& be an MTS, where & is may-input-enabled.

Page 46: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 54

Institut für Softwaretechnik und Fahrzeuginformatik

Conclusion

•  Describing and Managing Variant-rich Systems

•  Testing Strategies for Software Product Lines

•  Sample-based Testing of SPLs

•  Regression-based Testing of SPLs

•  Family-based Testing of SPLs

Page 47: Model-based Testing of Software Product Lines – Part IIceres.hh.se/mediawiki/images/4/43/Ina_schaefer_hsst_2015_slides_p… · Platzhalter für Bild, Bild auf Titelfolie hinter

9 June 2015 | Ina Schaefer | Model-based Testing of Software Product Lines – Part II | Slide 55

Institut für Softwaretechnik und Fahrzeuginformatik

Literature

•  [BCS12] - S. Lity, R. Lachmann, M. Lochau, I. Schaefer: Delta-oriented Software Product Line Test Models - The Body Comfort System Case Study, Technische Universität Braunschweig, 2012

•  [Kang90] - Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, A.

Spencer Peterson - Feature-Oriented Domain Analysis (FODA) Feasibility Study, Technical Report, 1990

•  [Lity13] - S. Lity, R. Lachmann, M. Lochau, M. Dukaczewski, I. Schaefer: Delta-

orientiertes Testen von variantenreichen Systemen, ObjektSpektrum, 2013

•  Malte Lochau, Sven Peldszus, Matthias Kowal, Ina Schaefer: Model-Based Testing. SFM 2014: 310-342