SlideShare a Scribd company logo
1 of 25
Test case design techniques
Webinar
Ashutosh Garg
Brief about me
I am Ashutosh Garg
• MBA in Finance and Marketing from IIM Lucknow (PGPWE)
• Department Manager at Mediatek Inc.
• Trainer and Writer on diverse topics like Agile, MS Excel, Negotiations, Communication, Content
Marketing
Outline
• Suggested Approach for test case design
• Sample problem which we are solving
• Mind maps and usage in the sample problem
• Understanding what your objectives are
• Techniques for test case design
Approach
Mind Map
• A mind map is a graphical way of representing ideas and concepts. It helps you to structure
information, helping you to understand the requirements in a better way, analyze them better and
have fun as well!
• It helps to foster creativity, develop problem solving approach and representation in a concise
format.
• Testing is all about ideas and creativity. At every stage one can use mind maps to organize and be
creative.
• In this session, we are going to use mind maps for test case design.
Sample Mind map
Sample Problem
Type of transaction Weekdays-Day time Weekdays-Night time Weekends
Domestic 0.5% 0.75% 1.5%
International 0.75% 1% 2%
A credit card company will charge the following commission to a book based ecommerce portal based on the time of transaction
The maximum purchase a person can do on the website is 100000 INR
Need to design the test cases to check the commission calculation function (Server side can be ignored)
This is the requirement given. Know thy requirement. Ask as many questions.
Examples: When do we consider the day time to be over and when the night time to begin? Is the same cut off date for
weekends also? How probable is that someone will do a order of 1 Lakh, are there that expensive items?
Mind map for the sample problem
Objective of the test case design
Mind map for the sample problem
Test case design techniques
• Specification based techniques
• This techniques try to take the external description of the product as input.
• This could be the technical specifications, design document or the client’s requirement to design the test case
• Structure based techniques
• This techniques try to take the internal structure of the product as input.
• These techniques comprehensively test the developed code
• Experience-Based techniques
• This techniques try to take the tester’s experience as the input.
• The outcome is based on skills, knowledge and expertise of the people involved.
Specification based design techniques
Technique Name Definition or Description
Boundary Value Analysis As the name suggests, this technique is applied to explore errors at the boundary of the input cases.
It aims to catch the potential errors at the boundary
Equivalence Class Partitioning Since there might be numerous input cases, input data is divided into class which might show the
same behavior. So instead of all cases from a class, a small representative set is chosen.
Decision table testing Test cases are designed on the basis of decision tables that are arrived at using different
combinations of inputs and their corresponding outputs.
State Transition Diagrams Your software will transit from one state to the another. This transition is guided by different rules.
We can develop test cases to test the rules and/or test the transitions
Use case testing In this case the test case would be directly mapped to the business scenario or a end user
functionality
Structure based techniques
• Statement testing coverage
• Decision testing coverage
• (Multiple)Conditional testing coverage
• All path testing coverage
Experience based techniques
• Error guessing
• Exploratory testing
Equivalence class partitioning
• Based on the mind maps. Following partitions are clearly visible
• Transaction day
• [Mon – Fri][Sat-Sun]
• Transaction time
• [6 AM – 6 PM][6 PM-6 AM]
• Transaction Size
• [1 – 1000][1000-10000][10000-25000][>25000]
• Credit card number
• [0-4 digits][5-8 Digits][9-12 Digits][13-16 Digits]
• Other cases
• [Expiry date of Feb][Expiry date of Jan][Expiry date of April][Expiry date of Dec ][Expiry date of last year of Century]
Equivalence Class Partitioning Since there might be numerous input cases, input data is divided into class which might show the
same behavior. So instead of all cases from a class, a small representative set is chosen.
Boundary Value analysis
Boundary Value Analysis As the name suggests, this technique is applied to explore errors at the boundary of the input
cases. It aims to catch the potential errors at the boundary
Decision table testing
Payment form is filled
Transaction
size is less
than 1 lakh?
Card Details
are valid?
Show error popup
Card Details
are correct?
Show error popup
Show error popupSuccessful transaction
Yes
Yes
Yes
No
No
No
Decision table testing Test cases are designed on the basis of decision tables that are arrived at using different
combinations of inputs and their corresponding outputs.
State Transition Diagram
User Website Server
Fills data on the website
Sends to the server
Response comes from server
Response shown to user
State Transition Diagrams Your software will transit from one state to the another. This transition is guided by different
rules. We can develop test cases to test the rules and/or test the transitions
Will there be any overlaps?
• Yes. There will be.
• So do not make all cases from all techniques. Remember your objective and make accordingly.
○ If your objective is a basic coverage, pick few important pieces from each. Remove the
overlapping ones and design case
○ If your objective is a exhaustive coverage, pick all cases from each. Remove the overlaps
and design the case
○ If your objective is bugs, ensure basic coverage using point 1 above. Identify potential buggy
scenarios and add them as well.
Error guessing
• Error guessing techniques are based on the tester’s experience.
• It might be the general experience of the tester or his experience of testing a similar application
or software
• Most of you who are experienced testers, know some niche areas where you will always find
bugs. These come one or more of the following reasons
○ Previous experience of testing similar applications
○ Understanding of the system under test
○ Knowledge of typical implementation errors
○ Previously troubled areas
○ Historical data
○ Test results
• So based on your deep understanding of the software under test or your experience, design test
cases which have high potential to find the bugs
Exploratory testing
• This is by nature not a test case design technique
• Exploratory testing is also known as free testing.
• Free testing is directly proportional to the tester’s mind. Tester’s creativity, exploring nature,
understanding of the concept.
• Still in the world, a lot of real bugs are found in exploratory testing.
• You can use the mind map as the source and dig both broad and deep to uncover bugs.
• The key problem with exploratory testing is how to know coverage and gain confidence
○ Session Based test management is the technique which can be used for it.
○ If you want to learn it, register on this link:
Test cases are designed, what
next?
Optimization
• When a feature or module or software is new, it will have more check-ins. So test case might
need to run multiple times in a test duration.
• However, when the feature or module or software gets stable, it might not need so many runs
and we can optimize both the number of cycles and also the test case#
• Consider a module which has 100 test cases the number of checkins in each month as below
**Note: This is not a thumb rule, this depends purely on the business requirement in your organization
Chat with me
a@gargashutosh.com
+919810134649
www.gargashutosh.com
UpComing Webinars (They are free as well!)
• Webinar on “First Step Towards Automation”
○ https://www.townscript.com/e/first-step
• Webinar on “Session based test management”
○ https://www.townscript.com/e/sbtm
Join our free QA Community here on Whatsapp:https://chat.whatsapp.com/FERbQKIn7WwB6Q0eaT3QOK

More Related Content

What's hot

Chapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingChapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingNeeraj Kumar Singh
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual TestingAyah Soufan
 
Chapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesChapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesNeeraj Kumar Singh
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introductionOana Feidi
 
Types of test tools
Types of test toolsTypes of test tools
Types of test toolsVaibhav Dash
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Processguest1f2740
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testingdidev
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearSoftware Testing Solution
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingTestbytes
 
Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsNeeraj Kumar Singh
 
Test Process Improvement with TPI NEXT - what the model does not tell you but...
Test Process Improvement with TPI NEXT - what the model does not tell you but...Test Process Improvement with TPI NEXT - what the model does not tell you but...
Test Process Improvement with TPI NEXT - what the model does not tell you but...SQALab
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycleGaruda Trainings
 

What's hot (20)

Chapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingChapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for Testing
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
 
Chapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesChapter 4 - Test Design Techniques
Chapter 4 - Test Design Techniques
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introduction
 
Testing techniques
Testing techniquesTesting techniques
Testing techniques
 
Types of test tools
Types of test toolsTypes of test tools
Types of test tools
 
Test Complete
Test CompleteTest Complete
Test Complete
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
 
CTFL Module 04
CTFL Module 04CTFL Module 04
CTFL Module 04
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
 
Test planning
Test planningTest planning
Test planning
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality Characteristics
 
Chapter 5 - Test Management
Chapter 5 - Test ManagementChapter 5 - Test Management
Chapter 5 - Test Management
 
Test Process Improvement with TPI NEXT - what the model does not tell you but...
Test Process Improvement with TPI NEXT - what the model does not tell you but...Test Process Improvement with TPI NEXT - what the model does not tell you but...
Test Process Improvement with TPI NEXT - what the model does not tell you but...
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
 

Similar to Test case design techniques

'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 Georgina Tilby
 
How much testing is enough
How much testing is enoughHow much testing is enough
How much testing is enoughReti Yulvenia
 
Beyond "Quality Assurance"
Beyond "Quality Assurance"Beyond "Quality Assurance"
Beyond "Quality Assurance"Jason Benton
 
Ambiguous Requirements – Translating the message from C-level to implementation
Ambiguous Requirements – Translating the message from C-level to implementationAmbiguous Requirements – Translating the message from C-level to implementation
Ambiguous Requirements – Translating the message from C-level to implementationGeorgina Tilby
 
Fundamentals_of_Software_testing.pptx
Fundamentals_of_Software_testing.pptxFundamentals_of_Software_testing.pptx
Fundamentals_of_Software_testing.pptxMusaBashir9
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teamsDennis Popov
 
Computational thinking
Computational thinkingComputational thinking
Computational thinkingr123457
 
credit card fraud detection
credit card fraud detectioncredit card fraud detection
credit card fraud detectionjagan477830
 
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...AgileNetwork
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Raj Indugula
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterArleneAndrews2
 
Predictive Analytics in Software Testing
Predictive Analytics in Software TestingPredictive Analytics in Software Testing
Predictive Analytics in Software TestingPavan Kumar Kodedela
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013Tabăra de Testare
 
ISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystSamer Desouky
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For TestingTEST Huddle
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using AxiomsSQALab
 

Similar to Test case design techniques (20)

'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015
 
How much testing is enough
How much testing is enoughHow much testing is enough
How much testing is enough
 
Beyond "Quality Assurance"
Beyond "Quality Assurance"Beyond "Quality Assurance"
Beyond "Quality Assurance"
 
Ambiguous Requirements – Translating the message from C-level to implementation
Ambiguous Requirements – Translating the message from C-level to implementationAmbiguous Requirements – Translating the message from C-level to implementation
Ambiguous Requirements – Translating the message from C-level to implementation
 
Fundamentals_of_Software_testing.pptx
Fundamentals_of_Software_testing.pptxFundamentals_of_Software_testing.pptx
Fundamentals_of_Software_testing.pptx
 
Design testabilty
Design testabiltyDesign testabilty
Design testabilty
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Computational thinking
Computational thinkingComputational thinking
Computational thinking
 
credit card fraud detection
credit card fraud detectioncredit card fraud detection
credit card fraud detection
 
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A Tester
 
Predictive Analytics in Software Testing
Predictive Analytics in Software TestingPredictive Analytics in Software Testing
Predictive Analytics in Software Testing
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013
 
ISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystISTQB CTAL - Test Analyst
ISTQB CTAL - Test Analyst
 
New model
New modelNew model
New model
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For Testing
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
L software testing
L   software testingL   software testing
L software testing
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 

Recently uploaded

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Test case design techniques

  • 1. Test case design techniques Webinar Ashutosh Garg
  • 2. Brief about me I am Ashutosh Garg • MBA in Finance and Marketing from IIM Lucknow (PGPWE) • Department Manager at Mediatek Inc. • Trainer and Writer on diverse topics like Agile, MS Excel, Negotiations, Communication, Content Marketing
  • 3. Outline • Suggested Approach for test case design • Sample problem which we are solving • Mind maps and usage in the sample problem • Understanding what your objectives are • Techniques for test case design
  • 5. Mind Map • A mind map is a graphical way of representing ideas and concepts. It helps you to structure information, helping you to understand the requirements in a better way, analyze them better and have fun as well! • It helps to foster creativity, develop problem solving approach and representation in a concise format. • Testing is all about ideas and creativity. At every stage one can use mind maps to organize and be creative. • In this session, we are going to use mind maps for test case design.
  • 7. Sample Problem Type of transaction Weekdays-Day time Weekdays-Night time Weekends Domestic 0.5% 0.75% 1.5% International 0.75% 1% 2% A credit card company will charge the following commission to a book based ecommerce portal based on the time of transaction The maximum purchase a person can do on the website is 100000 INR Need to design the test cases to check the commission calculation function (Server side can be ignored) This is the requirement given. Know thy requirement. Ask as many questions. Examples: When do we consider the day time to be over and when the night time to begin? Is the same cut off date for weekends also? How probable is that someone will do a order of 1 Lakh, are there that expensive items?
  • 8. Mind map for the sample problem
  • 9. Objective of the test case design
  • 10. Mind map for the sample problem
  • 11. Test case design techniques • Specification based techniques • This techniques try to take the external description of the product as input. • This could be the technical specifications, design document or the client’s requirement to design the test case • Structure based techniques • This techniques try to take the internal structure of the product as input. • These techniques comprehensively test the developed code • Experience-Based techniques • This techniques try to take the tester’s experience as the input. • The outcome is based on skills, knowledge and expertise of the people involved.
  • 12. Specification based design techniques Technique Name Definition or Description Boundary Value Analysis As the name suggests, this technique is applied to explore errors at the boundary of the input cases. It aims to catch the potential errors at the boundary Equivalence Class Partitioning Since there might be numerous input cases, input data is divided into class which might show the same behavior. So instead of all cases from a class, a small representative set is chosen. Decision table testing Test cases are designed on the basis of decision tables that are arrived at using different combinations of inputs and their corresponding outputs. State Transition Diagrams Your software will transit from one state to the another. This transition is guided by different rules. We can develop test cases to test the rules and/or test the transitions Use case testing In this case the test case would be directly mapped to the business scenario or a end user functionality
  • 13. Structure based techniques • Statement testing coverage • Decision testing coverage • (Multiple)Conditional testing coverage • All path testing coverage
  • 14. Experience based techniques • Error guessing • Exploratory testing
  • 15. Equivalence class partitioning • Based on the mind maps. Following partitions are clearly visible • Transaction day • [Mon – Fri][Sat-Sun] • Transaction time • [6 AM – 6 PM][6 PM-6 AM] • Transaction Size • [1 – 1000][1000-10000][10000-25000][>25000] • Credit card number • [0-4 digits][5-8 Digits][9-12 Digits][13-16 Digits] • Other cases • [Expiry date of Feb][Expiry date of Jan][Expiry date of April][Expiry date of Dec ][Expiry date of last year of Century] Equivalence Class Partitioning Since there might be numerous input cases, input data is divided into class which might show the same behavior. So instead of all cases from a class, a small representative set is chosen.
  • 16. Boundary Value analysis Boundary Value Analysis As the name suggests, this technique is applied to explore errors at the boundary of the input cases. It aims to catch the potential errors at the boundary
  • 17. Decision table testing Payment form is filled Transaction size is less than 1 lakh? Card Details are valid? Show error popup Card Details are correct? Show error popup Show error popupSuccessful transaction Yes Yes Yes No No No Decision table testing Test cases are designed on the basis of decision tables that are arrived at using different combinations of inputs and their corresponding outputs.
  • 18. State Transition Diagram User Website Server Fills data on the website Sends to the server Response comes from server Response shown to user State Transition Diagrams Your software will transit from one state to the another. This transition is guided by different rules. We can develop test cases to test the rules and/or test the transitions
  • 19. Will there be any overlaps? • Yes. There will be. • So do not make all cases from all techniques. Remember your objective and make accordingly. ○ If your objective is a basic coverage, pick few important pieces from each. Remove the overlapping ones and design case ○ If your objective is a exhaustive coverage, pick all cases from each. Remove the overlaps and design the case ○ If your objective is bugs, ensure basic coverage using point 1 above. Identify potential buggy scenarios and add them as well.
  • 20. Error guessing • Error guessing techniques are based on the tester’s experience. • It might be the general experience of the tester or his experience of testing a similar application or software • Most of you who are experienced testers, know some niche areas where you will always find bugs. These come one or more of the following reasons ○ Previous experience of testing similar applications ○ Understanding of the system under test ○ Knowledge of typical implementation errors ○ Previously troubled areas ○ Historical data ○ Test results • So based on your deep understanding of the software under test or your experience, design test cases which have high potential to find the bugs
  • 21. Exploratory testing • This is by nature not a test case design technique • Exploratory testing is also known as free testing. • Free testing is directly proportional to the tester’s mind. Tester’s creativity, exploring nature, understanding of the concept. • Still in the world, a lot of real bugs are found in exploratory testing. • You can use the mind map as the source and dig both broad and deep to uncover bugs. • The key problem with exploratory testing is how to know coverage and gain confidence ○ Session Based test management is the technique which can be used for it. ○ If you want to learn it, register on this link:
  • 22. Test cases are designed, what next?
  • 23. Optimization • When a feature or module or software is new, it will have more check-ins. So test case might need to run multiple times in a test duration. • However, when the feature or module or software gets stable, it might not need so many runs and we can optimize both the number of cycles and also the test case# • Consider a module which has 100 test cases the number of checkins in each month as below **Note: This is not a thumb rule, this depends purely on the business requirement in your organization
  • 25. UpComing Webinars (They are free as well!) • Webinar on “First Step Towards Automation” ○ https://www.townscript.com/e/first-step • Webinar on “Session based test management” ○ https://www.townscript.com/e/sbtm Join our free QA Community here on Whatsapp:https://chat.whatsapp.com/FERbQKIn7WwB6Q0eaT3QOK