SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
Equivalence Partitioning in Software Testing through “Hello World”
Program
Md. Shamsur Rahim
Software Quality Assurance Engineer, Dhaka
Bangladesh
Prologue:
Exhaustive testing of all possible input is impossible in case of Data Driven Testing (DDT) as it is
extremely difficult and time consuming to do and not to mention almost impossible to find out all
possible testing scenarios. To overcome this situation, we need to partition the class of all possible
inputs to try to simulate exhaustive testing. This partitioning technique is known as equivalence
partitioning where all possible inputs are divided into equivalence classes. A test with one member
of an equivalence class will be the same as a test with all the members of that class. This article
will try to explain Equivalence Partitioning through the example of Hello World application.
Equivalent Partitioning for “Hello World”:
As per as Client’s requirement [1], the “Hello World” app is ready for testing. Let’s assume you
have performed all the testing except the testing of possible inputs. Before driving into further
discussion, let’s first at look the developed app.
As we can see, there is line “Press any key to continue . . .” which means we have to quit the app
by pressing any key from the keyboard. And here is the dilemma, to assure the proper quality we
should check the app by pressing every key but there are 101-keys in the US traditional keyboards
and 104-keys in Windows keyboards. Obviously pressing 101 or 104 keys is not a good idea. To
solve this problem we can think of equivalence partitioning. Before deriving partitioning classes,
let’s first observe the key types of a keyboard.
From the image, we can see that there are 8types of key in a keyboard. Namely:
1. Character keys
2. Modifier keys
3. Enter and Editing keys
4. System and GUI keys
5. Navigation keys
6. Function keys
7. Numeric keypad keys
8. Lock keys.
From the above mentioned types of key we can easily derive 8 equivalent partitioning input classes.
Then we can perform our testing by taking each input from each input classes. Thus we can cover
the testing for 101 or 104 keys by pressing only 8 keys. Because we have mentioned earlier that:
“A test with one member of an equivalence class will be the same as a test with all the members
of that class” and this is the magic of Equivalence Partitioning. As you haven’t test your “Hello
World” app by pressing all the keys, so now it’s high time to test it by pressing 8 keys only. If any
key is found which is not working then maybe it’s time to change the text!!!
Previous Article: Thinking Like a Tester: Is There Any Bug at “Hello World”
Program?

Más contenido relacionado

Destacado

Structural testing
Structural testingStructural testing
Structural testingSlideshare
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testingHimanshu
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test designIan McDonald
 
Equivalence partitioning
Equivalence partitioningEquivalence partitioning
Equivalence partitioningSarjana Muda
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisniharika5412
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementelliando dias
 
Aims, goals and objectives
Aims, goals and objectivesAims, goals and objectives
Aims, goals and objectivesMohamed Benhima
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementguy_davis
 
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
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software TestingNishant Worah
 

Destacado (19)

The importance of quality software
The importance of quality softwareThe importance of quality software
The importance of quality software
 
Structural testing
Structural testingStructural testing
Structural testing
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test design
 
Equivalence partitioning
Equivalence partitioningEquivalence partitioning
Equivalence partitioning
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysis
 
Code coverage
Code coverageCode coverage
Code coverage
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Aims, goals and objectives
Aims, goals and objectivesAims, goals and objectives
Aims, goals and objectives
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
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...
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Black box
Black boxBlack box
Black box
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 

Más de Md. Shamsur Rahim

Software Quality Assurance & Testing
Software Quality Assurance & TestingSoftware Quality Assurance & Testing
Software Quality Assurance & TestingMd. Shamsur Rahim
 
National Operating System for Bangladesh
National Operating System for BangladeshNational Operating System for Bangladesh
National Operating System for BangladeshMd. Shamsur Rahim
 
Slide #2: Setup Apache Storm
Slide #2: Setup Apache StormSlide #2: Setup Apache Storm
Slide #2: Setup Apache StormMd. Shamsur Rahim
 
Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormMd. Shamsur Rahim
 
Slide #2: How to Setup Apache STROM
Slide #2: How to Setup Apache STROMSlide #2: How to Setup Apache STROM
Slide #2: How to Setup Apache STROMMd. Shamsur Rahim
 
Load Balancing in Parallel and Distributed Database
Load Balancing in Parallel and Distributed DatabaseLoad Balancing in Parallel and Distributed Database
Load Balancing in Parallel and Distributed DatabaseMd. Shamsur Rahim
 
NASA Space App Challenge-Team: Hello World
NASA Space App Challenge-Team: Hello WorldNASA Space App Challenge-Team: Hello World
NASA Space App Challenge-Team: Hello WorldMd. Shamsur Rahim
 

Más de Md. Shamsur Rahim (8)

Software Quality Assurance & Testing
Software Quality Assurance & TestingSoftware Quality Assurance & Testing
Software Quality Assurance & Testing
 
National Operating System for Bangladesh
National Operating System for BangladeshNational Operating System for Bangladesh
National Operating System for Bangladesh
 
Slide #2: Setup Apache Storm
Slide #2: Setup Apache StormSlide #2: Setup Apache Storm
Slide #2: Setup Apache Storm
 
Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache Storm
 
Slide #2: How to Setup Apache STROM
Slide #2: How to Setup Apache STROMSlide #2: How to Setup Apache STROM
Slide #2: How to Setup Apache STROM
 
1 storm-intro
1 storm-intro1 storm-intro
1 storm-intro
 
Load Balancing in Parallel and Distributed Database
Load Balancing in Parallel and Distributed DatabaseLoad Balancing in Parallel and Distributed Database
Load Balancing in Parallel and Distributed Database
 
NASA Space App Challenge-Team: Hello World
NASA Space App Challenge-Team: Hello WorldNASA Space App Challenge-Team: Hello World
NASA Space App Challenge-Team: Hello World
 

Último

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
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
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Último (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
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...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Equivalence partitioning

  • 1. Equivalence Partitioning in Software Testing through “Hello World” Program Md. Shamsur Rahim Software Quality Assurance Engineer, Dhaka Bangladesh Prologue: Exhaustive testing of all possible input is impossible in case of Data Driven Testing (DDT) as it is extremely difficult and time consuming to do and not to mention almost impossible to find out all possible testing scenarios. To overcome this situation, we need to partition the class of all possible inputs to try to simulate exhaustive testing. This partitioning technique is known as equivalence partitioning where all possible inputs are divided into equivalence classes. A test with one member of an equivalence class will be the same as a test with all the members of that class. This article will try to explain Equivalence Partitioning through the example of Hello World application. Equivalent Partitioning for “Hello World”: As per as Client’s requirement [1], the “Hello World” app is ready for testing. Let’s assume you have performed all the testing except the testing of possible inputs. Before driving into further discussion, let’s first at look the developed app. As we can see, there is line “Press any key to continue . . .” which means we have to quit the app by pressing any key from the keyboard. And here is the dilemma, to assure the proper quality we should check the app by pressing every key but there are 101-keys in the US traditional keyboards and 104-keys in Windows keyboards. Obviously pressing 101 or 104 keys is not a good idea. To solve this problem we can think of equivalence partitioning. Before deriving partitioning classes, let’s first observe the key types of a keyboard.
  • 2. From the image, we can see that there are 8types of key in a keyboard. Namely: 1. Character keys 2. Modifier keys 3. Enter and Editing keys 4. System and GUI keys 5. Navigation keys 6. Function keys 7. Numeric keypad keys 8. Lock keys. From the above mentioned types of key we can easily derive 8 equivalent partitioning input classes. Then we can perform our testing by taking each input from each input classes. Thus we can cover the testing for 101 or 104 keys by pressing only 8 keys. Because we have mentioned earlier that: “A test with one member of an equivalence class will be the same as a test with all the members of that class” and this is the magic of Equivalence Partitioning. As you haven’t test your “Hello World” app by pressing all the keys, so now it’s high time to test it by pressing 8 keys only. If any key is found which is not working then maybe it’s time to change the text!!! Previous Article: Thinking Like a Tester: Is There Any Bug at “Hello World” Program?