Only input & output functionality are visible.
Inputs are given specification. and
outputs
are
compared
against
Features:
Correct outputs from inputs properly.
Test cases are designed from user requirements.
Test planning can begin early in the software process.
Looking at the program from an external point of view.
Black Box Testing
Input Test Data
I
Inputs causing anomalous behavior System
output Test Results O
Outputs which reveal the presence of defects
Black Box Testing is a “Expert” in Finding
Incorrect or missing functions.
Interface errors
Behavior or performance errors.
Initialization and termination errors.
Errors in data structures
External database errors.
Graph Based Testing Methods
Each and every application is build up of some objects. All such objects are identified and graph is prepared. From this object graph each object relationship is identified and test cases written accordingly to discover the errors.
Sample Graph Notation
Object
1
Directed
Link
Object
2
Object
3
•Nodes are represented as circles.
•Links between nodes are categorized as:
• Directed Link (one direction)
• Bidirectional or Undirected or Symmetric Link: both directions.
• Parceled links: different relationships established between nodes.
Error Guessing Testing Methods
This is purely based on previous experience and judgment of tester.
Error Guessing is the art of guessing where errors can be hidden.
For this technique there are no specific tools, writing the test cases that cover all the application paths.
Methods of Black box
Testing
1. 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.
2. Boundary Value Analysis
Value Analysis is a software test design technique that
(BVA) Boundary 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.
3. 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.
4. Orthogonal Array Testing
Used to finding errors associated with region faults.
number of inputs to the system is relatively small, but too large to allow for exhaustive testing of every possible input to the systems.
It provides good test coverage with test cases.
5. Syntax Driven Testing
Very good methodology for compliers and parsers.
Use BNF notation.