What is functional testing? How is this different from unit testing and integration testing?
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With