Sei sulla pagina 1di 27

Types Of Testing

Presented By:
Sonam Agarwal
3ird year, IT

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 asyet-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
Box Testing

Black

System Testing
Usability Testing
Static Testing Dynamic Testing
Performance Test
Walkthrough
Unit Testing
Code Reviews
Integration 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 didnt 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.

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
oWhite 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

Bottom-Up

Integration testing
Integration testing

Top Down Integration


Testing
Stub

Stub

A
Stub

stub
B

Stub
Stub

C
Stub

Bottom Up Integration
testing
Test
Drivers

Level N

Test
Drivers

Test
Drivers

Level N

Level N

Test
Drivers

Test
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

Potrebbero piacerti anche