Quality assurance

The quality assurance enables  releasing  better quality code  and therefore help to increase the user acceptance for the solution.

There are different kinds of tests, some are done by and for the developers (unit, system and integration) another part, the User Acceptance Tests are done by the business for the end user, and this document is focused on those UAT.

Writing a test case

In order to achieve higher quality, the UAT cases must be written from the perspective of the users, the technical details hidden from the user have no places in user acceptance tests.

User role of the expected tester

It must be clear which user role needs to execute the test or the step because the product behaviour could depend on the user roles.

Preconditions

In cases, some preconditions are required such as previous action done on the product; those should be cleared by either detailing all the required preconditions. To ensure reproducibility it is recommended either to have script that setup those precondition or to define them step by step inside the test case, or refer to another documentation such as another test case or other documents.

Names and summary

 The test case name and description/summary should help the business and user to understand the features tested by the UAT case

Steps

Each action or set of action that generates a result (error message, graphical toolkit, new page … ) define a step. Creating steps can be experienced as dull but it helps the tester to follow the desire scenario, it increases reproducibility and help to identify where the issue is.

Result

The result of the step and or the result of the test case must be clear and must lead to a factual assessment: “Failed” or “Passed.”

Executing the test cases

Once written, the UAT cases are grouped and order to ensure the precondition of a given test are run before the test itself. Often there is two sets of tests, the regression test (features already tested in the past) which are made to ensure the used feature are still working and the new feature test that validate that the change made in the code create the desired features.

Tester

The tester must be informed on how they execute and report the UAT case result, ideally (s)he is familiar with the software or the steps must be very precise. The test must have access to the application that is compatible with the role expected.

Execution

The tester follows the UAT case and reports everything which is not aligned with the test case description. If an issue tracking system is used then the tester must create an issue and ensure that the issue is linked to the test cases so this case could be found back once the issue is solved.

Reports

Using a test case management tool enable the team to follow the execution of the test and give an overview on the release quality and readiness for production.

Currently the comprehensive set of test cases are