Functional test
   HOME

TheInfoList



OR:

Functional testing is a
quality assurance Quality assurance (QA) is the term used in both manufacturing and service industries to describe the systematic efforts taken to ensure that the product(s) delivered to customer(s) meet with the contractual and other agreed upon performance, design ...
(QA) processPrasad, Dr. K.V.K.K. (2008) ''ISTQB Certification Study Guide'', Wiley, , p. vi and a type of
black-box testing Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied virtually to every level of software testing: unit, ...
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 White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of software testing that tests internal structures or workings of an application, as opposed to its functionality ...
).Kaner, Falk, Nguyen. ''Testing Computer Software''. Wiley Computer Publishing, 1999, p. 42. . Functional testing is conducted to evaluate the compliance of a system or component with specified functional
requirement In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, includi ...
s. Functional testing usually describes ''what'' the system does. Since functional testing is a type of black-box testing, the software's functionality can be tested without knowing the internal workings of the software. This means that testers do not need to know programming languages or how the software has been implemented. This, in turn, could lead to reduced developer bias (or
confirmation bias Confirmation bias is the tendency to search for, interpret, favor, and recall information in a way that confirms or supports one's prior beliefs or values. People display this bias when they select information that supports their views, ignoring ...
) in testing since the tester has not been involved in the software's development. 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 System testing is testing conducted on a complete integrated system to evaluate the system's compliance with its specified requirements. System testing takes, as its input, all of the integrated components that have passed integration testing. ...
in that functional testing "'' verifies'' a program by checking it against ... design document(s) or specification(s)", while system testing "'' validate ' a program by checking it against the published user or system requirements." The concept of incorporating testing earlier in the delivery cycle is not restricted to functional testing.


Types

Functional testing has many types: * Smoke testing *
Sanity testing A sanity check or sanity test is a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true. It is a simple check to see if the produced material is rational (that the material's creator was thinking ration ...
*
Regression testing Regression testing (rarely, ''non-regression testing'') is re-running functional and non-functional tests to ensure that previously developed and tested software still performs as expected after a change. If not, that would be called a '' regre ...
*
Usability testing Usability testing is a technique used in user-centered interaction design to evaluate a product by testing it on users. This can be seen as an irreplaceable usability practice, since it gives direct input on how real users use the system. It is m ...


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.


See also

* * * * * * * * * * *


References

{{DEFAULTSORT:Functional Testing Software testing