acceptance-testinguser-acceptance-testing

How detailed should a customer acceptance test be?


Here is a test description, testing the "Create New Widget" use-case.


Here is another test description, testing the "Create New Widget" use-case.


Here is another test description, testing the "Create New Widget" use-case.

Each example tests that you can create a new widget. In the third test, I was testing the functionality as an experienced programmer, thinking "OK, where are all of the places a bug can appear", and checking every one of these. Is the third one appropriate for a customer acceptance test?

How comprehensive is "too comprehensive"?


Solution

  • The user acceptance test cases should be detailed and simple but not as detailed as your third example. Acceptance testing is about making sure the customer gets what they agreed to. If you simply say, "click this then click that, etc, etc..." that is more like a functional test. You are not eliciting users to verify that functionality meets the test case laid out in the acceptance test. You are only asking them to click through tests that you could have simply automated.

    User acceptance tests should be more along the lines of "create widget, verify that it appears, delete widget, etc." This will also encourage users to seek out individual features and (as a side effect) flush out any usability problems you may have overlooked.