Functional Testing

Definition:

Functional Testing is a type of software testing whereby the system is tested against the functional requirements/specifications.

Description:

Functional testing is to testing the functionality of the software application under test. Basically, it is to check the basic functionality mentioned in the functional specification document. Also check whether software application is meeting the user expectations. We can also say that checking the behavior of the software application against test specification.

This type of testing is mandatory and irrespective of what type of application this should be exercised.

Functions (or features) are tested by feeding them input and examining the output. Functional testing ensures that the requirements are properly satisfied by the application. This type of testing is not concerned with how processing occurs, but rather, with the results of processing.

During functional testing, Black Box Testing technique is used in which the internal logic of the system being tested is not known to the tester.

Functional testing is normally performed during the levels of System Testing and Acceptance Testing.

Typically, functional testing involves the following steps:


  • Identify functions that the software is expected to perform.
  • Create input data based on the function’s specifications.
  • Determine the output based on the function’s specifications.
  • Execute the test case.
  • Compare the actual and expected outputs.

Advantages of functional testing:

  • It simulates actual system usage.
  • It does not make any system structure assumptions.

Disadvantages of functional testing

  • It has a potential of missing logical errors in software.
  • It has a high possibility of redundant testing.

Functional testing is more effective when the test conditions are created directly from user/business requirements. When test conditions are created from the system documentation (system requirements/ design documents), the defects in that documentation will not be detected through testing and this may be the cause of end-user’s wrath when they finally use the software.

Share This:
Facebooktwittergoogle_plusredditpinterestlinkedintumblr