1 / 28

UP MBT

FRE 2661. Projet Cassis. 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 Monday, March 10, 2014. > Outline. 1. Unified Process (UP) 1.1 Overview 1.2 Structure

LionelDale
Download Presentation

UP MBT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FRE 2661 Projet Cassis UPMBT • Extending the Unified Process • with Model-Based Testing • Fabrice Bouquet, Stéphane Debricon, Bruno Legeard • and Jean-Daniel Nicolet • MoDeV2a 2006 • Monday, March 10, 2014

  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 (UPMBT) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTAXPM case study 5. Conclusion and Future work UPMBT

  3. Test Model Design model Analysis model <<refine>> <<refine>> > Introduction • Process • The 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

  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 (UPMBT) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTaxPM case study 5. Conclusion and Future work UPMBT

  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. 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 Overview 1.2 Structure 2. Model-Based Testing (MBT) 3. Extending the Unified Process with Model-Based Testing (UPMBT) 3.1 Process 3.2 Workflows 3.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. Activities Documents 1 Building a model 2 Defining test selection criteria 3 Generating tests 4 adapter Setting up adapter adapter layer SUT 5 Executing tests Test selection criteria Model Test cases Test scripts verdict > MBT > Processes UPMBT

  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 (UPMBT) 3.1 Process 3.2 Workflows 3.3 Phases 4. RTAXPM case study 5. Conclusion and Future work UPMBT

  12. Use case model Test Model Design model <<realize>> <<refine>> <<implement>> Adaptation layer Implementation model <<refine>> <<use>> Development Process Validation Analysis model <<implement>> Executable scripts <<use>> Tests generation Validation Process > UPMBT > 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. Test Model Analysis model > 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. Feedback Questions UPMBT

  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 (UPMBT) 3.1 Process 3.2 Workflows 3.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 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 UPMBT

  22. Embedded states Computing-bound conditions Back loops Complex business rules Security issues (stamping requires special privileges) In taxation Controlled To stamp To correct Canceled To notify Notified At work Correct Validate [No stamp] Opposition Stamp Notify Suppress Cancel > RTaxPM > Taxation Lifecycle Stamp

  23. Correct In taxation To stamp Controlled Canceled To correct At work To notify Notified Creation Login( taxer) Logout( taxer) Check Login( group leader) Validate [taxer.allow_stamp=true or taxation.stamp_needed=false] Taxer logged out Taxer logged in Group leader logged in [taxer.allow_stamp=false and taxation.stamp_needed=true] Opposition Stamp Stamp Notify Suppress Cancel > RTaxPM > Lifecycle for MBT

  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 UPMBT

  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 (UPMBT) 3.1 Process 3.2 Workflows 3.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.

More Related