This article needs additional citations for
verification. (December 2010) |
Part of a series on |
Software development |
---|
In software development, functional testing is a form of software system testing that verifies whether software matches its design.
Generally, functional testing is black-box meaning the internal program structure is ignored (unlike for white-box testing). [1]
Functional testing can evaluate compliance to functional requirements. [2]
Sometimes, functional testing is a quality assurance (QA) process. [3]
Functional testing differs from acceptance testing. Functional testing verifies a program by checking it against design document(s) or specification(s), while acceptance testing validates a program by checking it against the published user or system requirements. [4]
As a form of system testing, functional testing tests slices of functionality of the whole system. Despite similar naming, functional testing is not testing the code of a single function.
The concept of incorporating testing earlier in the delivery cycle is not restricted to functional testing. [5]
Functional testing includes but is not limited to: [1]
Functional testing typically involves six steps[ citation needed]