Page 271 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 271
Unit 13: Testing
advantages of black box testing includes that it is very efficient for large segments of code. It Notes
clearly separates user’s perspective from developer’s perspective. The code access not required.
It is very easy to execute. The disadvantage of black box testing includes limited code path
coverage as limited number of inputs can be checked. It cannot control targeting code segments
or paths which may be more error prone than others.
Advantages of Black Box Testing
• Efficient when used on Larger systems
• As the tester and developer are independent of each other, test is balanced and unprejudiced.
• Tester can be non technical.
• There is no need of having detailed functional knowledge of system to the tester.
• Tests will be done from a end user’s point of view. Because end user should accept the
system. (This is reason; sometimes this testing technique is also called as Acceptance
testing).
• Testing helps to identify the vagueness and contradiction in functional specifications.
• Test cases can be designed as soon as the functional specifications are complete.
Disadvantages of Black Box Testing
• Test cases are tough and challenging to design, without having clear functional specifications.
• It is difficult to identify tricky inputs, if the test cases are not developed based on
specifications.
• It is difficult to identify all possible inputs in limited testing time. So writing test cases is
slow and difficult.
• Chances of having unidentified paths during this testing.
• Chances of having repetition of tests that are already done by programmer.
13.4.5 Equivalence Class Partitioning
Testing based on equivalence class analysis (synonyms equivalence partitioning, domain analysis)
is a form of black box test analysis that attempts to reduce the total number of potential tests to
a minimal set of tests that will uncover as many errors as possible It is a method that partitions
the set of inputs and Outputs into a finite number of equivalence classes that enable the selection
of a representative test value for each class. The test that results from the representative value
for a class is said to be “equivalent” to the other values in the same class. If no errors were
found in the test of the representative value, it is reasoned that all the other “equivalent” values
would not identify any errors either. The power of Equivalence Classes lies in their ability to
guide the tester using a sampling strategy to reduce the combinatorial explosion of potentially
necessary tests. The technique provides logical bases by which a subset of the total conceivable
number of tests can be selected. Here are some categories of problem areas for large numbers
of tests that can be benefit from the consideration of equivalence classes:
• Combinations of independent variables
• Dependent variables based on hierarchical relationship
• Dependent variables based on temporal relationship
• Clustered relationships based on market exemplars
• Complex relationships that can be modeled.
LOVELY PROFESSIONAL UNIVERSITY 265