Rahul Sharma (Editor)

Functional testing

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Functional testing is a quality assurance (QA) process and a type of black-box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered (unlike white-box testing). Functional testing usually describes what the system does.

Functional testing does not imply that you are testing a function (method) of your module or class. Functional testing tests a slice of functionality of the whole system.

Functional testing differs from system testing in that functional testing "verifies a program by checking it against ... design document(s) or specification(s)", while system testing "validate[s] a program by checking it against the published user or system requirements" (Kaner, Falk, Nguyen 1999, p. 52).

Functional testing has many types:

  • Smoke testing
  • Sanity testing
  • Regression testing
  • Usability testing
  • 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.

    References

    Functional testing Wikipedia