There are key differences between unit, integration and functional testing. Each testing process has its own importance and role in the testing process of software. Let us explore these difference by explaining each one at a time:
Unit Testing:
The name of this test is self-explanatory. We are testing for the smallest units of individual functions, methods, etc. Unit testing is done before integration testing by the software developers. It checks for correct or failure output for valid or invalid inputs. Unit test tests small pieces of code. Unit test cases simplify and make testing of coding easier because it becomes easier to resolve issues at later stage. Unit testing saves time and money because it is reusable and easy to maintain.
Integration Testing:
Integration testing is testing the integration of the different part of the system together. The goal of integration testing is to check for functionality, reliability, and performance of the system. It is done on modules that are unit tested first and then integration testing defines the combination of modules gives desired output or not. There are three approaches of integration testing: big bang, top-down and bottom-up.
Functional Testing:
Like unit testing name, functional testing is self-explanatory from its name. It is testing the functionality of the application. It tests whether the application is providing the desired output for a certain input. Testing is done by per requirement and scenario. Here are the major parts of functional testing: test summary, prerequisites (if any), test case input steps, test data (if any), expected output, and notes (if any)
Detailed differences are provided in a nice table format on the website, but the three testings’ techniques are correlated. Unit testing is needed for paths/lines of code, functional and integration testing is needed for assurance.
For more detail reading please visit:
http://www.softwaretestinghelp.com/the-difference-between-unit-integration-and-functional-testing/
From the blog CS443 Software Quality Assurance & Testing – Computer Science World by Haider Hussain and used with permission of the author. All other rights reserved by the author.