Beruflich Dokumente
Kultur Dokumente
Software Testing
Testing is the process of exercising a
program with the specific intent of finding
errors prior to delivery to the end user.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
developer
Understands the system
but, will test "gently"
and, is driven by "delivery"
independent tester
Must learn about the system,
but, will attempt to break it
and, is driven by quality
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
Testing Strategy
unit test
system
test
integration
test
validation
test
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
Testing Strategy
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
Strategic Issues
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
Unit Testing
module
to be
tested
results
software
engineer
test cases
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
10
Unit Testing
module
to be
tested
interface
local data structures
boundary conditions
independent paths
error handling paths
test cases
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
11
Module
boundary conditions
independent paths
error handling paths
stub
stub
test cases
RESULTS
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
12
Drivers/Stubs
Sl.No
Drivers
Stubs
4.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
13
Test Cases
A test case is a set of input data and expected results that exercises a
component with the purpose of causing failures and detecting faults.
A test case has five attributes:
1.Name:It allows the tester to distinguish between different test cases. Name
given should be meaningful.
Ex: If you are testing a use case Deposit() ,we can name it as Test_Deposit.
2.Location :Full path of executable
3.Input: Input data or commands
4.Expected test results
5.log:Output produced by the test(time stamped test results)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
14
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
15
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
16
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
17
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
18
Big bang testing strategy assumes that all components are first
tested individually and then tested together as a single system.
Big bang testing is expensive.
2 types of Integration testing:
Bottom up and top down testing
Bottom up testing strategy first test each component of the
bottom layer individually.
In Top down testing strategy unit tests the components of the
top layer first n then integrates the components of the next
layer
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
20
Bottom-Up Integration
A
cluster
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
21
Sandwich Testing
A
cluster
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
22
System Testing
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
23
24
Acceptance Testing:
The client prepares a set of test cases that represent typical conditions under
which the system should operate.
After the acceptance testing the client reports to the project manager which
requirements are not satisfied.
Installation Testing:
After the system is accepted , it is installed in the target environment. A good
testing plan allows the easy configuration of the system from the
development envi to target environment
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
25
Validation Testing
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
26
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
29
Software Testing
black-box
methods
white-box
methods
Methods
Strategies
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
30
White-Box Testing
31
+1
1) V(G) = E N + 2
= 11-9+2
2) V(G)= No. Predicate nodes
=3+1
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
32
Cyclomatic Complexity
A number of industry studies have indicated
that the higher V(G), the higher the probability
or errors.
modules
V(G)
modules in this range are
more error prone
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
33
Since V(G) = 4,
there are four paths
2
3
Path 1:
Path 2:
Path 3:
Path 4:
1,2,3,6,7,8
1,2,3,5,7,8
1,2,4,7,8
1,2,4,7,2,4,...7,8
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
34
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
35
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
36
Loop Testing
Simple
loop
Nested
Loops
Concatenated
Loops
Unstructured
Loops
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
37
38
39
Black-Box Testing
requirements
output
input
events
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
40
Black-Box Testing
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005
41