Regression TestJianfeng Chen 1003317771 Regression Test 1. What is Regression test? 2. Z/Object-Z/ TCOZ model/Test Chart 3. TCOZ Technique (TC obsolete&

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Knowledge Engineering for Planning Domain Design Ron Simpson University of Huddersfield.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
IPOG: A General Strategy for T-Way Software Testing
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Software Testing and Quality Assurance
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Unified Modeling Language (UML)
1 CMSC 132: Object-Oriented Programming II Software Development IV Department of Computer Science University of Maryland, College Park.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Chapter 1 Principles of Programming and Software Engineering.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Teamwork Know each other Compete Leadership Strengths and Weaknesses
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
SBSE Course 4. Overview: Design Translate requirements into a representation of software Focuses on –Data structures –Architecture –Interfaces –Algorithmic.
AMOST Experimental Comparison of Code-Based and Model-Based Test Prioritization Bogdan Korel Computer Science Department Illinois Institute of Technology.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
An Introduction to MBT  what, why and when 张 坚
Chapter 2 The process Process, Methods, and Tools
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
BCS 2143 Introduction to Object Oriented and Software Development.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Low-Level Detailed Design SAD (Soft Arch Design) Mid-level Detailed Design Low-Level Detailed Design Design Finalization Design Document.
Chapter 13: Regression Testing Omar Meqdadi SE 3860 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Introduction to Software Engineering Lecture 1.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
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 4850: Senior Project Fall 2014 Object-Oriented Design.
BY OKAY ASLAN CMPE 516 FAULT TOLERANT COMPUTING A Formal Object-Oriented Analysis for Software Reliability: Design for Verification.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Principles of Programming & Software Engineering
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Software Engineering (CSI 321)
Principles of Programming and Software Engineering
UML Diagrams Jung Woo.
Chapter 1 Software Engineering.
Department of Computer Science Regression Testing.
Presentation transcript:

Regression TestJianfeng Chen Regression Test 1. What is Regression test? 2. Z/Object-Z/ TCOZ model/Test Chart 3. TCOZ Technique (TC obsolete& augmentation) 4. TcozRts: implication 5. Usage/advantage/disadvantage Reference: Regression Testing of Classes based on TCOZ Specification10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05)10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05)

Regression TestJianfeng Chen Introduction of Regression Test Software maintenance activity-guarantee changed parts behaving as intended How ? Reusing TS of original version. All of them? Select proper subset. TS my be obsolete to modified version Solution: techniques strictly code-based TC’s Procedure languages OO languages Fault on changed specification? Only detected by specification-based TC’s New TC’s involved for changed software system Exploit formal specs with solid mathematical bases to generate new TC’s Technique: Classes based on Timed Communication Object-Z (TCOZ) Specification

Regression TestJianfeng Chen Terminology Z: The formal specification notation Z (pronounced "zed")zed ▪ Describing computer-based systems ▪ Based on Zermelo-Fraenkel set theoryZermeloFraenkel ▪ Developed by the Programming Research Group (PRG) at theProgramming Research Group Oxford University Computing LaboratoryOxford University Computing Laboratory (OUCL) Object-Z: an object-oriented extension of the formal specification language Z. It has been developed by a team of researchers at the Software Verification Research Centre, University of Queensland.object-orientedformal specification ZSoftware Verification Research CentreUniversity of Queensland TCOZ: Modelling notation based on Object-Z & Timed CSP(Communicating Sequential Process ) Providind a timed, multi-threaded object modelling notation for the design of complex system. Object-Z strength: modelling complex data& algorithms Timed CSP strength: medelling process control& real time interaction

Regression TestJianfeng Chen Terminology (cont’d) TCOZ: a blending of object-Z( operation schemas) with Timed CSP (Terminating) preserving them as a proper sub-language of the blended notation. Object-Z class mechanism ▪ Operation schema identified with CSP (terminating) that only update state (event) ▪Active class identified with no terminating CSP process ▪MAIN process determines the behaviors of the objects after it initialized.

Regression TestJianfeng Chen TcozRts (regression test system) Strength & link between TCOZ and Timed Automata: Explored by J. S. Dong, S. C. Qin, and J. Sun. Generating MSCs from an integrated formal speci.cation language. on Software Maintenance, pages 14–25, Generating System test requirement from TCOZ model and approaches by using XML/XSL to translate TCOZ into UML by J. Sun, J. S. Dong, J. Liu, and H. Wang. A XML/XSL Approach to Visualize and Animate TCOZ. This presentation focus on TCs selection & TSs augmentation based on TCOZ model of classes specification ▪Identify the obsolete TCs ▪Select the TCs realted to changed specification ▪Guide to generate new TCs TcozRts regression test system

Regression TestJianfeng Chen Classes in TCOZ Object-Z example Timed Message Queue System class

Regression TestJianfeng Chen Representation Tcoz Class spec Develop Test chart –Base Modification to spec of class –Obsolete TCs –Generate new TCs 3-Tuple(S,T,s0) ▪ Operation S finite, non empty set of vertices ▪ Invocations T ⊆ SXS directed edges ▪ s0 ∈ S initial operation of the class

Regression TestJianfeng Chen Coverage Criteria Vertices-methods Edges- all the interactions between methods Using this interaction coverage criteria to guide RT TC selection and TC generation in our TCOZ technique A set TS satisfied the criteria iff V (a,b) ∈ T at least one test sequence t ∈ TS

Regression TestJianfeng Chen TCOZ-based Regression Testing technique 1)Parses original& new version of spec to identify modified operations 2)Constructs test charts original& new version 3)Identify Add/delete operations and interaction 4)Identify obsolete TC based on 1) and 3) Selects TC related to changed spec 5)Generate new TC new operations and interactions that added to the spec

Regression TestJianfeng Chen Modification to the Tcoz Spec Modified Operations-class attributes in TCOZ declared in state-schema ▪ Added/delete attributes  access ▪ Modified attributes  Scope, type, or visibility. ▪ CSP  precondition and or post conditions Added/Deleted operation ▪ operations-added  V(TestChart m )- V(TestChart 0 ) ▪ operations-deleted  V(TestChart 0 )- V(TestChart m ) Added/Deleted interaction ▪ interaction-added  E(TestChart m )- E(TestChart 0 ) ▪ interaction-deleted  E(TestChart 0 )- E(TestChart m )

Regression TestJianfeng Chen Impact of Modification on Test Case Obsolete: invalid sequence of operations in the modified version Retest able: Remains valid in the modified version Reusable: valid and consist of operations that has remained unchanged in the modified version.

Regression TestJianfeng Chen An Example

Regression TestJianfeng Chen An example (cont’d) Operation-modified={Add, Join} Operation-added={Find} Operation-deleted={RecLost} Interaction-add ={(Main,Find),(Find,Main),(Main,Delete)} Interaction-deleted= {(Main,RecLost),(RecLost, Del)}

Regression TestJianfeng Chen TCOZ Algorithm for Regression Test Identify obsolete TS & select TS from the Original TS with two bit vector-OpUsed and IntActrUsed Parameters TS(original test suite), OpMd, OpDel, IntrActDel returns RTS(sub of TS for Regression), and Obslt

Regression TestJianfeng Chen TcozRts (TCOZ based Regression Testing System)

Regression TestJianfeng Chen When use? TCOZ can be fully automated. It is strictly specification-based; no complex static or dynamic code analysis is required Independent of the programming language which is used to implement the specification.

Regression TestJianfeng Chen Q&A?

Regression TestJianfeng Chen