SlideShare a Scribd company logo
1 of 25
Software Testing
Denmark Anthony S. Tan
What is Software Testing?
• Software testing is a process of executing a program or application with the
intent of finding bugs.
• Is a process used to identify the correctness, completeness and quality of
developed computer software.
• It is the process of verifying and validating a software program or
application.
What are the importance of Software Testing?
• Testing is executing a system in order to identify any gaps, errors, or missing
requirements in contrary to the actual requirements.
• To check whether the actual results match the expected results and to ensure
that the software system is defect/bug/error free.
• To meet the business and technical requirements that guided it’s design and
development.
What is V Model?
• V- model is SDLC (Software Development Life Cycle) model where
execution of processes happens in a sequential manner in V-shape.
• It is also known as Verification and Validation Model.
• V-model is an extension of the waterfall model and is based on association
of a testing phase for each corresponding development stage.
V model Pros and Cons
V model design
Verification Phases
• Business Requirement Analysis: This is the first phase in the development cycle where the product
requirements are understood from the customer perspective. This phase involves detailed communication
with the customer to understand his expectations and exact requirement.
• System Design: In this phase its time to design the complete system. In system design it is the process of
defining the architecture, components, modules, interfaces and data for a system. It is the application of
systems theory to product development. System test plan is developed based on the system design.
• Architectural Design: This phase can also be called as high level design (HLD). The structure of the data
and program components that are required to build a system is defined in this stage. The integration testing
can be designed and documented during this stage.
• Module Design: This phase can be called as low level design (LLD). It is important that the design is
compatible with the other modules in the system architecture and other external systems. Unit tests can be
designed at this stage based on the internal module designs.
Coding Phase
• The actual coding of the system modules designed in the design phase is
taken up in the Coding phase.
• The best suitable programming language is decided based on the system and
architectural requirements.
• The coding is performed based on the coding guidelines and standards.
• The code goes numerous code reviews and is optimized for best
performance.
Validation Testing
• Unit Testing: Unit tests designed in the module design phase are executed on the code during
this validation phase. Unit testing is the testing at code level and helps eliminate bugs at an early
stage.
• Integration Testing: Integration testing is associated with the architectural design phase.
Integration tests are performed to test the coexistence and communication of the internal
modules within the system.
• System Testing: System testing is directly associated with the System design phase. System tests
check the entire system functionality and the communication of the system under development
with external systems.
• Acceptance Testing: Acceptance testing is associated with the business requirement analysis
phase and involves testing the product in user environment. Acceptance tests discovers the non
functional issues such as load and performance defects in the actual user environment.
Why Unit Testing is important?
• Unit testing is a testing technique that is designed to verify individual
modules (functions, classes, etc.) at a low level, to verify that module is
behaving as specified and determined if there are any issues by the developer
himself.
• It is concerned with functional correctness of the standalone modules.
• Isolate each unit of the system to identify, analyze the defects.
• Reduces defects in the newly developed features, reduces bugs when
changing the existing functionality.
What is Equivalence Partitioning?
• Also known as equivalence classes.
• It is a specification based or black-box technique.
• Divide a set of test conditions into groups that can be considered the same.
• Test only one condition from each partition.
• If one condition in one partition works, in this technique it assume all the
conditions in that partition will work.
• If one of the conditions in a partition does not work, in this technique it assume
that none of the conditions in that partition will work.
Example of Equivalence Partitioning
• Let's consider the behavior of tickets in the Flight reservation application,
while booking a new flight.
• Ticket values 1 to 10 are considered valid & ticket is booked. While value 11
and more are considered invalid for reservation and error message will
appear, "Only ten tickets may be ordered at one time."
Example of Equivalence Partitioning
-Here is the test condition
• Any Number greater than 10 entered in the reservation column (let say 11) is considered invalid.
• Any Number less than 1 that is 0 or below, then it is considered invalid.
• Numbers 1 to 10 are considered valid
• Any 3 Digit Number say -100 is invalid.
Example of Equivalence Partitioning
• The divided sets are called Equivalence Partitions or Equivalence Classes. Then we pick only one value from each
partition for testing. The hypothesis behind this technique is that if one condition/value in a partition passes
all others will also pass. Likewise, if one condition in a partition fails, all other conditions in that partition
will fail.
What is Boundary Value Analysis?
• It is the best known functional testing technique.
• It is based on testing boundaries between equivalence partitions
• It have valid boundaries (in the valid partitions) and invalid boundaries (in
the invalid partitions).
• Basic idea is to select input variable values at their (minimum, above
minimum, nominal value, below the maximum and maximum).
Example of Boundary Value Analysis
• Input Box should accept the Number between 1 and 10.
Example of Boundary Value Analysis
Test Scenario Test Scenario
Description
Expected Outcome
1 Value = 0 System should NOT
accept.
2 Value = 1 System should accept.
3 Value = 10 System should accept.
4 Value = 11 System should NOT
accept.
Example of Equivalence Partitioning and
Boundary Value Analysis
• First textbox user can input 0-23 hour.
• Second textbox user can input 0-59 minutes.
• Then a submit button.
Example of Equivalence Partitioning and
Boundary Value Analysis
-Equivalence Partitioning
• Class 1: 24 hours and -1 minute
• Class 2: 24 hours and 10 minutes
• Class 3: 24 hours and 60 minutes
• Class 4: 10 hours and 1 minute
• Class 5: 23 hours and 59 minutes
• Class 6: 10 hours and 60 minutes
• Class 7: -1 hour and -1 minute
• Class 8: 0 hour and 0 minute
• Class 9: -1 hour and 10 minutes
• Class 10: -1 hour and 60 minutes
Example of Equivalence Partitioning and
Boundary Value Analysis
-Boundary Value Analysis
• Test the boundaries between equivalence partitions.
• -1, 0, 23, 24 hours
• -1, 0, 59, 60 minutes
• Test 1: Min value = 0 & Max value = 23 hour : System should accept
• Test 2: Min value = -1 & Max value = 24 hour : System should not accept
• Test 3: Min value = 0 & Max value = 59 minutes : System should accept
• Test 4: Min value = -1 & Max value = 60 minutes : System should not accept
Why Integration Testing is important?
• Integration testing starts at the very early stages of development and bugs
are caught earlier rather than late in the cycle.
• Integration testing focuses mainly on the interfaces, flow of
data/information between modules.
• Integration tests catch system-level issues, such as a broken database schema,
mistaken cache integration, and so on.
What is Finite State Machine Diagram?
• Also called finite-state automata.
• Is a mathematical model of computation used to design both computer
programs and sequential logic circuits.
• It is conceived as an abstract machine that can be in one of a finite number of states.
• The machine is in only one state at a time; the state it is in at any given time is called
the current state. It can change from one state to another when initiated by a triggering
event or condition; this is called a transition.
• A particular FSM is defined by a list of its states, and the triggering condition for each
transition
Why we need to use finite state machine
diagram for integration testing?
• Finite state machine diagram described aspect of the system.
• The diagram is detailed or abstract, the tester will know where a part of the system
is more important (that is, requires more testing) and when the system is less
important (it requires less testing).
• With the use of finite state machine diagram for integration testing it will guide
testers because the diagram will show the detailed different states, transitions from
one state to another, the events that cause a transition, the action that result from a
transition and its is determined in the rules of the machine.
5 Steps to draw a State Machine Diagram
• Define States - in UML is a condition or situation in a system
• Describe States - tell others more in detail about what those states are with documentation for future reference.
• Draw Transitions - draw directed lines to depict changes from one state to another.
• Define Transition Triggers - place constraints that need to be met before a transition.
• Define Guard Conditions - a constraint to check before allowing the transition happen.
Thank you!

More Related Content

What's hot

Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and TechniqueSachin-QA
 
Whitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to ConsiderWhitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to ConsiderRapidValue
 
Black box testing
Black box testingBlack box testing
Black box testingAbdul Basit
 
Software Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box TestingSoftware Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box TestingNikita Knysh
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box TestingTestbytes
 
Equivalence class testing
Equivalence  class testingEquivalence  class testing
Equivalence class testingMani Kanth
 
Software Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionSoftware Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionMazenetsolution
 
Unit testing
Unit testingUnit testing
Unit testingmedsherb
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]
A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]
A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]Khizra Sammad
 
Software Engineering : Software testing
Software Engineering : Software testingSoftware Engineering : Software testing
Software Engineering : Software testingAjit Nayak
 
Black Box Test Design Techniques
Black Box Test Design TechniquesBlack Box Test Design Techniques
Black Box Test Design TechniquesGlobalLogic Ukraine
 
Test case design_the_basicsv0.4
Test case design_the_basicsv0.4Test case design_the_basicsv0.4
Test case design_the_basicsv0.4guest31fced
 

What's hot (20)

Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Whitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to ConsiderWhitepaper Test Case Design and Testing Techniques- Factors to Consider
Whitepaper Test Case Design and Testing Techniques- Factors to Consider
 
Black box testing
Black box testingBlack box testing
Black box testing
 
CTFL Module 03
CTFL Module 03CTFL Module 03
CTFL Module 03
 
Software Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box TestingSoftware Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box Testing
 
CTFL Module 04
CTFL Module 04CTFL Module 04
CTFL Module 04
 
Ooad
OoadOoad
Ooad
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Equivalence class testing
Equivalence  class testingEquivalence  class testing
Equivalence class testing
 
Software Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionSoftware Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solution
 
CPP09 - Testing
CPP09 - TestingCPP09 - Testing
CPP09 - Testing
 
CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 
Unit testing
Unit testingUnit testing
Unit testing
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]
A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]
A PRACTITIONER'S GUIDE TO SOFTWARE TEST DESIGN [Summary]
 
Software Engineering : Software testing
Software Engineering : Software testingSoftware Engineering : Software testing
Software Engineering : Software testing
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Black Box Test Design Techniques
Black Box Test Design TechniquesBlack Box Test Design Techniques
Black Box Test Design Techniques
 
Test case design_the_basicsv0.4
Test case design_the_basicsv0.4Test case design_the_basicsv0.4
Test case design_the_basicsv0.4
 

Viewers also liked

System performance tuning
System performance tuningSystem performance tuning
System performance tuningMenandro Oba
 
Learning CakePHP2 from source code vol2
Learning CakePHP2 from source code vol2Learning CakePHP2 from source code vol2
Learning CakePHP2 from source code vol2Hideshi Ogoshi
 
How to create test data
How to create test dataHow to create test data
How to create test dataHideshi Ogoshi
 
Cake PHP 3 Presentaion
Cake PHP 3 PresentaionCake PHP 3 Presentaion
Cake PHP 3 Presentaionglslarmenta
 
Functional programming
Functional programmingFunctional programming
Functional programmingHideshi Ogoshi
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリアシアル株式会社
 

Viewers also liked (8)

System performance tuning
System performance tuningSystem performance tuning
System performance tuning
 
Learning CakePHP2 from source code vol2
Learning CakePHP2 from source code vol2Learning CakePHP2 from source code vol2
Learning CakePHP2 from source code vol2
 
Node js - Yns
Node js - YnsNode js - Yns
Node js - Yns
 
Php 7 - YNS
Php 7 - YNSPhp 7 - YNS
Php 7 - YNS
 
How to create test data
How to create test dataHow to create test data
How to create test data
 
Cake PHP 3 Presentaion
Cake PHP 3 PresentaionCake PHP 3 Presentaion
Cake PHP 3 Presentaion
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
 

Similar to Software Testing

Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing BugRaptors
 
Manual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdfManual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdfSupriyaDongare
 
Software Testing Introduction (Part 3)
 Software Testing Introduction (Part 3) Software Testing Introduction (Part 3)
Software Testing Introduction (Part 3)Thapar Institute
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1Siddharth Sharma
 
Week 14 Unit Testing.pptx
Week 14  Unit Testing.pptxWeek 14  Unit Testing.pptx
Week 14 Unit Testing.pptxmianshafa
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software TestingAtul Mishra
 
Software testing part
Software testing partSoftware testing part
Software testing partPreeti Mishra
 
Lect-6-Generic testing types.pptx
Lect-6-Generic testing types.pptxLect-6-Generic testing types.pptx
Lect-6-Generic testing types.pptxabdullahsaddique2
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v modelMinal Kashyap
 
Software testing & its technology
Software testing & its technologySoftware testing & its technology
Software testing & its technologyHasam Panezai
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 

Similar to Software Testing (20)

Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Testing
TestingTesting
Testing
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing
 
Manual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdfManual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdf
 
Software Testing Introduction (Part 3)
 Software Testing Introduction (Part 3) Software Testing Introduction (Part 3)
Software Testing Introduction (Part 3)
 
Software testing
Software testingSoftware testing
Software testing
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1
 
Week 14 Unit Testing.pptx
Week 14  Unit Testing.pptxWeek 14  Unit Testing.pptx
Week 14 Unit Testing.pptx
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
Lect-6-Generic testing types.pptx
Lect-6-Generic testing types.pptxLect-6-Generic testing types.pptx
Lect-6-Generic testing types.pptx
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
 
Software Testing
Software Testing Software Testing
Software Testing
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
 
Software testing & its technology
Software testing & its technologySoftware testing & its technology
Software testing & its technology
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Unit 3 for st
Unit 3 for stUnit 3 for st
Unit 3 for st
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 

Recently uploaded

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 

Software Testing

  • 2. What is Software Testing? • Software testing is a process of executing a program or application with the intent of finding bugs. • Is a process used to identify the correctness, completeness and quality of developed computer software. • It is the process of verifying and validating a software program or application.
  • 3. What are the importance of Software Testing? • Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements. • To check whether the actual results match the expected results and to ensure that the software system is defect/bug/error free. • To meet the business and technical requirements that guided it’s design and development.
  • 4. What is V Model? • V- model is SDLC (Software Development Life Cycle) model where execution of processes happens in a sequential manner in V-shape. • It is also known as Verification and Validation Model. • V-model is an extension of the waterfall model and is based on association of a testing phase for each corresponding development stage.
  • 5. V model Pros and Cons
  • 7. Verification Phases • Business Requirement Analysis: This is the first phase in the development cycle where the product requirements are understood from the customer perspective. This phase involves detailed communication with the customer to understand his expectations and exact requirement. • System Design: In this phase its time to design the complete system. In system design it is the process of defining the architecture, components, modules, interfaces and data for a system. It is the application of systems theory to product development. System test plan is developed based on the system design. • Architectural Design: This phase can also be called as high level design (HLD). The structure of the data and program components that are required to build a system is defined in this stage. The integration testing can be designed and documented during this stage. • Module Design: This phase can be called as low level design (LLD). It is important that the design is compatible with the other modules in the system architecture and other external systems. Unit tests can be designed at this stage based on the internal module designs.
  • 8. Coding Phase • The actual coding of the system modules designed in the design phase is taken up in the Coding phase. • The best suitable programming language is decided based on the system and architectural requirements. • The coding is performed based on the coding guidelines and standards. • The code goes numerous code reviews and is optimized for best performance.
  • 9. Validation Testing • Unit Testing: Unit tests designed in the module design phase are executed on the code during this validation phase. Unit testing is the testing at code level and helps eliminate bugs at an early stage. • Integration Testing: Integration testing is associated with the architectural design phase. Integration tests are performed to test the coexistence and communication of the internal modules within the system. • System Testing: System testing is directly associated with the System design phase. System tests check the entire system functionality and the communication of the system under development with external systems. • Acceptance Testing: Acceptance testing is associated with the business requirement analysis phase and involves testing the product in user environment. Acceptance tests discovers the non functional issues such as load and performance defects in the actual user environment.
  • 10. Why Unit Testing is important? • Unit testing is a testing technique that is designed to verify individual modules (functions, classes, etc.) at a low level, to verify that module is behaving as specified and determined if there are any issues by the developer himself. • It is concerned with functional correctness of the standalone modules. • Isolate each unit of the system to identify, analyze the defects. • Reduces defects in the newly developed features, reduces bugs when changing the existing functionality.
  • 11. What is Equivalence Partitioning? • Also known as equivalence classes. • It is a specification based or black-box technique. • Divide a set of test conditions into groups that can be considered the same. • Test only one condition from each partition. • If one condition in one partition works, in this technique it assume all the conditions in that partition will work. • If one of the conditions in a partition does not work, in this technique it assume that none of the conditions in that partition will work.
  • 12. Example of Equivalence Partitioning • Let's consider the behavior of tickets in the Flight reservation application, while booking a new flight. • Ticket values 1 to 10 are considered valid & ticket is booked. While value 11 and more are considered invalid for reservation and error message will appear, "Only ten tickets may be ordered at one time."
  • 13. Example of Equivalence Partitioning -Here is the test condition • Any Number greater than 10 entered in the reservation column (let say 11) is considered invalid. • Any Number less than 1 that is 0 or below, then it is considered invalid. • Numbers 1 to 10 are considered valid • Any 3 Digit Number say -100 is invalid.
  • 14. Example of Equivalence Partitioning • The divided sets are called Equivalence Partitions or Equivalence Classes. Then we pick only one value from each partition for testing. The hypothesis behind this technique is that if one condition/value in a partition passes all others will also pass. Likewise, if one condition in a partition fails, all other conditions in that partition will fail.
  • 15. What is Boundary Value Analysis? • It is the best known functional testing technique. • It is based on testing boundaries between equivalence partitions • It have valid boundaries (in the valid partitions) and invalid boundaries (in the invalid partitions). • Basic idea is to select input variable values at their (minimum, above minimum, nominal value, below the maximum and maximum).
  • 16. Example of Boundary Value Analysis • Input Box should accept the Number between 1 and 10.
  • 17. Example of Boundary Value Analysis Test Scenario Test Scenario Description Expected Outcome 1 Value = 0 System should NOT accept. 2 Value = 1 System should accept. 3 Value = 10 System should accept. 4 Value = 11 System should NOT accept.
  • 18. Example of Equivalence Partitioning and Boundary Value Analysis • First textbox user can input 0-23 hour. • Second textbox user can input 0-59 minutes. • Then a submit button.
  • 19. Example of Equivalence Partitioning and Boundary Value Analysis -Equivalence Partitioning • Class 1: 24 hours and -1 minute • Class 2: 24 hours and 10 minutes • Class 3: 24 hours and 60 minutes • Class 4: 10 hours and 1 minute • Class 5: 23 hours and 59 minutes • Class 6: 10 hours and 60 minutes • Class 7: -1 hour and -1 minute • Class 8: 0 hour and 0 minute • Class 9: -1 hour and 10 minutes • Class 10: -1 hour and 60 minutes
  • 20. Example of Equivalence Partitioning and Boundary Value Analysis -Boundary Value Analysis • Test the boundaries between equivalence partitions. • -1, 0, 23, 24 hours • -1, 0, 59, 60 minutes • Test 1: Min value = 0 & Max value = 23 hour : System should accept • Test 2: Min value = -1 & Max value = 24 hour : System should not accept • Test 3: Min value = 0 & Max value = 59 minutes : System should accept • Test 4: Min value = -1 & Max value = 60 minutes : System should not accept
  • 21. Why Integration Testing is important? • Integration testing starts at the very early stages of development and bugs are caught earlier rather than late in the cycle. • Integration testing focuses mainly on the interfaces, flow of data/information between modules. • Integration tests catch system-level issues, such as a broken database schema, mistaken cache integration, and so on.
  • 22. What is Finite State Machine Diagram? • Also called finite-state automata. • Is a mathematical model of computation used to design both computer programs and sequential logic circuits. • It is conceived as an abstract machine that can be in one of a finite number of states. • The machine is in only one state at a time; the state it is in at any given time is called the current state. It can change from one state to another when initiated by a triggering event or condition; this is called a transition. • A particular FSM is defined by a list of its states, and the triggering condition for each transition
  • 23. Why we need to use finite state machine diagram for integration testing? • Finite state machine diagram described aspect of the system. • The diagram is detailed or abstract, the tester will know where a part of the system is more important (that is, requires more testing) and when the system is less important (it requires less testing). • With the use of finite state machine diagram for integration testing it will guide testers because the diagram will show the detailed different states, transitions from one state to another, the events that cause a transition, the action that result from a transition and its is determined in the rules of the machine.
  • 24. 5 Steps to draw a State Machine Diagram • Define States - in UML is a condition or situation in a system • Describe States - tell others more in detail about what those states are with documentation for future reference. • Draw Transitions - draw directed lines to depict changes from one state to another. • Define Transition Triggers - place constraints that need to be met before a transition. • Define Guard Conditions - a constraint to check before allowing the transition happen.