0% found this document useful (0 votes)
24 views14 pages

Levels of Testing

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views14 pages

Levels of Testing

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Levels of Testing

Levels of Testing
• The code contains requirement defects, design defects, and coding
defects
• Nature of defects is different for different injection stages
• One type of testing will be unable to detect the different types of
defects
• Different levels of testing are used to uncover these defects

Testing 2
User needs Acceptance testing

Requirement System testing


specification

Design Integration testing

code Unit testing


Testing 3
Unit Testing
• Different modules tested separately
• Focus: defects injected during coding
• Essentially a code verification technique
• UT is closely associated with coding
• Frequently the programmer does UT; coding phase sometimes called
“coding and unit testing”

Testing 4
Integration Testing
• Focuses on interaction of modules in a subsystem
• Unit tested modules combined to form subsystems
• Test cases to “exercise” the interaction of modules in different ways
• May be skipped if the system is not too large

Testing 5
System Testing
• Entire software system is tested
• Focus: does the software implement the requirements?
• Validation exercise for the system with respect to the requirements
• Generally the final testing stage before the software is delivered
• May be done by independent people
• Defects removed by developers
• Most time consuming test phase

Testing 6
Acceptance Testing
• Focus: Does the software satisfy user needs?
• Generally done by end users/customer in customer environment, with
real data
• Only after successful UAT software is deployed
• Any defects found, are removed by developers
• Acceptance test plan is based on the acceptance test criteria in the
SRS

Testing 7
Other forms of testing
• Regression testing

• test that previous functionality works alright


• important when changes are made
• Previous test records are needed for comparisons
• Prioritization of test cases needed when complete test suite cannot be
executed for a change

Testing 8
Performance testing
• to check how software performs under workload in terms of responsiveness and
stability.
• goal is to identify and remove Performance bottlenecks

• Load Testing is a type of performance testing conducted to evaluate the behavior


of a system at increasing workload.
• Stress Testing is a type of performance testing conducted to evaluate the
behavior of a system at or beyond the limits of its anticipated workload
• Endurance Testing is a type of performance testing conducted to evaluate the
behavior of a system when a significant workload is given continuously
• Spike Testing is a type of performance testing conducted to evaluate the behavior
of a system when the load is suddenly and substantially increased
• Smoke testing
• determines whether the employed build is stable or not
• confirmation whether the quality assurance team can proceed with further
testing
• also known as Confidence Testing or Build Verification Testing
• To detect any early defects in software product
• To demonstrate system stability
• Sanity Testing
• performed to ensure that the code changes that are made are working as
properly
• not detailed testing
• to determine that the changes or the proposed functionality are working as
expected
• It is performed only after the software product has passed the smoke test
 Subset of Regression Testing
 Unscripted
 Not documented
 Narrow and deep
 Performed by testers
Difference : Smoke & Sanity
Testing
• Smoke testing is a wide approach where all areas of the software
application are tested without getting into too deep. However, a
sanity software testing is a narrow regression testing with a focus on
one or a small set of areas of functionality of the software application.
• The test cases for smoke testing of the software can be either manual
or automated. However, a sanity test is generally without test scripts
or test cases.
• Smoke testing is done to ensure whether the main functions of the
software application are working or not. However, sanity testing is
done whenever a quick round of software testing can prove that the
software application is functioning according to business / functional
requirements.
• Smoke testing of the software application is done to check whether
the build can be accepted for through software testing. Sanity testing
of the software is to ensure whether the requirements are met or not.

You might also like