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.

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Lecture # 2 : Process Models
Unit 2. Software Lifecycle
Intro to Rational Unified Process Software Process Improvement Marion Lepmets
 2004 by SEC Chapter 2 Software Development Process Models.
Arlow and Neustadt ch.21 What is the unified process? People are more important than any process. Good people with a good process will outperform good.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
SYSC System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
1 SWE Introduction to Software Engineering Lecture 5.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Iterative development and The Unified process
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
Chapter 3 Software Processes.
Principles of Object Technology Module 1: Principles of Modeling.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
The Rational Unified Process
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Identify steps for understanding and solving the
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
THE UNIFIED PROCESS UP Programming. What is the unified process  The Unified Process is a programming methodology that emphasizes the right blend of.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
The Rational Unified Process 1 EECS810: Software Engineering.
Model Based Testing implementing with tools Ruud van Houwelingen 1 December 2, 2009.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Software Development Framework
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
The Web Application Development Process Models
Software Processes (a)
Unified Process Source & Courtesy: Jing Zou.
UNIFIED PROCESS.
Software Processes.
Introduction to Software Engineering
Chapter 2 – Software Processes
Software engineering -1
Other System Requirements
Presentation transcript:

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 Friday, November 20, 2015 FRE 2661 Projet Cassis

2 > Outline 1. Unified Process (UP) 1.1 Overview 1.2 Structure 2. Model-Based Testing (MBT) 3. Extending the Unified Process with Model-Based Testing (UP MBT ) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTAXPM case study 5. Conclusion and Future work UP MBT

3 > Introduction Process The UP : a software engineering process (SEP). MBT : a process conducting the generation and execution of tests. UP + MBT = UP MBT : methodological framework for MBT. Modeling UP MBT Analysis model Test Model > Design model >

4 > Outline 1. Unified Process (UP) 1.1 Overview 1.2 Structure 2. Model-Based Testing (MBT) 3. Extending the Unified Process with Model-Based Testing (UP MBT ) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTaxPM case study 5. Conclusion and Future work UP MBT

5 > UP > Overview (1) The UP, a SEP Requirements 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. UP MBT

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. UP MBT

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 UP MBT

8 > Outline 1. Unified Process (UP) 1.1 Overview 1.2 Structure 2. Model-Based Testing (MBT) 3. Extending the Unified Process with Model-Based Testing (UP MBT ) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTAXPM case study 5. Conclusion and Future work UP MBT

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. UP MBT

10 Building a model Generating tests Setting up adapter Executing tests Model Test selection criteria Test cases Test scripts adapter layer SUT verdict ActivitiesDocuments Defining test selection criteria adapter UP MBT > MBT > Processes

11 > Outline 1. Unified Process (UP) 1.1 Overview 1.2 Structure 2. Model-Based Testing (MBT) 3. Extending the Unified Process with Model-Based Testing (UP MBT ) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTAXPM case study 5. Conclusion and Future work UP MBT

12 > UP MBT > Process Use case model Analysis model > Design model > Implementation model > Test Model > Executable scripts > Adaptation layer > Validation Tests generation Development Process Validation Process

13 > UP MBT > 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 UP MBT

14 > UP MBT > 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. UP MBT

15 > UP MBT > 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. UP MBT

16 > UP MBT > 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. UP MBT

17 > UP MBT > 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. UP MBT Questions Feedback Analysis model Test Model

18 > Outline 1. Unified Process (UP) 1.1 Overview 1.2 Structure 2. Model-Based Testing (MBT) 3. Extending the Unified Process with Model-Based Testing (UP MBT ) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTAXPM case study 5. Conclusion and Future work UP MBT

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 a systematic nor uniform way. UP MBT

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. UP MBT

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 spreadsheet It 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 UP MBT

22 > RTaxPM > Taxation Lifecycle Embedded states Computing-bound conditions Back loops Complex business rules Security issues (stamping requires special privileges) In taxation At work Controlled 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 Canceled Cancel Notified NotifySuppress To notify [taxer.allow_stamp=true or taxation.stamp_needed=false] Stamp Controlled Check Validate At work Creation 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 computation 250 generated test cases and expected results Combinatory on tax reduction and tax scale Function – Taxation life cycle 50 generated test cases : all transitions all-one-loop paths on the life cycle Test combinatory as round trips within the UML state machine UP MBT

25 > RTaxPM > Tests execution Use a XML framework with JUnit to execute generated test cases

26 > Outline 1. Unified Process (UP) 1.1 Overview 1.2 Structure 2. Model-Based Testing (MBT) 3. Extending the Unified Process with Model-Based Testing (UP MBT ) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTAXPM case study 5. Conclusion and Future work UP MBT

27 > Conclusion This first experimentation is a success for the CTI and UP MBT 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. UP MBT can be used with any tools supporting UP UP MBT

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.