[Continuing the basics of testing…]
Testing techniques can be used to effectively design efficient test cases.These techniques can be grouped into black-box and white-box techniques. Find below some of the techniques
Black-Box Testing techniques
When creating black-box test cases, the input data used is critical. Three successful techniques for managing the amount of input data required include:
Equivalence Partitioning
An equivalence class is a subset of data that is representative of a larger class.Equivalence partitioning is a technique for testing equivalence classes rather thanundertaking exhaustive testing of each value of the larger class. For example, aprogram which edits credit limits within a given range (1,000 – 1,500) would have three equivalence classes:
< 1,000 (invalid)
Between 1,000 and 1,500 (valid)
> 1,500 (invalid)
Boundary Analysis
A technique that consists of developing test cases and data that focus on the input and output boundaries of a given function. In same credit limit example, boundary analysis would test:
Low boundary +/- one (999 and 1,001)
On the boundary (1,000 and 1,500)
Upper boundary +/- one (1,499 and 1,501)
Error Guessing
Test cases can be developed based upon the intuition and experience of the tester. For example, in an example where one of the inputs is the date, a tester may try February 29, 2000
White-Box Testing techniques
White-box testing assumes that the path of logic in a unit or program is known. White-box testing consists of testing paths, branch by branch, to produce predictable results. The following are white-box testing techniques:
Statement Coverage
Execute all statements at least once.
Decision Coverage
Execute each decision direction at least once.
Condition Coverage
Execute each decision with all possible outcomes at least once.
Decision/Condition Coverage
Execute all possible combinations of condition outcomes in each decision. Treat all iterations as two-way conditions exercising the loop zero times and one time.
Source: softwaretestingsucks.com