functional testing

{{Short description|Testing software functionality}}

{{distinguish|Functional testing (manufacturing)}}

{{More citations needed|date=December 2010}}

{{Software development process}}

In software development, functional testing is a form of software testing that verifies whether a system meets its functional requirements.ISO/IEC/IEEE 24765:2017, "Systems and software engineering — Vocabulary", International Organization for Standardization, Geneva, Switzerland, 2017.{{Cite book|title=ISO/IEC/IEEE International Standard - Systems and software engineering|publisher=ISO/IEC/IEEE 24765:2010(E)|year=2010|pages=vol., no., pp.1–418, 15 Dec. 2010}}

Generally, functional testing is black-box, meaning the internal program structure is ignored (unlike for white-box testing).Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. {{ISBN|0-471-35846-0}}.

Sometimes, functional testing is a quality assurance (QA) process.Prasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley, {{ISBN|978-81-7722-711-6}}, p. vi

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.{{Cite web |title=Full Stack Testing |url=https://www.thoughtworks.com/en-us/insights/books/full-stack-testing |access-date=2022-09-08 |website=www.thoughtworks.com |language=en-US}}

Types

Functional testing includes but is not limited to:

Six steps

Functional testing typically involves six steps{{Citation needed|date=December 2010}}

  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

See also

{{div col|colwidth=40em}}

  • {{Annotated link|Non-functional testing}}
  • {{Annotated link|Acceptance testing}}
  • {{Annotated link|Regression testing}}
  • {{Annotated link|System testing}}
  • {{Annotated link|Software testing}}
  • {{Annotated link|Integration testing}}
  • {{Annotated link|Unit testing}}
  • {{Annotated link|Database testing}}
  • {{Annotated link|Security testing}}
  • {{Annotated link|Load testing}}
  • {{Annotated link|Test automation}}

{{div col end}}

References

{{reflist}}

{{Authority control}}

{{Software testing}}

Category:Software testing