Action-state testing
Script error: No such module "AfC submission catcheck".
In computer science, action-state testing[1][2] is a test design technique for testing stateful systems.
Elements of the test model[edit]
The test model is textual consisting of abstract steps, where each step is a triple containing
- a (user) action,
- a (system) response,
- a test state.
For example,
add car => car added STATE no price reduction happened
The technique is flexible as all three elements are optional. In this way, action-state testing can be considered a combined technique of state transition testing and use case testing. From the action-state model, abstract test cases can be generated. The abstract test cases are executable for humans but not by test automation tools (at the current level of AI).
The modeling uses tabulation to string steps into a single test or make two steps in different test cases. If two abstract steps have the same indentation, then they are in different test cases. If an abstract step is indented to the right with respect to the previous step, then this step will be the successor test step in the abstract test case. Let us see an example:
step A
step B
step C
results in three tests, Test1= step A, Test2 = step B, and Test3 = step C. The input
step A
step B
step C
results in one test sequence, Test = [step A, step B, step C]. Steps can have more than one preceding step by using the CONT label syntax. CONT label can be placed after leave steps (steps have no successor step indented to the right). For example,
step 1
step 11 CONT Collector
step 2
step 22 CONT Collector
Collector: step A
step B
step C
results in two test sequences, Test1 = [step 1, step 11, step A, step B, step C], and Test2 = [step 2, step 22, step A, step B, step C].
Model building[edit]
Action-state models can be converted to state transition graphs facilitating to detect of missing actions and choosing test selection criteria. Models can be embedded. Test states are created in the following way: when for an action the computation of the response (output) is different, then the action leads to a separate test state. For example, if the requirement is
adding the third item to the cart results in a price reduction,
then, by adding the third item, the action arrives at a new state.
References[edit]
- ↑ Forgács, I. and Kovács, A. (2022). Paradigm Shift in Software Testing: Practical Guide for Developers and Testers. MeasureIT, Budapest, ISBN 978-6150127811 Search this book on .
- ↑ "And the Winner Is: Aggregate Model-based Testing". LambdaTest. 2022-10-27. Retrieved 2022-11-08.
This article "Action-state testing" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Action-state testing. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.