SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Presented by :- Miss Pragati khade
Dada Patil Mahavidyalaya Karjat
Introduction
A strategy for software testing integrates software test case
design methods into a Series of steps that result in the successful
development
A testing is a set of activities that can be planned in advance and
Conducted systematically . A number of Software Testing
approaches have been Proposed .
Characteristics of Software Testing Approaches
1 To perform effectieve Testing .
2 Testing Begins at componenet level and works forward the
integration of entire computer based system .
3 Different Testing Techniques are appropriate at different
Points in time .
4. Testing is conducted by the developer of the software and an
independent test group .
5. Debugging though different from testing must eb included in
any testing strategy .
Software Testing Strategy
The Software Process can be viewed as spiral .
UNIT TESTING
IT 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.
Unit Tests isolate a section of code and verify its
correctness.
A unit may be an individual function, method,
procedure, module, or object.
In SDLC, STLC, V Model, Unit testing is first level of testing done
before integration testing.
Unit testing is a WhiteBox testing technique that is usually
performed by the developer.
Unit Testing LifeCyle:
INTEGRATION TESTING
It is defined as a type of testing where software modules
are integrated logically and tested as a group.
A typical software project consists of multiple software
modules, coded by different programmers.
The purpose of this level of testing is to expose defects in
the interaction between these software modules when they are
integrated Integration Testing focuses on checking data
communication amongst these modules.
Hence it is also termed as 'I & T' (Integration and
Testing), 'String Testing' and sometimes 'Thread Testing'.
Software Engineering defines variety of strategies to execute
Integration testing, viz.
 Big Bang Approach :
Incremental Approach: which is further divided into the
following
1. Top Down Approach
2. Bottom Up Approach
3. Sandwich Approach - Combination of Top Down and
Bottom Up
Big Bang Testing
Big Bang Testing is an Integration testing approach in which all
the components or modules are integrated together at once and
then tested as a unit.
This combined set of components is considered as an
entity while testing.
If all of the components in the unit are not completed,
the integration process will not execute.
Advantages:
Convenient for small systems.
Disadvantages:
1. Fault Localization is difficult.
2. Given the sheer number of interfaces that need to be tested in
this approach, some interfaces link to be tested could be
missed easily.
3. Since the Integration testing can commence only after "all" the
modules are designed, the testing team will have less time for
execution in the testing phase.
4. Since all modules are tested at once, high-risk critical modules
are not isolated and tested on priority. Peripheral modules
which deal with user interfaces are also not isolated and
tested on priority.
Incremental Testing
In the Incremental Testing approach, testing is done by
integrating two or more modules that are logically related to
each other and then tested for proper functioning of the
application.
Then the other related modules are integrated
incrementally and the process continues until all the logically
related modules are integrated and tested successfully.
Incremental Approach, in turn, is carried out by two different
Methods:
- Bottom Up
-Top Down
Top-down Integration Testing
Top Down Integration Testing is a method in which
integration testing takes place from top to bottom following the
control flow of software system.
The higher level modules are tested first and then lower
level modules are tested and integrated in order to check the
software functionality.
Stubs are used for testing if some modules are not ready.
Advantages:
1. Fault Localization is easier.
2. Possibility to obtain an early prototype.
3. Critical Modules are tested on priority; major design flaws
could be found and fixed first.
Disadvantages:
1. Needs many Stubs.
2. Modules at a lower level are tested inadequately.
Bottom-up Integration Testing
Bottom-up Integration Testing is a strategy in which
the lower level modules are tested first.
These tested modules are then further used to
facilitate the testing of higher level modules.
The process continues until all modules at top level
are tested.
Once the lower level modules are tested and
integrated, then the next level of modules are formed.
Advantages:
1. Fault localization is easier.
2. No time is wasted waiting for all modules to be developed
unlike Big-bang approach
Disadvantages:
1. Critical modules (at the top level of software architecture)
which control the flow of application are tested last and
may be prone to defects.
2. An early prototype is not possible
S.No. TOP DOWN APPROACH BOTTOM UP APPROACH
1.
In this approach We focus on
breaking up the problem into
smaller parts.
In bottom up approach, we
solve smaller problems and
integrate it as whole and
complete the solution.
2.
Mainly used by structured
programming language such as
COBOL, Fortran, C, etc.
Mainly used by object
oriented programming
language such as C++, C#,
Python.
3.
Each part is programmed
separately therefore contain
redundancy.
Redundancy is minimized by
using data encapsulation and
data hiding.
4.
In this the communications is
less among modules.
In this module must have
communication.
5.
It is used in debugging,
module documentation, etc.
It is basically used in testing.
6.
In top down approach,
decomposition takes place.
In bottom up approach
composition takes place.
7.
In this top function of system
might be hard to identify.
In this sometimes we can not
build a program from the piece
we have started.
8.
In this implementation details
may differ.
This is not natural for people to
assemble.
Sandwich Testing
Sandwich Testing is the combination of bottom-up approach and top-down
approach, so it uses the advantage of both bottom up approach and top down
approach.
Initially it uses the stubs and drivers where stubs simulate the behaviour ogf
missing component. It is also known as the Hybrid Integration Testing.
Strategy used in Sandwich Testing:
1.It combines both top down and bottom up strategies.
2 .Sandwich testing is basically viewed as 3 layers:
(i) Main target layer
(ii) A layer above the target layer
(iii) A layer below the target layer
3 .In sandwich testing, testing is mainly focused for main target layer. This testing is
selected on the basis of system characteristics and structure’s code.
4. It tries to minimize the number of hubs and drivers when there are more than 3 layers.
How to perform Sandwich Testing?
There are 3 simple steps to perform sandwich testing which are given
below.
1 .Test the user interface in isolation using stubs.
2. Test the very lowest level functions by using drivers.
3. When the complete system is in integrated only main target (middle)
layer is remains for final test.
Advantage of Sandwich Testing:
Sandwich Testing approach is used in very large projects having sub projects.
It allows parallel testing.
Sandwich testing is time saving approach.
sandwich testing performs more coverage with same stubs.
Disadvantage of Sandwich Testing:
Sandwich Testing is very costly.
Sandwich Testing can not be used for such systems which have a lot of
interdependence between different modules.
In sandwich testing the need of stubs and drivers is very high.
Software Testing Technique
White Box Testing is software testing technique in which
internal structure, design and coding of software are
tested to verify flow of input-output and to improve
design, usability and security.
In white box testing, code is visible to testers so it is also
called Clear box testing, Open box testing, Transparent box
testing, Code-based testing and Glass box testing.
It is one of two parts of the Box Testing approach to
software testing.
The testing can be done at system, integration and unit levels of
software development. One of the basic goals of white box
testing is to verify a working flow for an application.
Code optimization by finding hidden errors.
White box tests cases can be easily automated.
Testing is more thorough as all code paths are usually covered.
Testing can start early in SDLC even if GUI is not available.
White box testing can be quite complex and expensive.
Developers who usually execute white box test cases detest it.
 The white box testing by developers is not detailed can lead to
production errors.
White box testing requires professional resources, with a
detailed understanding of programming and implementation.
White-box testing is time-consuming, bigger programming
applications take the time to test fully.
Black Box Testing
Black Box Testing is a software testing method
in which the functionalities of software applications
are tested without having knowledge of internal code
structure, implementation details and internal paths.
Black Box Testing mainly focuses on input and
output of software applications and it is entirely
based on software requirements and specifications.
It is also known as Behavioral Testing.
Advantages Disadvantages
Well suited and efficient for large
code segments.
Limited coverage, since only a
selected number of test scenarios is
actually performed.
Code access is not required. Inefficient testing, due to the fact
that the tester only has limited
knowledge about an application.
Clearly separates user's perspective
from the developer's perspective
through visibly defined roles.
Blind coverage, since the tester
cannot target specific code segments
or error prone areas.
Large numbers of moderately skilled
testers can test the application with
no knowledge of implementation,
programming language, or operating
systems.
The test cases are difficult to design.
What Is The Purpose Of Black Box Testing?
Black box testing focuses on testing the complete
functionality of the system as well as its behavior.
This testing method is also referred to as behavioral testing
and functional testing.
This testing method is critical during the stages
of software testing life cycle like regression testing, acceptance,
unit, system, integration and software development.
The techniques of Black box testing are beneficial for the
end users who wish to perform software verification.
Techniques of Black Box Testing
.
BVA or Boundary Value Analysis:
It is one among the useful and critical Black box testing technique that
helps in equivalence partitioning. BVA helps in testing any software
having a boundary or extreme values
Advantages of Boundary Value Analysis
It is easier and faster to find defects using this technique. This is because the
density of defects at boundaries is more.
Instead of testing will all set of test data, we only pick the one at the
boundaries. So, the overall test execution time reduces.
Disadvantages of boundary value analysis
The success of the testing using this technique depends on the equivalence
classes identified, which further depends on the expertise of the tester and
his knowledge of the application. Hence, incorrect identification of
equivalence classes leads to incorrect boundary value testing.
Applications with open boundaries or applications not having one-
dimensional boundaries are not suitable for this technique. In those cases,
other black-box techniques like “Domain Analysis” are used.
This technique is capable of identifying the flaws of the limits
of the input values rather than focusing on the range of input
value. Boundary Value Analysis also deals with edge or extreme
output values.
Graph-Based Testing:
This technique of Black box testing involves a graph
drawing that depicts the link between the causes (inputs) and
the effects (output), which trigger the effects.
This testing utilizes different combinations of output and
inputs. It is a helpful technique to understand the software’s
functional performance, as it visualizes the flow of inputs and
outputs in a lively fashion.
Error Guessing Technique:
This testing technique is capable of guessing the erroneous
output and inputs to help the tester fix it easily. It is solely
based on judgment and perception of the earlier end user
experience.
Equivalence Class Partitioning:
This technique of Black box testing is widely used to write test
cases.
It can be useful in reducing a broad set of possible inputs to
smaller but effective ones.
It is performed through the division of inputs as classes, and
each class is given a value.
It is applied when the need for exhaustive testing arises and for
resisting the redundancy of inputs.
Advantages disadvantages
It is process-oriented All necessary inputs may not
cover.
We can achieve the Minimum test
coverage
This technique will not consider
the condition for boundary value
analysis.
It helps to decrease the general
test execution time and also
reduce the set of test data.
The test engineer might assume
that the output for all data set is
right, which leads to the problem
during the testing process.
Grey-Box Testing
Grey-box testing is a technique to test the application
with having a limited knowledge of the internal workings of an
application.
Grey Box Testing or Gray box testing is a software testing
technique to test a software product or application with partial
knowledge of internal structure of the application. The purpose
of grey box testing is to search and identify the defects due to
improper code structure or improper use of applications.
Gray Box Testing is a software testing method, which is a
combination of both White Box Testing and Black Box Testing
method.
Objective of Gray Box Testing:
1. The objective of Gray Box Testing is.
1. To provide combined advantages of both black box testing
and white box testing.
2. To combine the input of developers as well as testers.
3. To improve overall product quality.
4. To reduce the overhead of long process of functional and
non-functional testings.
5. To provide enough free time to developers to fix defects.
To test from the user point of view rather than a designer point
of view.
Types of Grey Box Testing
1. Matrix Testing:
In matrix testing technique, business and technical risks which are
defined by the developers in software programs are examined.
Developers define all the variables that exist in the program. Each
of the variables has an inherent technical and business risk and can
be used with varied frequencies during its life cycle.
2. Pattern Testing:
To perform the testing, previous defects are analyzed. It
determines the cause of the failure by looking into the code.
Analysis template includes reasons for the defect. This helps test
cases designed as they are proactive in finding other failures
before hitting production.
3. Orthogonal Array Testing:
It is mainly a black box testing technique. In orthogonal array
testing, test data have n numbers of permutations and
combinations. Orthogonal array testing is preferred when
maximum coverage is required when there are very few test
cases and test data is large. This is very helpful in testing complex
applications.
4. Regression Testing:
Regression testing is testing the software after every change in
the software to make sure that the changes or the new
functionalities are not affecting the existing functioning of the
system. Regression testing is also carried out to ensure that fixing
any defect has not affected other functionality of the software.
Advantages of Gray Box Testing:
1. Users and developers have clear goals while doing testing.
Gray box testing is mostly done by the user perspective.
2. Testers are not required to have high programming skills for
this testing.
3. Gray box testing is non-intrusive.Overall quality of the product
is improved.
4. In gray box testing, developers have more time for defect
fixing.
5 . By doing gray box testing, benefits of both black box and
white box testing is obtained.
6. Gray box testing is unbiased. It avoids conflicts between a
tester and a developer.
7. Gray box testing is much more effective in integration testing.
Disadvantages of gray box testing:
1. Defect association is difficult when gray testing is
performed for distributed systems.
2. Limited access to internal structure leads to limited access
for code path traversal.
3. Because source code cannot be accessed, doing complete
white box testing is not possible.
4. Gray box testing is not suitable for algorithm testing.
5. Most of the test cases are difficult to design.
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing

Más contenido relacionado

La actualidad más candente

White Box Testing
White Box TestingWhite Box Testing
White Box TestingAlisha Roy
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testingHimanshu
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADShivani Kapoor
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAjeng Savitri
 
Software Engineering - Module 3: Lesson7
Software Engineering - Module 3: Lesson7Software Engineering - Module 3: Lesson7
Software Engineering - Module 3: Lesson7ArraLafuente
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycleGaruda Trainings
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingPrachi Sasankar
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceRameesha Sadaqat
 
Software Testing and Quality Assurance unit1
Software Testing and Quality Assurance  unit1Software Testing and Quality Assurance  unit1
Software Testing and Quality Assurance unit1Bhagyashree Dhakulkar
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagramsBaskarkncet
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 

La actualidad más candente (20)

White Box Testing
White Box TestingWhite Box Testing
White Box Testing
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 
Software testing
Software testingSoftware testing
Software testing
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Software Engineering - Module 3: Lesson7
Software Engineering - Module 3: Lesson7Software Engineering - Module 3: Lesson7
Software Engineering - Module 3: Lesson7
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Alpha & Beta Testing
Alpha & Beta TestingAlpha & Beta Testing
Alpha & Beta Testing
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
UML
UMLUML
UML
 
File system structure
File system structureFile system structure
File system structure
 
Software Testing and Quality Assurance unit1
Software Testing and Quality Assurance  unit1Software Testing and Quality Assurance  unit1
Software Testing and Quality Assurance unit1
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 

Similar a Ch 2 Apraoaches Of Software Testing

Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)abdullah619
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testingTestingXperts
 
Software testing
Software testingSoftware testing
Software testingAshu Bansal
 
SOFTWARE TESTING STRATEGIES:
SOFTWARE TESTING STRATEGIES:SOFTWARE TESTING STRATEGIES:
SOFTWARE TESTING STRATEGIES:Ramla Sheikh
 
How to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfAbhay Kumar
 
STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptxnischal55
 
Software Testing Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.Software Testing Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.Tanzeem Aslam
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingMurageppa-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingRajesh-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingANKUR-BA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingSachin-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingVidya-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingFayis-QA
 

Similar a Ch 2 Apraoaches Of Software Testing (20)

Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)
 
A COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTINGA COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTING
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software testing
Software testingSoftware testing
Software testing
 
SOFTWARE TESTING STRATEGIES:
SOFTWARE TESTING STRATEGIES:SOFTWARE TESTING STRATEGIES:
SOFTWARE TESTING STRATEGIES:
 
How to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
 
Testing
Testing Testing
Testing
 
STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptx
 
Software Testing Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.Software Testing Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Software Testing
Software TestingSoftware Testing
Software Testing
 

Más de Prof .Pragati Khade (11)

ch 2. Python module
ch 2. Python module ch 2. Python module
ch 2. Python module
 
Cybersecurity 140713064844-phpapp01 (1)-converted
Cybersecurity 140713064844-phpapp01 (1)-convertedCybersecurity 140713064844-phpapp01 (1)-converted
Cybersecurity 140713064844-phpapp01 (1)-converted
 
Ooad with uml
Ooad with umlOoad with uml
Ooad with uml
 
Chapter 1 big data
Chapter 1 big dataChapter 1 big data
Chapter 1 big data
 
Ds chapter 2
Ds chapter 2Ds chapter 2
Ds chapter 2
 
Software Testing
 Software Testing  Software Testing
Software Testing
 
Share and mutual funds converted (1)
Share and mutual funds converted (1)Share and mutual funds converted (1)
Share and mutual funds converted (1)
 
Ch 3 . intrerest and annutiy
Ch 3 . intrerest and annutiyCh 3 . intrerest and annutiy
Ch 3 . intrerest and annutiy
 
Ch 2 profit and loss
Ch 2 profit and lossCh 2 profit and loss
Ch 2 profit and loss
 
Ch1 ratio and proportion
Ch1 ratio and proportionCh1 ratio and proportion
Ch1 ratio and proportion
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 

Último

Objectives n learning outcoms - MD 20240404.pptx
Objectives n learning outcoms - MD 20240404.pptxObjectives n learning outcoms - MD 20240404.pptx
Objectives n learning outcoms - MD 20240404.pptxMadhavi Dharankar
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptxmary850239
 
DBMSArchitecture_QueryProcessingandOptimization.pdf
DBMSArchitecture_QueryProcessingandOptimization.pdfDBMSArchitecture_QueryProcessingandOptimization.pdf
DBMSArchitecture_QueryProcessingandOptimization.pdfChristalin Nelson
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...Osopher
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfChristalin Nelson
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
An Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPAn Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPCeline George
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
DiskStorage_BasicFileStructuresandHashing.pdf
DiskStorage_BasicFileStructuresandHashing.pdfDiskStorage_BasicFileStructuresandHashing.pdf
DiskStorage_BasicFileStructuresandHashing.pdfChristalin Nelson
 
Employablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptxEmployablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptxryandux83rd
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6Vanessa Camilleri
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 

Último (20)

prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Objectives n learning outcoms - MD 20240404.pptx
Objectives n learning outcoms - MD 20240404.pptxObjectives n learning outcoms - MD 20240404.pptx
Objectives n learning outcoms - MD 20240404.pptx
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx
 
Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...
Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...
Plagiarism,forms,understand about plagiarism,avoid plagiarism,key significanc...
 
DBMSArchitecture_QueryProcessingandOptimization.pdf
DBMSArchitecture_QueryProcessingandOptimization.pdfDBMSArchitecture_QueryProcessingandOptimization.pdf
DBMSArchitecture_QueryProcessingandOptimization.pdf
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
Spearman's correlation,Formula,Advantages,
Spearman's correlation,Formula,Advantages,Spearman's correlation,Formula,Advantages,
Spearman's correlation,Formula,Advantages,
 
An Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERPAn Overview of the Calendar App in Odoo 17 ERP
An Overview of the Calendar App in Odoo 17 ERP
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
DiskStorage_BasicFileStructuresandHashing.pdf
DiskStorage_BasicFileStructuresandHashing.pdfDiskStorage_BasicFileStructuresandHashing.pdf
DiskStorage_BasicFileStructuresandHashing.pdf
 
Employablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptxEmployablity presentation and Future Career Plan.pptx
Employablity presentation and Future Career Plan.pptx
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 

Ch 2 Apraoaches Of Software Testing

  • 1. Presented by :- Miss Pragati khade Dada Patil Mahavidyalaya Karjat
  • 2. Introduction A strategy for software testing integrates software test case design methods into a Series of steps that result in the successful development A testing is a set of activities that can be planned in advance and Conducted systematically . A number of Software Testing approaches have been Proposed . Characteristics of Software Testing Approaches 1 To perform effectieve Testing . 2 Testing Begins at componenet level and works forward the integration of entire computer based system . 3 Different Testing Techniques are appropriate at different Points in time .
  • 3. 4. Testing is conducted by the developer of the software and an independent test group . 5. Debugging though different from testing must eb included in any testing strategy . Software Testing Strategy The Software Process can be viewed as spiral .
  • 4.
  • 5.
  • 6. UNIT TESTING IT 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. Unit Tests isolate a section of code and verify its correctness. A unit may be an individual function, method, procedure, module, or object.
  • 7. In SDLC, STLC, V Model, Unit testing is first level of testing done before integration testing. Unit testing is a WhiteBox testing technique that is usually performed by the developer.
  • 8.
  • 9.
  • 10.
  • 11.
  • 13. INTEGRATION TESTING It is defined as a type of testing where software modules are integrated logically and tested as a group. A typical software project consists of multiple software modules, coded by different programmers. The purpose of this level of testing is to expose defects in the interaction between these software modules when they are integrated Integration Testing focuses on checking data communication amongst these modules. Hence it is also termed as 'I & T' (Integration and Testing), 'String Testing' and sometimes 'Thread Testing'.
  • 14.
  • 15.
  • 16. Software Engineering defines variety of strategies to execute Integration testing, viz.  Big Bang Approach : Incremental Approach: which is further divided into the following 1. Top Down Approach 2. Bottom Up Approach 3. Sandwich Approach - Combination of Top Down and Bottom Up
  • 17. Big Bang Testing Big Bang Testing is an Integration testing approach in which all the components or modules are integrated together at once and then tested as a unit. This combined set of components is considered as an entity while testing. If all of the components in the unit are not completed, the integration process will not execute. Advantages: Convenient for small systems.
  • 18. Disadvantages: 1. Fault Localization is difficult. 2. Given the sheer number of interfaces that need to be tested in this approach, some interfaces link to be tested could be missed easily. 3. Since the Integration testing can commence only after "all" the modules are designed, the testing team will have less time for execution in the testing phase. 4. Since all modules are tested at once, high-risk critical modules are not isolated and tested on priority. Peripheral modules which deal with user interfaces are also not isolated and tested on priority.
  • 19. Incremental Testing In the Incremental Testing approach, testing is done by integrating two or more modules that are logically related to each other and then tested for proper functioning of the application. Then the other related modules are integrated incrementally and the process continues until all the logically related modules are integrated and tested successfully. Incremental Approach, in turn, is carried out by two different Methods: - Bottom Up -Top Down
  • 20. Top-down Integration Testing Top Down Integration Testing is a method in which integration testing takes place from top to bottom following the control flow of software system. The higher level modules are tested first and then lower level modules are tested and integrated in order to check the software functionality. Stubs are used for testing if some modules are not ready.
  • 21.
  • 22. Advantages: 1. Fault Localization is easier. 2. Possibility to obtain an early prototype. 3. Critical Modules are tested on priority; major design flaws could be found and fixed first. Disadvantages: 1. Needs many Stubs. 2. Modules at a lower level are tested inadequately.
  • 23. Bottom-up Integration Testing Bottom-up Integration Testing is a strategy in which the lower level modules are tested first. These tested modules are then further used to facilitate the testing of higher level modules. The process continues until all modules at top level are tested. Once the lower level modules are tested and integrated, then the next level of modules are formed.
  • 24.
  • 25. Advantages: 1. Fault localization is easier. 2. No time is wasted waiting for all modules to be developed unlike Big-bang approach Disadvantages: 1. Critical modules (at the top level of software architecture) which control the flow of application are tested last and may be prone to defects. 2. An early prototype is not possible
  • 26. S.No. TOP DOWN APPROACH BOTTOM UP APPROACH 1. In this approach We focus on breaking up the problem into smaller parts. In bottom up approach, we solve smaller problems and integrate it as whole and complete the solution. 2. Mainly used by structured programming language such as COBOL, Fortran, C, etc. Mainly used by object oriented programming language such as C++, C#, Python. 3. Each part is programmed separately therefore contain redundancy. Redundancy is minimized by using data encapsulation and data hiding. 4. In this the communications is less among modules. In this module must have communication.
  • 27. 5. It is used in debugging, module documentation, etc. It is basically used in testing. 6. In top down approach, decomposition takes place. In bottom up approach composition takes place. 7. In this top function of system might be hard to identify. In this sometimes we can not build a program from the piece we have started. 8. In this implementation details may differ. This is not natural for people to assemble.
  • 28. Sandwich Testing Sandwich Testing is the combination of bottom-up approach and top-down approach, so it uses the advantage of both bottom up approach and top down approach. Initially it uses the stubs and drivers where stubs simulate the behaviour ogf missing component. It is also known as the Hybrid Integration Testing.
  • 29. Strategy used in Sandwich Testing: 1.It combines both top down and bottom up strategies. 2 .Sandwich testing is basically viewed as 3 layers: (i) Main target layer (ii) A layer above the target layer (iii) A layer below the target layer 3 .In sandwich testing, testing is mainly focused for main target layer. This testing is selected on the basis of system characteristics and structure’s code. 4. It tries to minimize the number of hubs and drivers when there are more than 3 layers.
  • 30. How to perform Sandwich Testing? There are 3 simple steps to perform sandwich testing which are given below. 1 .Test the user interface in isolation using stubs. 2. Test the very lowest level functions by using drivers. 3. When the complete system is in integrated only main target (middle) layer is remains for final test.
  • 31. Advantage of Sandwich Testing: Sandwich Testing approach is used in very large projects having sub projects. It allows parallel testing. Sandwich testing is time saving approach. sandwich testing performs more coverage with same stubs. Disadvantage of Sandwich Testing: Sandwich Testing is very costly. Sandwich Testing can not be used for such systems which have a lot of interdependence between different modules. In sandwich testing the need of stubs and drivers is very high.
  • 33.
  • 34. White Box Testing is software testing technique in which internal structure, design and coding of software are tested to verify flow of input-output and to improve design, usability and security. In white box testing, code is visible to testers so it is also called Clear box testing, Open box testing, Transparent box testing, Code-based testing and Glass box testing. It is one of two parts of the Box Testing approach to software testing.
  • 35. The testing can be done at system, integration and unit levels of software development. One of the basic goals of white box testing is to verify a working flow for an application.
  • 36. Code optimization by finding hidden errors. White box tests cases can be easily automated. Testing is more thorough as all code paths are usually covered. Testing can start early in SDLC even if GUI is not available.
  • 37. White box testing can be quite complex and expensive. Developers who usually execute white box test cases detest it.  The white box testing by developers is not detailed can lead to production errors. White box testing requires professional resources, with a detailed understanding of programming and implementation. White-box testing is time-consuming, bigger programming applications take the time to test fully.
  • 38.
  • 39.
  • 40. Black Box Testing Black Box Testing is a software testing method in which the functionalities of software applications are tested without having knowledge of internal code structure, implementation details and internal paths. Black Box Testing mainly focuses on input and output of software applications and it is entirely based on software requirements and specifications. It is also known as Behavioral Testing.
  • 41. Advantages Disadvantages Well suited and efficient for large code segments. Limited coverage, since only a selected number of test scenarios is actually performed. Code access is not required. Inefficient testing, due to the fact that the tester only has limited knowledge about an application. Clearly separates user's perspective from the developer's perspective through visibly defined roles. Blind coverage, since the tester cannot target specific code segments or error prone areas. Large numbers of moderately skilled testers can test the application with no knowledge of implementation, programming language, or operating systems. The test cases are difficult to design.
  • 42. What Is The Purpose Of Black Box Testing? Black box testing focuses on testing the complete functionality of the system as well as its behavior. This testing method is also referred to as behavioral testing and functional testing. This testing method is critical during the stages of software testing life cycle like regression testing, acceptance, unit, system, integration and software development. The techniques of Black box testing are beneficial for the end users who wish to perform software verification.
  • 43. Techniques of Black Box Testing . BVA or Boundary Value Analysis: It is one among the useful and critical Black box testing technique that helps in equivalence partitioning. BVA helps in testing any software having a boundary or extreme values
  • 44. Advantages of Boundary Value Analysis It is easier and faster to find defects using this technique. This is because the density of defects at boundaries is more. Instead of testing will all set of test data, we only pick the one at the boundaries. So, the overall test execution time reduces. Disadvantages of boundary value analysis The success of the testing using this technique depends on the equivalence classes identified, which further depends on the expertise of the tester and his knowledge of the application. Hence, incorrect identification of equivalence classes leads to incorrect boundary value testing. Applications with open boundaries or applications not having one- dimensional boundaries are not suitable for this technique. In those cases, other black-box techniques like “Domain Analysis” are used.
  • 45. This technique is capable of identifying the flaws of the limits of the input values rather than focusing on the range of input value. Boundary Value Analysis also deals with edge or extreme output values. Graph-Based Testing:
  • 46. This technique of Black box testing involves a graph drawing that depicts the link between the causes (inputs) and the effects (output), which trigger the effects. This testing utilizes different combinations of output and inputs. It is a helpful technique to understand the software’s functional performance, as it visualizes the flow of inputs and outputs in a lively fashion. Error Guessing Technique: This testing technique is capable of guessing the erroneous output and inputs to help the tester fix it easily. It is solely based on judgment and perception of the earlier end user experience.
  • 48. This technique of Black box testing is widely used to write test cases. It can be useful in reducing a broad set of possible inputs to smaller but effective ones. It is performed through the division of inputs as classes, and each class is given a value. It is applied when the need for exhaustive testing arises and for resisting the redundancy of inputs.
  • 49. Advantages disadvantages It is process-oriented All necessary inputs may not cover. We can achieve the Minimum test coverage This technique will not consider the condition for boundary value analysis. It helps to decrease the general test execution time and also reduce the set of test data. The test engineer might assume that the output for all data set is right, which leads to the problem during the testing process.
  • 50. Grey-Box Testing Grey-box testing is a technique to test the application with having a limited knowledge of the internal workings of an application. Grey Box Testing or Gray box testing is a software testing technique to test a software product or application with partial knowledge of internal structure of the application. The purpose of grey box testing is to search and identify the defects due to improper code structure or improper use of applications. Gray Box Testing is a software testing method, which is a combination of both White Box Testing and Black Box Testing method.
  • 51.
  • 52. Objective of Gray Box Testing: 1. The objective of Gray Box Testing is. 1. To provide combined advantages of both black box testing and white box testing. 2. To combine the input of developers as well as testers. 3. To improve overall product quality. 4. To reduce the overhead of long process of functional and non-functional testings. 5. To provide enough free time to developers to fix defects. To test from the user point of view rather than a designer point of view.
  • 53. Types of Grey Box Testing 1. Matrix Testing: In matrix testing technique, business and technical risks which are defined by the developers in software programs are examined. Developers define all the variables that exist in the program. Each of the variables has an inherent technical and business risk and can be used with varied frequencies during its life cycle. 2. Pattern Testing: To perform the testing, previous defects are analyzed. It determines the cause of the failure by looking into the code. Analysis template includes reasons for the defect. This helps test cases designed as they are proactive in finding other failures before hitting production.
  • 54. 3. Orthogonal Array Testing: It is mainly a black box testing technique. In orthogonal array testing, test data have n numbers of permutations and combinations. Orthogonal array testing is preferred when maximum coverage is required when there are very few test cases and test data is large. This is very helpful in testing complex applications. 4. Regression Testing: Regression testing is testing the software after every change in the software to make sure that the changes or the new functionalities are not affecting the existing functioning of the system. Regression testing is also carried out to ensure that fixing any defect has not affected other functionality of the software.
  • 55. Advantages of Gray Box Testing: 1. Users and developers have clear goals while doing testing. Gray box testing is mostly done by the user perspective. 2. Testers are not required to have high programming skills for this testing. 3. Gray box testing is non-intrusive.Overall quality of the product is improved. 4. In gray box testing, developers have more time for defect fixing. 5 . By doing gray box testing, benefits of both black box and white box testing is obtained. 6. Gray box testing is unbiased. It avoids conflicts between a tester and a developer. 7. Gray box testing is much more effective in integration testing.
  • 56. Disadvantages of gray box testing: 1. Defect association is difficult when gray testing is performed for distributed systems. 2. Limited access to internal structure leads to limited access for code path traversal. 3. Because source code cannot be accessed, doing complete white box testing is not possible. 4. Gray box testing is not suitable for algorithm testing. 5. Most of the test cases are difficult to design.