Automation quality assurance: Define correct result using case reference and process owner's criteria; Check destination state, human tasks and recovery actions for failed cases; Verify repeated runs don’t cause duplicates; use idempotency tokens
Image: Business Automation Desk

Quality Assurance

Automation quality assurance

Define, test and monitor automation quality through verified outcomes, exceptions, duplicate work, error rates and human overrides.

Automation quality assurance asks whether eligible cases reach the intended business result, whether failures stay visible and whether the result remains explainable after launch. A successful software run is evidence about execution; check the receiving system and the people who use its output before calling the business case complete.

Start with the process owner’s definition of a correct result. Use a case reference to trace the normal route, departures, repeated actions, human decisions and errors found later.

Define what the automation may finish

For each included case type, name the trigger, required input, permitted action and evidence of completion. A handoff to another team does not establish that the team finished the work. State which cases must wait for a person and what that person may decide.

Agree each material branch’s expected outcome before checking the implementation. Record the rule or workflow version so a later result can be assessed against the version that produced it.

Assurance question / Evidence to check

Did the right case enter?
Source item and eligibility rule
Was the action authorised?
Applicable rule or approval
Did it happen as intended?
Attempt history and destination state
Is the business result correct?
Destination record and, where needed, receiving-team confirmation
Can an unusual case be resolved?
Held state, owner, next action and final disposition

Challenge the route before release

Prepare safe cases with known expected outcomes, including an ordinary case and material departures: missing information, conflicting values, an unavailable approver, a rejected destination action and an uncertain result after a timeout. Check where each case stops, who sees it and what permits it to continue.

For a consequential write, inspect the destination by business reference. Hold an item with an uncertain result until its state and the agreed recovery action are established.

Check repeated triggers, retries and manual recovery separately. Compare source cases with destination records and human tasks. More than one software run prompts investigation; the business concern is an unintended repeated action.

For Power Automate-specific test options and the limits of static outputs, see “Make test runs repeatable”.

Make test runs repeatable

In Power Automate, run Flow Checker before a cloud flow to identify potential logic, action, connector and performance issues. A clean check does not prove correct flow behaviour; test its actions and connectors against expected outcomes.

Save the flow before testing. A manual test requires you to perform the trigger action. Automatic testing can use a recently used trigger or repeat a previous test run, but you must complete at least one manual test before using the automatic option.

Static outputs let you mock an action’s result to exercise different branches without running the real action or the entire process. Treat these runs as evidence about flow behaviour only: they do not establish that a real connection changed the destination system.

Assess retries by their effects

For an operation that changes a destination record, check whether repeated identical requests can create duplicate records or other side effects. The AWS Well-Architected Framework describes idempotency tokens: a client sends the token when repeating a request, and an idempotent API returns the response from the first completed request.

Check that the same operation uses a consistent token across retries. AWS cautions against timestamps as keys because clock differences or multiple clients can make them unreliable, and against inconsistent key generation across services because duplicates may not be recognised.

Do not treat a retry count as proof of a duplicate business action. Compare the repeated request with the destination state and response, and establish whether the repeated attempt had the same effect as the first.

Idempotency Token Best Practices for Retry Handling

  1. Use consistent idempotency token across retriesRequired to prevent duplicate effects
  2. Avoid timestamps as tokensDue to clock differences or multiple clients
  3. Avoid inconsistent key generation across servicesTo ensure duplicates are recognised
  4. Do not rely on retry count aloneCompare request and destination state to assess effect

Measure quality after launch

Set a baseline using a stable unit, such as eligible requests, and define an incorrect final outcome. Record the period, case mix, review coverage and how outcomes were verified. Compare later cases on the same basis.

A failed-run rate cannot stand in for a business error rate: a run may finish with wrong data, or report failure after a write succeeded.

Keep returned work, corrections, unresolved cases and work passed to another team visible. If fewer errors are found, check whether the case mix or the chance of finding an error also changed.

When a person deliberately changes an automated recommendation or result, retain the proposal, authorised decision, reason and confirmed downstream result. Record input corrections and execution repairs separately. Review patterns against individual cases before changing a rule.

For live review, keep evidence linking the case reference to the flow run, any repeated request and the final destination state. Where an operation uses an idempotency token, retain enough information to check that retries used the same token and did not produce an unintended additional effect.

Post-Launch Quality Metrics for Automation Monitoring

Baseline unit
Eligible requests
Incorrect final outcome definition
Defined and recorded
Review coverage
Documented and tracked
Work passed to another team
Visible and traceable
Human overrides retained
Proposal, decision, reason and downstream result recorded

Make a bounded release decision

The process owner can accept an included case type when its expected outcomes have been checked, material failures have a safe route, destination results can be verified and someone will review live exceptions. Hold a case type whose result cannot be established or whose material departure has no owner. Record remaining uncertainty.

After a rule, input, interface or connected system changes, repeat the checks affected by that change. Sample completed cases as well as visible failures.

In this guide

  1. Testing exceptions before a process goes liveBuild safe exception cases and check the held state, owner, destination result and route to resolution before an automation goes live.
  2. Checking whether an automation creates duplicate workTrace business items through retries, manual handoffs and destination records to find unintended duplicate actions and tasks.
  3. Measuring error rates before and after automationDefine a business error rate, keep denominators and review coverage comparable, and interpret before-and-after results carefully.
  4. Recording why an automated outcome was overriddenRecord the original automated proposal, authorised human decision, reason and confirmed result when an outcome is overridden.

More from Quality Assurance