docs: add testing procedures and scenario catalog
This commit is contained in:
145
11 - Testing/Testing Expansion Backlog.md
Normal file
145
11 - Testing/Testing Expansion Backlog.md
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
title: Testing Expansion Backlog
|
||||
tags: [testing, backlog, qa, release]
|
||||
created: 2026-06-06
|
||||
---
|
||||
|
||||
# Testing Expansion Backlog
|
||||
|
||||
This is the testing backlog to complete before expanding the escrow test suite
|
||||
or claiming release confidence.
|
||||
|
||||
## P0 - Product Policy Gaps
|
||||
|
||||
### Physical product grace period
|
||||
|
||||
Need implementation and tests for:
|
||||
|
||||
- seller marks delivery;
|
||||
- buyer receives delivery window;
|
||||
- grace period starts;
|
||||
- buyer can confirm delivery before expiry;
|
||||
- buyer can dispute before expiry;
|
||||
- funds release only after buyer confirmation, no dispute, or grace expiry.
|
||||
|
||||
Acceptance tests:
|
||||
|
||||
| ID | Expected |
|
||||
|---|---|
|
||||
| RELEASE-PHYS-001 | Physical delivery starts hold/grace timer. |
|
||||
| RELEASE-PHYS-002 | Buyer confirmation before expiry makes funds releasable. |
|
||||
| RELEASE-PHYS-003 | Dispute before expiry blocks release. |
|
||||
| RELEASE-PHYS-004 | Grace expiry without dispute makes funds releasable. |
|
||||
|
||||
### Immediate release for gift cards/digital goods
|
||||
|
||||
Need implementation and tests for:
|
||||
|
||||
- product type is gift card or digital;
|
||||
- seller proof is required immediately;
|
||||
- buyer acceptance or product policy triggers immediate/near-immediate release;
|
||||
- dispute path can still stop release if policy includes a short challenge window.
|
||||
|
||||
Acceptance tests:
|
||||
|
||||
| ID | Expected |
|
||||
|---|---|
|
||||
| RELEASE-DIGI-001 | Gift card delivery does not use physical-product grace period. |
|
||||
| RELEASE-DIGI-002 | Gift card proof advances to releasable immediately after buyer acceptance. |
|
||||
| RELEASE-DIGI-003 | Wrong/missing proof blocks release. |
|
||||
|
||||
## P0 - Dispute Coverage
|
||||
|
||||
The dispute mechanism is not complete enough for end-to-end fund movement.
|
||||
|
||||
Tests needed:
|
||||
|
||||
| ID | Scenario | Expected |
|
||||
|---|---|---|
|
||||
| DISPUTE-001 | Buyer opens dispute after seller delivery, before release | payment/request enters dispute hold |
|
||||
| DISPUTE-002 | Seller cannot force release while dispute is open | release attempt rejected |
|
||||
| DISPUTE-003 | Admin resolves for seller | release becomes available |
|
||||
| DISPUTE-004 | Admin resolves for buyer | refund becomes available |
|
||||
| DISPUTE-005 | Duplicate dispute resolution | idempotent or rejected safely |
|
||||
| DISPUTE-006 | Dashboard dispute route vs release-hold route | no route shadowing ambiguity |
|
||||
|
||||
## P0 - Payment Negative Tests
|
||||
|
||||
Automate:
|
||||
|
||||
- wrong token;
|
||||
- wrong chain;
|
||||
- wrong destination;
|
||||
- underpayment;
|
||||
- duplicate payment;
|
||||
- late payment after cancelled/expired intent;
|
||||
- payment with no gas;
|
||||
- scanner unavailable during payment;
|
||||
- scanner webhook signature invalid;
|
||||
- balance check baseline missing or stale.
|
||||
|
||||
## P0 - Authorization and ID Boundaries
|
||||
|
||||
Add regression tests for cross-store id comparisons:
|
||||
|
||||
| Route/action | Required test |
|
||||
|---|---|
|
||||
| buyer delivery confirmation | buyer can confirm even when session id and request buyer id use different stores |
|
||||
| buyer delivery confirmation | non-buyer cannot confirm |
|
||||
| seller delivery update | only selected seller/admin can deliver |
|
||||
| offer acceptance | only buyer/admin can accept |
|
||||
| payment check | only buyer/admin/system can advance payment where applicable |
|
||||
|
||||
## P1 - UI/Browser E2E
|
||||
|
||||
Add Playwright tests for:
|
||||
|
||||
- checkout renders BSC Testnet chain label;
|
||||
- token contract row shows canonical tUSDT;
|
||||
- testnet explorer links are generated correctly;
|
||||
- wrong wallet chain shows switch button;
|
||||
- insufficient balance warning appears;
|
||||
- payment submitted screen waits for scanner confirmation;
|
||||
- paid socket/poll fallback transitions to success.
|
||||
|
||||
## P1 - CI and Deployment
|
||||
|
||||
Add a deployment smoke checklist artifact after every pipeline:
|
||||
|
||||
- backend version endpoint;
|
||||
- frontend root 200;
|
||||
- scanner `/health`;
|
||||
- chain 97 token balance check;
|
||||
- current Docker image digests;
|
||||
- last commit SHA per service.
|
||||
|
||||
## P1 - Test Data Lifecycle
|
||||
|
||||
Need cleanup strategy:
|
||||
|
||||
- flag generated users with run id;
|
||||
- archive or tag generated purchase requests;
|
||||
- prevent test data from polluting analytics;
|
||||
- define whether test tx/payment rows are permanent audit evidence or can be purged.
|
||||
|
||||
## P2 - Observability
|
||||
|
||||
Add dashboards/log queries for:
|
||||
|
||||
- scanner intent lifecycle;
|
||||
- balance-check deltas;
|
||||
- payment state transitions;
|
||||
- delivery status changes;
|
||||
- dispute holds;
|
||||
- release/refund attempts.
|
||||
|
||||
## Suggested Next Automation Order
|
||||
|
||||
1. Convert the two-round BSC Testnet E2E procedure into a committed smoke script.
|
||||
2. Add non-buyer delivery confirmation regression test.
|
||||
3. Add scanner negative tests for wrong token and underpayment.
|
||||
4. Implement physical vs digital release policy.
|
||||
5. Add release-policy tests.
|
||||
6. Resolve dispute route/policy gaps.
|
||||
7. Add dispute-to-release/refund E2E tests.
|
||||
|
||||
Reference in New Issue
Block a user