[Process/Documentation] How do you write acceptance criteria that QA and business users both find useful?

Instruction: Write acceptance criteria and a small test set for the approved rule. Include boundary values and unauthorized access.

Context:

Fictional expense workflow: an employee may submit a positive expense amount in USD with a receipt. Amounts up to and including $500 require manager approval; amounts above $500 require manager approval followed by finance approval. Approvers cannot approve their own expense. Rejected expenses remain visible to their submitter with a rejection reason. The system must not issue reimbursement before all required approvals. Assume cents precision; currency conversion is out of scope.

Updated

Acceptance criteria

  • A submission without a receipt or with an amount at or below zero is rejected with an actionable validation message and cannot enter approval.
  • A valid $500.00 expense requires manager approval only; a valid $500.01 expense requires manager approval, then finance approval. Neither may be reimbursed before its required sequence finishes.
  • An approver cannot approve their own expense, including by sending a direct request. The item needs the approved alternate-authority process; do not invent the substitute approver.
  • On rejection, the submitter can see the rejected status and reason. A rejected item is not reimbursed.

Test set

Test $0.00, $0.01, $499.99, $500.00 and $500.01 with a receipt; repeat a positive amount without one. For $500.01, attempt finance approval before the manager, and attempt reimbursement after manager approval alone: both must fail. Test self-approval and access by an unrelated employee. Verify that an authorized submitter can read their rejection reason.

Clarify before implementation

The rules do not say how reassignment, edited submissions or resubmission work. Record those questions for the owner rather than quietly creating behavior. QA and business should agree the same expected outcomes; implementation-specific button names are unnecessary for these behavioral criteria.

Related Questions