Unit 4 Levels of Testing
Unit 4 Levels of Testing
1
Unit testing
During unit testing, modules are
tested in isolation:
If all modules were to be tested
together:
it may not be easy to
determine which module has
the error.
2
Unit testing
3
Stubs
The upper modules are prepared first and are ready for
testing. While the bottom modules are not yet prepared
by the developers. So in order to form the complete
application we create dummy programs for the lower
modules in the application. Hence all the functionalities
can be tested.
4
Driver
A driver is basically a piece of code through which other programs
or pieces of code or modules can be called. Drivers are the main
program through which other modules are called.
Testing of the bottom level modules is not possible with the help of
main program. So we prepare a dummy program or driver to call
the bottom level modules and perform its testing.
5
Stubs and Drivers Example
6
Stubs and Drivers Example
7
Integration testing
8
Integration Testing
9
Big bang Integration
Testing
10
Big bang Integration
Testing
12
Bottom-up Integration
Testing
Integrate and test the bottom level
modules first.
A disadvantage of bottom-up
testing:
when the system is made up of a
large number of small subsystems that
are at the same level.
This extreme case corresponds to the
big bang approach.
13
Bottom-up Integration
Testing
Advantages:
A principle advantage of this integration
testing is that several disjoint subsystems
can be tested simultaneously.
Low level modules get tested thoroughly
which increases the reliability of the
system.
14
Bottom-up Integration
Testing
15
Top-down integration
testing
16
Top-down integration
testing
17
Top-down integration
testing
18
Mixed integration testing
19
Mixed integration testing
20
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.
21
Phased versus Incremental
Integration Testing
22
Phased versus Incremental
Integration Testing
23
Phased versus Incremental
Integration Testing
24
System Testing
25
System Testing
26
Alpha Testing
27
Beta Testing
28
Acceptance Testing
29
System Testing
30
Performance Testing
Addresses non-functional
requirements.
May sometimes involve testing
hardware and software together.
There are several categories of
performance testing.
31
Stress testing
32
Stress testing
Stress testing a Non-Functional testing technique that is
performed as part of performance testing. During stress
testing, the system is monitored after subjecting the
system to overload to ensure that the system can sustain
the stress.
33
Stress Testing
34
Stress Testing
A most prominent use of stress testing is to
determine the limit, at which the system or
software or hardware breaks. It also checks whether
the system demonstrates effective error management
under extreme conditions.
35
Stress Testing (Real World Examples)
36
Volume Testing
VOLUME TESTING is a type of Software Testing, where
the software is subjected to a huge volume of data. It is
also referred to as flood testing. Volume testing is done
to analyze the system performance by increasing the
volume of data in the database.
Test the site behavior when there are more than 10,000
laptops are available under the 'laptops' category.
37
Configuration Testing
Configuration testing is defined as a software testing
type, that checks an application with multiple
combinations of software and hardware to find out the
optimal configurations that the system can work without
any flaws or bugs.
38
Configuration Testing
Various Configurations:
Operating System Configuration:Win XP,
Win 7 32/64 bit, Win 8 32/64 bit, Win 10 etc.
Database Configuration:Oracle, DB2, MySql,
MSSQL Serveretc.
Browser Configuration:IE 8, IE 9, Chrome,
Microsoft Edge etc.
39
Recovery Testing
40
Recovery Testing
While downloading a movie over a Wifi network, if we move to a
place where there is no network, then the downloading process will
be interrupted. Now to check if the process recovers from the
interruption and continues working as before, we move back to a
place where there is a Wifi network. If the downloading resumes,
then the software has a good recovery rate.
41
Maintenance Testing
Verify that:
all required artifacts for
maintenance exist
they function properly
42
Documentation tests
43
Usability tests
44
Security Testing
46
Regression testing
47
Regression testing
48