Skip to content

Check an approval workflow with clear acceptance criteria

A completed test plan for the normal path, missing information, role permissions and a rejected save.

Philipp Reuter2 min read
Approval card with role, calendar, clock, checkmark and lock symbols beside a blue approval stamp.

Describe the outcome and starting state

For each important workflow, define who may act under which conditions and what state must be demonstrable afterwards. GOV.UK describes acceptance criteria as outcomes used to check that a user need is met. A broad promise such as “approval works” becomes testable through these conditions.

Example: approve an internal change request

This plan is entirely fictional. Request CH-27 starts as draft, moves to pending with a complete justification and may be set to approved by the assigned reviewer. Use synthetic data and suitable test accounts in a controlled test environment. The table contains expected results, not executed tests.

Starting state

Action

Expected result

Requester; justification empty; draft

Submit for review.

Field-specific message; inputs retained; state remains draft.

Requester; justification complete; draft

Submit for review.

Server stores pending; the responsible reviewer can open the request.

Person without approval rights; pending

Call approval directly.

Server rejects; state remains pending.

Assigned reviewer; pending

Approve.

Confirmed server storage as approved; reloading shows the decision.

Assigned reviewer; pending; server rejects storage before making the change

Approve.

Error message; state remains pending; no success message.

The final row assumes a definite rejection before the change. If only a response is missing, the stored state is initially uncertain; plan a separate test of the state actually stored.

Check state, permissions and feedback

A hidden button does not demonstrate access control. OWASP calls for appropriate permission checks on every request. Include direct calls and the actual stored state in the test. An on-screen success message is insufficient.

Set up each case with a defined starting state. Playwright recommends independent tests with controlled data and sessions. A previous case’s role or state should not silently determine the next outcome. Agree with the implementation team which component checks and complete workflows to automate.

Record version, environment, role and test data used. Keep actual results and findings separate from expectations; an unexecuted case remains open. Have the business owner assess deviations and repeat affected cases after a correction.

Sources

Written by

  • Philipp ReuterEditor for Software QualityPhilipp Reuter writes about software testing and preparing new releases at ASES. His articles cover error analysis, acceptance testing and reviewing changes to existing applications.

Follow ASES

Read more

All articles

Software Development with ASES

Custom software, web and mobile apps