A common problem with acceptance tests is that it takes some effort to understand what's going on. If you are not already familiar with the domain, it can be easy to misunderstand them, thus leading to the wrong checks being performed even if everyone that reviewed it agreed with the original acceptance tests.
For example, if I read an acceptance test such as the following:
Given a first number 2
And a second number 3
When I run the software
Then I get 3 as the output
I might be tempted to understand it as, Oh, ok! The test is meant to verify that given two numbers, we print the highest one.
But that might not be the requirement; the requirement might actually be, Given two numbers, print the lowest one plus one. How can I understand which one that test was actually meant to verify?
The answer is to provide more examples. The more examples we provide for our tests, the easier it is to understand them.
Examples are provided in a table-like format,...