Section 6 Form Testing

6.1 Testing

A form should be tested before it goes live, and re-tested whenever it changes. Testing is not a single check but a set of passes, each looking for a different kind of problem. The goal is to catch issues before your users do.

6.1.1 Functional testing

Functional testing confirms the form does what it should. Submit it with valid data and check that the submission is recorded and routed correctly. Submit it with invalid or missing data and confirm that validation triggers, the right fields are flagged, and nothing broken slips through. Test any conditional logic by triggering each branch, so fields that should appear, appear, and fields that should stay hidden, stay hidden. Confirm that notifications and confirmation messages fire as intended.

6.1.2 Accessibility testing

Accessibility testing confirms the form works for everyone. Navigate the entire form using only the keyboard, with no mouse, and check that every field, button, and control can be reached and used, and that the tab order is logical. Test with a screen reader to confirm that labels, instructions, and error messages are announced clearly. Check color contrast, and confirm that no information is conveyed by color alone. Automated tools can flag many issues quickly, but pair them with manual checks, since roughly a third of accessibility problems are caught by automated scanning and the rest need human judgment.

6.1.3 Usability testing

Usability testing confirms the form makes sense to real people. Where possible, watch someone unfamiliar with the form complete it, without coaching, and note where they hesitate, backtrack, or misunderstand a question. The points where people get stuck are your list of things to fix. Even one or two test users will surface problems the form’s authors are too close to see.

6.1.4 Cross-device and cross-browser testing

Cross-device and cross-browser testing confirms the form holds up everywhere. Check it on desktop and mobile, and in more than one browser. Confirm that fields, buttons, and layout remain usable at different screen sizes, that the correct on-screen keyboard appears for each input type on mobile, and that touch targets are large enough to tap comfortably.

6.1.5 Data testing

Data testing confirms that what goes in comes out correctly. Submit test entries and verify that the data arrives complete, correctly labelled, and in the expected format wherever it lands, whether that is an inbox, a spreadsheet, or a database. Confirm that required fields cannot be bypassed and that submitted information is preserved if an error occurs, so users never lose what they have entered.

Test early, test after every change, and test as your users will actually use the form, not only the way you expect them to.