Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 6

Workflow and approver path coverage

10 min

Listen to this lesson

0:00 / 9:56

The rule-based workflow is a state machine written down in decision tables. That is good news for testers: the paths are finite and listable. For each change request type, the single-value decision table says, for a given current step, previous action and optional condition, what the next step and new status are. The user-agent decision table says who processes each step. The non-user-agent table defines background steps such as activation. Test design starts by reading these tables.

From decision table to test cases

Current stepPrevious actionConditionNext stepAgent
00 RequestSubmitnone10 Steward checkSteward team (org unit)
10 Steward checkSend backnone00 Request (revision)Requester
10 Steward checkApproveBank data present20 Finance approvalDan (finance approver role)
10 Steward checkApproveNo bank data90 ActivationBackground
20 Finance approvalApprovenone90 ActivationBackground
20 Finance approvalRejectnone10 Steward checkSteward team
90 ActivationActivation failednone10 Steward checkSteward team

An illustrative extract of Contoso's routing for the "change supplier" request type. Real step numbers, actions and statuses come from your configuration.

Each row becomes at least one test case: put the request in the current step, take the action with data that makes the condition true, and check the next step, the new status and who received the task. This is transition coverage. Contoso's "change supplier" type has 14 rows, so 14 transitions to cover, plus the paths that combine them.

The same routing as a state diagram: every arrow is a test case, and the loops (send back, reject, activation failed) are where defects cluster.
The Sign-Off Table · thesignofftable.com/academy/sap-xpr-306

Paths, not just transitions

  • Loop paths: send back and resubmit twice; reject at finance, fix, approve. Check that the history keeps every comment.
  • Condition boundaries: a change that adds bank data, removes it, or only changes the bank account holder name. Which counts as "bank data present"?
  • Four-eyes: the requester must not be able to approve their own request, even if they hold the approver role.
  • No agent found: remove the role from all users in a test and check that the request is visibly stuck and monitored, not silently lost.
  • Deadlines and escalation: if a step has a deadline, check what happens when it passes.
  • Substitution: when Dan is on leave, does his substitute receive the finance approval, and is the substitute's approval recorded as such?
Substitution is a separate test: the task must reach the substitute, and the audit trail must show who actually approved.
The Sign-Off Table · thesignofftable.com/academy/sap-xpr-306

Agent determination

Agents can be users, organizational units, positions, jobs or roles, depending on configuration. Test with the same assignments production will use. If finance approval goes to the members of an organizational unit, the test must use a user who is a member through the org structure, not a user given the task directly. Then test the negatives: a user outside the unit must not see the task, and a user who loses the assignment must stop receiving new tasks.

TestData or setupExpected result
Positive agentBank change by Omar; Dan in the finance approver roleTask in Dan's inbox only
Wrong userMaria logs on and searches for the taskTask not visible to Maria
Self-approvalDan requests a change to a supplier he also approvesApproval by Dan refused; another approver required
No agentFinance approver role removed from all test usersRequest visible as stuck in monitoring; alert raised
SubstituteDan absent, substitute setSubstitute gets the task; history shows the substitute
Agent determination tests for the finance approval step.
The Sign-Off Table · thesignofftable.com/academy/sap-xpr-306

Parallel steps and notifications

Some change request types send a request to several approvers at the same time, for example finance and purchasing for a new supplier, and continue only when all have decided. Test every combination of the parallel decisions: both approve, one rejects, both reject, and one decides long after the other. Check where the request goes after a mixed result and whether the slower approver's task disappears from the inbox when it is no longer needed. Also test the notifications users rely on: if Dan works from e-mail notifications, the test must prove that the e-mail arrives, links to the right task and does not expose bank data in the message text.

Evidence that holds up

For each workflow test, keep the change request number, the user who acted at each step, the step history from the change request, and the active record after completion. The step history is the strongest evidence, because it shows the path the system actually took, not the one the tester intended. Auditors reviewing dual control on supplier bank data will ask for exactly this.

What goes wrong in testing

PitfallConsequencePrevention
Test user holds requester and approver rolesFour-eyes defects invisibleSeparate users; one explicit self-approval test
Decision table edited during the test cycleResults not reproducibleRecord the table version with each test run
Only the first transition of each step testedRejection and failure branches untestedMeasure transition coverage per request type
Tasks approved by e-mail link onlyInbox behavior and substitution untestedTest each channel users will really use

Typical workflow test failures.

What would you do?

During acceptance, Dan approves a supplier bank change that he requested himself for an urgent payment. The request activates. Hannah says this is "fine because Dan is the finance owner." What should Priya do?

Key points
  • Each decision table row is a transition; cover all of them per change request type.
  • Test loops, condition boundaries, four-eyes, no-agent, deadlines and substitution.
  • Use production-like agent assignments and one user per role.
  • Keep the step history as evidence; it shows the path the system really took.

Check your understanding · not graded

Lesson check

  1. 1. What does transition coverage mean for a rule-based workflow?

  2. 2. Which test proves the four-eyes principle for supplier bank data?

  3. 3. Why test with agents assigned through the org structure?

  4. 4. What is the strongest evidence of the path a request took?

  5. 5. Finance approval goes to nobody after a role change. What should a good test design include?