Galit Friedman, Alan Hartman, Kenneth Nagin, Tomer Shiran IBM Haifa Research Laboratory ISSTA 2002.

Slides:



Advertisements
Similar presentations
MOdel-based GENeration of Tests for Embedded Systems # FP7-ICT Embedded Systems Design Institute for Software Technology – Graz University.
Advertisements

DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 VLDB 2006, Seoul Mapping a Moving Landscape by Mining Mountains of Logs Automated Generation of a Dependency Model for HUG’s Clinical System Mirko Steinle,
Dependence Analysis in Reduction of Requirement Based Test Suites Boris Vaysburg Luay Tahat Bogdan Korel Computer Science Department Bell Labs Innovations.
Mahadevan Subramaniam and Bo Guo University of Nebraska at Omaha An Approach for Selecting Tests with Provable Guarantees.
Testing Concurrent/Distributed Systems Review of Final CEN 5076 Class 14 – 12/05.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
Rational Israel Users Conference Automated Model Driven Software Testing Rational Users Conference Tel Aviv June Alan Hartman IBM Israel – Haifa.
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing 2.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Department of CIS University of Pennsylvania 1/31/2001 Specification-based Protocol Testing Hyoung Seok Hong Oleg Sokolsky CSE 642.
2007ACS-3913 R. McFadyen1 UML Statechart Diagram A UML Statechart Diagram describes states for an object how/why an objects’ state changes A Statechart.
CS 425/625 Software Engineering Software Testing
Backtracking Reading Material: Chapter 13, Sections 1, 2, 4, and 5.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Protocol Analysis/Testing Based on Sidhu et al in IEEE TSE 89 and TN 93 Figures from the papers.
Testing Processes of Web Applications Susan Cohen.
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
January 27, 2002 ECEN5033 University of Colorado -- Class Testing 1 Specifying interactions Remainder of slides assume Operations defined by a class are.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
AMOST Experimental Comparison of Code-Based and Model-Based Test Prioritization Bogdan Korel Computer Science Department Illinois Institute of Technology.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
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.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
What is Software Testing? And Why is it So Hard J. Whittaker paper (IEEE Software – Jan/Feb 2000) Summarized by F. Tsui.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Testing Workflow In the Unified Process and Agile/Scrum processes.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Authors: Ioannis Komnios Sotirios Diamantopoulos Vassilis Tsaoussidis ComNet Group.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
SWE 637: Test Criteria and Definitions Tao Xie Prepared based on Slides by ©Paul Ammann and Jeff Offutt Revised by Tao Xie.
Defining Programs, Specifications, fault-tolerance, etc.
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Test Coverage CS-300 Fall 2005 Supreeth Venkataraman.
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
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.
CS ST0 Software Testing Spring 2011 Review Last updated: April 26, 2011 Aditya P. Mathur Purdue University.
3 June Paris Seminar Modelling and Analysis of TCP’s Connection Management Procedures Jonathan Billington and Bing Han Computer Systems Engineering.
Symbolic Execution with Abstract Subsumption Checking Saswat Anand College of Computing, Georgia Institute of Technology Corina Păsăreanu QSS, NASA Ames.
Xusheng Xiao North Carolina State University CSC 720 Project Presentation 1.
Introduction to Software Testing Paul Ammann & Jeff Offutt Updated 24-August 2010.
1 Graph Coverage (5). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Introduction to Software Testing. OUTLINE Introduction to Software Testing (Ch 1) 2 1.Spectacular Software Failures 2.Why Test? 3.What Do We Do When We.
Towards Interoperability Test Generation of Time Dependent Protocols: a Case Study Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua.
Lecture 2: Statistical learning primer for biologists
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Week 5-6 MondayTuesdayWednesdayThursdayFriday Testing III No reading Group meetings Testing IVSection ZFR due ZFR demos Progress report due Readings out.
Rigorous Testing by Merging Structural and Behavioral UML Representations Presented by Chin-Yi Tsai.
8/23/00ISSTA Comparison of Delivered Reliability of Branch, Data Flow, and Operational Testing: A Case Study Phyllis G. Frankl Yuetang Deng Polytechnic.
Workshop on Integrating Software Testing into Programming Courses (WISTPC14:2) Friday July 18, 2014 Introduction to Software Testing.
Symbolic Model Checking of Software Nishant Sinha with Edmund Clarke, Flavio Lerda, Michael Theobald Carnegie Mellon University.
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
Teooriapäevad, Vanaõue, Sept Synthesis of Test Purpose Directed Reactive Planning Tester for Nondeterministic Systems 1 Jüri Vain, Kullo Raiend,
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
A Review of Software Testing - P. David Coward
Generating Automated Tests from Behavior Models
ISP Coverage Criteria CS 4501 / 6501 Software Testing
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Testing Approaches.
Automated Testing Tool for UML Behavioral Descriptions
Ch. 14 System Testing Earlier we have stated the 2 views of testing:
Presentation transcript:

Galit Friedman, Alan Hartman, Kenneth Nagin, Tomer Shiran IBM Haifa Research Laboratory ISSTA 2002

Outline Specification-based testing EFSM models and test generation Projected State Machine Coverage Criteria Test Generation Algorithms Experimental & Industrial Experience

Specification-based testing Modeling Test Generation Build a model based on the specifications Derive test cases from the model Test cases generated based on some coverage criterion Test cases contain stimuli and expected responses Test Suite

EFSM Models Labeled directed graph Nodes (states) labeled with both control and data Arcs (transitions) labeled by stimuli to application Includes expected responses to stimuli Start 0 - deposit 1 OK deposit 2 OK deposit 2 fail withdraw 0 fail withdraw 0 OK withdraw 1 OK deposit withdraw

Problems with EFSM State space explosion Test case explosion

Test Generation Extracting a set of paths from the EFSM How do you choose which paths? Coverage criteria! Star t 0 - dep osit 1 OK dep osit 2 OK dep osit 2 fail with draw 0 fail with draw 0 OK with draw 1 OK

Projected State Machine Start 0 - deposit 1 OK deposit 2 OK deposit 2 fail withdraw 0 fail withdraw 0 OK withdraw 1 OK Start - deposit OK deposit fail withdraw fail withdraw OK

Coverage Criteria I CC_State_Projection on Generate a set of test cases – one through each equivalence class of states in the projected state machine E.g. CC_State_Projection on action; result; Start - deposit OK deposit fail withdraw fail withdraw OK

Coverage Criteria II CC_Transition_Projection from to E.g. CC_Transition_Projection from action; to action; result; Equivalent to Carver and Tai’s CSPE-1 coverage criterion (Constraints on Succeeding and Preceeding Events) IEEE TSE 1998 Controllable stimuli: Start, Deposit, Withdraw Observable results: Fail, OK

Other coverage criteria for TG Hartmann et al. ISSTA 2000 – transition coverage of data partitions Offut & Abdurazik UML 1999 – explicit test purposes, transition coverage, predicate coverage of transitions Jeron & Morel CAV 1999 – test purposes Amman et al. FME 1998 – mutation coverage Henniger & Ural SDL 2000 – define-use coverage on message flow graph

Test Constraints Forbidden classes of states Forbidden classes of paths E. g. TC_Forbidden_State buffer=2; Start 0 - deposit 1 OK Forbidden withdraw 0 fail withdraw 0 OK withdraw 1 OK

Test Generation Algorithm Traverse the whole EFSM reachable state space –Use BFS, DFS, or CFS –Record data on reachable coverage tasks – including random representative selection –Eliminate forbidden configurations Extract a path to each selected task representatives When state space too large – generate on-the-fly

Experiments Buffer, Readers and Writers, Gas Station, Sliding Window Protocol, Elevator Control. Use different projections to obtain a hierarchy of test suites of varying strength. More projection variables created larger test suites with increased power of defect detection Use test constraints to partition the state space, enabling measurable coverage of well-defined subsets of behavior

Distributed File System Statistics: FSM states, 290 test cases, 729 coverage tasks Original Test: 12 PM, 18 defects (10 severity 2) Our test: 10 PM, 15 old defects (10 severity 2) 2 new defects Bottom Line – We made a convert

Call Center Two FSM models 37 defects Responsiveness to changes in spec. Reuse of function test for system test

Conclusions Flexible coverage criteria for a hierarchy of test suites FSM constraints help with state explosion Systematic and automated methodology Eases reuse and maintenance of test suites Successful in detecting faults and communicating error scenarios