Catch payment faults
Catch every critical seeded fault
Reviewed fault scenarios and independent balance assertions
Our Banking Client / A illustrative banking scenario story / Edition v1.24.0
In this QE testing scenario, a customer sends CAD 100, sees a timeout and tries again. Across five squads, 75 offshore QA staff need to prove that the money moves once while much testing remains manual and vendor test environments are scarce. Follow the release and the work behind it.
Our Banking Client is an illustrative digital payments scenario. Staffing, systems, hours and targets are planning inputs, not verified client results or industry benchmarks.
Manual QE dominates: 75 offshore QA staff across five squads, including 45 manual and domain testers. Test environments are limited, backend services are not virtualized, and testing waits for the vendor’s available test environments and booked slots. Teams also contend for shared test data and resets.
Some Java API, Selenium and Appium scripts and partial CI exist, but much execution, rerun coordination and release evidence remain manual. More QE engineers alone do not create additional test-environment capacity. The pilot must address environment access, dependency control and repeatable execution alongside AI assistance.
Five squads cover payments, web, mobile, onboarding and settlement. An eight-person QA pilot team comes from this existing population: one lead, four domain testers, two automation engineers and one data/environment engineer. Product, development and platform support contribute separately.
01 / QE testing scenario
PAY-142 is an illustrative QE testing scenario, not a reported client incident. Simulate a timeout after the provider accepts a transfer, then retry. Inject a duplicate-posting defect to check that tests reject two debits and require one transfer ID, one balanced journal and correct balances.
QE test scenario · ready
The injected test defect creates two journals. QA expects one. Start the story or step through it at your own pace.
Two journals produce payer CAD 800.00 and recipient CAD 200.00. Expected: one journal, CAD 900.00 and CAD 100.00.
QE testing scenario with an injected defect, not an observed client failure. No live payment service, test runner or customer data is used. Each journal has two balancing entries. No fees, FX or unrelated activity. The arrows show sequence, not traffic volume.
One release / Nine connected steps
Follow PAY-142 through approved intent, test design, developer unit tests, executable API/UI tests, fixtures, execution, investigation, repair and release evidence. Each step names the AI output and the person who checks it. This is a proposed walkthrough, not a claim that a bank has already deployed it.
Overview · follow the numbered steps.
Gold = current focus. Arrows show a proposed handoff, not live activity.
Three responsibilities: AI drafts and recommends. Existing automation provisions environments and executes tests. People approve behavior, changes and release decisions. Unit testing is developer work alongside the QA workflow; it adds no hours to the existing eight-stage effort model.
AC-142: retry must preserve the transfer ID and create no second posting.CASE-142-R: timeout after acceptance; retry same key; expect one transfer.JUnit: create twice with the same key; verify one repository insertion.PR-142: API assertions for transfer ID, journal count and balances; UI pending/retry state.FIX-142: payer 100000, recipient 0 minor units; STUB-142: accept then timeout.RUN-142: immutable build, test, fixture and stub versions; raw assertion results.DEF-142: expected 1 journal; observed 2 in the injected-defect example.RERUN-143: corrected build passes; deliberately faulty variant must still fail.PACK-142: retain the failed run, repaired run, review and remaining release gates.Technology mechanisms: Copilot test drafting, service virtualization, and CI test-result publishing. These sources support the mechanisms, not the illustrative client outcomes.
Every reference below belongs to the same authored PAY-142 example. The duplicate-posting defect is deliberately injected to challenge the test. Original failures remain linked after a repair; actual integration evidence is still required.
Overview · follow the numbered steps.
Gold = current focus. Arrows show a proposed handoff, not live activity.
Outcome checks: critical-scenario coverage, first-pass usable candidates, injected-fault detection, environment waiting, feedback time and evidence completeness. Compare manual to modernized QE first; then measure the additional effect of AI on equivalent packs, including review and rework.
The leadership adoption roadmap
Start with a person using Copilot, connect one repeatable workflow, delegate bounded tasks where justified, and scale proven services across squads. Select a layer to inspect its payment example and prerequisites.
02 / Build once, reuse across squads
Overview: proposed work handoffs.
Gold indicates the current handoff. All other arrows remain visible.
This is the target to build and prove; backend service virtualization and isolated runs are not available in the scenario baseline. Context adapters bring approved stories, test examples and relevant defects into the AI workbench. Reviewers approve artifacts before existing pipelines execute them. The platform team owns the shared integration and fixtures; each application team owns its expected behavior.
Architecture change
Start with manual QE, limited shared environments and non-virtualized backend services. Vendor test-environment availability caps parallel testing, while shared data resets delay reruns. The pilot target adds repeatable execution, validated virtual services and retained evidence. Real-provider validation still needs vendor slots. This comparison describes a scenario baseline and proposed target, not verified client infrastructure.
Manual QE team → manual API/UI runs → few shared environments and test accounts. Backend services are not virtualized. Vendor test environments limit parallel runs; logs and screenshots are collected manually.
AI draft + human review → pinned CI runner → isolated payment service and PostgreSQL. Versioned WireMock models reproduce faults; raw assertions and run IDs are retained.
Quality, reliability and adoption
Use three primary measures to judge whether the pilot earns trust. Inspect the definitions below for supporting proof, owners and limits.
Catch every critical seeded fault
Reviewed fault scenarios and independent balance assertions
Exercise every critical scenario
AI drafts edge cases; domain QA approves the scenario matrix
Complete every decision record
CI captures evidence; AI drafts a source-linked summary
Baseline: Not recorded · Observed after: Not recorded · Targets proposed for pilot agreement.
Business outcomes to validate: fewer customer-impacting payment defects, fewer emergency fixes and more predictable releases. Track these across comparable releases; the pilot measures alone do not establish those effects.
Proposed acceptance: Catch every critical seeded fault.
Measure: Correctly detected viable critical payment faults / all approved viable critical faults in the seeded catalogue. Unexecuted faults remain in the denominator; report separately.
Evidence: Versioned fault catalogue, clean-build control run, injected-build results, transfer and journal assertions; show caught / eligible counts.
Owner: Domain QA lead + payment service owner · Contribution: Shared contribution
Keep the measure honest: The clean control must pass and the injected fault must fail the intended assertion. Approve and log invalid or equivalent fault exclusions; infrastructure errors are not detections.
Proposed acceptance: Exercise every critical scenario.
Measure: Approved critical scenarios with reviewed assertions and a valid execution result / all approved critical scenarios in the frozen pilot matrix. Skipped or blocked scenarios are incomplete.
Evidence: Requirement-to-scenario matrix and execution IDs for retry, concurrency, changed payload, delayed callback and reconciliation cases; publish covered / approved counts.
Owner: Product owner + domain QA lead · Contribution: Shared contribution
Keep the measure honest: Coverage means exercised behavior, not a green result. Report failures separately; do not remove difficult scenarios or accept AI-generated assertions without domain review.
Proposed acceptance: Complete every decision record.
Measure: Pilot release-candidate decision packs containing every required, resolvable evidence field / all pilot release candidates submitted for a decision. Missing packs remain in the denominator.
Evidence: Schema-validated packs linking requirements, source commit, environment and fixture versions, raw results, exceptions, reviewer and decision; show complete / submitted counts.
Owner: Release owner + QE lead · Contribution: Shared contribution
Keep the measure honest: A complete pack may recommend rejection. AI summaries must agree with retained raw results; completeness never overrides a failed mandatory gate or human release authority.
Proposed acceptance: No unexplained critical flakes.
Measure: Test cases with mixed pass/fail results / all cases completing the agreed unchanged-configuration repeat protocol. Publish incomplete cases / all selected cases separately.
Evidence: Pre-agreed repeat count, first-attempt and retry outcomes, build/data/stub versions, error classification, and mixed-result / completed plus incomplete / selected counts.
Owner: Automation lead + platform engineer · Contribution: QE foundation
Keep the measure honest: A retry pass does not erase the first failure. Investigate critical flakes; expose blocked or incomplete runs and keep mandatory coverage unchanged.
Proposed acceptance: Verify agreed provider behaviors.
Measure: Approved provider behaviors verified against the real provider sandbox / all provider behaviors assigned to the agreed integration check. Report stub outcomes separately.
Evidence: Contract version, provider-sandbox run IDs and captured behavior, stub-to-provider mismatch log, unresolved exclusions, and verified / agreed behavior counts.
Owner: Integration lead + provider relationship owner · Contribution: QE foundation
Keep the measure honest: Passing stubs proves only the simulated scenario. Sandbox checks do not establish production resilience; document inaccessible behaviors and retain separate end-to-end acceptance.
Proposed acceptance: Second squad runs independently.
Measure: Journeys independently configured, run and evidenced by the second squad / all journeys assigned to its agreed reuse trial. Record pilot-author interventions separately.
Evidence: Second-squad commits and CI runs, template versions, completed handoff checklist, support log and independently completed / assigned journey counts.
Owner: QE platform owner + second-squad lead · Contribution: Shared contribution
Keep the measure honest: Agree what independent means before the trial. Hidden pilot-author fixes or omitted mandatory checks cannot count as successful reuse; assign ongoing support ownership.
Measure the existing workflow, the improved QE foundation, and AI assistance on that foundation. Hold scenario scope and acceptance criteria constant, record configuration changes, and retain human review effort. Seeded-fault detection is a pilot test of test effectiveness; it does not establish a reduction in production defect escapes.
Baseline and observed after results are not recorded. Agree the scope, denominators and targets before the pilot. These are proposed acceptance criteria for Our Banking Client, not measured client improvements or industry benchmarks. Report QE modernization and AI contributions separately.
Measurement basis: PIT: Basic concepts · Playwright: Retries. Definitions and acceptance criteria above are authored for the pilot.
Present the executive outcomes → · Inspect the technical measures →
03 / Break down the work
Overview · follow the numbered steps.
Gold = current focus. Arrows show a proposed handoff, not live activity.
Record three observations of the same eight-stage QA scope. All inputs start unknown. Include every attempt, failure, review and correction. Developer unit work is outside this denominator. The recording explains the comparison method; it does not read your entries.
Modernization: Not yet estimable
Incremental AI: Not yet estimable
Enter the observation and its evidence to compare.
Enter the observation and its evidence to compare.
Enter the observation and its evidence to compare.
Recurring hours per completed comparable pack include work, review, correction and operation. Setup is retained separately and is not silently amortized. Every comparison matches scope, acceptance criteria and application build. The AI comparison also requires the same application build, environment, fixtures and provider version as the modernized control. Entered data is unverified; these are effort differences, not cash savings or proof of better quality.
Entries stay in this page until downloaded; reloading clears them. Use non-confidential references.
Choose a stage to inspect the manual work, AI assistance and a concrete sample artifact. Samples are authored illustrations, not a live payment integration.
“What happens when the provider accepts the payment but the customer sees a timeout?”
Requirement: retry an accepted payment after a timeout.
Key: same request key + same amount → same transfer ID.
Expected: one journal; payer 90000, recipient 10000 minor units.
Open question: key-retention period requires product agreement.Product owner + domain QA checks: Expected financial behavior is agreed independently of the generated test. Open questions remain visible.
Handoff: Approved rule-r3 → domain QA; unresolved rules return to the product owner.
“Two concurrent requests with one key must create one transfer and one balanced journal.”
C1 Timeout → same-key retry → one transfer
C2 Concurrent same-key calls → one transfer
C3 Same key, different amount → reject conflict
C4 Repeated provider callback → one postingDomain QA lead checks: The matrix includes independent outcomes, concurrency and changed-payload behavior.
Handoff: Reviewed scenarios-r2 → automation and fixture owners.
“Payer starts at CAD 1,000.00; recipient at CAD 0.00. Transfer CAD 100.00.”
run_id: sample-142
currency: CAD
payer_start: 100000 minor units
recipient_start: 0 minor units
amount: 10000 minor units
reset: isolated accounts recreated per runTest-data engineer checks: Balances and account relationships are valid; separate runs do not share mutable fixtures.
Handoff: fixtures-r4 + account IDs → the environment preflight.
“The stub accepts a transfer, delays its response and later returns a callback.”
app_build: payment-example-a1
fixture_rev: fixtures-r4
provider_model: accepted-then-timeout-r2
readiness: app + database health checks required
retention: evidence stored outside disposable resources
cleanup_owner: platform on-callPlatform engineer + QA checks: The provider substitute reproduces the intended failure. The real provider and settlement still need separate checks.
Handoff: Pinned manifest + usable environment → CI runner.
“Assert the transfer ID, journal count and balances, not only HTTP 200 or a success toast.”
AI candidate r1: assert response.status == 200
Reviewer: insufficient; this can miss a duplicate posting.
Revision r2: assert same transfer ID on retry
assert journal count == 1
assert balances == 90000 / 10000
Challenge: deliberate duplicate-posting variant MUST FAILAutomation engineer checks: A candidate cannot weaken required assertions or skip the deliberate-defect check. This is sample pseudocode.
Handoff: Reviewed commit → CI; rejected candidates return to the author.
“Execute retry tests at the API layer, then check the customer-facing status in the browser.”
Candidate: review-r2
Correct behavior fixture: required assertions PASS
Deliberate duplicate variant: journal count 2 → FAIL (expected)
Candidate disposition: challenge detects the known defect
Required suite: other cases must still complete
Evidence: manifest + assertions + logsApplication QA team checks: These are illustrative receipts, not executed results. Detecting the injected defect does not establish complete coverage.
Handoff: Original receipt + artifact links → QA triage and reviewer.
“A correct UI toast with two ledger journals is a product defect; changing the assertion is unacceptable.”
AI draft: duplicate journal observed after retry.
Evidence: sample-run-142 / assertion journal_count=2
Uncertainty: root cause not established by this assertion.
Human disposition: developer investigates transaction handling.
Retest: new build + fresh run; old failure stays retained.QA lead + developer checks: The diagnosis is traceable and uncertainty is preserved. A suggested fix does not close the defect.
Handoff: Named developer + reproducible failure → fix, fresh retest and domain review.
“PAY-142 → reviewed test → build → fixture → run → defect disposition → sign-off.”
Requirement: rule-r3
Scenarios: scenarios-r2 / all required cases accounted for
Test + fixture + build: linked in run manifest
Defects: dispositions + fresh retest links required
Provider / settlement: separate evidence required
Decision: HOLD while required evidence is missingRelease owner + QA lead checks: The release owner resolves required checks and exceptions. An AI summary cannot override a missing result.
Handoff: Reviewed evidence + explicit decision → accountable release owner.
Before the pilot
The target requires a repeatable test environment, usable pipelines, controlled provider behavior, isolated data, approved AI access and reviewers with time to act. The manual baseline has limited environments and no backend service virtualization; these target capabilities must be established, not treated as already available. Each missing dependency needs a named owner, an evidence check and funded work before the affected AI workflow can proceed.
04 / Test the proposal against reality
The profiles below illustrate effort; they do not approve adoption. Validate the workflow prerequisites separately. Select an illustrative delivery profile. The model updates all eight stages and shows whether usable capacity covers setup effort.
Pilot payment APIs and one web journey. Add synthetic fixtures, provider stubs and evidence links alongside AI assistance.
Next evidence gate: Two comparable assisted release packs, stable mandatory tests and measured review effort.
| Stage | Baseline | Assisted work | Review | Assisted total |
|---|---|---|---|---|
| Requirements | 20 | 12 | 4 | 16 |
| Test design | 40 | 20 | 8 | 28 |
| Test data | 30 | 20 | 4 | 24 |
| Environment | 25 | 20 | 2 | 22 |
| Automation | 55 | 30 | 10 | 40 |
| Execution | 80 | 52 | 4 | 56 |
| Triage & retest | 35 | 20 | 6 | 26 |
| Release evidence | 15 | 8 | 2 | 10 |
| Total hours | 300 | 182 | 40 | 222 |
78h gross capacity − 12h platform operation = 66h net capacity. Redeploying 50% yields 33h. Recovering 480h of setup requires 15 comparable packs, rounded up.
Adoption prerequisites are unverified. All hours are conditional assumptions. Assisted work and review are separate, non-overlapping buckets. The baseline includes its ordinary review and rework. Setup includes integration, coaching and supporting staff time. Additional tool, cloud and vendor charges are excluded. This is capacity arithmetic, not financial ROI or an isolated AI productivity estimate. The release pack uses a 10-business-day planning window; no shorter release cycle is claimed.
05 / Turn the discussion into deliverable work
A framework for collecting actual API pilot timings. The windows below are illustrative planning inputs, not observed client durations.
Observation status: not yet recorded
Record API test preparation, active effort, waits and rework for one comparable pack.
Evidence gate: Reviewed API scope + usable baselineRecord setup separately; measure review, execution, triage and retest over repeated packs.
Evidence gate: Required assertions pass + comparable run evidenceMeasure second-team setup, support effort and repeat runs before choosing the next scope.
Evidence gate: Reusable pattern + evidence-based next stepReadiness controls the pace: environment, data, virtualization, CI and reviewer gaps can extend a phase. Advance on evidence, not the calendar.
06 / Present the story
The Executive deck focuses on strategic vision and shared investment. The technical deck walks through API contracts, timeout and retry sequencing, code-level assertions, CI configuration and evidence schemas.
Follow up by walking one recent release with the QA lead, an application developer and a platform owner. Bring the failing test, its data, the environment booking history and the reset and rerun handoffs.
Primary documentation reviewed 7 September 2026. Sources support the technology mechanisms and the importance of delivery foundations. They do not validate Our Banking Client's scenario staffing, hours, payment rules or outcomes.
AI adoption depends on the surrounding delivery system. This informs the readiness profiles; it supplies no savings rate for this case.
Manual and automated testing, traceability and reporting. The case's AI context connectors are proposed integration work.
Planner, generator and healer examples inform the browser workflow. Review and rejection of skipped or weakened tests are proposed pilot requirements.
Inspect recorded actions, snapshots and network evidence when diagnosing browser failures.
Simulate payment-provider behavior for controlled dependency tests. Stub fidelity still needs integration validation.
An example Java API testing framework that fits the team’s existing Java skills in this scenario.
Disposable container dependencies for service tests; requires a compatible container runtime. It does not provision the entire fintech estate.
An example automation stack for existing mobile tests. Device availability and app observability still affect delivery.
Supports examples of generating and reviewing unit and integration tests. It does not establish client productivity or test completeness.
Supports publishing JUnit and other result formats and attachments. The AI diagnosis adapter and workflow described here are proposed additions.
Supports the GitHub-hosted agent example and its customization. It does not establish a ready-made integration with the client's Azure stack.
Describes agent capabilities and limitations, including the need to review and test generated changes. Our adoption gates are an authored QE proposal.
Supports mutation testing as a check that tests detect introduced faults and distinguishes detected, surviving, equivalent and invalid mutations. The payment fault catalogue and pilot acceptance criteria are authored proposals, not PIT benchmark results.
Defines passed, flaky and failed retry outcomes and supports preserving first-attempt results. The unchanged-configuration repeat protocol and target are authored pilot measures, not a Playwright industry benchmark.
Broader industry research · Dictionary · Implementation notes
| Engagement phase | Planning duration | What it covers |
|---|---|---|
| Sponsor alignment | 2 weeks | Scope, outcome charter, funding and authority |
| Baseline and readiness | 4–6 weeks | Includes measurement and foundation discovery |
| Capped pilot | 8–10 weeks | Includes setup and repeated execution; agree the exact window before starting |
| Limited validation | 1–2 quarters | Repeat the result across releases and teams before scale |
Measurement protocol: 3 baseline weeks and 8 pilot weeks including setup, within the phases above. One extension may last up to 4 weeks. Freeze the actual window before assignment.
API teaching example: weeks 1–2: observe the baseline; weeks 3–8: run the api pilot; weeks 9–12: confirm repeatability. These windows are a separate planning example, not the approved measurement protocol or an observed client duration.
Readiness can extend the plan. A narrow assisted workflow can begin sooner when its own prerequisites are met; an unresolved environment or provider dependency blocks broader execution.