Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is functional testing?

What is functional testing? How is this different from unit testing and integration testing?

like image 627
Josh Avatar asked Apr 28 '09 04:04

Josh


3 Answers

Functional testing is making sure that customer requirements are implemented in the final product as specified in the spec. Unit testing is to check that small portions of code behave as intended. Integration testing is making sure that the system is stable when you combine all the different parts/modules together.

For example, BigBank Corporation wants a software that generates customer bank statements and inserts 3 random fees each month for each customer.

The Program Manager writes the software functional specification after several discussions with BigBank's representatives.

A developer writes a module that fills up a template statement from a database. He performs unit testing to check that most cases are covered (typical customer, no data for the month, etc.)

Another developer creates a random number generator module. He performs unit testing on that.

The integrator takes the two modules, compiles them and performs integration testing to ensure that they work well together.

Finally, in order to deliver a beta version for BigBank to try, the Test team performs functional testing to validate that the software complies with the functional specs.

like image 40
Damien Avatar answered Oct 13 '22 00:10

Damien


Another way of thinking is this:

Unit Test:
Test your code as units, calling methods and verifying return values and object property states/values

Functional Testing:
Testing your code paths while preforming a task. This ensures your application does what your code says it does.

Integral Testing? Do you mean Integration Testing?

Integration Testing:
Testing your code by plugging it into a larger mass to ensure you haven't broken existing logic and you are able to integrate back into the main branch.

like image 115
Chris Avatar answered Oct 13 '22 01:10

Chris


Functional testing of the target-of-test should focus on any requirements for test that can be traced directly to functional specifications or business rules. The goals of these tests are to verify proper data acceptance, processing, and retrieval. It tests the features and operational behavior of a product to ensure they correspond to its specifications, and incorporates tests that ignore the internal mechanism of a system or component and focus solely on the outputs generated in response to selected inputs and execution conditions. This type of testing is based upon typically black-box techniques, that is, verifying the application (and its internal processes) by interacting with the application via the UI (User Interface) and analyzing the output (results).

Source:http://softwareqatestings.com/introduction-to-software-testing/basic-steps-of-functional-testing.html

like image 24
Sharlene Shira Avatar answered Oct 12 '22 23:10

Sharlene Shira