0% found this document useful (0 votes)
12 views27 pages

Comprehensive Guide to Software Testing

The document provides an overview of software testing, including definitions of key terms such as error, bug, fault, and failure, as well as the objectives and types of testing. It distinguishes between verification and validation, explains the difference between testing and debugging, and outlines various testing methodologies including white box, black box, unit, integration, and system testing. Additionally, it covers the roles of testers, the importance of early bug detection, and the processes involved in different types 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)
12 views27 pages

Comprehensive Guide to Software Testing

The document provides an overview of software testing, including definitions of key terms such as error, bug, fault, and failure, as well as the objectives and types of testing. It distinguishes between verification and validation, explains the difference between testing and debugging, and outlines various testing methodologies including white box, black box, unit, integration, and system testing. Additionally, it covers the roles of testers, the importance of early bug detection, and the processes involved in different types 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

Types Of Testing

Presented By:
Y. VENKATESWARA REDDY
Introduction & Fundamentals
What is Software Testing?
Why testing is necessary?
Who does the testing?
What do we test?
Error ,Bug ,Fault ,Failure
 A person makes an Error That creates a fault in software
That can cause a failure in operation Bug, Fault & Failure.
Error : An error is a human action that produces the
incorrect result.
 Bug : The presence of error at the time of execution of
the software.
 Fault : State of software caused by an error.
 Failure : Deviation of the software from its expected
result.
Objectives of testing
The aim of the testing is to identify all defects
existing in a software product. It is not possible to
guarantee that the software is error free. This is
because of the fact that the input data domain of
most software products is very large.
 A good test case is one that has a high probability of
finding an as-yet-undiscovered error.
 A successful test is one that uncovers an as-yet-
undiscovered error.
What testing cannot do ?
o Cannot show the absence of errors.
Objectives of a Software Tester
Find bugs as early as possible and make sure they get
fixed.
To understand the application well.
Study the functionality in detail to find where the
bugs are likely to occur.
Study the code to ensure that each and every line of
code is tested.
Create test cases in such a way that testing is done to
uncover the hidden bugs and also ensure that the
software is usable and reliable.
Verification & Validation
Verification - refers to the set of activities that ensure
that software correctly implements a specific
function.
Validation- refers to a different set of activities that
ensure that the software that has been built is
traceable to customer requirements.
Verification: "Are we building the product right?"
Validation: "Are we building the right product?"
Testing Vs Debugging
Debugging is not Testing.
Debugging always occurs as a consequence of
testing.
Debugging attempts to find the cause of an error and
correct it.
When to Start Testing in SDLC
Phases of SDLC
 Feasibility Study
 Requirements Analysis and Specification
 Design
 Coding
 Testing
 Maintenance
Types Of Testing

White Box Testing Black Box Testing


System Testing
Usability Testing
Static Testing Dynamic Testing Performance Test
Walkthrough Unit Testing
Code Reviews Integration Testing
Code Inspection Regression Testing
White Box Testing
The internals of software are tested to make sure that they
operate according to specification and design.
Test cases are based on internal structure of software.
Areas
Code Coverage ,Statement Coverage, Branch Coverage,
Condition Coverage ,Loop Coverage, Path Coverage ,Data
Flow Coverage.
• Techniques
o Flow graph testing ,Graph matrices ,Control structure testing ,
Data flow testing.
Static Testing
Static testing of a program carried out without executing the
program.
It aims to find defects in the software product in the early
stages of software development, so that they can be fixed
easily.
It can find errors that occur on paths uncovered by testing
It explores all possible execution paths in a program at compile
time.
Who
o By a team of individuals.
o By individual who didn’t write the code.
Code Review
o A code review can be done as a special kind of inspection in
which the team examines a sample of code and fixes any
defects in it. In a code review, a defect is a block of code which
does not properly implement its requirements, which does not
function as the programmer intended.
o Are the variables name meaningful?
o Are the variables initialized?
o Are pointers initialized properly?
o Are there infinite loops?
o Has the usage of operators like = and == or & and && been
checked or not?
Code Inspection
It is the most formal technique.
 The aim of this review type is to uncover defects in the
document in the early stages of software development
and thereby improve the quality of the product.
An inspection is one of the most common review
practices found in software projects. In an inspection, a
work product is selected for review and a team is
gathered for an inspection meeting to review the work
product.
The goal of the inspection is to identify defects.
Code Inspection(continued…)
The stages in the inspections process are:
Planning: The inspection is planned by the moderator.
Overview meeting: The author describes the background of the work product.
Preparation: Each inspector examines the work product to identify possible defects.
Inspection meeting: During this meeting the reader reads through the work product,
part by part and the inspectors point out the defects for every part.
Rework: The author makes changes to the work product according to the action plans
from the inspection meeting.
Follow-up: The changes by the author are checked to make sure everything is correct.
The process is ended by the moderator when it satisfies some predefined exit criteria.
Unit Testing
Objectives
The primary goal of unit testing is to take the smallest
module of testable software, and running it in isolation by
using prepared test cases and comparing with the actual
result to test the interfaces between modules.
When
After modules are coded
Who
Developer/programmer
Methods
o White Box testing techniques
What are Stubs, Drivers ?
A stub is a computer program which is used as a
substitute for the body of a software module or a dummy
module which simulates the function of a module called
by a given module under test.
Driver a module which transmits test cases in the form of
input arguments to the given module under test and
either prints or interprets the results produced by it.
Integration Testing
Objectives
To technically verify proper interfacing between modules,
and within sub-systems that satisfy functional
requirement.
When
After modules are unit tested
Who
Developers/Programmer
Methods
o White Box techniques
o Black Box techniques
Types Of Integration Testing
Top-Down Integration testing

Bottom-Up Integration testing


Top Down Integration Testing

Stub
Stub A

A
stub
Stub B

B Stub
Stub C

Stub
Bottom Up Integration testing

Test Test Test


Drivers Drivers Drivers

Level N Level N Level N

Test Test
Drivers Drivers

Level N-1 Level N-1


Regression Testing
Objectives
o It is used to checks faults, defects propagated to other
modules by changes made to existing program.
o This testing is used to reduce the side effects of changes.
o Testing is done by re-executing the previous versions of
the application.
Who
Programmers or independent testers
Black Box Testing
In the black-box testing approach, test cases are designed
using only the functional specification of the software, i.e.
without any knowledge of the internal structure of the
software.
It explains the process of giving the input to the system
and checking the output, without considering how the
system generates the output. It is also known as
Behavioral Testing.
It attempts to find error in the external behavior of the
code.
System Testing
Objectives
The goal of system testing is not to find out faults but to
demonstrate performance.
What
The system testing is actually a series of different tests , primary
purpose of which is to fully exercise the system.
All work to verify that all system elements have been properly
integrated and perform allocated functions.
When
After Integration Testing
Who
Development Team
Acceptance Testing
Objectives
To verify that the system meets the user requirements.
It is the system testing performed by the customer him/herself
after the product delivery to determine whether to accept or
reject the delivered product.
When
After System Testing
Who
Users / End Users
Methods
o Black Box techniques
Alpha Testing
It is a testing in which the version of complete software is
tested by the customer under the supervision of
developer.
This testing is performed at the developer's site in a
control environment under the guidance of a developer.
Beta Testing

It is a testing in which software is tested by a customer


without the developer being present.
This testing is performing at the customer's site.
Customer records the problems and reports it to the
developer then the developer makes appropriate
modifications.
Thank You

You might also like