Automated Testing Tool for UML Behavioral Descriptions M.Tech. Project Guided by: Presented by: Venkat Prof. S.Ramesh Prof. Sridhar Iyer
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Outline of the Talk Overview of the Software Testing Literature Survey Stress on Statecharts Importance of Testing Statecharts Coverage Metrics Design Specification of StateTest Tool Conclusions Demo 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Testing Fundamentals Testing Objectives Test Information Flow 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Test Information Flow 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Test Case Design Three elements Test specification Test requirements Clues Fault Conditions Reachability Necessity Propagation 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY An Example void Check_square(int do_square,double x) { double y = x; if(do_square) y = x + x; printf(“squared value larger? %d\n”,y > x); } The fault is that + was used when * should have been 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Fault Conditions Reachability (do_square is true) Necessity (x!=2 && x!=0) Propagation (x <=1) (to differentiate the truth value between (x+x >x) and (x*x>x)) 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Testing Techniques White-Box Testing Basis path testing Deriving Test cases Flow graph Cyclomatic Complexity Finding independent paths Graph Matrices Control Structure Testing Condition testing Data flow testing Loop testing 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Testing Techniques Black-Box Testing Equivalence Partitioning (Range,specific value)one valid, two invalid inputs (Boolean,member of a set)one valid, one invalid inputs Boundary Value Analysis(BVA) Ex: (1). If 0<a<5, then test with (-1, 0, 1) and (4, 5, 6) Ex: (2). If the i/p has n values, then test with i/p s (n-1), (n), and (n+1) values Comparison Testing Specially for Safety-critical systems 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Testing Strategies Unit Testing To test the modules Integration Testing To test interfaces between modules Top-down Could be DFS / BFS followed Bottom-up Regression Testing Validation Testing Validation test criteria Configuration review Alpha and Beta testing System Testing Recovery Security Stress Performance 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Spiral Model of S/W Testing 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Literature Survey AdaTest and Cantata For State Machine Testing IPL Algo. For Coverage Metrics Property-Based Testing Suggests the Testing at Source code level, rather than at higher level TASPEC is the Central entity ATTOL Software ATTOL UnitTest, ATTOL SystemTset, ATTOL Coverage +1 Software Testing Tool +1Base, +1CR, +1CM, +1DataTree, +1Test, +1Reports, +1Reuse 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY A Brief Look At UML Result of the Three OO methodologies Booch Method by Grady Booch OMT by James Rumbaugh OOSE by Ivar Jacobson Statechart is one of the Nine building blocks supported by the UML 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Statecharts : A Visual Formalism for Complex Systems Origins Of Statecharts FSMs STDs Harel Statecharts Limitations of State Machines Doesn’t Provide State Hierarchy Have History Info. Have Concurrent States 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Semantics of Statecharts Event Transitions Event [Guard] / Action Transition 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Example for Statechart Semantics 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
More features of Statecharts Generalization Simplifies by Factorization Orthogonality Simplifies by Segmentation History Info. To memorize the substate last visited 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Example for Generalization 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Example for Orthogonality 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Example for History state 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Importance of Testing Statecharts Statecharts play crucial role in modeling Safety-critical systems Networking Protocols GUIs (Graphical User Interfaces) OOD (Object-Oriented Design) 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Methodology of Testing SCs 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Coverage Metrics State Coverage Ratio of number of states covered and total number of states in the given state model Event Coverage Ratio of number of events covered and total number of events in the given state model Transition Coverage Ratio of number transitions exercised and total number of transitions in the given state model State-Event Coverage Ratio of state-event pairs exercised and number of states multiply number of events in the given state model 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Design Specification of StateTest Tool Two inputs and Three outputs Input_1 : Statechart specification generated by Statechart Editor(SCE) by BARC Input_2 : Test Script File Output_1 : Pass / Fail report Output_2 : Coverage Metrics Output_3 : Error Report 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Statechart Spec. and Test Case’s Formats 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
DFD Level 0 for StateTest 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
DFD Level 1 for StateTest 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Implementation Details StateTest tool is implemented by using JAVA language StateTest tool has just four classes 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Object Specification of StateTest Four Classes StatesInfo Reads the Statechart specification file CopyStateHierarchy Reads the hierarchical from the StatesInfo class TestScriptReading Reads the Test Script file ReportGenerator Generates pass / fail report 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Initial Object Specification for StateTest 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
Detailed Object Specification for StateTest Tool 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Experiments Code generated by SCE (BARC tool) from the Statechart figures Statechart’s Specification as a 4-tuple by StateTest tool internally Experimented with many complex Statecharts Execution time of each test case is reasonable 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Conclusions StateTest Tool is effective for Statechart Testing Future work: Can be generalized to other input files… Orthogonality History 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY
M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY Thank You 11/12/2018 M.Tech Project Presentation By Guntapudi V R, SIT, IIT BOMBAY