Testing Levels
Testing Levels
1
2
Testing LEVELS
Unit testing:
test the functionalities of a single module or function.
Integration testing:
test the interfaces among the modules.
System testing:
test the fully integrated system against its functional and non-
functional requirements.
Aceptance Testing:
Test whether the application is accepted by the users or not
3
UNIT TESTING
4
Integration testing
5
System Testing
System testing:
validatea fully developed
system against its
requirements.
6
Integration Testing
root
Valid-numbers rms
rms
Valid-numbers
Validate-data
Get-data
8
Big bang Integration Testing
11
Bottom-up Integration Testing
12
13
Top-down integration testing
14
Mixed integration testing
In top-down approach:
testing waits till all top-level
modules are coded and unit
tested.
In bottom-up approach:
testing can start only after
bottom level modules are ready.
16
Phased versus Incremental
Integration Testing
20
System Testing
21
Performance Testing
Addressesnon-functional
requirements.
May sometimes involve testing
hardware and software together.
There are several categories of
performance testing.
22
Types of SYSTEM
(Performance) TESTING
1. Usability Testing- mainly focuses on the user's ease to use the application,
flexibility in handling controls and ability of the system to meet its objectives
2. Regression Testing- involves testing done to make sure none of the changes
made over the course of the development process have caused new bugs.
It also makes sure no old bugs appear from the addition of new software
modules over time.
3. Storage Testing: Testing type that verifies the program under test stores data
files in the correct directories and that it reserves sufficient space to prevent
unexpected termination resulting from lack of space. It is usually performed by
the testing team
23
4. Recovery testing - is done to demonstrate a software solution is
reliable, trustworthy and can successfully recoup from possible crashes.
5. Migration testing- is done to ensure that the software can be moved
from older system infrastructures to current system infrastructures
without any issues.
Backward Compatibility Testing: Testing method which verifies the
behavior of the developed software with older versions of the test
environment. It is performed by testing team.
6. Load Testing: Testing technique that puts demand on a system or device
and measures its response. It is usually conducted by the performance
engineers.
24
Acceptance Testing
1.ALPHA TESTING:
Testing is carried out by the
test team within the developing
organization.
25
Beta Testing
26
27
Some more types
of performance
testing:
28
Volume Testing
Addresses
handling large
amounts of data in the system:
whether data structures (e.g.
queues, stacks, arrays, etc.) are
large enough to handle all
possible situations
Fields, records, and files are
stressed to check if their size
can accommodate all possible
data volumes.
29
Configuration Testing
Analyze system behavior:
in various hardware and software
configurations specified in the
requirements
sometimes systems are built in various
configurations for different users
for instance, a minimal system may serve
a single user,
other configurations for additional users.
30
Compatibility Testing
If a system is to
communicate with a large
database system to
retrieve information:
a compatibility test
examines speed and
accuracy of retrieval.
32
Recovery Testing
Diagnostictools and
procedures:
help find source of problems.
It may be required to supply
memory maps
diagnostic programs
traces of transactions,
circuit diagrams, etc.
34
Maintenance Testing
Verify that:
allrequired artifacts for
maintenance exist
they function properly
35
Documentation tests
Sometimes requirements
specify:
format and audience of
specific documents
documents are evaluated
for compliance
37
Usability tests
39
Test Summary Report
40
Test Summary Report
Specifies:
how many tests have been applied to a subsystem,
how many tests have been successful,
how many have been unsuccessful, and the degree to which they have been
unsuccessful,
e.g. whether a test was an outright failure
or whether some expected results of the test were actually observed.
41
Regression Testing
Regressiontesting is the
running of test suite:
aftereach change to the
system or after each bug fix
ensures that no new bug has
been introduced due to the
change or the bug fix.
43
Regression testing