Title: Automated Testing Tool for UML Behavioral Descriptions
1Automated Testing Tool for UML Behavioral
Descriptions
M.Tech. Project
Guided by
Presented by
Venkat
Prof. S.Ramesh
Prof. Sridhar Iyer
2Outline 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
3Testing Fundamentals
- Testing Objectives
- Test Information Flow
4Test Information Flow
5Test Case Design
- Three elements
- Test specification
- Test requirements
- Clues
- Fault Conditions
- Reachability
- Necessity
- Propagation
6An 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 gt x)
-
- The fault is that was used when should have
been
7Fault Conditions
- Reachability (do_square is true)
- Necessity (x!2 x!0)
- Propagation (x lt1) (to differentiate
the truth value between
(xx gtx) and (xxgtx))
8Testing 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
9Testing 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 0ltalt5, 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 (n1) values - Comparison Testing
- Specially for Safety-critical systems
10Testing 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
11Spiral Model of S/W Testing
12Literature 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
13A 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 -
14Statecharts A Visual Formalism for Complex
Systems
- Origins Of Statecharts
- FSMs
- STDs
- Harel Statecharts
- Limitations of State Machines
- Doesnt
- Provide State Hierarchy
- Have History Info.
- Have Concurrent States
15Semantics of Statecharts
- State
- Event
- Transitions
- Event Guard / Action Transition
16Example for Statechart Semantics
17More features of Statecharts
- Generalization
- Simplifies by Factorization
- Orthogonality
- Simplifies by Segmentation
- History Info.
- To memorize the substate last visited
18Example for Generalization
19Example for Orthogonality
20Example for History state
21Importance of Testing Statecharts
- Statecharts play crucial role in modeling
- Safety-critical systems
- Networking Protocols
- GUIs (Graphical User Interfaces)
- OOD (Object-Oriented Design)
22Methodology of Testing SCs
23Coverage 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
24Design 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
25Statechart Spec. and Test Cases Formats
26DFD Level 0 for StateTest
27DFD Level 1 for StateTest
28Implementation Details
- StateTest tool is implemented by using JAVA
language - StateTest tool has just four classes
29Object 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
30Initial Object Specification for StateTest
31Detailed Object Specification for StateTest Tool
32Experiments
- Code generated by SCE (BARC tool) from the
Statechart figures - Statecharts Specification as a 4-tuple by
StateTest tool internally - Experimented with many complex Statecharts
- Execution time of each test case is reasonable
33Conclusions
- StateTest Tool is effective for Statechart
Testing - Future work
- Can be generalized to other input files
- Orthogonality
- History
34Thank You