Skip to main content
GlossaryTest Levels & TypesFunctional Testing

Functional Testing

Functional testing verifies that software does what its requirements say it should do — that a given input produces the correct, expected output — without regard to how fast, secure, or scalable it is. It's the most fundamental category of testing: does the feature actually work.

Functional testing covers most of what people picture when they think of "testing software": clicking a button and checking the right thing happens, submitting a form and checking it saves correctly, calling an API and checking the response matches the spec.

It sits opposite non-functional testing, which checks qualities like performance, security, and usability rather than correctness of behavior. Most test suites are dominated by functional tests, since a fast, secure, unusable feature is still a failure — functional correctness is the baseline everything else builds on.