BLACK BOX TESTING -
Testing without the knowledge of the internal workings of the application being tested. Tests are usually functional.Black Box Testing, also known as Behavioral Testing.
The internal structure/design/implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see.
The internal structure/design/implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see.
This method of attempts to find errors in the following
categories:
- Incorrect or missing functions
- Interface errors
- Errors in data structures or external database access
- Behavior or performance errors
- Initialization
and termination errors
LEVELS APPLICABLE TO
Black Box Testing method is applicable to all levels of the
software testing process:
- Module Level Testing
- Integration Level testing
- System Level Testing
- Acceptance Testing
EXAMPLE
A tester, without knowledge of the internal structures of a website, tests the web pages by using a browser; providing inputs (clicks, keystrokes) and verifying the outputs against the expected outcome.
BLACK BOX TESTING TECHNIQUES
Following are some techniques that can be used for designing black
box tests.
Equivalence partitioning
Equivalence Partitioning is a software test design technique that involves dividing input values into valid and invalid partitions and selecting representative values from each partition as test data.Boundary Value Analysis
Boundary Value Analysis is a software test design technique that involves determination of boundaries for input values and selecting values that are at the boundaries and just inside/outside of the boundaries as test data.Cause Effect Graphing
Cause Effect Graphing is a software test design technique that involves identifying the cases (input conditions) and effects (output conditions), producing a Cause-Effect Graph, and generating test cases accordingly.
BLACK BOX TESTING ADVANTAGES
- Tests are done from a user’s point of view and will help in exposing discrepancies in the specifications
- Tester need not know programming languages or how the software has been implemented
- Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of developer-bias
- Test cases can be designed as soon as the specifications are
complete
- Well suited and efficient for large code segments
BLACK BOX TESTING DISADVANTAGES
- Only a small number of possible inputs can be tested and many program paths will be left untested
- Without clear specifications, which is the situation in many projects, test cases will be difficult to design
- Tests can be redundant if the software designer/ developer has already run a test case.
- Ever wondered why a soothsayer closes the eyes when
foretelling events? So is almost the case in Black Box Testing.
- Limited Coverage since only a selected number of test
scenarios are actually performed.