Introduction to Black Box Testing
Black Box Testing or Behavioral Testing is a type of functional testing usually done by the manual tester who is familiar with the functional requirement specification of the software application. It comprises of the process of verification and validation of the functional behavior of the application after the build is complete, without bringing the codes into the picture. This type of testing can be executed on all stages of the testing lifecycle, such as unit testing, user interface testing, functional testing, integration testing, system testing, performance testing and security testing.
Techniques of Black Box Testing
The test cases which are designed to test a system plays an important role in testing. The way they are created and the scenarios they cover should be taken into consideration. Testers can create requirement specification document by using the below techniques:
- Equivalence Partitioning
- Boundary Value Analysis
- Decision Table Testing
- State Transition Testing
- Error Guessing
- Graph-based Testing Methods
- Comparison Testing
- Use Case Technique
Following are the Techniques explained below:
1. Equivalence Testing
- This technique divides the input values which are provided to the software into different groups or classes. This is done on the basis of the output which will be coming as an outcome. This technique is also known as Equivalence Class Partitioning. By doing this we save the effort of giving different inputs. Instead, we give one value to the group or class to test the outcome for that group or class. This helps in improving the test coverage and in turn reducing the rework. The time is also saved as no separate inputs are to be given. Input for each class is sufficient.
- Let us take an example of marks that students score. If a student scores above75% then he/she has secured First class with Distinction. Similarly, if the score is between 60% to 75% then he/she has secured First Class. If the score is between 50% to 60% then Second Class. If the score is between 40% to 50% then Pass class, else fail. Here there will be four classes. These test cases are formed and it is made sure that all possibilities are hence covered. Hence testing with any values in this set is sufficient.
2. Boundary Value Analysis
- Here the focus is on the values which are present at the boundaries. This is because usually there are many issues found when it comes to testing with values that focus on boundaries. Boundary focuses on values near the limit where the behavior of the system changes. In boundary value analysis both inputs, which are valid and invalid are to be tested.
- For example, if we want to test values that range from 1 to 100 then we should check if how the program works for values like 1-1, 1+1, 1, 100-1, 100+1, etc. This helps in saving time again as we can only check for values like 0, 1, 2, 99, 100 and 101.
3. Decision Table Testing
Whenever there are logical conditions or decision-making steps then this technique is to be used. These can be like if a particular condition is not satisfied then Action A should be performed, else Action B is to be performed. The tester needs to identify the input and actions which are to be performed based on the conditions. A decision table is created based on these. Consider an example where an odd number of vehicles are allowed only on Monday, Wednesday, Friday and Sunday, while even number vehicles are allowed on Tuesday, Thursday and Saturday. In this case, there are two conditions and two actions. Condition 1 being odd vehicles and Condition 2 being even vehicles. The actions being the days when these vehicles can be on the roads. The total number of test cases, in this case, can be four and hence the decision table can be derived accordingly.
4. State Transition Testing
In this technique, the test case tries to test the system under different states. This state can change depending upon different conditions or events. When a particular event occurs then these scenarios can be tested.
5. Error Guessing
This technique is mainly based on experience. Once a tester has experience working on any application its behavior and functionalities are known to him/her. This is a way through which many issues can be found out. By using this experience, it is easy for the testers to guess where most developers are prone to make mistakes. These can be handling null values, accepting the submit button without any value, uploading a file without any attachment, uploading a file with less than or more than the limit size specified, etc.
6. Graph-based Testing
Each application is built by using some objects. All the objects which are used are noted and a graph is prepared. From this graph, the relationship of every object is identified, and test cases are written accordingly.
7. Comparison Testing
In this technique, different versions of the same software are used and then compared in order to test the entire system. The behavior is noted and compared for all versions and any deviations are noted.
8. Use Case Technique
This technique is used to identify all the test cases in use as per the system. All scenarios are noted which help in understanding the complete functionality of each function in an end to end way. The test cases should have cases that cover all scenarios from beginning to end as per the system usage.
Black Box testing does not go into the details of coding. It mainly focuses on testing and validating the behavior and functionality of the software. There is no need for any technical background and testing can be started as soon as the development of the project is done. Both testers and developers can work in silos. It is more effective for large applications where functionality matters more that code. It also helps in identifying defects and issues in the early stage of testing. Once retest is done it can be verified if issues still persist and the system is verified again.
This is a guide to Black Box Testing Techniques. Here we discuss the Introduction to Black Box Testing, Techniques and Top 8 Techniques in Black Box. You can also go through our other suggested articles to learn more –