Professional Documents
Culture Documents
Overview
◼ White Box Testing
◼ Test Case Selection Strategies
◼ Control Flow Graph
◼ Basis Path Testing
◼ Loop Testing
◼ Coverage Based Testing
ISE
PROGRAM
…
If (a > b) Then
input Do something output
Else
Do other things
…
ISE
White Box Testing –
Advantages
◼ Can test those implemented
functionality
◼ Uncover types of errors different from
those detected by Black box testing
ISE
White Box Testing –
Disadvantages
◼ Cannot test those specified functions
which are not implemented
◼ Need to know the language syntax
◼ Need to wait until the source code is
ready
ISE
Example – GetExtraHours
public int getExtraHours() “test case inputs”
{ Implication: need
int hours, i; to set the values
hours = 0; of these variables
before calling the
i = 0;
getExtraHours()
while (i < numSession) method
{
if (session[i].status == EXTRA)
hours = hours + session[i].duration;
i++;
}
return hours;
}
ISE
2
3
4
Stop 6
ISE
Loop Testing
◼ Select test cases to exercise various
possibilities that a loop can be executed
◼ Advantages
◼ uncover initialization failures
◼ uncover indexing and incremental failures
◼ uncover boundary failures at loop limits
ISE
Unit Testing
◼ A unit may be
◼ a module (structural approach); or
◼ a method in a class (OO approach)
◼ Test the functionality of each unit
ISE
Integration Testing
◼ Test two or more units integrated
together
◼ Detect faults related to parameters
passing between units to be tested
◼ Need driver modules and stub modules
ISE
Integration Testing – Different
Ways
◼ Non-Incremental
◼ Big-bang integration
◼ Incremental
◼ Bottom-up integration
◼ Top-down integration
◼ Hybrid/Sandwich integration
ISE
B C D
E F G
ISE
System Testing
◼ Function Testing
◼ test the functions of the software
◼ Performance Testing
◼ test the performance of the software
◼ User Acceptance Testing
◼ test the functions and performance of the
software in the presence of users
ISE
Function Testing
◼ Concentrates on correctness of the
functions provided by the software
◼ Need valid inputs as well as invalid
inputs
ISE
Performance Testing
◼ Concentrates on the performance issues
such as
◼ Volume tests
◼ high volumes of data are involved
◼ Stress tests
◼ design for system that allows multiple users
◼ large number of users are involved
◼ Refer to Pfleeger 2001 (p.402-403) for
other types of performance tests
ISE
Usability Testing
◼ A kind of performance testing
◼ A controlled experiment to address user
interface requirements
◼ Focus on usability parameters
◼ End-users explore the look and feel of
screens, messages, reports, etc. in a
laboratory environment (such as the
one in SCHIL)
ISE
Usability Test
◼ 3 types
◼ Scenario test
◼ Prototype test
◼ Product test
ISE
Installation Testing
◼ Testing after installation of system in its
working environment
◼ Final test before system becomes
operational
ISE
Regression Testing
◼ A retest of a software system or a software
module after it has been modified (see
http://www.testingstandards.co.uk/living_glos
sary.htm)
◼ Examples: bug fixing, adding new functionalities,
…
◼ To ensure that faults have not been
introduced during the modification of the
software
◼ It is performed after the software/program
has been modified
ISE
Keywords
◼ Dynamic V&V ◼ Performance testing
◼ Error ◼ Regression testing
◼ Failure ◼ Static V&V
◼ Fault ◼ System testing
◼ Unit testing
◼ Function testing
◼ Usability testing
◼ Inspection
◼ User acceptance
◼ Installation testing testing
◼ Integration testing ◼ Validation
◼ Verification