Till now we have tried to understand the black box testing, also we have seen many ways of doing black box testing. In this article, we will discuss one more type of testing called as White Box testing.
What is White Box Testing?
It is also known as structured based testing, code-based testing, glass box testing, transparent box testing, open box testing. In this software testing method, the tester tests the internal structure of the system. In this method, tester goes into the code and provide input and verify the output of the code. Here tester needs to think about the coding and not just only about the user interface.
Levels where White Box testing can be used
- Unit testing: testing the data flow in the particular unit.
- Integration testing: testing the data flow in two different unit.
- System testing: testing the data flow within the system.
What do you look in White Box Testing?
- Security loopholes within the code
- Verify the structure path for its completeness
- Flow of data within the system
- Working of different loops available in system
Types of White Box Testing
- Data coverage
Advantages of White Box Testing
- Need not wait for development of front end. Can be started as soon as the code is ready for compilation.
- It covers all the possible path of the code. Ensure the complete testing.
- The tester can derive optimized test data which can pull out defects from the code.
- Code optimization can be achieved using this technique.
Disadvantages of White Box Testing
- The tester needs to have good knowledge of coding so that he or she can challenge the code developed by the development team.
- Tester with good coding knowledge can be costly.
- Test script needs updation every time changes happens within the system.
- Practically not possible to test each and every possible path of code and statement.
One thing you may need to keep in mind that while doing structured testing you are not supposed to correct the code or program. The sole intention behind any testing activity is to find the defects and report it back to the developer.
Benefits for structured testing:
- In this process, we save time and money as in this technique defects identified and rectified in the lifecycle.
- Having different technical experience, we can have some valuable inputs during structured testing.
- It can help the management team to track the process of development.