Functional testing explained

Functional testing should not be confused with Functional testing (manufacturing).

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]

Types

Functional testing includes but is not limited to:

Six steps

Functional testing typically involves six steps

  1. The identification of functions that the software is expected to perform
  2. The creation of input data based on the function's specifications
  3. The determination of output based on the function's specifications
  4. The execution of the test case
  5. The comparison of actual and expected outputs
  6. To check whether the application works as per the customer need

Notes and References

  1. Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. .
  2. Book: ISO/IEC/IEEE International Standard - Systems and software engineering. ISO/IEC/IEEE 24765:2010(E). 2010. vol., no., pp.1–418, 15 Dec. 2010.
  3. Prasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley,, p. vi
  4. Kaner, Falk, Nguyen 1999, p. 52
  5. Web site: Full Stack Testing . 2022-09-08 . www.thoughtworks.com . en-US.