2. 2
Strategies
Top down
Skeleton of system is completed
Individual models replaced by
stubs displaying messages
As modules completed they are
embedded into the system
skeleton and tested
3. 3
Strategies
Bottom up
Individual modules tested in a
stand-alone fashion
Individual modules combined into
larger units and tested together
Full system test
4. 4
Planning Testing
Good testing requires:
A thorough knowledge and
understanding of what the system
is supposed to do
Preparation of ‘expected results’ to
be used in testing activities
Identification of system limits
Creation of test data
5. 5
Objectives of testing
Does the logic work properly?
Does the system work as
intended?
Can system be made to crash?
Is all necessary logic present?
Is any functionality missing?
Does system do everything
specified?
6. 6
Functional Testing
(Black Box Testing)
Carried out independently of the
system
Involves looking at the systems
specification and creating test data
that covers all inputs and outputs
of the function
7. 7
Logical Testing (White
Box Testing)
Testing the logic of the system
Involves studying the system to
attempt to test each logic path at
least once
e.g. Testing an IF statement in a
program or testing validation rule in
a database
8. 8
Problems
Black box testing does not test all
logical paths in a system unless
sufficient test data is created
(which is often not easy to identify)
White box testing does not detect
missing functions because you can
not test what is not there!
10. 10
Test Plan
You should consider:
Purpose of test
Objectives and what part of system
is being tested
Location and timing
Where and when
11. 11
Test description
What the inputs are and what the
expected outputs are
Test procedure
How test data is prepared
How output results will be captured
How results will be analysed
Test Plan
12. 12
Testing for Recovery
Test to ensure that system can
recover from various types of
failure
This is important in real-time
systems controlling physical
devices or in large on-line
databases
Simulation of hardware and power
failures
14. 14
Test Data
3 categories of test data
Normal data defined as most general
data that the system was designed to
handle
Extreme data defined as valid data
tested at upper and lower limits of
acceptability (boundary testing)
Exceptional data defined as data
which the system is capable of detecting
and rejecting
15. 15
Designing Test Data
Live data testing
Tester selects examples of live
data from the system which fulfil
the conditions to be tested
Manual calculations are
undertaken
Results compared
16. 16
Designing Test Data
Historical data
Sampling of transactions that have
already taken place
These transactions are then
passed through the system
Results compared
17. 17
Designing Test Data
Dummy test data
Fictitious data created to test conditions
Creation of dummy files specifically for
testing purposes
Useful for:
Validating data preparation procedures
Validation controls
Computational and logical processes
18. 18
Ensure that:
All system outputs are tested
Information produced is accurate
Information produced is realistic
and has value