Page 220 - DCAP405_SOFTWARE_ENGINEERING
P. 220
Unit 12: Testing Tactics
Notes
Example: If you divided 1 to 1000 input values in valid data equivalence class, then you
can select test case values like: 1, 11, 100, 950 etc. Same case for other test cases having invalid
data classes.
This should be a very basic and simple example to understand the Boundary value analysis and
Equivalence partitioning concept.
Advantages of Black-box Testing
1. Tester can be non-technical.
2. Used to verify contradictions in actual system and the specifications.
3. Test cases can be designed as soon as the functional specifications are complete
Disadvantages of Black-box Testing
1. The test inputs needs to be from large sample space.
2. It is difficult to identify all possible inputs in limited testing time. So writing test cases is
slow and difficult.
3. Chances of having unidentified paths during this testing.
12.3 Fault-based Testing
The strategy for fault based testing is to hypothesize a set of plausible faults and then derive tests
to prove each hypothesis. The objective of fault based testing within an object oriented system
is to design tests that have a higher possibility of uncovering plausible errors. Test cases are
designed to exercise the design or code and to determine whether faults exist. This approach is
really no better than any random testing technique if faults in object oriented systems are
implausible.
Three types of faults are encountered when integration testing looks for plausible faults in
operation calls or message connections. These faults are:
1. unexpected result.
2. wrong operation/message used.
3. incorrect invocation.
Integration testing applies to attributes as well as operations. Integration testing attempts to
find errors in the client side and not the server.
1. Testing that employs a test data selection strategy designed to generate test data capable
of demonstrating the absence of a set of pre-specified faults, typically, frequently occurring
faults.
2. This type of testing allows for designing test cases based on the client specification or the
code or both. It tries to identify plausible faults (areas of design or code that may lead to
errors). For each of these faults a test case is developed to “flush” the errors out. These tests
also force each line of code to be executed
LOVELY PROFESSIONAL UNIVERSITY 213