Black-box Testing



Black-box testing (functional testing):
It is a type of software testing that examines the functionality of an application without peering into an internal structure. It is also called behavioral testing.
Tools used for black-box technique:
Record and playback tools: These are used for regression testing
Advantages:
        I.            Tester can be non-technical
      II.            Test cases can be designed as soon as the functional specifications are complete
Disadvantages:
        I.            Writing test cases is slow and difficult.
      II.            Chances of having unidentified paths during this testing
Typical test design techniques:
Decision table testing:  it is a good way to deal with a combination of things (inputs). This is also called ‘cause-effect’ table. The reason for this is that there is an associated logic diagramming technique called ‘cause-effect graphing’ which was sometimes used to help derive the decision table.
All pairs testing (pair wise testing): it is a combinational method of software testing. Each pair of input parameters to a system, tests all possible discrete combinations of those parameters.
Equivalence partitioning: it divides the input data of the software unit into partitions of equivalent data from which test cases can be derived.
Boundary value analysis: In which tests are designed to include representatives of boundary values in a range.
Cause-effect graph: it is a directed graph that maps a set of causes to a set of effects. The causes may be thought as the input to the program, and the effects may be thought as the output.
Error guessing: it is a test method in which test cases used to find bugs in programs are established based on experience in prior testing.


State transition testing: it is used when the system is defined in terms of a finite number of states and the transition between states is governed by the rules of the system.