First, we discuss on Software Testing Technique Definition – Software Testing is nothing but the process of evaluating a software program to get the difference between given input and expected output. Testing is going to access the quality of the product. In simple language, testing is a Validation and Verification process. Software testing helps to find errors and bugs in actual requirements. There are two type of technique :
- White Box Testing
- Black Box Testing
White Box Testing:
It is the testing of software solution internal code and infrastructure. It is also known as Clear, Open, Structural, and Glass Box Testing. This testing is daily used for verification.
Black Box Testing (Behavioral Testing):
Black Box Testing is known as Behavioral Testing. The testing of external behavior of the program is known as Black Box Testing. It can be applied in software and any program. The main aim of black box testing is what is input and what gets output. The black box used to get different types of Errors such as function missing, Usability, Performance, Concurrency and timing Problems, Initializing and terminating errors etc. One of the Best examples of Black Box Testing is Calculator. It takes inputs from the user and shows outputs directly.
Black Box Testing Technique
This technique is used to save lots of testing time and get good test coverage. Let us see the list of Black Box Testing Technique
- Equivalence Partitioning
- Boundary Value Analysis
- Decision Table
- Exploratory Testing
- Error Guessing
- State Transaction
i) Equivalence Partitioning
Equivalence Partitioning Technique is also known as Equivalence Class Partitioning. By using this technique, we can divide then test cases into groups. From each group, we test only one condition. If condition work from this group works then all of the conditions from that group work.
Equivalence Partitioning reduces a lot of rework and gives the best test coverage.
For Example:
This field accepts the numeric values. In this case, we divide the test conditions as,
- Enter Numeric Values
- Enter Alpha Values
- Enter alphabets
ii) Boundary Value Analysis
In Boundary Value Analysis, We can take the conditions as partitions and design the test cases by getting the boundary values of partitions. The test conditions on either inside of the boundary are called as boundary values. We get both valid boundary and Invalid boundary.
For Example:
In this case, we can take value more than 10 and less than 100 then we take boundary as 10 Minus 1 & 10 Plus 1 and 100 Minus 1 & 100 Plus 1. Instead of using lots of data like 9, 10, 11, 99, 100, and 101.
iii) Decision Table
Decision Table technique is right for functionalities which has logical relationships between inputs ie. If, If-Else Conditions. In this technique, action will true or false. By using Decision Table technique, we deal with combinations of inputs. This table is also called as cause-effect Table. In the decision, the table to identify test cases and we consider conditions and actions. We take conditions as inputs and actions as outputs.
For Example- User Login Pages.
Conditions : Valid User ID and Valid Password.
Actions: Display Home Page and Display Error Message
ID | Conditions/Actions | Test Case1 | Test Case2 | Test Case2 | Test Case2 |
Condition 1 | Valid User ID | T | T | F | F |
Condition 2 | Valid Password | T | F | T | F |
Action 1 | Home Page | Execute | |||
Action 2 | Show “Invalid User” | Execute | Execute | Execute |
iv) Exploratory Testing
The exploratory Testing process will be carried out by domain experts. The performance testing just by exploring the functionalities of the applications without having knowledge of requirements. By using this technique tester could explore and learn the system testing.
v) Error Guessing
It is used to find bugs in software application based on tester prior’s experience. In Error Guessing Technique, we don’t follow any specific rules. We can call this technique is an unplanned testing technique.
vi) State Transaction
We pick the test case from applications where we need to test different system transaction. We can apply this when an application gives different output for the same input, it’s depending on what’s happened in an earlier test. It is a very complex testing technique in black box testing.
For Example: Traffic Signals. In this type, Signals are continually changeable then what happen Car’s are come to Stop, Wait and Go.
In above article, we discuss on Behavioral/black box testing. I covered some common black box techniques with real-time example which are mostly used in the software testing life cycle. I hope it is very helpful to you for getting a basic knowledge of software testing.