0% found this document useful (0 votes)
85 views44 pages

Testing Levels

1. Unit testing tests individual modules, integration testing tests interfaces between modules, and system testing tests the fully integrated system against requirements. Acceptance testing tests whether users accept the application. 2. Performance testing evaluates non-functional requirements like usability, load, volume, recovery, compatibility and more to ensure the system meets performance standards. 3. Different testing types are used at various stages of development and integration to find and address bugs at an early stage.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views44 pages

Testing Levels

1. Unit testing tests individual modules, integration testing tests interfaces between modules, and system testing tests the fully integrated system against requirements. Acceptance testing tests whether users accept the application. 2. Performance testing evaluates non-functional requirements like usability, load, volume, recovery, compatibility and more to ensure the system meets performance standards. 3. Different testing types are used at various stages of development and integration to find and address bugs at an early stage.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

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

 UNIT TESTING is a type of software testing where individual


units or components of a software are tested.
 The purpose is to validate that each unit of the software code
performs as expected.
 Unit Testing is done during the development (coding phase)
of an application by the developers.

4
Integration testing

 After different modules of a system have


been coded and unit tested:
 modules are integrated in steps according
to an integration plan
 partially integrated system is tested at
each integration step.

5
System Testing

System testing:
validatea fully developed
system against its
requirements.

6
Integration Testing

 Develop the integration


plan by examining the
structure chart :
bigbang approach
top-down approach
bottom-up approach
mixed approach
7
Example Structured Design

root
Valid-numbers rms
rms
Valid-numbers

Get-good-data Compute-solution Display-solution

Validate-data
Get-data

8
Big bang Integration Testing

 Bigbang approach is the


simplest integration testing
approach:
allthe modules are simply put
together and tested.
this technique is used only for
very small systems.
9
10
Big bang Integration Testing

 Main problems with this approach:


if an error is found:
itis very difficult to localize the error
the error may potentially belong to any
of the modules being integrated.
debugging errors found during big
bang integration testing are very
expensive to fix.

11
Bottom-up Integration Testing

 Integrateand 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.
Thisextreme case corresponds to the big
bang approach.

12
13
Top-down integration testing

 Top-down integration testing starts with the main


routine:
 and one or two subordinate routines in the system.
 After the top-level 'skeleton’ has been tested:
 immediate subordinate modules of the 'skeleton’ are
combined with it and tested.

14
Mixed integration testing

Mixed (or sandwiched)


integration testing:
uses both top-down and
bottom-up testing
approaches.
Most common approach
15
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

 Integration can be incremental


or phased.
 In incremental integration
testing,
only one new module is added to
the partial system each time.
17
Phased versus Incremental Integration
Testing

In phased integration,


a group of related modules
are added to the partially
integrated system each time.
Big-bang testing:
a degenerate case of the
phased integration testing.
18
System Testing

System tests are designed


to validate a fully
developed system:
to assure that it meets its
requirements (SRS).
19
System Testing

The purpose of a system test is to


evaluate the end-to-end system
specifications.

20
System Testing

During system testing, in


addition to functional tests:
performance tests are
performed.

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

Beta testing is the system


testing:
performed by a selected group
of friendly customers.

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

These tests are needed


when the system
interfaces with other
systems:
check whether the
interface functions as
required.
31
Compatibility testing
Example

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

 These tests check response to:


presence of faults or to the
loss of data, power, devices, or
services
subject system to loss of
resources
check if the system recovers
properly.
33
Maintenance 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

Check that required


documents exist and are
consistent:
userguides,
maintenance guides,
technical documents
36
Documentation tests

Sometimes requirements
specify:
format and audience of
specific documents
documents are evaluated
for compliance
37
Usability tests

 Allaspects of user interfaces


are tested:
Display screens
messages
report formats
navigation and selection
problems
38
Environmental test
 These tests check the system’s ability to
perform at the installation site.
 Requirements might include tolerance for
 heat
 humidity
 chemical presence
 portability
 electrical or magnetic fields
 disruption of power, etc.

39
Test Summary Report

 Generated towards the end


of testing phase.
 Covers each subsystem:
a summary of tests which
have been applied to the
subsystem.

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

Does not belong to either


unit test, integration
test, or system test.
In stead, it is a separate
dimension to these three
forms of testing.
42
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

Regression tests assure:


the new system’s
performance is at least as
good as the old system
always used during phased
system development.
44

You might also like