Skip to main content
Category: Testing and Evaluation

Functional Testing

Also known as: Functional Software Testing
Simply put

Functional testing is a way of checking software to confirm that its features actually do what they are supposed to do. Testers compare what the application produces against what the requirements say it should produce. It focuses on whether the software works correctly, rather than how fast or reliable it is under load.

Formal definition

Functional testing is a software testing approach that verifies whether an application's features and behaviors conform to specified requirements and business rules. It evaluates the system by comparing actual outputs against expected behaviors for given inputs, validating individual features as well as overall functionality against the defined specification. It is generally distinguished from non-functional testing, which addresses characteristics such as performance, reliability, and usability rather than feature correctness. In an accessibility context, functional verification typically requires manual and assistive technology testing in addition to automated checks, since automated tools detect only a portion of potential issues.

Why it matters

Functional testing confirms that an application's features actually perform as specified, which is foundational to delivering software that users can rely on. In an accessibility context, this matters because a feature that appears to work visually may still fail for people using assistive technologies. Verifying that features behave according to their requirements helps catch defects before they reach users who depend on those features working correctly.

For accessibility specifically, functional verification generally requires more than automated checks. Automated tools detect only a portion of potential issues, so manual testing and assistive technology testing are commonly needed to confirm that features work for people using screen readers, keyboard navigation, and other tools. Relying on automated checks alone can create a false sense of coverage, leaving real barriers undetected.

Because functional testing compares actual outputs against expected behaviors across features rather than isolated modules, it can provide a clearer overall picture of whether the software meets its defined requirements. This makes it a practical part of a broader quality assurance process, though it is not a substitute for legal compliance review or usability evaluation with real users.

Who it's relevant to

Quality Assurance Teams
QA testers use functional testing to verify that application features conform to specified requirements before release, comparing actual outputs against expected behaviors across both individual features and overall functionality.
Accessibility Engineers and Testers
In an accessibility context, functional verification typically requires manual and assistive technology testing in addition to automated checks, since automated tools detect only a portion of potential issues. Accessibility testers combine these methods to confirm features work for people using assistive technologies.
Software Developers
Developers rely on functional testing to confirm that the features they build behave according to the defined specification and business rules, helping identify defects where actual behavior diverges from expected behavior.
Product and Compliance Stakeholders
Product owners and compliance officers should understand that functional testing verifies feature correctness against requirements but does not, on its own, guarantee an accessible experience or legal compliance. Broader manual, assistive technology, and usability evaluation may be needed, and this guidance is not legal advice.

Inside Functional Testing

Task-Based Evaluation
Functional testing centers on completing real user tasks end to end, such as filling out and submitting a form, navigating a menu, or completing a checkout, rather than checking individual code elements in isolation.
Assistive Technology Interaction
Testing is commonly performed using assistive technologies such as screen readers, screen magnifiers, voice control software, and alternative input devices to observe how a real user relying on these tools would experience the content.
Keyboard and Input Method Coverage
Functional testing generally verifies that all interactive elements can be operated through multiple input methods, including keyboard-only navigation, to confirm that features work as intended for users who do not use a mouse.
Manual Human Judgment
Because it assesses whether an experience actually works for users, functional testing relies on human evaluators exercising judgment about usability and outcomes, complementing rather than replacing automated checks.
Relationship to WCAG
Functional testing is often used to evaluate whether WCAG success criteria are met in practice, but it focuses on the resulting user experience rather than confirming the presence of specific code patterns alone.

Common questions

Answers to the questions practitioners most commonly ask about Functional Testing.

Does functional testing replace automated accessibility testing?
No. Functional testing and automated testing serve complementary roles rather than substituting for one another. Automated tools can efficiently detect only a portion of accessibility issues, such as certain code-level or structural problems, but they cannot evaluate whether a task can actually be completed by a person using assistive technology. Functional testing addresses that gap by checking real workflows, yet it does not eliminate the value of automated scans for broad, repeatable coverage. A layered approach that combines automated, manual, and assistive technology testing is generally recommended.
If a page passes functional testing, does that guarantee WCAG conformance and legal compliance?
Not necessarily. Successfully completing a set of functional test scenarios demonstrates that particular tasks worked for the testers and configurations used, but it does not by itself confirm conformance to every applicable WCAG success criterion, nor does it guarantee immunity from legal claims. Conformance is measured against specific success criteria at a chosen level, while legal exposure depends on evolving regulation and case law. Functional testing is one input among several, and questions about legal risk should be directed to qualified legal counsel.
How do you select which tasks to include in functional testing?
Task selection commonly prioritizes the workflows most critical to users and to the organization, such as completing a purchase, submitting a form, navigating primary menus, or accessing key content. Teams often map these to the user journeys that carry the highest impact if they fail. Because functional testing evaluates scope-limited scenarios, the tasks chosen determine what the testing can and cannot tell you, so documenting which flows were and were not covered is generally advised.
Which assistive technologies and configurations should be used during functional testing?
Functional testing generally involves exercising tasks with the assistive technologies and settings that represent the intended audience, which may include screen readers, screen magnification, keyboard-only navigation, and adjusted contrast or text settings. Testing across more than one combination of assistive technology, browser, and operating system helps surface issues that appear only in specific pairings. The exact matrix depends on the product and its users, and the configurations tested should be recorded so results can be interpreted accurately.
Who should perform functional accessibility testing?
Functional testing is commonly conducted by individuals experienced with assistive technologies and accessibility practices, and organizations often include testers who are themselves users of assistive technology to reflect realistic usage patterns. Involving people with a range of disabilities can reveal barriers that experienced non-disabled testers may not encounter. Regardless of who performs it, clear test procedures and documented results support consistency and follow-up.
How should functional testing findings be documented and prioritized?
Findings are typically recorded with enough detail to reproduce the issue, including the task attempted, the assistive technology and configuration used, the observed barrier, and its effect on task completion. Prioritization commonly weighs how severely an issue blocks a critical task against how many users it may affect. Because functional testing covers selected scenarios rather than every possible path, documenting what was tested, what passed, and what remained out of scope helps teams plan remediation and subsequent testing cycles.

Common misconceptions

Automated testing tools can fully perform functional testing on their own.
Automated tools detect only a portion of accessibility issues and generally cannot judge whether a full task can be completed successfully. Functional testing requires manual evaluation and testing with assistive technologies to assess the actual user experience.
Passing functional testing guarantees WCAG conformance and legal compliance.
Functional testing helps surface real-world barriers, but meeting WCAG success criteria or completing test tasks does not by itself guarantee an accessible experience for all users or immunity from legal claims. Conformance, usability, and legal compliance are distinct considerations, and this material is not legal advice.
Functional testing is the same as usability testing.
The two overlap but are not identical. Functional testing focuses on whether accessibility-related tasks can be completed, often using assistive technologies, while broader usability testing may address efficiency, satisfaction, and design quality beyond accessibility outcomes.

Best practices

Test using multiple assistive technologies and input methods, including at least one screen reader and keyboard-only navigation, to reflect how different users interact with the content.
Structure tests around complete, realistic user tasks from start to finish rather than checking isolated interface elements.
Combine functional testing with automated checks, recognizing that automated tools catch only a subset of issues and cannot confirm task completion.
Include people with disabilities and experienced assistive technology users where possible to capture real-world experience and judgment.
Document the tools, versions, and steps used during testing so results are reproducible and issues can be reliably retraced.
Treat functional testing results as one input into accessibility and compliance decisions, and consult qualified legal counsel or current agency guidance for questions about legal obligations.