Using Use Case Scenarios and Operational Variables for Generating Test Objectives Javier J. Gutiérrez María José Escalona Manuel Mejías Arturo H. Torres.

Slides:



Advertisements
Similar presentations
© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
Advertisements

1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Database Systems: Design, Implementation, and Management Tenth Edition
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Detailed Design Kenneth M. Anderson Lecture 21
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Requirements Analysis 8. 1 Storyboarding b508.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Human.
Systems Analysis Requirements structuring Process Modeling Logic Modeling Data Modeling  Represents the contents and structure of the DFD’s data flows.
Viewpoint-oriented requirements methods. Objectives To explain the notion of viewpoints in RE To explain the notion of viewpoints in structured analysis.
Chapter 6 Functional Modeling
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Testing and QA Theory and Practice (Chapter 4: Control Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
1 The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools Yi Liu, H. Conrad Cunningham and Hui Xiong Computer & Information Science.
CMSC 345 Fall 2000 Unit Testing. The testing process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
UML Profile to Support Requirements Engineering with KAOS Presented by Chin-Yi Tsai.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Dimitrios Skoutas Alkis Simitsis
Selected Topics in Software Engineering - Distributed Software Development.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Representing New Voice Services and Their Features Ken Turner University of Stirling 11th June 2003.
Petri Nets Invented by Carl Adam Petri in 1962 Concurrent systems with timing problems  Synchronization, race problem, deadlock A petri net consists of.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 6: Functional Modeling.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
SEESCOASEESCOA SEESCOA Meeting Activities of LUC 9 May 2003.
Beyond Scenarios: Generating State Models from Use Cases An approach for the synthesis of State transition graphs from Use Cases Supporting Use Cases Based.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
An Overview of Requirements Engineering Tools and Methodologies*
Paul Ammann & Jeff Offutt
Modern Systems Analysis and Design Third Edition
Control Flow Testing Handouts
Security Issues Formalization
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 4 Control Flow Testing
Physical Data Model – step-by-step instructions and template
Modern Systems Analysis and Design Third Edition
Unified Modeling Language
Outline of the Chapter Basic Idea Outline of Control Flow Testing
Web Ontology Language for Service (OWL-S)
Traceability from Use Cases to Test Cases
Modern Systems Analysis and Design Third Edition
Paul Ammann & Jeff Offutt
Modern Systems Analysis and Design Third Edition
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Using Decision Structures
Software Design Methodologies and Testing
Modern Systems Analysis and Design Third Edition
Presentation transcript:

Using Use Case Scenarios and Operational Variables for Generating Test Objectives Javier J. Gutiérrez María José Escalona Manuel Mejías Arturo H. Torres Department of Computer Languages and Systems. University of Seville, Spain. STV Paris, France

Introduction Context of the work Introduction Use cases & test cases generation. The approach Conclusions. Use cases are a testing artefact Use cases is a wide used technique to define functional requirements. The test phase must assure that the final software system covers these functional requirements. There are two very used techniques for extracting test cases from use cases: Scenario analysis, based on scenario identification. Test data analysis, based on category partition method

Introduction Objectives of the paper Introduction Use cases & test cases generation. The approach Conclusions. Objectives: Applying Cathegry Partition Method (CPM) and Extended Use Case Test Patterns (both very similar) to obtain test objectives. Test objectives are defined as combinations of the partitions of the operational variables (categories) identified.

Introduction Definitions Introduction Use cases & test cases generation. The approach Conclusions. Operational variable: any element that may vary between two use case scenarios ( categories of an use case ). Domain: all possible values that a variable operational can get. Partition: set of domain values which exposes the same behaviour in the use case.

Use cases is a technique to express requirements graphically. Graphics are not enough detailed to express all the funcional requirements Some alternatives or representation are defined. For instance, patterns. Use cases & test cases generation Definition of use cases (I) Introduction Use cases & test cases generation. The approach Conclusions.

Use cases & test cases generation Definition of use cases (II) NDT + language patterns. (The) [ACTOR] [ACTION] Introduction Use cases & test cases generation. The approach Conclusions.

Use cases & test cases generation Test objectives Test objective : Something to test ( with a test case ) A test objective is a test case without a result. Test objectives may be defined in serveral ways. A use case may be a test objective. Use case scenarions. Test value combination. Both 2 and 3. Introduction Use cases & test cases generation. The approach Conclusions.

The approach Generating use cases scenarios. STEP 1 STEP 1: From use cases definition to XML definition Use cases templates are extended with language patterns and they are translate into a XML document using the same structure than the template Introduction Use cases & test cases generation. The approach Conclusions. A use case searches for a set of links by their description and shows the results. The visitor asks the system searching for links by description. The system asks for the description. The visitor introduces de description. The system searches for the links which match up with the description introduced by the visitor. The system shows the found results. At any time, the visitor may cancel the search, then the use case ends. If the visitor introduces an empty description, then the system searches for all the stored links and step 5 is repeated. If the system finds any error performing the search, then an error message is shown and this use case ends. If the result is empty, then the system shows a message and this use case ends. DTD available

The approach Generating use cases scenarios. STEP 2 STEP 2: From formal pattern in XML to activity diagrams From formal description of pattern an activity diagram can be generated easily. (tool available: ObjectGen) Introduction Use cases & test cases generation. The approach Conclusions. If [CONDITION] then [ACTION] and this use case ends.

The approach Generating use cases scenarios. STEP 3 STEP 3: From activity diagram to use case scenarios Each path of the activity diagram is a possible use case scenario. Classical graph techniques may be used to generate scenarios. (tool available ObjectGen) Introduction Use cases & test cases generation. The approach Conclusions. Use case: Search link by description The Round-Trip Criterion Scenarios: 5 S 1: 1, 2, D01, End. S 2: 1, 2, D01, 3, D02, 4.1, 5, End. S 3: 1, 2, D01, 3, D02, 4, D03, 4.2, End. S 4: 1, 2, D01, 3, D02, 4, D03, D04, 4.3, End. S 5: 1, 2, D01, 3, D02, 4, D03, D04, 5, End. Use case scenario 1: 1: The visitor asks the system searching for links by description. 2: The system asks for the description. 3: The visitor cancels the search then the use case ends.

The approach Generating combinations of partitions. STEP 1 (I) STEP 1: Definition of operational variables and partitions Every decision node, in the activity diagram, evaluates a logical predicate to choose an output transition. Therefore, an operational variable is assigned to each decision node and logical predicate. The domain of the operational variable is divided into as many partitions as output transitions Introduction Use cases & test cases generation. The approach Conclusions.

The approach Generating combinations of partitions. STEP 1 (II) Introduction Use cases & test cases generation. The approach Conclusions. Variables: activity and decision nodes. Particiones: Decisions output flows.

The approach Generating combinations of partitions. STEP 2 (I) Introduction Use cases & test cases generation. The approach Conclusions. STEP 2: Construction of the dependency matrix and generation constraint 1 -> 2 -> 3 -> V_D01(Sí) One path with variables and the partitions in which variables takes values. We see, in dependency map, that from V_D01, variables V_D02, V_D03 and V_D04 may be evaluated. But those variables do not appear in the path, so, we have identifiyed a restriction. If V_D01 == P_1 ( cancels ) then V_D02 = V_D03 = V_D04 = no value V_D01: User cancels peration. Boolean V_D01V_D02V_D03V_D04 V_D V_D

The approach Generating combinations of partitions. STEP 2 (II) STEP 2: Construction of the dependency matrix and generation constraint These steps can be automatically generate with an available tool: ValueGen Introduction Use cases & test cases generation. The approach Conclusions.

The approach Results with the constraint construction Introduction Use cases & test cases generation. The approach Conclusions. Without constraints: 4 variables, 2 partitions for each variable: 16 combinations. With constraints: 4 variables, 2 partitions, 2 constraints: 7 combinations.

Conclusions General conclusions The approach introduced may be applied in the early stages of the development process, when use cases are being defined, because it does not need a set of complete use cases The full automatism of the process and the availability to support tools allow the easy re-generation of test objectives when use cases change The approach only uses main, alternative and erroneous steps which are present in all styles, so, it may be easily used without having to change the use case style and format of an organisation It allows the managing of the traceability of the test cases from a use case through their test objectives. (To know how many use cases were covered by tests) Introduction Use cases & test cases generation. The approach Conclusions.

Conclusions Future works To improve the tool support: mainly the interface. To integrate test tools with the use case supporting tool for NDT. To apply in practise with NDT. Introduction Use cases & test cases generation. The approach Conclusions.

Address Introduction Use cases & test cases generation. The approach Conclusions. Testing & Tools Javier Gutiérrez Requirements María José Escalona

Using Use Case Scenarios and Operational Variables for Generating Test Objectives Javier J. Gutiérrez María José Escalona Manuel Mejías Arturo H. Torres Department of Computer Languages and Systems. University of Seville, Spain. STV Paris, France