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
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
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>>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
25
> RTaxPM > Tests execution
Use a XML framework with JUnit to execute generated test cases
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
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
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.