written 6.9 years ago by |
Black-box testing is a method of software testing that examines the functionality of an application based on the specifications. It is also known as Specifications based testing. Independent Testing Team usually performs this type of testing during the software testing life cycle.
This method of test can be applied to each and every level of software testing such as unit, integration, system and acceptance testing.
Black Box Testing - Steps
Here are the generic steps followed to carry out any type of Black Box Testing.
• Initially requirements and specifications of the system are examined.
• Tester chooses valid inputs (positive test scenario) to check whether SUT processes them correctly . Also some invalid inputs (negative test scenario) are chosen to verify that the SUT is able to detect them.
• Tester determines expected outputs for all those inputs.
• Software tester constructs test cases with the selected inputs.
• The test cases are executed.
• Software tester compares the actual outputs with the expected outputs.
• Defects if any are fixed and re-tested.
Types of Black Box Testing:-
There are many types of Black Box Testing but following are the prominent ones -
Types of Black Box Testing Techniques: Following black box testing techniques are used for testing the software application.
• Boundary Value Analysis (BVA)
• Equivalence Class Partitioning
• Functional Testing
• Non-Functional Testing
• Regression Testing
1) Boundary Value Analysis (BVA):
Boundary Value Analysis is the most commonly used test case design method forblack box testing. As all we know the most of errors occurs at boundary of the input values. This is one of the techniques used to find the error in the boundaries of input values rather than the center of the input value range.
Boundary Value Analysis is the next step of the Equivalence class in which all test cases are design at the boundary of the Equivalence class.
2) Equivalence Class Partitioning:-
The equivalence class partition is the black box test case design technique used for writing test cases. This approach is use to reduce huge set of possible inputs to small but equally effective inputs. This is done by dividing inputs into the classes and gets one value from each class. Such method is used when exhaustive testing is most wanted & to avoid the redundancy of inputs.
In the equivalence partitioning input are divided based on the input values:
• If input value is Range, then we one valid equivalence class & two invalid equivalence classes.
• If input value is specific set, then we one valid equivalence class & one invalid equivalence classes.
• If input value is number, then we one valid equivalence class & two invalid equivalence classes.
• If input value is Boolean, then we one valid equivalence class & one invalid equivalence classes.
•
• Functional testing - This black box testing type is related to functional requirements of a system; it is done by software testers.
• Non-functional testing - This type of black box testing is not related to testing of a specific functionality, but non-functional requirements such as performance, scalability, usability.
• Regression testing - Regression Testing is done after code fixes, upgrades or any other system maintenance to check the new code has not affected the existing code.
Advantages of Black Box Testing:-
• Efficient when used on large systems.
• Since the tester and developer are independent of each other, testing is balanced and unprejudiced.
• Tester can be non-technical.
• There is no need for the tester to have detailed functional knowledge of system.
Disadvantages of Black Box Testing:-
• Test cases are challenging to design without having clear functional specifications.
• It is difficult to identify tricky inputs if the test cases are not developed based on specifications.
• It is difficult to identify all possible inputs in limited testing time. As a result, writing test cases may be slow and difficult.