Techniques Within Unit Testing
#1) White box testing:
In white-box testing, the tester knows the internal
structure of the software including the code and can test it against the design
and requirements. Hence white box testing is also known as transparent
testing.
white box testing
#2) Black box testing:
In black-box testing, the tester does not know the internal
structures either the code of the software.
black box testing
#3) Grey box testing:
This is also referred to as a semi-transparent technique
testing which means, the testers are only partially aware of the internal
structure, functions, and designs along with the requirements. Debugging is
done by actual input from the front-end to get exact data in the back-end. The
grey box is therefore considered as a combination of black box and white box
testing techniques.
Grey box testing covers the following types of testing:
Matrix Testing.
Pattern Testing.
Orthogonal Pattern Testing.
Benefits Of Unit Testing
The process becomes agile: For adding new functions or
features to the existing software we need to make changes to the old code. But
changing things to the already tested code can be risky as well as costly.
Code quality improves: The quality of code is automatically
improved when unit testing is done. The bugs identified during this testing are
fixed before it is sent for the integration testing phase. Result in robust
design and development as developers write test cases by understanding the
specifications first.
Detects bugs early: As developers run unit tests, they
detect bugs early in the software development life cycle and resolves them.
This includes flaws or missing parts in the specification as well as bugs in
the programmer’s implementation.
Easier changes and simplified integrations: Doing unit
testing makes it easy for the developer to restructure the code, make changes,
and maintain the code. It also makes testing the code after integration much
easier. Fixing an issue in Unit Testing can fix many other issues occurring in
later development and testing stages
Documentation availability: Developers who are looking into
the functionality at a later stage can refer to the unit testing documentation
and can easily find the unit test interface and correct or work fast and
easily.
Easy debugging process: It helps in simplifying the
debugging process. If the test fails at any stage the code needs to be debugged
or else the process can be continued without any obstacles.
Lower cost: When bugs are detected and resolved during unit
testing, cost and development time is reduced. Without this testing, if the
same bugs are detected at a later stage after the code integration, it becomes
more difficult to trace and resolve, making it more costly and increasing
development time.
Code completeness can be demonstrated using unit tests: This
is more useful in the agile process. Testers don't get the functional builds to
test until integration is completed. Code completion cannot be justified by
showing that you have written and checked in the code. But running Unit tests
can demonstrate code completeness.
Saves development time: Code completion may take more time
but due to fewer bugs in the System and Acceptance testing, overall development
time can be saved.
Code coverage can be measured
No comments:
Post a Comment