180 likes | 320 Views
This paper presents an innovative regression testing approach based on the Timed Communication Object-Z (TCOZ) model, aimed at ensuring software maintenance activities yield reliable outcomes. It discusses the importance of selecting appropriate test cases (TCs) and the challenges of obsolete test cases in the context of modified specifications. By leveraging formal specifications, the study introduces techniques to identify obsolete TCs and generate new ones effectively, focusing on the integration of Object-Z and Timed CSP for robust system modeling. Insights from the 10th IEEE International Conference on Engineering of Complex Computer Systems are included.
E N D
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) Jianfeng Chen 100331777
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 Jianfeng Chen 100331777
Terminology • Z: The formal specification notation Z (pronounced "zed") ▪ Describing computer-based systems ▪ Based on Zermelo-Fraenkel set theory ▪ Developed by the Programming Research Group (PRG) at the Oxford 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. • 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 Jianfeng Chen 100331777
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. Jianfeng Chen 100331777
TcozRts (regression test system) • Strength & link between TCOZ and Timed Automata: Explored byJ. S. Dong, S. C. Qin, and J. Sun. Generating MSCs from an integrated formal speci.cation language. on Software Maintenance, pages 14–25, 1994. • Generating System test requirement from TCOZ model and approaches by using XML/XSL to translate TCOZ into UMLby 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 Jianfeng Chen 100331777
Classes in TCOZ • Object-Z example Timed Message Queue System class Jianfeng Chen 100331777
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 Jianfeng Chen 100331777
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 Jianfeng Chen 100331777
TCOZ-based Regression Testing technique • Parses original& new version of spec to identify modified operations • Constructs test charts original& new version • Identify Add/delete operations and interaction • Identify obsolete TC based on 1) and 3) Selects TC related to changed spec • Generate new TC new operations and interactions that added to the spec Jianfeng Chen 100331777
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(TestChartm)- V(TestChart0) ▪ operations-deleted V(TestChart0)- V(TestChartm) • Added/Deleted interaction ▪ interaction-added E(TestChartm)- E(TestChart0) ▪ interaction-deleted E(TestChart0)- E(TestChartm) Jianfeng Chen 100331777
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. Jianfeng Chen 100331777
An Example Jianfeng Chen 100331777
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)} Jianfeng Chen 100331777
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 Jianfeng Chen 100331777
TcozRts (TCOZ based Regression Testing System) Jianfeng Chen 100331777
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. Jianfeng Chen 100331777
Q&A? Jianfeng Chen 100331777
Thanks! Jianfeng Chen 100331777