QA checklist
Form testing checklist: 24 cases from field to follow-up
Test the published form and its downstream workflow with a 24-case release matrix, controlled failure injection and an auditable pass record.
A form is not tested when its success message appears. A complete release test proves the field rules, conditional paths, server acceptance, stored submission, contact update, consent evidence, routing, notifications, sequence behavior and failure recovery. Use synthetic records, inspect the systems of record and retain evidence for every critical case.
A 24-case end-to-end release matrix, eight-field release record, controlled failure-injection procedure, worked qualification example and auditable pass record, verified against current W3C accessibility and validation guidance and the OWASP Web Security Testing Guide on September 20, 2026.
Key findings
- A browser success state proves only that the visible interaction reached one state; the stored submission, contact mutation, routing and follow-up must be checked independently.
- Critical test cases need evidence from the system that owns the result, not a screenshot of an earlier interface step.
- Failure injection reveals false-success messages, duplicate retries and missing ownership that a happy-path submission cannot expose.
What end-to-end form testing means
End-to-end form testing follows a synthetic submission from the first field through every system that is expected to act on it. The test is complete only when the visible path, server decision, stored response, contact record, routing action, notification, follow-up state and recovery behavior match the written contract.
A form is not tested when its success message appears. Each critical claim needs evidence from the system that owns the result, plus a named owner and rollback path when it fails.
As checked September 20, 2026, the W3C Forms Tutorial covers labels, instructions, validation, notifications and multi-page progress. Its input-validation guidance also states that client-side validation can be bypassed and data therefore needs server-side validation.
Record the release before testing
Freeze the intended behavior before executing cases. Otherwise a tester can accidentally redefine the expected result to match what the system happened to do.
| Field | Record | Why it matters |
|---|---|---|
| Form version | Published form ID and revision | Connects evidence to the exact release |
| Environment | Production hostname and embed or landing-page path | Prevents a preview-only pass |
| Workflow version | Trigger, branch and action revision | Identifies the automation under test |
| Test identity pattern | Reserved synthetic email and naming convention | Keeps test records searchable and disposable |
| Expected systems | Submission store, CRM, queue and sender | Defines every place that must be inspected |
| Suppression method | Internal domain, allowlist or non-sending mode | Prevents test messages reaching real recipients |
| Owner | Person or team responsible for failures | Makes exceptions actionable |
| Rollback location | Known prior form and workflow version | Allows a failed release to be reversed |
Use synthetic, non-sensitive records. Do not reuse a real customer identity merely because it already exists in the CRM.
24-case end-to-end release matrix
| # | Test | Pass evidence | Critical failure |
|---|---|---|---|
| 1 | Every control has a visible programmatic label | Accessible-name inspection matches visible text | Unnamed or misleading control |
| 2 | Keyboard order follows the visual task | Recorded keyboard-only traversal | Focus skips, traps or reverses |
| 3 | Required and formatting instructions are text | Instructions remain available before entry | Meaning depends on placeholder or color |
| 4 | Empty required fields show specific linked errors | Error text identifies the field and problem | Generic failure or color-only state |
| 5 | Invalid values fail client and server checks | Rejected browser attempt and rejected direct request | Server accepts bypassed input |
| 6 | Error recovery preserves safe entered values | Correction succeeds without unrelated re-entry | Data is lost or stale values submit |
| 7 | Every documented branch reaches one result | Branch map and stored outcome agree | Dead end or multiple outcomes |
| 8 | Hidden fields are not still required | Hidden-path submission completes | Invisible control blocks progress |
| 9 | Exact threshold values choose the intended path | Below, equal and above boundary evidence | Off-by-one branch |
| 10 | Changing an earlier answer recalculates later state | Revised result and stored rule inputs | Old branch or score persists |
| 11 | Back and refresh behavior matches policy | State retention or reset is documented and observed | Duplicate or contradictory state |
| 12 | Small mobile viewport stays operable | No blocked control or horizontal overflow | CTA or error cannot be reached |
| 13 | Successful response receives a unique submission ID | Server record with unique immutable key | Missing or reused identifier |
| 14 | Duplicate click does not create an unintended duplicate | One accepted event or documented idempotent result | Duplicate contact, task or message |
| 15 | Stored response matches normalized field dictionary | Field-by-field system-of-record comparison | Display label stored as unstable data |
| 16 | Blank repeat answers follow the overwrite rule | Prior value preserved or cleared as specified | Silent accidental erasure |
| 17 | Consent evidence is retained where required | Notice version, choice and time are queryable | Consent inferred without evidence |
| 18 | Attribution preserves the event without secrets | Allowed fields and provenance match the request | Secret, raw query or stale source copied |
| 19 | New identity creates the intended contact | One contact linked to the submission | No contact or wrong identity |
| 20 | Repeat identity updates correctly and preserves history | Expected contact mutation plus prior event | Duplicate or overwritten history |
| 21 | Segment and score match documented rules | Rule inputs, version and membership agree | Unexplained classification |
| 22 | Owner or queue and reason code are visible | Assigned destination and fallback are queryable | Unowned lead or hidden reason |
| 23 | Notification and sequence use correct fields and links | Rendered message and delivery event | Wrong personalization or broken destination |
| 24 | Reply, booking, opt-out, ineligibility and integration failure stop or recover as specified | Exit event, suppression or fallback evidence | Message continues after stop condition |
The WCAG 2.2 error-identification guidance requires automatically detected input errors to identify the item and describe the error in text. A red border by itself is not sufficient evidence for case 4.
Failure-injection run
Point a test integration at a controlled invalid destination, revoke only a test credential or temporarily disable a non-customer test action. Submit one synthetic record and observe the entire path.
- Protect production.Use a test destination and prevent the failure from affecting real respondents or data.
- Observe the respondent state.Do not show a false business-success promise when the failed step is essential to fulfillment.
- Inspect the retained event.The submission ID, failed action, time, error class and attempt count should remain queryable.
- Check retry safety.A retry must not create a second contact, assignment, payment or message.
- Verify ownership.The named fallback owner receives an actionable alert with enough context to recover.
The OWASP Web Security Testing Guide is a broader security-testing framework. This controlled operational failure is useful release evidence, but it does not replace the authentication, authorization, session, input-validation and business-logic testing appropriate to the application.
Worked qualification-form test
Suppose a consultation form classifies a lead as high intent when company size is at least 50 and timing is within 30 days. The high-intent branch should create or update one contact, apply the named segment, assign the specialist queue, send an internal notification and start a four-message sequence.
| Input | Expected path | Evidence to retain |
|---|---|---|
| 49 employees; within 30 days | Standard nurture | Stored inputs, rule version and standard segment |
| 50 employees; within 30 days | High-intent path | Boundary result, queue reason and sequence enrollment |
| 50 employees; timing blank | Safe fallback or explicit validation error | No silent high-intent classification |
| Repeat identity with changed timing | Documented update and reevaluation | Prior submission plus current contact state |
| Duplicate submit click | One accepted workflow event | Single submission or idempotency evidence |
| CRM destination disabled | Recoverable failure path | Error event, no duplicate retry and owner alert |
A visible high-intent result page is only the first checkpoint. The release fails if the stored inputs, contact segment, queue assignment or sequence state contradict that result.
Release evidence record
For every case, retain the case ID, expected result, observed result, evidence location, tester, execution time, disposition and—when it did not pass—the owner and review date. Evidence may be a response record, contact timeline, workflow event, delivery event, accessibility inspection or sanitized request log.
A release passes only when every critical case succeeds or has a documented accepted risk with a named owner, reason, expiry or review date, and safe fallback.
Repeat the affected cases after changing a field, branch, calculation, consent notice, domain, embed, integration mapping, identity rule, workflow or sending configuration. Re-run the complete matrix when the change can affect several downstream stages.
Evidence and limitations
A 24-case end-to-end release matrix, eight-field release record, controlled failure-injection procedure, worked qualification example and auditable pass record, verified against current W3C accessibility and validation guidance and the OWASP Web Security Testing Guide on September 20, 2026.
- This checklist does not replace a security assessment, jurisdiction-specific privacy review, deliverability monitoring or product-specific load testing.
- Not every platform exposes delivery events, retry state or immutable workflow history; document unavailable evidence and the resulting accepted risk.
- Plan limits, integration behavior, identity matching and automation events can change. Repeat the matrix after any material form, domain, consent, integration or workflow change.
Sources and verification
Current product and plan claims use the primary sources below. Internal methodology links describe the publication's own frameworks and should not be read as vendor documentation.
- W3C WAI, Forms Tutorial
- W3C WAI, Validating Input
- W3C, Understanding Error Identification
- OWASP, Web Security Testing Guide
- Conditional-logic proof test
- Form lead-routing contract
- Lead follow-up sequence template
- The Form Review testing methodology
Last materially verified .