1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon,...

28
1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006 Sunday, July 3, 2022 FRE 2661 Projet Cassis

Transcript of 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon,...

Page 1: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

1

UPMBT

Extending the Unified Process with Model-Based Testing

Fabrice Bouquet, Stéphane Debricon, Bruno Legeard

and Jean-Daniel Nicolet

MoDeV2a 2006

Thursday, April 20, 2023

FRE 2661Projet Cassis

Page 2: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

2

> Outline

1. Unified Process (UP)1.1 Overview1.2 Structure

2. Model-Based Testing (MBT)

3. Extending the Unified Process with Model-Based Testing (UPMBT)3.1 Process3.2 Workflows3.3 Phases

4. RTAXPM case study

5. Conclusion and Future work

UPMBT

Page 3: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

3

> Introduction

ProcessThe UP : a software engineering process (SEP).

MBT : a process conducting the generation and execution of tests.

UP + MBT = UPMBT : methodological framework for MBT.

Modeling

UPMBT

Analysis model

Test Model

<<refine>>

Design model

<<refine>>

Page 4: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

4

> Outline

1. Unified Process (UP)1.1 Overview1.2 Structure

2. Model-Based Testing (MBT)

3. Extending the Unified Process with Model-Based Testing (UPMBT)3.1 Process3.2 Workflows3.3 Phases

4. RTaxPM case study

5. Conclusion and Future work

UPMBT

Page 5: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

5

> UP > Overview (1)

The UP, a SEPRequirements Software.

A template of process to be customized.

The UP is : Iterative : short time-boxed iterations made of workflows.

Incremental : each iteration generates a partially complete version of the final system.

UPMBT

Page 6: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

6

> UP > Overview (2)

Architecture-centric :Develop and evolve a robust system architecture.

Focus of early iterations.

Risk driven :Develop high-risk elements in early iterations.

Requirements driven through use case :To help plan iteration.

UPMBT

Page 7: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

7

> UP > Structure

A SEP (here the UP) defines :WHO participate?

WHAT is there to do?

HOW to develop it?

WHEN to deliver a version?

A 2 axes structure :Workflows

Phases

UPMBT

Page 8: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

8

> Outline

1. Unified Process (UP)1.1 Overview1.2 Structure

2. Model-Based Testing (MBT)

3. Extending the Unified Process with Model-Based Testing (UPMBT)3.1 Process3.2 Workflows3.3 Phases

4. RTAXPM case study

5. Conclusion and Future work

UPMBT

Page 9: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

9

> MBT > Overview

Goals :Identify failures in software.

Functional validation of a system using a model.

Key practices :Use of a model, abstract enough, that capture the expected behavior of a system.

Test cases generation from selection criteria.

Execution on the System Under Test.

UPMBT

Page 10: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

10

Building a model

Generating tests

Setting up adapter

Executing tests

Model

Test selection criteria

Test cases

Test scriptsadapter layer

SUT

verdict

Activities Documents

Defining test selection criteria

1

2

3

4

5

adapter

UPMBT

> MBT > Processes

Page 11: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

11

> Outline

1. Unified Process (UP)1.1 Overview1.2 Structure

2. Model-Based Testing (MBT)

3. Extending the Unified Process with Model-Based Testing (UPMBT)3.1 Process3.2 Workflows3.3 Phases

4. RTAXPM case study

5. Conclusion and Future work

UPMBT

Page 12: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

12

> UPMBT > Process

Use case model

Analysis model

<<realize>>

Design model

<<refine>>

Implementation model

<<implement>>

Test Model

<<refine>>

Executable scripts

<<implement>>

Adaptation layer

<<use>>

<<use>>Validation

Tests generation

Development Process

Validation Process

Page 13: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

13

> UPMBT > Workflows

Design workflow : Production of the test model,

Design and Test models are : • Produced in parallel,• Independent to ensure the quality of the generated tests.

Test target and selection criteria definition• Test Cases

UPMBT

Page 14: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

14

> UPMBT > Workflows

Implementation workflow : Production of an implementation for the design model,

Production of the adapter and the adaptation layer,

Generation of test scripts from the adapter and the test cases.

Test workflow :Execution of tests scripts on the system.

UPMBT

Page 15: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

15

> UPMBT > Phases

Inception : Not impacted by the approach.

Elaboration : Production of the test model, the adapter and the adaptation layer.

The adaptation layer architecture should be defined.

UPMBT

Page 16: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

16

> UPMBT > Phases

Construction : Evolution of points of control and observation to keep coherence with design.

Transition : Manually produced tests scripts and generated tests scripts are executed on the SUT.

UPMBT

Page 17: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

17

> UPMBT > Benefits

Corrections produced earlier in the process.Quality improvement and better coverage of produced tests.Increased productivity :

Automatic tests generation.Functional evolutions are easy to introduce in test campaign.From an incremental point of view.

UPMBT

Questions

Feedback

Analysis model

Test Model

Page 18: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

18

> Outline

1. Unified Process (UP)1.1 Overview1.2 Structure

2. Model-Based Testing (MBT)

3. Extending the Unified Process with Model-Based Testing (UPMBT)3.1 Process3.2 Workflows3.3 Phases

4. RTAXPM case study

5. Conclusion and Future work

UPMBT

Page 19: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

19

> RTaxPM > Context

Project with the Canton of Geneva Information and Technology Center (CTI), Switzerland.

Good practices exist, but they are not applied systematically in every project

A reference UML model used to capture many project aspects, like business modeling, use cases, analysis, design...

Most projects perform some testing, but neither in asystematic nor uniform way.

UPMBT

Page 20: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

20

> RTaxPM > Overview

The Cantonal Fiscal Administration (AFC) started, a few years ago, the rebuilding of all taxing applications.

An important sub-project is the taxation of legal entities named RTaxPM (Refonte Taxation Personnes Morales).

Once a taxation file has been completed, several different taxes are calculated (federal, cantonal and commune-bound).

These taxes must then be distributed among the various communes of the canton.

UPMBT

Page 21: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

21

> RTaxPM > Overview

The tax computation itself involves complex business rules (several taxes, percentage lookup tables, threshold effects, …)Besides unit testing, a functional testing framework has been developed previously

Specific cases have been manually devised with the help of a complex Excel spreadsheetIt relies on a database updated with production data (percentages) on a regular basis

A need for testing of both the computation and the life cycle exists

UPMBT

Page 22: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

22

> RTaxPM > Taxation Lifecycle

Embedded statesComputing-bound conditionsBack loopsComplex business rulesSecurity issues (stamping requires special privileges)

In taxation

At workControlled

To stamp

Correct

Canceled

Cancel

Validate

To notify

[No stamp]

Stamp

Notified

Notify

Stamp

To correct

Opposition

Suppress

Page 23: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

23

> RTaxPM > Lifecycle for MBT

In taxation

To correct

Opposition

CanceledCancel

Notified

Notify Suppress

To notify

[taxer.allow_stamp=true or taxation.stamp_needed=false]

Stamp

Stamp

Controlled

Check

Validate

At workCreation

Correct

To stamp

[taxer.allow_stamp=false and taxation.stamp_needed=true]

Taxer logged in

Login( taxer)

Group leader logged in

Login( group leader)

Taxer logged out

Logout( taxer)

Page 24: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

24

> RTaxPM > Generated Test cases

Function – Taxation computation250 generated test cases and expected results

Combinatory on tax reduction and tax scale

Function – Taxation life cycle50 generated test cases :

• all transitions • all-one-loop paths on the life cycle

Test combinatory as round trips within the UML state machine

UPMBT

Page 25: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

25

> RTaxPM > Tests execution

Use a XML framework with JUnit to execute generated test cases

Page 26: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

26

> Outline

1. Unified Process (UP)1.1 Overview1.2 Structure

2. Model-Based Testing (MBT)

3. Extending the Unified Process with Model-Based Testing (UPMBT)3.1 Process3.2 Workflows3.3 Phases

4. RTAXPM case study

5. Conclusion and Future work

UPMBT

Page 27: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

27

> Conclusion

This first experimentation is a success for the CTI and UPMBT Integration of MBT into a SEP :

Can accelerate its adoption.Reduce the risk of incoherence between design and test model. Give permanent feedback from the test model to the analysis model. Don’t start from scratch but use the analysis model to derive the test model.

UPMBT can be used with any tools supporting UP

UPMBT

Page 28: 1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.

28

> Future work

Experimenting :With other case study

the parallel development of the design and test model.

Defining :Guidelines to model for test.

A subset of UML.

An action language to be used for MBT.