Unit testing vs. functional testing: What's the difference?
What is unit testing?
It is a testing method
where the smallest piece of code known as a unit is tested. A unit can be a
method, subroutine, function etc. These units are also called as the individual
components of a software application. Unit tests are written by developers for
their code, in order to check whether the code is working correctly.
A section of code is
isolated and then its correctness is verified in this particular testing
method. The cost of testing is reduced as defects in an application are found
at the early stages of software development.
What
is functional testing?
It is a type of software
testing where the software system is validated against the functional requirements/specifications.
Each function of the software application is thoroughly tested in this testing
method. Appropriate input is provided and then output is verified against the
functional requirements.
This testing method checks
the client/server communication, security, database, APIs, User Interface and
other functionalities of the Application Under Test. This testing can be
performed either manually or through automation. Integration testing, system
testing, component testing, regression testing, smoke testing, sanity testing
etc., are some of the important types of functional testing.
Difference
between Unit testing and Functional testing:
|
Unit testing |
Functional
testing |
|
Individual modules are tested |
Specific functionalities of the software application
are tested as per the user requirements |
|
This testing method is written by developers |
This testing method is written by testers |
|
It is a White box testing technique |
It is a Black box testing technique |
|
The number of test cases are higher |
Test cases are lower when compared to unit and
integration testing |
|
Low cost and low maintenance is required |
High cost and high maintenance is required |
|
There are frequent changes that happen in this
testing method |
The changes are comparatively less in this testing
method |
|
Some of the popular tools used are JUnit, NUnit,
TestNG, Mockito etc., |
Some of the popular tools used are Selenium, UFT
etc., |
Comments
Post a Comment