SlideShare a Scribd company logo
1 of 20
Quality Assurance /
Software Testing Training
Test Case Design and Technique
Page 2Classification: Restricted
Agenda
• Test Case Design and Techniques
• Black-box: Three major approaches
• Steps for drawing cause-Effect Diagram:
• Behavior Testing
• Random Testing
• White Box Techniques
• Path Testing
• Statement Coverage
• Data Flow Testing
Page 3Classification: Restricted
Test Case Design and Techniques
Test case is defined as
• A set of test inputs, execution conditions and expected results,
developed for a particular objective.
• Documentation specifying inputs, predicted results and a set of
execution conditions for a test item.
• Specific inputs that will be tried and the procedures that will be
followed when the software tested.
• Sequence of one or more subtests executed as a sequence as the
outcome and/or final state of one subtests is the input and/or initial
state of the next.
• Specifies the pretest state of the AUT and its environment, the test
inputs or conditions.
• The expected result specifies what the AUT should produce from the
test inputs.
Page 4Classification: Restricted
Test Cases
• Test case name
• Test case id
• Objective
• Steps
• Expected result
• Actual result
• Pass/fail
• Comments
Page 5Classification: Restricted
Good Test Cases
Find Defects
• Have high probability of finding a new defect.
• Unambiguous tangible result that can be inspected.
• Repeatable and predictable
• Traceable to requirements or design documents
• Push systems to its limits
• Execution and tracking can be automated
• Do not mislead
• Feasible
Page 6Classification: Restricted
Test Case Design Technique
Black-box testing (or functional testing):
• Equivalence partitioning
• Boundary value analysis
• Cause-effect graphing
• Behavioural testing
• Random testing
Page 7Classification: Restricted
Black-box: Three major approaches
• Analysis of the input/output domain of the program:
Leads to a logical partitioning of the input/output domain into
‘interesting’ subsets
• Analysis of the observable black-box behavior:
Leads to a flow-graph-like model, which enables application of
techniques from the white-box world (on the black-box model)
• Techniques like risk analysis, random input, stress testing
Page 8Classification: Restricted
Black-box : Equivalence Partitioning
Equivalence Partitioning also called as equivalence class partitioning. It is
abbreviated as ECP. It is a software testing technique that divides the input
test data of the application under test into each partition at least once of
equivalent data from which test cases can be derived.
An advantage of this approach is it reduces the time required for performing
testing of a software due to less number of test cases.
Example:
The Below example best describes the equivalence class Partitioning:
Assume that the application accepts an integer in the range 100 to 999
Valid Equivalence Class partition: 100 to 999 inclusive. Non-valid
Equivalence Class partitions: less than 100, more than 999, decimal
Page 9Classification: Restricted
Boundary value analysis
Boundary value analysis is a type of black box or specification based testing
technique in which tests are performed using the boundary values.
Example:
An exam has a pass boundary at 50 percent, merit at 75 percent and
distinction at 85 percent. The Valid Boundary values for this scenario will be
as follows:
49, 50 - for pass
74, 75 - for merit
84, 85 - for distinction
Boundary values are validated against both the valid boundaries and invalid
boundaries.
The Invalid Boundary Cases for the above example can be given as follows:
0 - for lower limit boundary value
101 - for upper limit boundary value
Page 10Classification: Restricted
Cause Effect Graph
Cause Effect Graph is a black box testing technique that graphically illustrates
the relationship between a given outcome and all the factors that influence
the outcome.
It is also known as Ishikawa diagram as it was invented by Kaoru Ishikawa or
fish bone diagram because of the way it looks.
Circumstances - under which Cause-Effect Diagram used
• To Identify the possible root causes, the reasons for a specific effect,
problem, or outcome.
• To Relate the interactions of the system among the factors affecting a
particular process or effect.
• To Analyze the existing problems so that corrective action can be taken
at the earliest.
Page 11Classification: Restricted
Benefits:
• It Helps us to determine the root causes of a problem or quality using a
structured approach.
• It Uses an orderly, easy-to-read format to diagram cause-and-effect
relationships.
• It Indicates possible causes of variation in a process.
• It Identifies areas, where data should be collected for further study.
• It Encourages team participation and utilizes the team knowledge of the
process.
• It Increases knowledge of the process by helping everyone to learn
more about the factors at work and how they relate.
Page 12Classification: Restricted
Steps for drawing cause-Effect Diagram:
Step 1 : Identify and Define the Effect
Step 2 : Fill in the Effect Box and Draw the Spine
Step 3: Identify the main causes contributing to the effect being studied
Step 4 : For each major branch, identify other specific factors which
may be the causes of the EFFECT.
Step 5 : Categorize relative causes and provide detailed levels of causes.
Page 13Classification: Restricted
Behavior Testing
Behavioral Testing is a testing of the external behavior of the program, also
known as black box testing. It is usually a functional testing.
Page 14Classification: Restricted
Random Testing
What is Random Testing?
Random Testing, also known as monkey testing, is a form of functional
black box testing that is performed when there is not enough time to
write and execute the tests.
Random Testing Characteristics:
• Random testing is performed where the defects are NOT identified in regular
intervals.
• Random input is used to test the system's reliability and performance.
• Saves time and effort than actual test efforts.
• Other Testing methods Cannot be used to.
Random Testing Steps:
• Random Inputs are identified to be evaluated against the system.
• Test Inputs are selected independently from test domain.
• Tests are Executed using those random inputs.
• Record the results and compare against the expected outcomes.
• Reproduce/Replicate the issue and raise defects, fix and retest.
Page 15Classification: Restricted
White Box Techniques
White Box Techniques
• Path Testing
• Statement Coverage
• Data Flow
• Syntax Testing
Page 16Classification: Restricted
Path Testing
What is Path Testing?
Path Testing is a structural testing method based on the source code or
algorithm and NOT based on the specifications. It can be applied at different
levels of granularity.
Path Testing Assumptions:
• The Specifications are Accurate
• The Data is defined and accessed properly
• There are no defects that exist in the system other than those that affect
control flow
Path Testing Techniques:
• Control Flow Graph (CFG) - The Program is converted into Flow graphs by
representing the code into nodes, regions and edges.
• Decision to Decision path (D-D) - The CFG can be broken into various Decision
to Decision paths and then collapsed into individual nodes.
• Independent (basis) paths - Independent path is a path through a DD-path
graph which cannot be reproduced from other paths by other methods.
Page 17Classification: Restricted
Statement Coverage
Statement coverage is a white box testing technique, which involves the
execution of all the statements at least once in the source code. It is a metric,
which is used to calculate and measure the number of statements in the
source code which have been executed.
Using this technique we can check what the source code is expected to do
and what It should not. It can also be used to check the quality of the code
and the flow of different paths in the program.
The main drawback of this technique is that we cannot test the false
condition in it
Page 18Classification: Restricted
(Statement coverage = No of statements Executed/Total no of statements in the source code *
100)
Example:
Read A
Read B
if A>B
Print “A is greater than B”
else
Print "B is greater than A"
endif
Set1 :If A =5, B =2
No of statements Executed: 5
Total no of statements in the source code: 7
Statement coverage =5/7*100 = 71.00 %
Set1 :If A =2, B =5
No of statements Executed: 6
Total no of statements in the source code: 7
Statement coverage =6/7*100 = 85.20 %
This is purely a white box testing method. It tests the software’s internal coding and
infrastructure and so the programmer is the one who should take the initiative to do this.
This technique is very suitable for programmers.
Page 19Classification: Restricted
Data Flow Testing
What is Data Flow Testing?
Data flow testing is a family of test strategies based on selecting paths
through the program's control flow in order to explore sequences of
events related to the status of variables or data objects. Dataflow
Testing focuses on the points at which variables receive values and the
points at which these values are used.
Advantages of Data Flow Testing:
• Data Flow testing helps us to pinpoint any of the following issues:
• A variable that is declared but never used within the program.
• A variable that is used but never declared.
• A variable that is defined multiple times before it is used.
• Deallocating a variable before it is used.
Page 20Classification: Restricted
Thank You

More Related Content

What's hot

Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningSneha Singh
 
Test design techniques
Test design techniquesTest design techniques
Test design techniquesOksana
 
Fundamental Test Design Techniques
Fundamental Test Design TechniquesFundamental Test Design Techniques
Fundamental Test Design TechniquesTechWell
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisniharika5412
 
Black box testing methods for software components
Black box testing methods for software componentsBlack box testing methods for software components
Black box testing methods for software componentsputiadetiara
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software TestingSagar Pednekar
 
Black boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponentsBlack boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponentsAstrid yolanda
 
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Ryan Tran
 

What's hot (11)

Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioning
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Fundamental Test Design Techniques
Fundamental Test Design TechniquesFundamental Test Design Techniques
Fundamental Test Design Techniques
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysis
 
Black box testing methods for software components
Black box testing methods for software componentsBlack box testing methods for software components
Black box testing methods for software components
 
Blackbox
BlackboxBlackbox
Blackbox
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
Black boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponentsBlack boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponents
 
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
 
test
testtest
test
 

Similar to Test Case Design & Technique

Similar to Test Case Design & Technique (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
 
SE UNIT 5 part 2 (1).pptx
SE UNIT 5 part 2 (1).pptxSE UNIT 5 part 2 (1).pptx
SE UNIT 5 part 2 (1).pptx
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Testing
TestingTesting
Testing
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Block 1 ms-034 unit-1
Block 1 ms-034 unit-1Block 1 ms-034 unit-1
Block 1 ms-034 unit-1
 
Paper 06
Paper 06Paper 06
Paper 06
 
Session 08 - Test Case Design and Technique
Session 08 - Test Case Design and TechniqueSession 08 - Test Case Design and Technique
Session 08 - Test Case Design and Technique
 
prova4
prova4prova4
prova4
 
provalast
provalastprovalast
provalast
 
test3
test3test3
test3
 
test2
test2test2
test2
 
provoora
provooraprovoora
provoora
 
remoto2
remoto2remoto2
remoto2
 
provacompleta2
provacompleta2provacompleta2
provacompleta2
 
finalelocale2
finalelocale2finalelocale2
finalelocale2
 
domenica2
domenica2domenica2
domenica2
 
provarealw4
provarealw4provarealw4
provarealw4
 

More from Rajesh-QA

Selenium - Installation
Selenium - InstallationSelenium - Installation
Selenium - InstallationRajesh-QA
 
Tool Evaluation
Tool EvaluationTool Evaluation
Tool EvaluationRajesh-QA
 
Test Strategies and Planning
Test Strategies and PlanningTest Strategies and Planning
Test Strategies and PlanningRajesh-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingRajesh-QA
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software TestingRajesh-QA
 
Types of Testing
Types of TestingTypes of Testing
Types of TestingRajesh-QA
 
Testing Management
Testing ManagementTesting Management
Testing ManagementRajesh-QA
 
Introduction to Software Testing Part 2
Introduction to Software Testing Part 2Introduction to Software Testing Part 2
Introduction to Software Testing Part 2Rajesh-QA
 

More from Rajesh-QA (12)

JIRA
JIRAJIRA
JIRA
 
Selenium - Installation
Selenium - InstallationSelenium - Installation
Selenium - Installation
 
SQL
SQLSQL
SQL
 
Tool Evaluation
Tool EvaluationTool Evaluation
Tool Evaluation
 
Test Strategies and Planning
Test Strategies and PlanningTest Strategies and Planning
Test Strategies and Planning
 
SDLC
SDLCSDLC
SDLC
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software Testing
 
Agile
AgileAgile
Agile
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
 
Testing Management
Testing ManagementTesting Management
Testing Management
 
Introduction to Software Testing Part 2
Introduction to Software Testing Part 2Introduction to Software Testing Part 2
Introduction to Software Testing Part 2
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Test Case Design & Technique

  • 1. Quality Assurance / Software Testing Training Test Case Design and Technique
  • 2. Page 2Classification: Restricted Agenda • Test Case Design and Techniques • Black-box: Three major approaches • Steps for drawing cause-Effect Diagram: • Behavior Testing • Random Testing • White Box Techniques • Path Testing • Statement Coverage • Data Flow Testing
  • 3. Page 3Classification: Restricted Test Case Design and Techniques Test case is defined as • A set of test inputs, execution conditions and expected results, developed for a particular objective. • Documentation specifying inputs, predicted results and a set of execution conditions for a test item. • Specific inputs that will be tried and the procedures that will be followed when the software tested. • Sequence of one or more subtests executed as a sequence as the outcome and/or final state of one subtests is the input and/or initial state of the next. • Specifies the pretest state of the AUT and its environment, the test inputs or conditions. • The expected result specifies what the AUT should produce from the test inputs.
  • 4. Page 4Classification: Restricted Test Cases • Test case name • Test case id • Objective • Steps • Expected result • Actual result • Pass/fail • Comments
  • 5. Page 5Classification: Restricted Good Test Cases Find Defects • Have high probability of finding a new defect. • Unambiguous tangible result that can be inspected. • Repeatable and predictable • Traceable to requirements or design documents • Push systems to its limits • Execution and tracking can be automated • Do not mislead • Feasible
  • 6. Page 6Classification: Restricted Test Case Design Technique Black-box testing (or functional testing): • Equivalence partitioning • Boundary value analysis • Cause-effect graphing • Behavioural testing • Random testing
  • 7. Page 7Classification: Restricted Black-box: Three major approaches • Analysis of the input/output domain of the program: Leads to a logical partitioning of the input/output domain into ‘interesting’ subsets • Analysis of the observable black-box behavior: Leads to a flow-graph-like model, which enables application of techniques from the white-box world (on the black-box model) • Techniques like risk analysis, random input, stress testing
  • 8. Page 8Classification: Restricted Black-box : Equivalence Partitioning Equivalence Partitioning also called as equivalence class partitioning. It is abbreviated as ECP. It is a software testing technique that divides the input test data of the application under test into each partition at least once of equivalent data from which test cases can be derived. An advantage of this approach is it reduces the time required for performing testing of a software due to less number of test cases. Example: The Below example best describes the equivalence class Partitioning: Assume that the application accepts an integer in the range 100 to 999 Valid Equivalence Class partition: 100 to 999 inclusive. Non-valid Equivalence Class partitions: less than 100, more than 999, decimal
  • 9. Page 9Classification: Restricted Boundary value analysis Boundary value analysis is a type of black box or specification based testing technique in which tests are performed using the boundary values. Example: An exam has a pass boundary at 50 percent, merit at 75 percent and distinction at 85 percent. The Valid Boundary values for this scenario will be as follows: 49, 50 - for pass 74, 75 - for merit 84, 85 - for distinction Boundary values are validated against both the valid boundaries and invalid boundaries. The Invalid Boundary Cases for the above example can be given as follows: 0 - for lower limit boundary value 101 - for upper limit boundary value
  • 10. Page 10Classification: Restricted Cause Effect Graph Cause Effect Graph is a black box testing technique that graphically illustrates the relationship between a given outcome and all the factors that influence the outcome. It is also known as Ishikawa diagram as it was invented by Kaoru Ishikawa or fish bone diagram because of the way it looks. Circumstances - under which Cause-Effect Diagram used • To Identify the possible root causes, the reasons for a specific effect, problem, or outcome. • To Relate the interactions of the system among the factors affecting a particular process or effect. • To Analyze the existing problems so that corrective action can be taken at the earliest.
  • 11. Page 11Classification: Restricted Benefits: • It Helps us to determine the root causes of a problem or quality using a structured approach. • It Uses an orderly, easy-to-read format to diagram cause-and-effect relationships. • It Indicates possible causes of variation in a process. • It Identifies areas, where data should be collected for further study. • It Encourages team participation and utilizes the team knowledge of the process. • It Increases knowledge of the process by helping everyone to learn more about the factors at work and how they relate.
  • 12. Page 12Classification: Restricted Steps for drawing cause-Effect Diagram: Step 1 : Identify and Define the Effect Step 2 : Fill in the Effect Box and Draw the Spine Step 3: Identify the main causes contributing to the effect being studied Step 4 : For each major branch, identify other specific factors which may be the causes of the EFFECT. Step 5 : Categorize relative causes and provide detailed levels of causes.
  • 13. Page 13Classification: Restricted Behavior Testing Behavioral Testing is a testing of the external behavior of the program, also known as black box testing. It is usually a functional testing.
  • 14. Page 14Classification: Restricted Random Testing What is Random Testing? Random Testing, also known as monkey testing, is a form of functional black box testing that is performed when there is not enough time to write and execute the tests. Random Testing Characteristics: • Random testing is performed where the defects are NOT identified in regular intervals. • Random input is used to test the system's reliability and performance. • Saves time and effort than actual test efforts. • Other Testing methods Cannot be used to. Random Testing Steps: • Random Inputs are identified to be evaluated against the system. • Test Inputs are selected independently from test domain. • Tests are Executed using those random inputs. • Record the results and compare against the expected outcomes. • Reproduce/Replicate the issue and raise defects, fix and retest.
  • 15. Page 15Classification: Restricted White Box Techniques White Box Techniques • Path Testing • Statement Coverage • Data Flow • Syntax Testing
  • 16. Page 16Classification: Restricted Path Testing What is Path Testing? Path Testing is a structural testing method based on the source code or algorithm and NOT based on the specifications. It can be applied at different levels of granularity. Path Testing Assumptions: • The Specifications are Accurate • The Data is defined and accessed properly • There are no defects that exist in the system other than those that affect control flow Path Testing Techniques: • Control Flow Graph (CFG) - The Program is converted into Flow graphs by representing the code into nodes, regions and edges. • Decision to Decision path (D-D) - The CFG can be broken into various Decision to Decision paths and then collapsed into individual nodes. • Independent (basis) paths - Independent path is a path through a DD-path graph which cannot be reproduced from other paths by other methods.
  • 17. Page 17Classification: Restricted Statement Coverage Statement coverage is a white box testing technique, which involves the execution of all the statements at least once in the source code. It is a metric, which is used to calculate and measure the number of statements in the source code which have been executed. Using this technique we can check what the source code is expected to do and what It should not. It can also be used to check the quality of the code and the flow of different paths in the program. The main drawback of this technique is that we cannot test the false condition in it
  • 18. Page 18Classification: Restricted (Statement coverage = No of statements Executed/Total no of statements in the source code * 100) Example: Read A Read B if A>B Print “A is greater than B” else Print "B is greater than A" endif Set1 :If A =5, B =2 No of statements Executed: 5 Total no of statements in the source code: 7 Statement coverage =5/7*100 = 71.00 % Set1 :If A =2, B =5 No of statements Executed: 6 Total no of statements in the source code: 7 Statement coverage =6/7*100 = 85.20 % This is purely a white box testing method. It tests the software’s internal coding and infrastructure and so the programmer is the one who should take the initiative to do this. This technique is very suitable for programmers.
  • 19. Page 19Classification: Restricted Data Flow Testing What is Data Flow Testing? Data flow testing is a family of test strategies based on selecting paths through the program's control flow in order to explore sequences of events related to the status of variables or data objects. Dataflow Testing focuses on the points at which variables receive values and the points at which these values are used. Advantages of Data Flow Testing: • Data Flow testing helps us to pinpoint any of the following issues: • A variable that is declared but never used within the program. • A variable that is used but never declared. • A variable that is defined multiple times before it is used. • Deallocating a variable before it is used.