Professional Documents
Culture Documents
is a level of test?
Defined by a given Environment
Environment is a collection of people, hard
ware, software, interfaces, data etc.
Levels of testing imbursement
R Acceptance Testing
E
Q Validation Testing
D
e
System Testing
System Testing
s
i
g
n
Integration Testing
Integration Testing Integration Testing
Testing
Integration
C
o
d
e Unit Testing
Testing
Unit
Unit or Module Testing
A unit is smallest testable piece of software
– can be compiled, linked, loaded
– e.g functions/procedures, classes, interfaces
– normally done by programmer
– Test cases written after coding
Disadvantage
Test cases written to suit programmer’s
implementation (not necessarily specification
Better to use “Buddy Testing”
Buddy Testing
Team approach to coding and testing.
One programmer codes the others
tests and vice versa.
Test Cases-written by tester( before
coding starts). Better than single work
approach.
Objectivity
Cross-training
Models program specification requirement
Integration testing
Integration testing is intended to find bugs
in interfaces between modules.
In integration we assemble units together
into subsystems and finally into systems. It
is possible for units to function perfectly in
isolation but to fail when integrated
It has 3 Approaches
Top Down Testing
Bottom-Up Testing
Sandwich Testing
Top-Down Testing
Tests the high levels of a system before
testing its detailed components.
The program is represented as a single abstract
component with sub-components represented by
stubs.
Advantage
Should be used with top-down program
development.
A limited, working system is available at an early
state in the development.
Disadvantage
Strict top-down testing is difficult to
implement because of the
requirement that program stubs,
simulating lower level of the
system , must be produced.
Test output may be difficult to
observe.
Collections of objects are not usually
in a strictly hierarchical way.
Example component hierarchy
B C D
E F G
Bottom up testing
Tests the modules at the lower levels
in the hierarchy, and then working up
the hierarchy of modules until the final
module is tested.
Component driver
Appropriate for object-oriented
systems.
Bottom-up testing : example
Test
E Test
B,E,F
Test
Test A,B,C,D,
Test
F E,F,G
C
Test Test
G D,G
Sandwich testing
System is viewed as three layers.
A top-down approach is used in the
top layer and a bottom-up approach in
the lower layer.
Modified sandwich testing allows
upper level components to be tested
before merging them with others.
Test
E
Test
B,E,F
Test
F
Test
Test
A,B,C,D,
Test D,G
E,F,G
G
Test
A
Test Test
E B
Test
F Test
B,E,F
Test
Test Test A,B,C,D,
G D E,F,G
Test
Test D,G
A
Test
C
System Testing
A system consists of all of the software (and
possibly hardware, user manuals, training
materials, etc.).
System testing focuses on defects that arise at
this highest level of integration.
Typically system : functionality, usability,
security, ..
The following tests can be categorized under
System testing:
Recovery Testing.
Security Testing.
Performance Testing.
a)Stress b)Load
Recovery Testing
It is a system test that forces the software
to fail in a variety of ways and verifies that
recovery is properly performed.
If recovery is automatic, reinitialization,
checkpointing mechanisms, data recovery
and restart are evaluated for correctness. If
recovery requires human intervention, the
mean-time-to-repair (MTTR) is evaluated to
determine whether it is within acceptable
limits.
Security Testing
Security testing attempts to verify
that protection mechanisms built into
a system will, in fact, protect it from
improper penetration. During Security
testing, password cracking,
unauthorized entry into the software,
network security are all taken into
consideration.
Performance Testing
Performance tests are coupled with
stress testing and load testing,
usually require both hardware and
software instrumentation.
Stress Testing
Stress testing executes a system in a
manner that demands resources in
abnormal quantity, frequency, or
volume.
Running the software under less
condition.
Low memory, low disk space and so
on
Load Testing