Model elements and graph

Modeling in Harmony called action-state modeling consists of action-state steps, or simply steps:
Image without caption


The first element of the action-state step is a user action, in short, an action. An action means an input. Each step has to include one action. An action has to be understandable by a tester and can be as abstract as possible. For example, an action ‘change password’ is appropriate, as testers can do it during the execution of it.


The next element of a step is the system response, referred to as the response. The response describes how the system reacts to the action. It contains an output. Responses are optional, but more responses can be done. A response is also abstract the only criterion is that the tester can do it. For example, a response ‘validate password has been changed’ is a good response as the tester can log in with the new password and will check that the old password doesn’t work anymore.


The third element is the test state. A test state may merge several program states. States are optional. A test state can be that a user is logged in, logged in as an admin, or logged out. States are used to make better models to detect more bugs

Model graph

Each step is a node in the model graph. The model consists of two parts: (a) a graph and (b) a text description for each node in the graph.
Hence, action-state testing is special modeling, where the testers write only text, use Tab, Shift + Tab, Ctrl + f, Alt + Enter and a tool generates nodes and edges for the text. In this way, the model is more understandable and easy to modify.
The model also consist of labels that map requirements and the model, finally the test cases and preconditions in the form of states see ‘How to make models