Using black box approach to test case design
Given the black box test strategy where we are considering only inputs and outputs as a basis for designing test cases, how do we choose a suitable set of inputs from the set of all possible valid and invalid inputs? Keep in mind that infinite time and resources are not available to exhaustively test all possible inputs. This is prohibitively expensive even if the target software is a simple software unit. As a example, suppose you tried to test a single procedure that calculates the square root of a number. If you were to exhaustively test it you would have to try all positive input values. This is daunting enough! But, what about all negative numbers, fractions? These are also possible inputs. The number of test cases would rise rapidly to the point of infeasibilty. The goal for the smart tester is to effectively use the resources available by developing a set of test cases that gives the maximum yield of defects for the time and effort spent. To help achieve this goal using the black box approach we can select from several methods. Very often combinations of the methods are used to detect different types of defects. Some methods have greater practicality than others.