
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
- Use consistent idempotency token across retriesRequired to prevent duplicate effects
- Avoid timestamps as tokensDue to clock differences or multiple clients
- Avoid inconsistent key generation across servicesTo ensure duplicates are recognised
- 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
- 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.
- Checking whether an automation creates duplicate workTrace business items through retries, manual handoffs and destination records to find unintended duplicate actions and tasks.
- Measuring error rates before and after automationDefine a business error rate, keep denominators and review coverage comparable, and interpret before-and-after results carefully.
- Recording why an automated outcome was overriddenRecord the original automated proposal, authorised human decision, reason and confirmed result when an outcome is overridden.



