Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young.

Slides:



Advertisements
Similar presentations
What is Test Director? Test Director is a test management tool
Advertisements

Information Software Systems 18 May 2007 Information Software Systems ISS Modern SW Development Practices: Processes and Technologies 18 May 2007 (c) 2007.
MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
Test Yaodong Bi.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Software Quality Assurance Plan
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
Formal Specification of Topological Relations Erika Asnina, Janis Osis and Asnate Jansone Riga Technical University The 10th International Baltic Conference.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
Presenter : Yeh Chi-Tsai System-on-chip validation using UML and CWL Qiang Zhu 1, Ryosuke Oish 1, Takashi Hasegawa 2, Tsuneo Nakata 1 1 Fujitsu Laboratories.
1 INTAS Meeting, Moscow Tools for Verification of Specification Given by Basic Protocols Oleksandr Letychevskyi, Ph.D. Glushkov Institute of Cybernetics.
1 Evaluation of OCL for Large-Scale Modelling A Different View of the Mondex Smart Card Application Emine G. Aydal, Richard F. Paige, Jim Woodcock University.
1 Software Testing and Quality Assurance Lecture 26 (a) – Testing Interactions (Chapter 6)
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Chapter 1 Software Engineering. Homework ► Read Section 2.2 (pages 79-98) ► Answer questions: ► 7, 8, 11, 12, & 13 on page 134. ► Answer on paper, hand.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Systems Analysis and Design in a Changing World, 6th Edition
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Introduction to Software Testing
Yaxiong Lin TestOptimalTestOptimal, LLC TestOptimal Model-based Testing Effective Test Case Design And Test Automation Twin Cities Quality Assurance Association.
Complete and Integrated Lifecycle Management. Challenges 1.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
UML - Development Process 1 Software Development Process Using UML (2)
TEST SUITE DEVELOPMENT FOR CONFORMANCE TESTING OF PROTOCOLS Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD Institute for System Programming.
An Introduction to MBT  what, why and when 张 坚
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
Understand Application Lifecycle Management
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Automated Generation of Test Suites from Formal Specifications Alexander K.Petrenko Institute for System Programming of Russian Academy of Sciences (ISP.
Systems Analysis and Design in a Changing World, 6th Edition
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
Software Engineering 2 -Prakash Shrestha.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Protocols Software Engineering II Wirfs Brock et al, Designing Object-Oriented Software, Prentice Hall, Mitchell, R., and McKim, Design by Contract,
Systems Analysis and Design in a Changing World, Fourth Edition
ISP RAS Java Specification Extension for Automated Test Development Igor B. Bourdonov, Alexei V. Demakov, Andrei A. Jarov, Alexander S. Kossatchev, Victor.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Critical Systems Testing Experts EXB Solutions - Contact us at cFS Workshop – Automated Test for NASA cFS David C. McComas 1, Susanne.
Chapter 1 Software Engineering.
Introduction to Software Testing
Software Verification, Validation, and Acceptance Testing
Software Engineering Group, Motorola India Electronics Pvt. Ltd.,
PPT4: Requirement analysis
CSE 1020:Software Development
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Software Development Process Using UML Recap
Presentation transcript:

Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young Researchers Colloquium on Software Engineering Moscow May

SYRCoSE Software Quality Assurance Unambiguity of requirements Solution: usage of formal languages and notations (UML – Unified Modeling Language) Software functionality’s correctness checking Solution: –verification –testing

SYRCoSE Issues Model of the system on some formal language shall be created for verification Manual testing Long and laborious processes Lack of technologies which allow to integrate testing and verification

SYRCoSE Proposed Solution Initial Requirements (UML) Verification (VRS) Testing (TAT) correction of requirements TTCN (Testing and Test Control Notation) automated process of formalization automated process of tests generation

SYRCoSE Basic Protocol – a simple MSC diagram, which specifies: the state of the system where the system shall perform some activity – pre-condition the activity itself (transmission of a message or performance of an action) – process part the state of the system after the activity is performed – post-condition pre-condition post-condition action message process part

SYRCoSE VRS (Verification of Requirement Specifications) combines model checking with deductive verification checking the properties of requirements represented with basic protocols detection of non-deterministic behavior, unreachability of specified states, deadlocks criterion of requirement’s satisfiability in VRS is existence of sequence of required events (actions, signals) contained in basic protocols in definite order; such sequence is called “trace”

SYRCoSE Conversion of a Fragment of UML SM Diagram into a Basic Protocol Special VRS module “uml2bp” is used for autoformalization

SYRCoSE Verification Stage Step 1. Formulation of filters and heuristics for the current project. They help to decrease number of traces by pointing the trace generator to the definite direction. Step 2. Performing an automatic trace generation cycle. Step 3. Analysis of findings with deadlocks, inconsistency and other issues. Correcting the generated basic protocols or initial requirements. Repeat steps 1-3. Step 4. Analysis of generated traces with a script to check whether the coverage criteria are satisfied. Repeat steps 1-4 if needed.

SYRCoSE Sample State Machine Diagram

SYRCoSE Graph with All States without Detailed Behavior

SYRCoSE Graph with All States with Detailed Behavior of ‘Suspended’ State Suspended Start UDI_LDI UEI_LEI UEA

SYRCoSE Trace for the Graph with All States

SYRCoSE Trace for the Graph with Detailed Behavior of ‘Suspended’ State

SYRCoSE Traces Merging ( Glue In )

SYRCoSE TAT (Test Automation Toolset) templates for generation of tests in C, Java, TTCN languages automated testing cycle based on user-defined scenarios developed in formal language MSC customizable for different platforms with different environments

SYRCoSE Overall Scheme of Automatic TTCN Tests Generation UML diagram

SYRCoSE Adding Values to MSC Input: MSC with parameters Output: MSC with values Configuration items:.xls file with parameters values; VB script for xls-> txt conversion; add_values.tcl (script) Notes: the script finds identical parameters names in MSC and.xls file and replaces them in MSC by values in.xls..xls file with parameters values : MSC with values :

SYRCoSE TTCN Test Cases Generation TTCN test case: File for test cases launch:

SYRCoSE Results of Piloting in Telecom Project autoformalization stage: about 4000 basic protocols were generated in 3 minutes (while manual efforts are estimated in basic protocols per day) verification stage: about 100 findings were discovered, 12 of them were considered defects and fixed in future versions of the product tests generation stage: manual automated

SYRCoSE Novelty of Work automated conversion of UML specifications into formal model in the language of basic protocols methodic of large-scale models analysis using VRS technology new TAT template for generation of tests in TTCN language

SYRCoSE THANK YOU