Jump to content

Functional testing

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mit thakkar searchonic (talk | contribs) at 12:34, 26 March 2025 (We provide more in-depth insights on functional testing to help users more informed decisions and optimize their processes). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In software development, functional testing is a form of software system 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]

Functional testing differs from acceptance testing. Functional testing verifies a program by checking it against design documention or specification,[5] Black box testing is one of the techniques used in this testing. By supplying the proper input, confirming the results, and contrasting the real & predicted outcomes, every aspect of the system is evaluated. Throughout the testing, the application security, UI, app functionality, database, etc., is checked.[citation needed], while acceptance testing validates a program by checking it against the published user or system requirements.[3]

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.[6]

In fixture testing, while ICT fixtures test each individual component on a PCB, functional test fixtures assess the entire board's functionality by applying power and verifying that the system operates correctly.[7]

Types

Functional testing includes but is not limited to:[3]

Six steps

Functional testing typically involves six steps[citation needed]

  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

References

  1. ^ ISO/IEC/IEEE 24765:2017, "Systems and software engineering — Vocabulary", International Organization for Standardization, Geneva, Switzerland, 2017.
  2. ^ ISO/IEC/IEEE International Standard - Systems and software engineering. ISO/IEC/IEEE 24765:2010(E). 2010. pp. vol., no., pp.1–418, 15 Dec. 2010.
  3. ^ a b c Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. ISBN 0-471-35846-0.
  4. ^ Prasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley, ISBN 978-81-7722-711-6, p. vi
  5. ^ Thakkar, Mit (2024 -03 -26). "Difference Between Functional and Non-Functional Testing". {{cite web}}: Check date values in: |date= (help)CS1 maint: url-status (link)
  6. ^ "Full Stack Testing". www.thoughtworks.com. Retrieved 2022-09-08.
  7. ^ "Functional Test Fixtures". Forwessun. Retrieved 2024-11-14.