Black box testing is a technique of software testing which examines the functionality of software without peering into its internal structure or coding. The primary source of black box testing is a specification of requirements that is stated by the customer.
In this method, tester selects a function and gives input value to examine its functionality, and checks whether the function is giving expected output or not. If the function produces correct output, then it is passed in testing, otherwise failed. The test team reports the result to the development team and then tests the next function. After completing testing of all functions if there are severe problems, then it is given back to the development team for correction.
Generic steps of black box testing
- The black box test is based on the specification of requirements, so it is examined in the beginning.
- In the second step, the tester creates a positive test scenario and an adverse test scenario by selecting valid and invalid input values to check that the software is processing them correctly or incorrectly.
- In the third step, the tester develops various test cases such as decision table, all pairs test, equivalent division, error estimation, cause-effect graph, etc.
- The fourth phase includes the execution of all test cases.
- In the fifth step, the tester compares the expected output against the actual output.
- In the sixth and final step, if there is any flaw in the software, then it is cured and tested again.
Test procedure
The test procedure of black box testing is a kind of process in which the tester has specific knowledge about the software's work, and it develops test cases to check the accuracy of the software's functionality.
It does not require programming knowledge of the software. All test cases are designed by considering the input and output of a particular function.A tester knows about the definite output of a particular input, but not about how the result is arising. There are various techniques used in black box testing for testing like decision table technique, boundary value analysis technique, state transition, All-pair testing, cause-effect graph technique, equivalence partitioning technique, error guessing technique, use case technique and user story technique. All these techniques have been explained in detail within the tutorial.
Test cases
Test cases are created considering the specification of the requirements. These test cases are generally created from working descriptions of the software including requirements, design parameters, and other specifications. For the testing, the test designer selects both positive test scenario by taking valid input values and adverse test scenario by taking invalid input values to determine the correct output. Test cases are mainly designed for functional testing but can also be used for non-functional testing. Test cases are designed by the testing team, there is not any involvement of the development team of software.
Techniques Used in Black Box Testing
Decision Table
Technique |
Decision Table
Technique is a systematic approach where various input combinations and their
respective system behavior are captured in a tabular form. It is appropriate
for the functions that have a logical relationship between two and more than
two inputs. |
Boundary Value
Technique |
Boundary Value Technique
is used to test boundary values, boundary values are those that contain the
upper and lower limit of a variable. It tests, while entering boundary value
whether the software is producing correct output or not. |
State Transition
Technique |
State Transition
Technique is used to capture the behavior of the software application when
different input values are given to the same function. This applies to those
types of applications that provide the specific number of attempts to access
the application. |
All-pair Testing
Technique |
All-pair testing
Technique is used to test all the possible discrete combinations of values.
This combinational method is used for testing the application that uses
checkbox input, radio button input, list box, text box, etc. |
Cause-Effect
Technique |
Cause-Effect
Technique underlines the relationship between a given result and all the
factors affecting the result.It is based on a collection of requirements. |
Equivalence
Partitioning Technique |
Equivalence
partitioning is a technique of software testing in which input data divided
into partitions of valid and invalid values, and it is mandatory that all
partitions must exhibit the same behavior. |
Error Guessing
Technique |
Error guessing is a
technique in which there is no specific method for identifying the error. It
is based on the experience of the test analyst, where the tester uses the
experience to guess the problematic areas of the software. |
Use Case
Technique |
Use case Technique
used to identify the test cases from the beginning to the end of the system
as per the usage of the system. By using this technique, the test team
creates a test scenario that can exercise the entire software based on the
functionality of each function from start to end. |
0 Comments