~/qa-guides/form-testing-checklist
>_ Form Testing Checklist
A practical form testing checklist for checking required fields, validation, errors, submit behavior, success states, data saving, email notifications, CRM integration, spam protection, mobile usability, and analytics.
Short answer
A Form Testing Checklist is a list of checks for web forms that helps make sure users can fill out a form, fix mistakes, submit data, and receive a clear result.
Forms are everywhere: contact forms, lead forms, signup forms, login forms, checkout forms, payment forms, search forms, newsletter forms, SaaS onboarding forms, support forms, booking forms, feedback forms, and admin forms.
A good form testing checklist does not only check whether the "Submit" button can be clicked. It checks required fields, optional fields, validation, error messages, success state, data saving, email delivery, CRM integration, spam protection, duplicate submit, mobile usability, accessibility, analytics, and production behavior.
The main idea is: form testing should check the full form journey end-to-end - from the first click into a field to data being saved, notifications being sent, and the user seeing a clear result.
This guide can also be used as a web form testing checklist, contact form testing checklist, lead form QA checklist, signup form testing checklist, and form validation testing checklist for websites, SaaS products, e-commerce flows, and internal tools.
When to use a Form Testing Checklist
Use this checklist whenever your product has a form or any part of a form flow changes.
For example:
- a new landing page is launching;
- a contact form is added;
- a lead generation form is added;
- signup form changes;
- login or password reset form changes;
- checkout form is launched;
- shipping or billing form changes;
- booking form is added;
- support request form changes;
- newsletter subscription form changes;
- feedback form is added;
- admin form changes;
- validation logic changes;
- required fields change;
- CRM data submission changes;
- email notifications change;
- spam protection is added;
- mobile form layout changes;
- there was a production bug related to a form.
For a small form, you can use a short smoke checklist. For checkout, signup, lead forms, payment-related forms, or business-critical forms, it is better to go through the full form testing checklist.
Quick Form Testing Checklist
If you need a minimal form smoke test, check that:
- the form opens;
- all fields are displayed;
- required fields are actually required;
- optional fields can be left empty;
- valid data can be submitted;
- invalid data shows a clear error;
- error message appears next to the correct field;
- entered data is not lost after an error;
- submit button works;
- double click does not create a duplicate submit;
- success state is displayed;
- data is saved in the right place;
- email notification is sent, if needed;
- data reaches the CRM, admin panel, or database, if expected;
- spam protection does not block a normal user;
- the form works on mobile;
- analytics event is sent, if tracking is important;
- there are no critical console errors or failed API requests.
This is not full form QA. It is a minimal check that helps quickly confirm whether the form works at a basic level.
Form Testing Checklist
1. Define the goal of the form
Before testing a form, it is important to understand why the form exists and what result the user or team should get.
Check that:
- the form being tested is clear;
- the user task is clear;
- the expected business result is clear;
- the destination for form data is known;
- the person or team receiving the form result is known;
- the success state the user should see is defined;
- required fields are defined;
- optional fields are defined;
- validation rules are known;
- emails or notifications that should be sent are known;
- integrations connected to the form are known;
- what counts as a successful submit is clear;
- what counts as a failed submit is clear.
The main question for this part is: what should happen after the user successfully submits the form?
For example, for a contact form, the result is not just showing a "Thank you" message. The data should reach email, CRM, database, or admin panel, and the team should be able to process the request.
2. Define the form type
Different forms have different risks. A contact form and a checkout form should not be tested in the same way.
Define which type of form you are testing:
- contact form;
- lead generation form;
- demo request form;
- signup form;
- login form;
- password reset form;
- checkout form;
- payment-related form;
- shipping address form;
- billing address form;
- booking form;
- search form;
- newsletter form;
- support request form;
- feedback form;
- admin create / edit form;
- file upload form;
- multi-step form.
Check that:
- the form matches its type;
- fields match the user task;
- the form does not ask for unnecessary data;
- the user understands why the form exists;
- the scenario after submit matches expectations;
- the form does not mix several different goals without a reason.
For example, a lead form should usually be short and clear. An admin form can be longer, but it should validate data more precisely and respect business rules.
3. Check form display
The form should open correctly and look ready to use.
Check that:
- the form is displayed on the page;
- all required fields are visible;
- labels are displayed;
- placeholders are displayed, if used;
- required fields are marked clearly;
- helper text is displayed, if needed;
- submit button is visible;
- secondary actions are displayed, if available;
- layout is not broken;
- fields do not overlap;
- long labels do not break the layout;
- the form does not contain placeholder text like "Lorem ipsum";
- the form does not contain internal comments;
- the form does not contain test values in production.
The user should immediately understand what the form is for, what data they need to enter, and what will happen after submission.
4. Check required fields
Required fields are one of the most basic and important parts of form testing. If required fields do not work correctly, the form may save incomplete or useless data.
Check that:
- all required fields are actually required;
- the form cannot be submitted with empty required fields;
- required fields are visually marked;
- required indicator is clear to the user;
- error appears if a required field is empty;
- error message explains what needs to be done;
- user can fix the error;
- error disappears after correction;
- required fields match business requirements;
- required fields do not make the form unnecessarily heavy.
Make sure to check each required field separately. Sometimes a form blocks submit only when email is empty but allows empty name, company, or phone fields even though they are also required.
5. Check optional fields
Optional fields should be tested too. Sometimes they accidentally become required or break submission.
Check that:
- optional fields can be left empty;
- empty optional field does not block submit;
- optional field is saved if filled in;
- optional field does not save meaningless default values;
- optional field does not break validation;
- optional field is displayed correctly in CRM, admin panel, or email;
- optional field does not become required on the backend;
- optional field does not disappear unexpectedly after an error;
- optional field is clearly marked, if this matters.
If a field is optional, the user should be able to submit the form without filling it in.
6. Check text fields
Text fields often look simple, but they can easily produce bugs: too-long text, spaces, special characters, emoji, HTML, and different languages.
Check that:
- normal text is accepted;
- minimum length works;
- maximum length works;
- too-long text is rejected or trimmed according to product rules;
- spaces at the beginning and end are handled correctly;
- empty string is handled correctly;
- special characters do not break the form;
- emoji are handled if the product allows them;
- different languages and alphabets are displayed correctly;
- line breaks work in textarea;
- HTML tags are not executed as HTML;
- script tags are not executed;
- data is saved in the correct format.
For message fields, comments, support requests, and feedback forms, it is especially important to check long text and special characters.
7. Check email field
Email field is often used for registration, requests, confirmations, and follow-up. An issue here can prevent the user from receiving an important email.
Check that:
- valid email is accepted;
- invalid email is rejected;
- email without
@is rejected; - email without domain is rejected;
- email with spaces is handled correctly;
- uppercase email works;
- email with subdomain works;
- email with
+aliasworks, if supported; - too-long email is handled;
- error message is clear;
- confirmation email is sent to the correct address;
- email is saved correctly in CRM, database, or admin panel;
- duplicate email is handled according to product rules.
For signup forms, check that an already registered email shows a clear error and does not create a duplicate account.
8. Check phone field
Phone validation can be complex, especially if the product works in several countries.
Check that:
- valid phone number is accepted;
- invalid phone number is rejected;
- country code works, if available;
- phone mask works correctly;
- user can enter a number with spaces, brackets, or dashes if allowed;
- too-short number is rejected;
- too-long number is rejected;
- international numbers work, if supported;
- error message is clear;
- phone is saved in the correct format;
- phone is passed to CRM, delivery system, or admin panel, if needed.
If the product is international, do not test the phone field only with one local format.
9. Check numeric fields
Numeric fields are used for quantity, price, age, amount, limits, percentages, ratings, dimensions, and other values.
Check that:
- valid number is accepted;
- letters are rejected;
- special characters are rejected, if not allowed;
- negative value is handled according to rules;
- zero value is handled according to rules;
- decimal value works, if needed;
- integer-only field does not accept decimal;
- min value works;
- max value works;
- value above max is rejected;
- value below min is rejected;
- leading zeros are handled correctly;
- thousand separators are handled, if supported;
- rounding works, if applied;
- error message is clear.
Numeric fields are especially important when they affect price, quantity, inventory, calculations, reports, or billing.
10. Check date and time fields
Date and time fields often break because of formats, timezone, min/max date, and browser differences.
Check that:
- valid date is accepted;
- invalid date is rejected;
- required date cannot be skipped;
- past date is allowed or blocked according to rules;
- future date is allowed or blocked according to rules;
- min date works;
- max date works;
- date format is clear to the user;
- timezone is handled if important;
- date picker opens;
- date picker works on mobile;
- manual date input works, if allowed;
- time field works;
- unavailable time slot cannot be selected;
- selected date/time is saved correctly.
Date and time fields are especially important for booking forms, delivery forms, scheduling, reports, filters, and subscriptions.
11. Check dropdowns, radio buttons, and checkboxes
Selection fields should be clear and save the correct value.
Check that:
- dropdown opens;
- all options are displayed;
- default value is correct;
- placeholder option is not submitted as a valid value if this is not allowed;
- user can select an option;
- selected option is saved;
- selected option is displayed after submit or error;
- disabled option cannot be selected;
- radio buttons work;
- only one radio option can be selected if it is single choice;
- checkboxes work;
- multiple checkboxes are saved correctly;
- required checkbox works if consent is needed;
- long option labels do not break layout.
Pay special attention to consent checkboxes, shipping method, user role, country, category, plan, and status fields.
12. Check file upload fields
File upload forms require separate checks because they involve size limits, file types, permissions, and storage.
Check that:
- valid file is uploaded;
- unsupported file type is rejected;
- file that is too large is rejected;
- empty file is handled;
- file name is displayed;
- file name with special characters works safely;
- upload progress is displayed, if available;
- user can remove uploaded file before submit;
- upload error shows a clear message;
- uploaded file is saved after submit;
- uploaded file is available to the correct user;
- unauthorized user cannot open the file;
- virus scanning or moderation starts, if expected.
File upload is especially important to check in support forms, onboarding forms, application forms, admin forms, and document workflows.
13. Check form validation
Validation is the core of form testing. It should block incorrect data and help the user fix mistakes.
Check that:
- frontend validation works;
- backend validation works;
- frontend and backend validation do not conflict;
- invalid fields are highlighted;
- error messages appear next to the correct fields;
- error messages are written in clear language;
- multiple errors are displayed correctly;
- user can fix errors;
- errors disappear after correction;
- validation works on submit;
- validation works when moving between steps, if the form is multi-step;
- validation works on mobile;
- validation does not block valid data;
- validation does not allow invalid data.
Good validation does not just say "invalid input." It helps the user understand which field needs to be fixed and why.
14. Check error messages
Error messages strongly affect user experience. Even if validation technically works, poor error text can lead to a lost request or order.
Check that:
- error message appears for invalid input;
- error message is placed next to the correct field;
- error message explains the problem;
- error message suggests how to fix the issue;
- error message is not too technical;
- error message does not blame the user;
- error message does not contain raw backend error;
- error message does not contain stack trace;
- global error message appears for form-level errors;
- network error is displayed clearly;
- server error is displayed clearly;
- user can submit again after an error.
For example, "Something went wrong" is worse than "We could not submit the form. Please check your email and try again."
15. Check entered data after an error
The user should not lose all entered data because of one mistake.
Check that:
- valid fields are saved after validation error;
- invalid field remains available for correction;
- textarea content is not cleared after an error;
- selected dropdown values are preserved;
- selected checkboxes are preserved;
- uploaded files are preserved, or the user sees a clear message if they need to upload them again;
- multi-step form keeps previous steps;
- form is not reset after network error;
- form is not reset after server error, if possible;
- user does not need to fill out the entire form again without a reason.
This is especially important for long forms: application forms, booking forms, checkout forms, support forms, and onboarding forms.
16. Check submit button
Submit button is the final point of the form. It should work predictably.
Check that:
- submit button is visible;
- button text is clear;
- button is disabled if the form is incomplete and this is expected;
- button is enabled when data is valid;
- click triggers submit;
- Enter key submits the form, if expected;
- double click does not create a duplicate submit;
- button is blocked during processing;
- loading state is displayed;
- button returns to normal state after an error;
- button is not covered by sticky elements;
- button works on mobile;
- button text matches the action: Submit, Send message, Request demo, Sign up, Save, Continue.
Button text should explain the action. "Submit" can be fine, but "Request demo" or "Save changes" is often clearer.
17. Check duplicate submit and idempotency
Duplicate submit can create several requests, orders, accounts, emails, or database records.
Check that:
- double clicking submit does not create a duplicate record;
- repeated Enter does not create a duplicate record;
- refresh after submit does not resubmit the form;
- browser back and repeated submit are handled correctly;
- retry after timeout does not create a duplicate unnecessarily;
- loading state prevents repeated click;
- backend is protected from duplicate submit if the form is critical;
- user does not receive several confirmation emails without reason;
- CRM does not receive duplicate leads without reason;
- admin panel does not show duplicate requests without reason.
Duplicate protection is especially important for lead forms, checkout forms, booking forms, payment-related forms, signup forms, and support requests.
18. Check success state
After successful form submission, the user should clearly understand what happened.
Check that:
- success message is displayed;
- success message is clear;
- success page opens, if used;
- user understands the next step;
- form is cleared or remains filled according to product logic;
- user receives confirmation email, if needed;
- user sees reference number, request ID, or order ID, if needed;
- user cannot accidentally submit the same form again;
- success state does not contain test copy;
- success state does not link to staging;
- success state works on mobile.
Success state should answer the user's question: "Was my form submitted? What happens next?"
19. Check data saving
A form should not only show success. It should save data where the team expects to see it.
Check that:
- data is saved in the database;
- data appears in the admin panel;
- data reaches CRM;
- data appears in email notification;
- data reaches the support system;
- data reaches analytics or event tracking, if needed;
- all fields are saved;
- required fields are saved;
- optional fields are saved if filled in;
- selected values are saved;
- uploaded files are saved;
- timestamp is saved;
- source or campaign data is saved, if important;
- user ID or session ID is saved, if needed.
For lead forms, it is especially important to check not only that "the request was submitted," but also that the sales team actually received all the data needed for follow-up.
20. Check email notifications
Many forms send emails to the user, the team, or both.
Check that:
- confirmation email is delivered to the user;
- internal notification is delivered to the team;
- email is sent to the correct address;
- email contains the correct form data;
- email has a clear subject;
- email contains next steps;
- links in email work;
- email does not contain staging links;
- email does not contain test copy;
- email does not expose sensitive data to unnecessary recipients;
- email is not sent after failed submit;
- email is not duplicated without reason;
- reply-to is configured correctly, if needed.
Email notifications are especially important for contact forms, demo requests, booking forms, order forms, signup forms, and support requests.
21. Check CRM, admin panel, and downstream systems
A form is often the entry point into a business process. If data does not reach the right system, the form is effectively not working.
Check that:
- lead is created in CRM;
- request appears in the admin panel;
- support ticket is created, if needed;
- user profile is updated, if needed;
- booking is created, if needed;
- order or quote is created, if needed;
- fields are mapped correctly;
- required business fields are filled;
- source / campaign / UTM is saved;
- lead status is correct;
- owner or assignee is assigned correctly;
- duplicate lead logic works;
- downstream automation starts, if expected;
- failed integration is logged and visible to the team.
For a form, the end-to-end result is often more important than the UI itself. If the user submits the form but the team does not receive the request, it is a critical bug.
22. Check spam protection
Spam protection is needed for public forms, but it should not block normal users.
Check that:
- CAPTCHA or alternative protection is displayed, if used;
- normal user can pass spam protection;
- spam protection works on mobile;
- spam protection does not break accessibility without an alternative;
- bot-like submit is blocked, if it can be tested;
- honeypot field works, if used;
- rate limiting works, if expected;
- repeated submissions are limited, if needed;
- blocked submit shows a clear message;
- valid submit is not blocked too aggressively;
- spam protection does not break analytics;
- spam protection does not interfere with CRM or email integration.
Bad spam protection can kill conversion: a real user fills out the form honestly but cannot submit it.
23. Check security basics
Form testing does not replace a security audit, but basic security checks are always needed.
Check that:
- form is submitted over HTTPS;
- sensitive data is not visible in the URL;
- secret keys are not visible in HTML, console, or network responses;
- form does not execute HTML or script input;
- backend validation exists, not only frontend validation;
- user cannot modify hidden fields and get an incorrect result;
- user cannot submit a form on behalf of another user without permissions;
- private form is unavailable without login;
- uploaded files are available only to the correct users;
- error messages do not expose stack trace;
- logs do not contain sensitive data unnecessarily;
- CSRF protection works, if applicable;
- form does not expose unnecessary information about existing users, if this matters.
Pay special attention to signup, login, password reset, payment-related forms, admin forms, and forms with personal data.
24. Check privacy and consent
If the form collects personal data, email, phone, address, company information, or marketing consent, privacy-related elements should be checked.
Check that:
- privacy notice is available;
- link to privacy policy works;
- consent checkbox is displayed, if needed;
- required consent cannot be skipped if it is mandatory;
- optional marketing consent is not enabled without user choice;
- user understands what they are agreeing to;
- consent status is saved;
- consent status is passed to CRM or marketing system, if needed;
- unsubscribe logic works for marketing emails, if included in scope;
- sensitive fields are not sent to unnecessary systems;
- form does not collect data that is not needed for the task.
QA does not replace legal review, but it should check that agreed privacy and consent elements are actually displayed and working.
25. Check accessibility basics
A form should be accessible and usable for different users. A full accessibility audit is a separate task, but basic checks are needed.
Check that:
- form can be filled out with a keyboard;
- tab order is logical;
- focus state is visible;
- fields have labels;
- required fields are marked accessibly;
- error messages are connected to the correct fields;
- screen reader can understand field purpose;
- color is not the only way to show an error;
- CAPTCHA has an accessible alternative, if used;
- submit button has a clear name;
- form is usable when zoomed in;
- form works without a mouse;
- modal form can be closed with keyboard if the form is inside a modal.
Accessibility is especially important for signup, checkout, contact, support, government, healthcare, finance, and public-facing forms.
26. Check mobile form experience
Many users may fill out forms from a phone. A mobile form should be not only visible but actually usable.
Check that:
- form opens on mobile;
- fields do not go outside the screen;
- labels are readable;
- fields are large enough;
- correct keyboard opens for email, phone, number, or URL;
- keyboard does not cover the active field;
- submit button is visible;
- sticky elements do not cover the form;
- dropdowns work on mobile;
- date picker works on mobile;
- file upload works on mobile, if available;
- error messages are visible;
- success state is displayed;
- there is no unexpected horizontal scroll;
- form can be submitted end-to-end from a phone.
Mobile form testing is especially important for landing pages, lead forms, checkout, booking, signup, and support forms.
27. Check browser compatibility
Forms can behave differently in different browsers because of validation, autofill, date pickers, file upload, masks, and CSS.
Check that:
- form works in Chrome;
- form works in Safari;
- form works in Firefox, if supported;
- form works in Edge, if supported;
- mobile Safari works;
- mobile Chrome works;
- browser autofill does not break fields;
- password manager does not break auth forms;
- native validation does not conflict with custom validation;
- date picker works;
- file upload works;
- masks work;
- dropdowns work;
- there are no critical console errors.
Safari and mobile Safari are especially worth checking for date fields, file upload, sticky submit buttons, autofill, and complex validation states.
28. Check multi-step forms
Multi-step forms are used in onboarding, checkout, applications, booking, surveys, and complex lead capture.
Check that:
- user can move to the next step;
- user can return to the previous step;
- data is saved between steps;
- current step is highlighted;
- progress indicator is clear;
- required fields are checked on the correct step;
- step cannot be skipped if this is forbidden;
- user can save draft, if expected;
- refresh does not clear progress, if this is expected;
- browser back works predictably;
- error on one step does not break the entire form;
- final submit sends all data;
- success state shows the result.
The main risk in multi-step forms is losing progress. The longer the form, the more important it is to save data and explain where the user is.
29. Check conditional logic
Some forms show different fields depending on the user's choice.
Check that:
- conditional fields appear after the correct selection;
- conditional fields are hidden when the selection changes;
- hidden required fields do not block submit;
- visible required fields are validated;
- data from hidden fields is not submitted if this is expected;
- changing selection does not break already entered data;
- dependent dropdowns work;
- calculation fields update;
- user understands why additional fields appeared;
- conditional logic works on mobile;
- conditional logic works after refresh if state is saved.
Conditional logic often breaks validation: a field is already hidden, but the backend still requires it. This should be checked separately.
30. Check edit forms and saved changes
Edit forms are different from create forms. You need to check that existing data loads, changes, and saves correctly.
Check that:
- existing data loads;
- prefilled fields are correct;
- user can edit allowed fields;
- user cannot edit forbidden fields;
- unchanged fields are preserved;
- edited fields are updated;
- save button works;
- cancel button works, if available;
- unsaved changes warning appears, if expected;
- validation works during edit;
- saved changes are displayed after refresh;
- audit history is updated, if used;
- user without permissions cannot edit the form.
Edit forms are especially important for profile settings, admin panels, product catalogs, CRM records, orders, and SaaS settings.
31. Check search and filter forms
Search and filter forms often do not create data, but they strongly affect usability and business workflows.
Check that:
- search field accepts input;
- search starts by button;
- search starts by Enter, if expected;
- empty search is handled;
- no results state is clear;
- filters are applied;
- filters can be reset;
- multiple filters work together;
- selected filters are displayed;
- sorting works, if available;
- results match the query;
- URL updates if filters should be preserved;
- page refresh keeps filters, if expected;
- user does not see results they cannot access.
Search and filter forms are especially important for catalogs, dashboards, reports, admin panels, help centers, and internal tools.
32. Check analytics and form tracking
Form analytics helps the team understand how many users start the form, where they abandon it, and how many submissions are successful.
Check that:
- form view event is sent, if needed;
- form start event is sent, if used;
- field interaction event is sent, if used;
- validation error event is sent, if needed;
- form submit event is sent;
- successful submit event is sent;
- failed submit event is sent, if important;
- events are not duplicated;
- UTM parameters are saved;
- source / campaign is passed to CRM, if needed;
- analytics property is correct;
- cookie consent does not unexpectedly break tracking;
- spam submissions do not distort metrics if protection exists.
For lead forms, passing source, campaign, and UTM is especially important. Otherwise, the team will not know where requests came from.
33. Check form performance
A form should open, react, and submit quickly. A slow form can reduce conversion.
Check that:
- form loads fast enough;
- fields become interactive without a long delay;
- validation does not slow down input;
- submit does not hang without feedback;
- loading state is displayed;
- third-party scripts do not block the form;
- CRM or email integration delay does not leave the user without feedback;
- timeout shows a clear error;
- large dropdowns work acceptably;
- file upload shows progress or status;
- form is not submitted repeatedly because the waiting state is unclear.
Performance is especially important for landing pages, lead forms, checkout forms, mobile forms, and forms with external integrations.
34. Run production form smoke after release
After releasing a form, run a short production check. Many form issues appear only in production because of domain, email sender, CRM keys, spam protection, analytics, feature flags, or environment variables.
Check that:
- production page with the form opens;
- form is displayed;
- required fields work;
- valid submit succeeds;
- success state is displayed;
- confirmation email is delivered, if needed;
- internal notification is delivered, if needed;
- CRM or admin panel receives data;
- spam protection does not block normal submit;
- analytics receives form submit event;
- UTM/source is saved, if important;
- there are no links to staging;
- there is no test copy;
- logs and monitoring do not show an increase in form errors;
- support or sales team knows where to check submissions.
Production smoke check should be short and safe. Its goal is to make sure real users can submit the form and the team receives the result.
Common mistakes
1. Checking only the Submit button
A form may show success but fail to save data, send an email, create a CRM lead, or pass the source. The full form journey should be checked end-to-end.
2. Not checking negative scenarios
Valid submit is important, but invalid data should be tested too: empty required fields, invalid email, invalid phone, too-long text, unsupported file, failed integration, and network error.
3. Losing data after an error
If the user fills out a long form and loses all data because of one error, that is a serious UX problem.
4. Making validation too aggressive
Validation should help, not block real users. If the form rejects real emails, phone numbers, addresses, or names, users will not be able to submit valid data.
5. Not checking mobile
A form may look fine on desktop but be almost unusable on a phone: keyboard covers fields, button is not visible, dropdown does not work, or error message is hidden.
6. Not checking CRM or email
If data does not reach sales, support, or the admin team, the form has not fulfilled its purpose.
7. Ignoring duplicate submit
Double click, refresh, or retry can create duplicate leads, duplicate requests, duplicate accounts, or duplicate orders.
8. Not checking spam protection
Spam protection can block not only bots but also real users. It should be checked as part of form QA.
9. Not checking accessibility
Forms are often critical user flows. If labels, focus states, or error messages are not accessible, some users will not be able to complete the action.
10. Not running a production smoke check
A form may work on staging but fail in production because of CRM credentials, email sender, spam protection, analytics property, domain settings, or feature flags.
FAQ
What is a Form Testing Checklist?
A Form Testing Checklist is a list of checks for web forms. It helps make sure the form is displayed correctly, fields work, validation is clear, errors help the user, submit saves data, success state is shown, and emails, CRM, analytics, and spam protection work as expected.
What should be checked when testing a form?
At minimum, check:
- form display;
- required fields;
- optional fields;
- validation;
- error messages;
- valid submit;
- invalid submit;
- success state;
- data saving;
- email notifications;
- CRM or admin panel;
- duplicate submit;
- spam protection;
- mobile experience;
- accessibility basics;
- analytics;
- production smoke check.
How do you test required fields?
For each required field, check that:
- the field cannot be left empty;
- the form cannot be submitted without it;
- error message appears next to the correct field;
- error message explains the problem;
- user can fix the error;
- error disappears after correction;
- backend also checks the required field, not only frontend.
How do you test form validation?
Form validation should be tested with valid and invalid data.
Check:
- empty required fields;
- invalid email;
- invalid phone;
- too-long text;
- invalid number;
- invalid date;
- unsupported file type;
- invalid dropdown value;
- hidden conditional fields;
- backend validation;
- frontend validation;
- error response after server validation.
Validation should block incorrect data but not reject real valid values.
What should be checked after form submit?
After submit, check:
- success message or success page;
- data was saved in the database;
- data appeared in the admin panel;
- data reached CRM;
- email notification was sent;
- confirmation email was delivered to the user, if needed;
- analytics event was sent;
- duplicate record was not created;
- user understands the next step.
Should CRM be checked when testing a form?
Yes, if the form should create a lead, request, ticket, or record in a CRM or admin system.
A form is working only when data reaches the place where the team will process it. Success message in the UI is not enough if CRM did not receive the request.
What should be checked in mobile form testing?
In mobile form testing, check that:
- form opens;
- fields are easy to fill in;
- correct keyboard opens;
- keyboard does not cover the active field;
- labels are readable;
- submit button is visible;
- errors are visible;
- dropdowns work;
- file upload works, if available;
- there is no horizontal scroll;
- form can be submitted end-to-end.
How do you test spam protection?
Check that a normal user can submit the form and obvious spam or repeated submissions are blocked, if expected.
Also check that CAPTCHA, honeypot, rate limiting, or bot protection does not break mobile experience, accessibility, analytics, CRM integration, or valid submit.
How do you test a multi-step form?
For a multi-step form, check:
- movement between steps;
- data saving between steps;
- validation on each step;
- progress indicator;
- back button;
- refresh behavior;
- draft save, if available;
- conditional fields;
- final submit;
- success state;
- all data is saved after final submit.
The main risk in multi-step forms is losing progress and hiding validation errors.
How do you know a form is ready for release?
A form can be considered ready for release when:
- it displays correctly;
- required and optional fields work;
- validation is clear;
- valid submit works;
- invalid submit shows clear errors;
- data is not lost after an error;
- success state is clear;
- data is saved in the correct system;
- emails or notifications are sent;
- CRM or admin panel receives data;
- duplicate submit is protected;
- spam protection works;
- mobile experience is good;
- accessibility basics are checked;
- analytics events are sent;
- production smoke check has passed.
Create a form testing checklist
Use this form testing checklist as a starting point for your next contact form, lead generation form, signup form, checkout form, support form, booking form, or admin form. In qa::checklist, you can organize checks by field type, validation, submit behavior, CRM, email, mobile, accessibility basics, analytics, and production readiness, then export the completed checklist to CSV.