SlideShare a Scribd company logo
1 of 21
Presentation on
Test Design Techniques
- IV/01 Designing test cases
- IV/02 Categories of test design techniques
- IV/03 Black box techniques
- IV/04 White box techniques
- IV/05 Experience- based techniques
- IV/06 Choosing test techniques
IV – Test Design Technique
01 – Designing Test cases
Deriving test cases from requirements
Deriving test cases must be a controlled process.
-Test cases can be created in a formal way or in an informal way,
depending on the project delimitations and on the maturity
of the processes in use.
-Test case should be traceable.
Test object
and
requirements
on the
test object
Defining
test
requirements
And
test criteria
Test case 1
Test case 1
Test case 1
Test case 1
Test case 1
Test case 1
Test case 1
Test case 1
Test case 1
Test case 4
Test case 4
Test case 4
test scenarios
Deriving Test Case from Requirement:
-Test Object:
The subject to be examined: a document or a
piece of software in the software
development process
-Test Condition
An item or an event: a function, a
transaction, or an element in the system
-Test Criteria
The test object has to confirm the test
criteria in order to pass the test
Test case description according to IEEE 829:
- Distinct identification: Id or key in order to link, for example, an error
report to the test case where it appeared
- Preconditions: situation previous to test execution or characteristics of
the test object before conducting the test case
- Input values: description of the input data on the test object
- Expected result: output data that the test object is expected to
produce
- Post conditions: Characteristics of the test object after test execution,
description of its situation after the test
- Dependencies: order of execution of test cases, reason for
dependencies
- Requirements: Characteristics of the test object that the test case will
examine
StaticDynamic
WhiteboxBlackbox
Reviews/ walkthroughs
Control flow analysis
Data flow analysis
Compiler metrics/ analysis
Statement Coverage
Branch Coverage
Condition Coverage
Path Coverage
Experience-based techniques
Equivalence partitioning
Boundary value analysis
State transition testing
Decision tables
Use case based testing
Black-box Technique:
The Tester looks the test object as a Black Box
-internal structure of the test object is irrelevant
or unknown
-Testing of input/ output behavior
-Black box testing is also called functional testing
or specification oriented testing
White-box Technique:
The Tester knows the internal structure of the program
and code
-i.e. component hierarchy, control flow, data flow
Test case are selected on the basis of internal program
Code/ program structure
White box testing is also called structure based testing
Or control flow based testing
Categories of test design methods:
Specification based methods:
(Black Box)
Structure based methods:
(White Box)
Experienced based methods:
(Black Box)
StaticDynamic
WhiteboxBlackbox
Reviews/ walkthroughs
Control flow analysis
Data flow analysis
Compiler metrics/ analysis
Statement Coverage
Branch Coverage
Condition Coverage
Path Coverage
Experience-based techniques
Equivalence partitioning
Boundary value analysis
State transition testing
Decision tables
Use case based testing
Equivalence class (EC) partitioning
Equivalence class (EC) partitioning
- The range of defined values is grouped into equivalence classes, for which
the following rules apply:
- All values, for which a common behavior of the program is
expected, are grouped together in one equivalence class
- Equivalence class may not overlap and may not contain any gaps
- Equivalence class may contain a range of values
(e.g. 0<x<10) or a single value (e.g. x=“Yes”)
-invalid EC
- valid EC:
Age limit = between 25 and 60
25<=Age=<60
Equivalence class partitioning – example
- Equivalence classes are chosen for valid and invalid inputs
- if a value x is defined as 0≤ x ≤ 100, then when we can initially identify
three equivalence classes:
1. x<0 (invalid input values)
2. 0 ≤ x≤100 (valid input )
3. x> 100
- Further invalid EC can be defined, containing, but not limited to:
non-numerical inputs,
numbers to big or to small,
non-supported format for numbers
Equivalence class partitioning – example
Problem:
A program expected a percentage value according to the following
requirements:
- only integer values are allowed
- 0 is the valid lower boundary of the range
- 100 is the valid upper boundary of the range
Solution:
- Valid are all numbers from 0 to 100,
- Invalid are all negative numbers,
all numbers greater than 100,
all decimal numbers and
all non numerical values (e.g. “fred”)
- one valid equivalence class: 0 ≤ x ≤ 100
- 1st invalid equivalence class: x <0
- 2nd invalid equivalence class: 0 > 100
- 3rd invalid equivalence class: x = no integer
- 4th invalid equivalence class: x = not numeric (e.g. “abc”)
Equivalence class partitioning – example
Additional Requirement:
The percentage value will now be displayed in a bar chart.
The following additional requirements apply (both values included):
- values between 0 and 15 : Orange bar,
- values between 16 and 50: Green bar,
- values between 51 and 85: Yellow bar,
- values between 86 and 100: Blue bar,
Additional Solution for valid EC:
- Now there are four instead of one valid equivalence classes:
- 1st valid equivalence class: 0 ≤ x ≤ 15
- 2nd valid equivalence class: 15 ≤ x ≤ 50
- 3rd valid equivalence class: 51 ≤ x ≤ 85
- 4th valid equivalence class: 86 ≤ x ≤ 100
Variable EC Representative
Percentage Value
(Valid)
EC 1: 0<= X <=15 +10
EC 2: 16<= X <=50 +20
EC 3: 51<= X <=85 +80
EC 4: 85<= X <=100 +90
Percentage Value
(Invalid)
EC 5: X<0 -10
EC 6: X>100 +200
EC 7: X not integer 1.5
EC 8: X non number abc
EC Partitioning – Picking Representatives
Price of the Product:
Equivalence class partitioning – example 2 /1
- Analyzing the specification
- A piece of code computes the price of a product, based on its value, a discount
in % and shipping costs (6, 9, 12 EURO, depending on shipping mode)
Variable Equivalence class Status Representatives
Values of
goods
EC₁₁: x >= 0 Valid 1000.00
EC₁₂: x < 0 invalid -1000.00
EC₁₃: x non-numerical value Invalid abc
Discount EC₂₁: 0% ≤ x ≤ 100% valid 10%
EC₂₂: x < 0% Invalid -10%
EC₂₃: > 100 Invalid 200%
EC₂₄: x non numeric value Invalid abc
Shipping
costs
EC₃₁: x = 6 valid 6
EC₃₂: x = 9 valid 9
EC₃₃: x =12 valid 12
EC₃₄: x ≠ {6, 9, 12} Invalid 4
EC₃₅: x non numeric value invalid abc
Assumptions:
-Value of goods
is given as a positive
number with 2
decimal places
- Discount is a
percentage
Value without
Decimal places
Between 0% and
100%
- Shipping costs can
only be 6, 9 or 12
Equivalence class partitioning – example 2 /2
- Test cases for valid EC:
- Valid equivalence classes provide the following combinations or
test cases: T01, T02 and T03
Variable Equivalence class Status Representatives T01 T02 T03
Values of
goods
EC₁₁: x >= 0 valid 1000,00 * * *
EC₁₂: x < 0 invalid -1000,00
EC₁₃: x non-numerical value Invalid Fred
Discount EC₂₁: 0% ≤ x ≤ 100% valid 10% * * *
EC₂₂: x < 0% Invalid -10%
EC₂₃: > 100 Invalid 200%
EC₂₄: x non numeric value Invalid Fred
Shipping
costs
EC₃₁: x = 6 valid 6 *
EC₃₂: x = 9 valid 9 *
EC₃₃: x =12 valid 12 *
EC₃₄: x ≠ {6, 9, 12} Invalid 4
EC₃₅: x non numeric value invalid Fred
Equivalence class partitioning – example 2 /3
- Test cases for valid EC:
- The following test cases were created using the invalid EC, each in
combination with valid ECs of other elements:
Variable Equivalence class Status Representatives T04 T05 T06 T07 T08 T09 T010
Values of
goods
EC₁₁: x >= 0 valid 1000,00 * * * * *
EC₁₂: x < 0 invalid -1000,00 *
EC₁₃: x non-numerical value Invalid Fred *
Discount EC₂₁: 0% ≤ x ≤ 100% valid 10% * * * *
EC₂₂: x < 0% Invalid -10% *
EC₂₃: > 100 Invalid 200% *
EC₂₄: x non numeric value Invalid Fred *
Shipping
costs
EC₃₁: x = 6 valid 6 * * * * *
EC₃₂: x = 9 valid 9
EC₃₃: x =12 valid 12
EC₃₄: x ≠ {6, 9, 12} Invalid 4 *
EC₃₅: x non numeric value invalid Fred *
Equivalence class partitioning – example 2 /4
- All test cases:
- 10 test cases are derived: 3 positive (valid values) and 7
negative (invalid values) test cases:
Variable Status Representa
tives
T01 T02 T03 T04 T05 T06 T07 T08 T09 T010
Values of
goods
valid 1000,00 * * * * * * * *
invalid -1000,00 *
Invalid Fred *
Discount valid 10% * * * * * * *
Invalid -10% *
Invalid 200% *
Invalid Fred *
Shipping
costs
valid 6 * * * * * *
valid 9 *
valid 12 *
Invalid 4 *
invalid Fred *
Equivalence class partitioning – coverage
Equivalence class coverage can be used as exit criteria to end testing activities
EC Coverage =
Number of EC tested
Number of EC defined
*100%

More Related Content

What's hot

Test design techniques
Test design techniquesTest design techniques
Test design techniquesPragya Rastogi
 
Istqb ctfl-series - Black Box Testing
Istqb ctfl-series - Black Box TestingIstqb ctfl-series - Black Box Testing
Istqb ctfl-series - Black Box TestingDisha Srivastava
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisniharika5412
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test designIan McDonald
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningSneha Singh
 
Equivalence partitions analysis
Equivalence partitions analysisEquivalence partitions analysis
Equivalence partitions analysisVadym Muliavka
 
EquivalencePartition
EquivalencePartitionEquivalencePartition
EquivalencePartitionswornim nepal
 
Software Quality Testing
Software Quality TestingSoftware Quality Testing
Software Quality TestingKiran Kumar
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
Black box testing
Black box testingBlack box testing
Black box testingAbdul Basit
 
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software TestingSagar Pednekar
 
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingSoftware Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingNikita Knysh
 
Structural testing
Structural testingStructural testing
Structural testingSlideshare
 
Whitebox testing
Whitebox testingWhitebox testing
Whitebox testingOana Feidi
 
Testing foundations
Testing foundationsTesting foundations
Testing foundationsNeha Singh
 

What's hot (20)

Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Istqb ctfl-series - Black Box Testing
Istqb ctfl-series - Black Box TestingIstqb ctfl-series - Black Box Testing
Istqb ctfl-series - Black Box Testing
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysis
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test design
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioning
 
Equivalence partitions analysis
Equivalence partitions analysisEquivalence partitions analysis
Equivalence partitions analysis
 
EquivalencePartition
EquivalencePartitionEquivalencePartition
EquivalencePartition
 
Software Quality Testing
Software Quality TestingSoftware Quality Testing
Software Quality Testing
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingSoftware Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
 
Structural testing
Structural testingStructural testing
Structural testing
 
Whitebox
WhiteboxWhitebox
Whitebox
 
Whitebox testing
Whitebox testingWhitebox testing
Whitebox testing
 
Testing foundations
Testing foundationsTesting foundations
Testing foundations
 
White box testing
White box testingWhite box testing
White box testing
 

Viewers also liked

Viewers also liked (7)

Decision table
Decision tableDecision table
Decision table
 
Software test management overview for managers
Software test management overview for managersSoftware test management overview for managers
Software test management overview for managers
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
Chapter 8 software testing
Chapter 8 software testingChapter 8 software testing
Chapter 8 software testing
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
 

Similar to Test design techniques

Similar to Test design techniques (20)

Black boxtesting
Black boxtestingBlack boxtesting
Black boxtesting
 
Black Box Testing.pdf
Black Box Testing.pdfBlack Box Testing.pdf
Black Box Testing.pdf
 
SE%200-Testing%20(2).pptx
SE%200-Testing%20(2).pptxSE%200-Testing%20(2).pptx
SE%200-Testing%20(2).pptx
 
12 functional-system-testing
12 functional-system-testing12 functional-system-testing
12 functional-system-testing
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case Design
 
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
 
Test Techniques
Test TechniquesTest Techniques
Test Techniques
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
CTFL Module 04
CTFL Module 04CTFL Module 04
CTFL Module 04
 
Steven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest IrelandSteven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest Ireland
 
Lesson 2....PPT 1
Lesson 2....PPT 1Lesson 2....PPT 1
Lesson 2....PPT 1
 
black-box-1.pdf
black-box-1.pdfblack-box-1.pdf
black-box-1.pdf
 
Blackbox
BlackboxBlackbox
Blackbox
 
Unit testing
Unit testingUnit testing
Unit testing
 
AutoTest.ppt
AutoTest.pptAutoTest.ppt
AutoTest.ppt
 
AutoTest.ppt
AutoTest.pptAutoTest.ppt
AutoTest.ppt
 
AutoTest.ppt
AutoTest.pptAutoTest.ppt
AutoTest.ppt
 
Software Testing - Test Design Techniques
Software Testing - Test Design TechniquesSoftware Testing - Test Design Techniques
Software Testing - Test Design Techniques
 
Black-Box.ppt
Black-Box.pptBlack-Box.ppt
Black-Box.ppt
 
Testing techniques
Testing techniquesTesting techniques
Testing techniques
 

More from Bipul Roy Bpl

Specification and complexity - algorithm
Specification and complexity - algorithmSpecification and complexity - algorithm
Specification and complexity - algorithmBipul Roy Bpl
 
Sequential circuit-Digital Electronics
Sequential circuit-Digital ElectronicsSequential circuit-Digital Electronics
Sequential circuit-Digital ElectronicsBipul Roy Bpl
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testingBipul Roy Bpl
 
Garment management system
Garment management systemGarment management system
Garment management systemBipul Roy Bpl
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computationBipul Roy Bpl
 

More from Bipul Roy Bpl (8)

Specification and complexity - algorithm
Specification and complexity - algorithmSpecification and complexity - algorithm
Specification and complexity - algorithm
 
Sequential circuit-Digital Electronics
Sequential circuit-Digital ElectronicsSequential circuit-Digital Electronics
Sequential circuit-Digital Electronics
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
DFD level-0 to 1
DFD level-0 to 1DFD level-0 to 1
DFD level-0 to 1
 
Garment management system
Garment management systemGarment management system
Garment management system
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computation
 
Finite automata
Finite automataFinite automata
Finite automata
 
Theory of computing
Theory of computingTheory of computing
Theory of computing
 

Recently uploaded

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
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
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
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.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
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
 
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
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
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
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Recently uploaded (20)

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...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
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
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
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 ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
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
 
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
 
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...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
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...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

Test design techniques

  • 1. Presentation on Test Design Techniques - IV/01 Designing test cases - IV/02 Categories of test design techniques - IV/03 Black box techniques - IV/04 White box techniques - IV/05 Experience- based techniques - IV/06 Choosing test techniques
  • 2. IV – Test Design Technique 01 – Designing Test cases Deriving test cases from requirements Deriving test cases must be a controlled process. -Test cases can be created in a formal way or in an informal way, depending on the project delimitations and on the maturity of the processes in use. -Test case should be traceable. Test object and requirements on the test object Defining test requirements And test criteria Test case 1 Test case 1 Test case 1 Test case 1 Test case 1 Test case 1 Test case 1 Test case 1 Test case 1 Test case 4 Test case 4 Test case 4 test scenarios
  • 3. Deriving Test Case from Requirement: -Test Object: The subject to be examined: a document or a piece of software in the software development process -Test Condition An item or an event: a function, a transaction, or an element in the system -Test Criteria The test object has to confirm the test criteria in order to pass the test
  • 4. Test case description according to IEEE 829: - Distinct identification: Id or key in order to link, for example, an error report to the test case where it appeared - Preconditions: situation previous to test execution or characteristics of the test object before conducting the test case - Input values: description of the input data on the test object - Expected result: output data that the test object is expected to produce - Post conditions: Characteristics of the test object after test execution, description of its situation after the test - Dependencies: order of execution of test cases, reason for dependencies - Requirements: Characteristics of the test object that the test case will examine
  • 5. StaticDynamic WhiteboxBlackbox Reviews/ walkthroughs Control flow analysis Data flow analysis Compiler metrics/ analysis Statement Coverage Branch Coverage Condition Coverage Path Coverage Experience-based techniques Equivalence partitioning Boundary value analysis State transition testing Decision tables Use case based testing
  • 6. Black-box Technique: The Tester looks the test object as a Black Box -internal structure of the test object is irrelevant or unknown -Testing of input/ output behavior -Black box testing is also called functional testing or specification oriented testing
  • 7. White-box Technique: The Tester knows the internal structure of the program and code -i.e. component hierarchy, control flow, data flow Test case are selected on the basis of internal program Code/ program structure White box testing is also called structure based testing Or control flow based testing
  • 8. Categories of test design methods: Specification based methods: (Black Box) Structure based methods: (White Box) Experienced based methods: (Black Box)
  • 9. StaticDynamic WhiteboxBlackbox Reviews/ walkthroughs Control flow analysis Data flow analysis Compiler metrics/ analysis Statement Coverage Branch Coverage Condition Coverage Path Coverage Experience-based techniques Equivalence partitioning Boundary value analysis State transition testing Decision tables Use case based testing
  • 10. Equivalence class (EC) partitioning Equivalence class (EC) partitioning - The range of defined values is grouped into equivalence classes, for which the following rules apply: - All values, for which a common behavior of the program is expected, are grouped together in one equivalence class - Equivalence class may not overlap and may not contain any gaps - Equivalence class may contain a range of values (e.g. 0<x<10) or a single value (e.g. x=“Yes”) -invalid EC - valid EC:
  • 11. Age limit = between 25 and 60 25<=Age=<60
  • 12. Equivalence class partitioning – example - Equivalence classes are chosen for valid and invalid inputs - if a value x is defined as 0≤ x ≤ 100, then when we can initially identify three equivalence classes: 1. x<0 (invalid input values) 2. 0 ≤ x≤100 (valid input ) 3. x> 100 - Further invalid EC can be defined, containing, but not limited to: non-numerical inputs, numbers to big or to small, non-supported format for numbers
  • 13. Equivalence class partitioning – example Problem: A program expected a percentage value according to the following requirements: - only integer values are allowed - 0 is the valid lower boundary of the range - 100 is the valid upper boundary of the range Solution: - Valid are all numbers from 0 to 100, - Invalid are all negative numbers, all numbers greater than 100, all decimal numbers and all non numerical values (e.g. “fred”) - one valid equivalence class: 0 ≤ x ≤ 100 - 1st invalid equivalence class: x <0 - 2nd invalid equivalence class: 0 > 100 - 3rd invalid equivalence class: x = no integer - 4th invalid equivalence class: x = not numeric (e.g. “abc”)
  • 14. Equivalence class partitioning – example Additional Requirement: The percentage value will now be displayed in a bar chart. The following additional requirements apply (both values included): - values between 0 and 15 : Orange bar, - values between 16 and 50: Green bar, - values between 51 and 85: Yellow bar, - values between 86 and 100: Blue bar, Additional Solution for valid EC: - Now there are four instead of one valid equivalence classes: - 1st valid equivalence class: 0 ≤ x ≤ 15 - 2nd valid equivalence class: 15 ≤ x ≤ 50 - 3rd valid equivalence class: 51 ≤ x ≤ 85 - 4th valid equivalence class: 86 ≤ x ≤ 100
  • 15. Variable EC Representative Percentage Value (Valid) EC 1: 0<= X <=15 +10 EC 2: 16<= X <=50 +20 EC 3: 51<= X <=85 +80 EC 4: 85<= X <=100 +90 Percentage Value (Invalid) EC 5: X<0 -10 EC 6: X>100 +200 EC 7: X not integer 1.5 EC 8: X non number abc EC Partitioning – Picking Representatives
  • 16. Price of the Product:
  • 17. Equivalence class partitioning – example 2 /1 - Analyzing the specification - A piece of code computes the price of a product, based on its value, a discount in % and shipping costs (6, 9, 12 EURO, depending on shipping mode) Variable Equivalence class Status Representatives Values of goods EC₁₁: x >= 0 Valid 1000.00 EC₁₂: x < 0 invalid -1000.00 EC₁₃: x non-numerical value Invalid abc Discount EC₂₁: 0% ≤ x ≤ 100% valid 10% EC₂₂: x < 0% Invalid -10% EC₂₃: > 100 Invalid 200% EC₂₄: x non numeric value Invalid abc Shipping costs EC₃₁: x = 6 valid 6 EC₃₂: x = 9 valid 9 EC₃₃: x =12 valid 12 EC₃₄: x ≠ {6, 9, 12} Invalid 4 EC₃₅: x non numeric value invalid abc Assumptions: -Value of goods is given as a positive number with 2 decimal places - Discount is a percentage Value without Decimal places Between 0% and 100% - Shipping costs can only be 6, 9 or 12
  • 18. Equivalence class partitioning – example 2 /2 - Test cases for valid EC: - Valid equivalence classes provide the following combinations or test cases: T01, T02 and T03 Variable Equivalence class Status Representatives T01 T02 T03 Values of goods EC₁₁: x >= 0 valid 1000,00 * * * EC₁₂: x < 0 invalid -1000,00 EC₁₃: x non-numerical value Invalid Fred Discount EC₂₁: 0% ≤ x ≤ 100% valid 10% * * * EC₂₂: x < 0% Invalid -10% EC₂₃: > 100 Invalid 200% EC₂₄: x non numeric value Invalid Fred Shipping costs EC₃₁: x = 6 valid 6 * EC₃₂: x = 9 valid 9 * EC₃₃: x =12 valid 12 * EC₃₄: x ≠ {6, 9, 12} Invalid 4 EC₃₅: x non numeric value invalid Fred
  • 19. Equivalence class partitioning – example 2 /3 - Test cases for valid EC: - The following test cases were created using the invalid EC, each in combination with valid ECs of other elements: Variable Equivalence class Status Representatives T04 T05 T06 T07 T08 T09 T010 Values of goods EC₁₁: x >= 0 valid 1000,00 * * * * * EC₁₂: x < 0 invalid -1000,00 * EC₁₃: x non-numerical value Invalid Fred * Discount EC₂₁: 0% ≤ x ≤ 100% valid 10% * * * * EC₂₂: x < 0% Invalid -10% * EC₂₃: > 100 Invalid 200% * EC₂₄: x non numeric value Invalid Fred * Shipping costs EC₃₁: x = 6 valid 6 * * * * * EC₃₂: x = 9 valid 9 EC₃₃: x =12 valid 12 EC₃₄: x ≠ {6, 9, 12} Invalid 4 * EC₃₅: x non numeric value invalid Fred *
  • 20. Equivalence class partitioning – example 2 /4 - All test cases: - 10 test cases are derived: 3 positive (valid values) and 7 negative (invalid values) test cases: Variable Status Representa tives T01 T02 T03 T04 T05 T06 T07 T08 T09 T010 Values of goods valid 1000,00 * * * * * * * * invalid -1000,00 * Invalid Fred * Discount valid 10% * * * * * * * Invalid -10% * Invalid 200% * Invalid Fred * Shipping costs valid 6 * * * * * * valid 9 * valid 12 * Invalid 4 * invalid Fred *
  • 21. Equivalence class partitioning – coverage Equivalence class coverage can be used as exit criteria to end testing activities EC Coverage = Number of EC tested Number of EC defined *100%