Audit a Product Flow
Navigate and test a product flow in the browser, then return a reviewable record of passes, regressions, screenshots, console or network evidence, scope, and uncertainty.
Test a product flow as a user and produce evidence the team can inspect.
This is a focused product audit, not a replacement for the team's complete testing strategy and not a reason to file every unexpected behavior as a bug.
1. Define the audit boundary
Clarify:
- product or URL;
- environment;
- account state;
- user role;
- critical flow;
- expected result;
- changed area;
- release context;
- test data;
- relevant platforms;
- viewports;
- deadline;
- reviewer.
Define what is:
- in scope;
- out of scope.
Prioritize the smallest set of paths that can answer the user's question.
Use existing:
- specifications;
- acceptance criteria;
- issues;
- release context;
- known risks.
2. Choose a safe environment
Public production sites may support read-only inspection.
For paths that are:
- authenticated;
- destructive;
- transactional;
- permission-changing;
- stateful;
prefer:
- staging;
- preview;
- dedicated test accounts.
If production is the only environment, keep the audit read-only unless active scoped permission explicitly covers the exact action, account, data, and conditions.
3. Prepare safe test state
Confirm:
- account;
- role;
- test data;
- credentials;
- expected side effects.
Never expose:
- secrets;
- private user content
in:
- screenshots;
- logs;
- URLs;
- reports.
Use synthetic or explicitly approved test data.
Make cleanup requirements visible.
Record where available:
- environment;
- build/version;
- browser state;
- feature flags;
- conditions required to reproduce.
If expected behavior is unclear, establish it from an accepted source or label the uncertainty before testing.
4. Test the flow end to end
Use the real interface.
Check the critical path first.
Then test the small set of variations most likely to expose a material regression, such as:
- entry states;
- validation;
- recovery;
- permissions;
- empty states;
- error states;
- responsive behavior;
- recently changed area.
Adapt testing to the actual flow rather than applying a generic checklist.
5. Capture evidence during testing
Record:
- steps;
- URLs or product locations;
- expected behavior;
- observed behavior;
- screenshots or recordings;
- console errors;
- failed requests;
- relevant response details;
- timing evidence;
- environment;
- role;
- version;
- test data;
- passes;
- failures;
- blocked paths;
- exclusions;
- uncertainty.
Capture technical evidence only when relevant and safe.
6. Recheck important findings
Repeat failures when safe to rule out:
- transient state;
- tester error.
Use a nearby control path when it helps isolate the condition.
Do not claim root cause from browser symptoms alone.
Classify findings as:
- confirmed regression/failure;
- unexpected behavior with unclear requirement;
- usability observation;
- blocked path;
- untested path;
- pass within stated scope.
7. Deliver the audit
Produce a concise audit record containing:
- scope;
- environment;
- tested flow;
- evidence;
- passes;
- regressions;
- blocked paths;
- exclusions;
- cleanup state;
- remaining uncertainty.
Lead with findings that could change a release or product decision.
8. Route confirmed bugs appropriately
When a finding should become a formal issue, use the bug-research workflow with the audit evidence.
Do not file an issue merely because something appears surprising.
First establish:
- expected behavior;
- impact;
- duplicate status.
9. Respect permissions and preserve the method
Follow active scoped permission for every:
- account;
- environment;
- action.
Stop when:
- identity changes;
- environment changes;
- scope changes;
- impact changes;
- sensitive-data handling changes.
Verify completed external actions and cleanup.
After the team accepts the:
- flow;
- evidence bar;
- environment;
- report format;
preserve the method for future audits.
Recurring audits still require:
- safe test state;
- ownership;
- destination;
- stop conditions.
Produce a reviewable QA record showing:
- what was tested;
- what passed;
- what failed;
- evidence;
- environment;
- limitations;
- uncertainty.
The audit should help the team make product or release decisions without overstating root cause or creating unverified bug reports.