Functional testing explained
Functional testing should not be confused with Functional testing (manufacturing).
In software development, functional testing is a form of software testing that verifies whether a system meets its functional requirements.[1] [2]
Generally, functional testing is black-box, meaning the internal program structure is ignored (unlike for white-box testing).[3]
Sometimes, functional testing is a quality assurance (QA) process.[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:
Usability testing
Six steps
Functional testing typically involves six steps
- The identification of functions that the software is expected to perform
- The creation of input data based on the function's specifications
- The determination of output based on the function's specifications
- The execution of the test case
- The comparison of actual and expected outputs
- To check whether the application works as per the customer need
Notes and References
- ISO/IEC/IEEE 24765:2017, "Systems and software engineering — Vocabulary", International Organization for Standardization, Geneva, Switzerland, 2017.
- 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.
- Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. .
- Prasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley,, p. vi
- Web site: Full Stack Testing . 2022-09-08 . www.thoughtworks.com . en-US.