A practical approach for end-to-end test automation is discussed. The approach is based on model-based testing. The presentation discusses several industrial case studies of applying model-based testing to automatically generate innumerable number of ready-to-run, executable test cases.
14. 14
Terminology
Nodes of the model are called states
Edges of the model are called transitions
A test case is a path from start to exit
A random test is generated using a random walk from the
start state to the exit state
A test suite is a collection of test cases
Model coverage means that each transition is included in at
least one test case
14
15. 15
Workflow
1. Define test objective
and software to test
2. Analyze requirements,
software under test,
existing test cases!
6. Execute test cases,
analyze results,
remove bugs
3. Create models
4. Setup infrastructure
5. Generate test cases (TestMonkey and
DataProvider)
15
18. 18
Example: Search Form
Main scenarios:
1. Some valid search input
a) that matches db
b) that doesn’t match db
2. Invalid search input (evil)
3. No search input
Endless number of test input combinations
Our approach: build model(s) that can be extended as necessary
28. 28
Example: detected defect
We can register
Clarkson’s
29. Example: detected defect
Clarkson’s
We get this error
System crash!
However, if we search for
Clarkson’s
Other examples of detected defects:
• Loss of state when moving back and forth between pages
• Records missing in search results due to sorting issues