There are various methods for testing software. These methods are chosen by different testers based on their requirement and methodologies. But three fundamental software testing methods are viral and are used in almost every project development. In this chapter, you will learn about these three methodologies of software testing.
Black Box Testing
This testing is also known as Behavioral Testing where the software tests the internal structural, design and implementation and UI and UX of the product being tested which is not already known to the tester. Black box testing is both functional or non-functional, but most of the time it is usually functional
This testing technique is named black box because the software or the product is not known or acknowledged in advance to the tester and hence you can say the eye of the tester is blind-folded like a black box, and you can see nothing inside. This technique of testing tries to find errors in these below-mentioned categories:
- Inaccurate or missing functioning of the software
- Error in interface
- Errors in concepts and data structures implementation
- Database related errors
- Performance or behavioral errors
- Errors in starting or termination of product
Levels of Black Box Testing
This testing technique is related to the below-mentioned software testing methodologies:
- Integration Testing
- System Testing
- Acceptance Testing
It is to be noted that the higher the level of testing is the bigger & complex the box is to test and hence further black box testing comes into play.
White Box Testing
White Box testing is also termed as Open or transparent-box Testing or Glass-box testing. Sometimes from a developer point of view, its known as Code-oriented Testing or structural testing. This type of testing technique deals with testing the internal structure, logic design and implementation of different modules. Here, tester uses his / her preferred input or exercising paths via code for determining the proper or exact output. As it is also termed as code oriented testing, it contains technical tests and script based testing as part of its testing phase.
Levels of White Box Testing
This testing technique deals with the below-mentioned software testing methodologies:
- Unit Testing: Tests for paths inside a unit and module
- Integration Testing: Tests for paths among different units
- System Testing: Tests for paths among the sub-systems of a product
Gray Box Testing
In this software testing technique, it combines the concept of both Black box as well as White box testing. In Grey box testing, the inside of your product is partly known to the tester. This has partial access to data-structures residing internally for designing different test cases, but at the same time tests from a user's perspective or like a black-box tester. Grey box testing has its name grey because from a tester's eye, it's like a semi-transparent box and also combining the color of black and white gives the shades of grey.