System testing from UML diagrams

Similar documents
UML TUTORIALS THE USE CASE MODEL

UML TUTORIALS THE COMPONENT MODEL

Model based testing tools. Olli Pekka Puolitaival

Using UML Part Two Behavioral Modeling Diagrams

Writing Use Case Scenarios for Model Driven Development

Communication Diagrams

i. Node Y Represented by a block or part. SysML::Block,

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Software Requirements Specification of A University Class Scheduler

Chapter 19. Activity Diagrams

Modeling a Problem Scenario with UML

Scenario-based Requirements Engineering and User-Interface Design

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

System Behaviour Analysis with UML and Ptolemy. Scope and goals

Model Simulation in Rational Software Architect: Business Process Simulation

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Going Faster: Testing The Web Application. By Adithya N. Analysis and Testing of Web Applications Filippo Ricca and Paolo Tonella

Software Design. Software Design. Software design is the process that adds implementation details to the requirements.

OVERVIEW OF THE PROJECT...

Compliance and Requirement Traceability for SysML v.1.0a

3.1 Use Case Diagrams

Model-based Testing: Next Generation Functional Software Testing

Application of UML in Real-Time Embedded Systems

Case Study: conceptual modeling of a helpdesk request manager

Automated Model Based Testing for an Web Applications

How To Create A Diagram On Rational Software Development Platform

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Exporting from WebSphere Business Modeler Unit 23

Developing Complex Systems using DOORS and UML

BCS Certificate in Systems Modelling Techniques Syllabus

Requirements engineering

CSTE Mock Test - Part III Questions Along with Answers

LabVIEW Advanced Programming Techniques

SysML Modelling Language explained

Lecture 26 CPM / PERT Network Diagram

Requirement engineering Exercise the POS System solution

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References

Filling the Gap between Business Process Modeling and Behavior Driven Development

Introduction to Computers and Programming. Testing

Process Models and Metrics

Software testing. Objectives

From Business Process Models to Use Case Models

New York University Computer Science Department Courant Institute of Mathematical Sciences

Secure State UML: Modeling and Testing Security Concerns of Software Systems Using UML State Machines

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Testing automation of projects in telecommunication domain

Agile Model-Based Systems Engineering (ambse)

Budget Planner SOFTWARE REQUIREMENT SPECIFICATION. Professor: Dr. Doan Nguyen. Team Members: Bindu Madhavi K Khambam Suganya Srinivasan

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

The SPES Methodology Modeling- and Analysis Techniques

BCS Certificate in Systems Modelling Techniques (UML)

Kirsten Sinclair SyntheSys Systems Engineers

OO Analysis and Design with UML and USDP. Solutions. Created by Dr. Jim Arlow. Version 2.0

Use Case Modeling. Software Development Life Cycle Training. Use Case Modeling. Set A: Requirements Analysis Part 3: Use Case Modeling

Supply Chain Management Use Case Model

Safety Driven Design with UML and STPA M. Rejzek, S. Krauss, Ch. Hilbes. Fourth STAMP Workshop, March 23-26, 2015, MIT Boston

Applying 4+1 View Architecture with UML 2. White Paper

A Meeting Room Scheduling Problem

Using Use Cases on Agile Projects

Automatic Test Data Synthesis using UML Sequence Diagrams

A GUI Crawling-based technique for Android Mobile Application Testing

How To Create A Complex Diagram On A Computer Game

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

Proceedings of the International MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13-15, 2013, Hong Kong

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Specification of the UFT Web-Based Fitness Tracking Software

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

The «include» and «extend» Relationships in Use Case Models

CIS 544 Advanced Software Design and Development. Project Management System. Oreoluwa Alebiosu

Business Process (BPMN) Course

Manufacturing View. User View. Product View. User View Models. Product View Models

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

Chapter01. Introduction to Software Project Management

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Masters of Science in Software & Information Systems

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

An Automated Model Based Approach to Test Web Application Using Ontology

UNIFACE Component-based. Development Methodology UNIFACE V Revision 0 Dec 2000 UMET

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

Agile Modeling and Design of Service-Oriented Component Architecture

From Use Cases to Test Cases. Step-by-step approach to ensure the quality of specifications and to derive test cases based on a use case model

Model Driven Testing AGEDIS Architecture Interfaces and Tools

CORE 8. System Definition Guide

A Comparison of Oracle Performance on Physical and VMware Servers

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Introduction to Software Performance Engineering

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

Rational Software. Course Registration System Use-Case Model

Transcription:

System testing from UML diagrams Eliane Martins Institute of Computer State University of Campinas (Unicamp) eliane@ic.unicamp.br 52nd. Ifip WG 10.4 Meeting Uphall, Scotland Jul 2, 2007

Harpia Goal: Development of web applications for the Tax Department Goal of the testing group: Model-based system testing Performability testing Performance Avaliability Fault injection

Harpia Goal: Development of web applications for the Tax Department Goal of the testing group: Model-based system testing Performability testing Performance Avaliability Fault injection

Motivation In Brazil: system developers commonly use UML notations for specification and design Scenarios are popular as part of requirements specification Scenarios describe how users and system interact to provide some service Many scenarios are needed to describe a system How to generate test cases based on these scenarios?

Commonly used approaches Since many scenarios are needed to describe a system how to combine these scenarios? Approaches : Sequence Diagram or Message Sequence Chart Finite State Machines Combination: Activity Diagrams and Sequence Diagrams Our approach: hierarchy of Activity Diagrams

Modelling the system Business description scenarios Activity diagram Inter-use case flow Use cases Use case flows Activity diagrams Intra-use case flow

Use case description Use case name Description Actors Pre-conditions Invariants Main Flow Alternate Flow Exception Flow Post-conditions Insert Product The goal of this use case is to provide a solution for the creation of new products in the data base. Manager The user must be logged in and selected the Insertion option. None P1. Check user identification If user is not valid then throw E1. P2. Get product information The system shows a form to be filled with the information concerning the product. P3. Validate product Includes use case Validate Product. If the product is not valid execute alternate flow A1. P4. Confirm product insertion The system exhibits a message asking the user to confirm the product insertion into the database. If the user confirms, then go to P7 else the system cancels the insertion. P7. Insert new productin the database If problems with the insertion in the database then generate exception E2 else the use case terminates successfully. A1. Mensagens de Alerta do Produto The system exhibits error messages, showing the fields in the form that are wrong. Go to P2 to allow the user to correct the errors. E1. User not authentified a.an exception corresponding to the error is thrown. E2. Exception generated by the DB a.the exception is captured by na exception handler, that must guarantee the data is inserted. The product is inserted into the database or the database remains unchanged.

Activity diagram Inter use cases Scenarios + Business Description Product Management Control flow dependencies among use cases (Manager view) guard [option=search] «user» Select option initial node decision node Identify User Insert product «include» [else] «use case» Identify user exception edge InvalidUser manager Update product Remove product «include» «include» Validate product «use case» Search product «use case» Update product «use case» DBException Insert product «use case» Remove product client Search product final node

Activity diagrams intra use cases Activity: Insert Product «pre-condition» User authentified and Insertion selected «post-condition» Product inserted or database unchanged «system» Check user authentification InvalidUser «system» Exhibit product form «user» Enter product information «system» Get product information «use case» Validate product [else] [invalid] «system» Exhibit error message «user» Confirm insertion [yes] [no] «system» Save product in the database DBException «exception handler» HandleDBException

Test Case Generation UML Activity Diagram 1. Build a Flow Graph 2. Select paths from the graph 3. Generate script (XML) 4. Build executable model begin... end. 5. Generate test data 6. Complete script

The test model Call node Call edge Return edge Return node

Path-oriented test selection Problems: How to select paths? Control flow based criteria (e.g. all edges, all nodes) How to select realizable paths? Various call-return in a path Realizable path: each call edge is matched with its return edge Context sensitive search for a path How to deal with loops to avoid infinite number of paths? Limit number of repetitions Loop testing

The tools Use case flows Use case specifications Business rules UML Modeling Tool XMI Activity diagrams XMI Graph Builder ICFG Context Sensitive Path Selector Legend Paths Tool Document Tool Module Antares Test Generation Subsystem Test Case Constructor Traceability Matrix Test sequence

Some results Test case design Test case execution # UC 27 # executed test cases 76 # ICFG edges 441 # fault revealing test cases 37 # ICFG nodes 530 # Failures 131 # test cases (TC) 142 Average TC execution time 40 min

Conclusions On-going work Regression testing selection based on Activity Diagram Testing process still in use more measurements are being performed Systematic creation of surrogates (or proxies) for exception handling testing (to be obtained from test cases) Future work: Implementation of other test criteria Model validation (e.g. simulation) Data flow and test data generation Considering concurrency various actors using the system

Thanks!