Defining ambiguity and vagueness:

Before explaining why ambiguity and vagueness should be limited in the first place, it would be helpful to understand what ambiguity and vagueness is in context. Within a test or test step, ambiguity is present in situations in which several paths to a set objective are implicitly available to the tester.

Related to this is vagueness. Vagueness is when a step or a test is written without much context or detail that could be helpful to guide the tester along an intended workflow.

Why should you limit ambiguity and vagueness:  

The "Where": Concise instructions allows errors and bugs to be easily identified

Steps should be written with a singular focus: that completing one step will unambiguously allow the tester proceed to the next step in the flow. A step unambiguously written, by this measure, tells a tester precisely the actions that they should do to pass the step. Failure of a concisely written step then allows where an error occurred to be clearly identified in the workflow.

Using a simple log in flow as an example, a concisely written log in step should look something like:

Action: Log in by inputting in the field under "Email" wiht "" and the field under "Password" with "example.password1".

Question: Did you see a green header that contained the message "You have logged in successfully"?

Here, the action precisely identifies both where the tester should input the values in order to log-in and what the values they're supposed to be inputting are. Using quoted text further focuses the tester's attention and provides additional clarity.

The "Why": Concise instructions allow testers to give useful feedback:

A clearly written step provides clear acceptance criteria for a tester to evaluate their judgment as they go through your workflow. Should they fail a step, a clearly written test step allows them to base their feedback on some concrete criteria. Following the above, clearly written steps not only allow testers to identify where caused them to fail the step, but also why they had to fail the step.

Using the same example from above:

Action: Log in using email: "" and password: "example.password1".

Question: Did you see a green header that contained the message "You have logged in successfully"?

Paying a little more attention to the question portion of this step, the addition of the phrase "You have logged in successfully" is helpful because it gives testers an idea of what the expected outcome of completing this step would be (i.e. 'If the instructions are correct, then I should be successfully logged in'). It is just as valid to simply ask if the tester was logged in, but adding this extra bit of detail provides a reference point that could assist the tester if they were to give feedback.

The "How": Clearly written steps are much more easily written and understood

At a practical level, it is far easier for a tester to follow a step that clearly outlines what they should do. A step that is clearly written allows the information contained in it to be more easily comprehended and understood. This in turn feeds back into a tester's ability to render more accurate judgments as they go through a workflow, which then flows into the feedback they return to the customer. If an error does occur, a clear and unambiguous test allows how the error occurred to be instantly recognized.

Using the same example one more time:

Action: Log in using email: "" and password: "example.password1".

Question: Did you see a green header that contained the message "You have logged in successfully"?

It would've been just as valid to ask "Did it work?" as the question of this step. However, "Did it work?" does not provide much context on what or how the log in functionality was supposed to function. The more clear the instructions provided to testers, the easier it is for testers to understand and execute the test step correctly.

Limiting ambiguity and vagueness in tests as much as possible not only translates into more useful feedback, but it can also help tests to pass successfully! Next, check out why maintaining consistency throughout your test paves the way to test-writing success!

Did this answer your question?