SlideShare ist ein Scribd-Unternehmen logo
1 von 13
What Developers need
to know about software
testing
Mohamed Talaat Shalash
Qualification engineer
Orange Labs Cairo
Agenda
O Myths about software testing.
O 7 testing key principles.
O what developers need to know.
O Testers’ rights.

O References.
Myths About Software Testing
O “Software testing is easy job, any people

can become tester and no training is
needed” .
O “Software testing doesn’t require
programming” .
O “Software testing doesn’t require much
analysis and innovative thought” .
O “Testing is not challenging so I don’t have
much chance to growth in testing career” .
Myths About Software Testing
1- “Software testing is easy job, any people
can become tester and no training is
needed”
Reality:
 It takes hours to start testing job but years to
be good at it.
 Tester and developer requires two different
set of skills and mindset. Good developer
can’t become good tester.
 Software testing has its own process, levels,
types, approaches, tools, and techniques.
Myths About Software Testing
2- “Software testing doesn’t require
programming”

Reality:
 What you learn from university is just a starting

point for pursuit a career in IT.
 Automation, performance, security testing not only
require programming but also deep understanding
about system, technology.
Myths About Software Testing
3- “Software testing doesn’t require much
analysis and innovative thought”

Reality:
 Testing is not just test execution, you can see
many tester not doing testing .
 Testing based on requirements only find 70%
bugs. Innovation helps tester find the rest .
 We normally don’t know how user use the
software; strong analysis, deep domain
knowledge, lateral thinking is required for
tester.
Myths About Software Testing
4- “Testing is not challenging so I don’t have
much chance to growth in testing career”
Reality:
 A company likely will go to the end if releases a
low quality product.
 Role of tester now is not just testing. Combined
skills of (Developer + BA + Tester + Expertise
User) .
 Many IT companies in VN are testing service
providers – top management grew from testing .
7 Testing Key Principles
1. Testing shows presence of Defects.
2. Exhaustive Testing is Impossible!
3. Early Testing.
4. Defect Clustering.
5. The Pesticide Paradox.
6. Testing is Context Dependent.

7. Absence of Errors Fallacy.
What Developers Need to
Know
O The product is more than software.
O Quality is more than the lack of bugs.
O Quality assurance is more than testing.
O Testing is hard to do.

O You can make testing easier to do.
O Collaboration is the right approach – we

work to common goal.
Testers rights
O Testers have the right to sample their process
O
O

O
O
O

inputs, and reject poor quality work.
Testers have the right to unambiguous and clear
requirements.
Testers have the right to test evolutionary early as
the system increments.
Testers have the right to integrate their test
specification into the other technical specifications.
Testers have the right to be a party to setting the
quality levels they will test to.
Testers have the right to adequate resources to do
their job professionally.
Testers rights (Cont’d)
O Testers have the right to an even workload, and to

have a life.
O Testers have the right to specify the consequences
of products that they have not been allowed to test
properly.
O Testers have the right to review any specifications
that might impact their work.
O Testers have the right to focus on testing of agreed
quality products, and to send poor work back to the
source
References
O http://www.slideshare.net/kmstechnology/

become-software-tester-or-developer
O ISTQB Foundation Level
O http://www.satisfice.com/presentations/we
dntkat.pdf
O http://www.gilb.com/dl348%E2%80%8E
What developersneedtoknowaboutsw testing

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
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
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Kürzlich hochgeladen (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
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)
 
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!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

What developersneedtoknowaboutsw testing

  • 1. What Developers need to know about software testing Mohamed Talaat Shalash Qualification engineer Orange Labs Cairo
  • 2. Agenda O Myths about software testing. O 7 testing key principles. O what developers need to know. O Testers’ rights. O References.
  • 3. Myths About Software Testing O “Software testing is easy job, any people can become tester and no training is needed” . O “Software testing doesn’t require programming” . O “Software testing doesn’t require much analysis and innovative thought” . O “Testing is not challenging so I don’t have much chance to growth in testing career” .
  • 4. Myths About Software Testing 1- “Software testing is easy job, any people can become tester and no training is needed” Reality:  It takes hours to start testing job but years to be good at it.  Tester and developer requires two different set of skills and mindset. Good developer can’t become good tester.  Software testing has its own process, levels, types, approaches, tools, and techniques.
  • 5. Myths About Software Testing 2- “Software testing doesn’t require programming” Reality:  What you learn from university is just a starting point for pursuit a career in IT.  Automation, performance, security testing not only require programming but also deep understanding about system, technology.
  • 6. Myths About Software Testing 3- “Software testing doesn’t require much analysis and innovative thought” Reality:  Testing is not just test execution, you can see many tester not doing testing .  Testing based on requirements only find 70% bugs. Innovation helps tester find the rest .  We normally don’t know how user use the software; strong analysis, deep domain knowledge, lateral thinking is required for tester.
  • 7. Myths About Software Testing 4- “Testing is not challenging so I don’t have much chance to growth in testing career” Reality:  A company likely will go to the end if releases a low quality product.  Role of tester now is not just testing. Combined skills of (Developer + BA + Tester + Expertise User) .  Many IT companies in VN are testing service providers – top management grew from testing .
  • 8. 7 Testing Key Principles 1. Testing shows presence of Defects. 2. Exhaustive Testing is Impossible! 3. Early Testing. 4. Defect Clustering. 5. The Pesticide Paradox. 6. Testing is Context Dependent. 7. Absence of Errors Fallacy.
  • 9. What Developers Need to Know O The product is more than software. O Quality is more than the lack of bugs. O Quality assurance is more than testing. O Testing is hard to do. O You can make testing easier to do. O Collaboration is the right approach – we work to common goal.
  • 10. Testers rights O Testers have the right to sample their process O O O O O inputs, and reject poor quality work. Testers have the right to unambiguous and clear requirements. Testers have the right to test evolutionary early as the system increments. Testers have the right to integrate their test specification into the other technical specifications. Testers have the right to be a party to setting the quality levels they will test to. Testers have the right to adequate resources to do their job professionally.
  • 11. Testers rights (Cont’d) O Testers have the right to an even workload, and to have a life. O Testers have the right to specify the consequences of products that they have not been allowed to test properly. O Testers have the right to review any specifications that might impact their work. O Testers have the right to focus on testing of agreed quality products, and to send poor work back to the source
  • 12. References O http://www.slideshare.net/kmstechnology/ become-software-tester-or-developer O ISTQB Foundation Level O http://www.satisfice.com/presentations/we dntkat.pdf O http://www.gilb.com/dl348%E2%80%8E

Hinweis der Redaktion

  1. A university scholar, Mr. John Smith approaches his friend a software-testing guru tellinghim that he has a Bachelor in programming, and now would like to learn the software testing to complete his knowledge and to find a job as a software tester. After summing him up for a few minutes, the software-testing guru told him “I seriously doubt that you are ready to study software testing. It’s the serious topic. If you wish however I am willing to examine you in logic, and if you pass the test I will help teach you software testing.”The young man agrees. Software testing guru holds up two fingers “Two men come down a chimney. One comes with a clean face and the other comes out with a dirty face. Which one washes his face?The young man stares at the software-testing guru. “Is that a test in Logic?” software testing guru nods. “The one with the dirty face washes his face,” He answers wearily.“Wrong. The one with the clean face washes his face. Examine the simple logic. The one with the dirty face looks at the one with the clean face and thinks his face is clean. The one with the clean face looks at the one with the dirty face and thinks his face is dirty. So; the one with the clean face washes his face.”“Very clever” Says Smith. “Give me another test”The software-testing guru again holds up two fingers “Two men come down a chimney.One comes out with a clean face and the other comes out with a dirty face. Which one washes his face?“We have already established that. The one with the clean face washes his face”“Wrong. Each one washes his face. Examine the simple logic. The one with the dirty face looks at the one with the clean face and thinks his face is clean. The one with the clean face looks at the one with the dirty face and thinks his face is dirty. So; the one with the clean face washes his face. When the one with the dirty face sees the one with the clean face washing his face, he also washes his face. So each one washes his face”“I didn’t think of that!” Says Smith. ” It’s shocking to me that I could make an error in logic. Test me again!.”The software-testing guru holds up two fingers “Two men come down a chimney.One comes out with a clean face and the other comes out with a dirty face. Which one washes his face?“Each one washes his face”“Wrong. Neither one washes his face. Examine the simple logic. The one with the dirty face looks at the one with the clean face and thinks his face is clean. The one with the clean face looks at the one with the dirty face and thinks his face is dirty. But when the one with clean face sees that the one with the dirty face doesn’t wash his face, he also doesn’t wash his face So neither one washes his face”.Smith is desperate. “I am qualified to study software testing. Please give me one more test”He groans when the software-testing guru lifts his two fingers, “Two men come down a chimney. One comes out with a clean face and the other comes out with a dirty face. Which one washes his face?“Neither one washes his face”“Wrong. Do you now see, John, why programming knowledge is an insufficient basis for studying the software testing? Tell me, how is it possible for two men to come down the same chimney, and for one to come out with a clean face and the other with a dirty face? Don’t you see
  2. 1- Testing shows presence of DefectsWe test to find Faults (a.k.a Defects).As we find more defects, the probability of undiscovered defects remaining in a system reduces.However Testing cannotprove that there are no defects present.2- Exhaustive Testing is Impossible!We have learned that we cannot test everything (i.e. all combinations of inputs and pre-conditions). That is we must Prioritise our testing effort using a Risk Based Approach.3- Early testingTesting activities should start as early as possible in the development life cycleThese activities should be focused on defined objectives – outlined in the Test StrategyRemember from our Definition of Testing, that Testing doesn’t start once the code has been written!4- Defect ClusteringDefects are not evenly spread in a system They are ‘clustered’In other words, most defects found during testing are usually confined to a small number of modulesSimilarly, most operational failures of a system are usually confined to a small number of modulesAn important consideration in test prioritisation! 5- The Pesticide ParadoxTesting identifies bugs, and programmers respond to fix them As bugs are eliminated by the programmers, the software improves As software improves the effectiveness of previous tests erodes Therefore we must learn, create and use new tests based on new techniques to catch new bugs 6- Testing is Context DependentTesting is done differently in different contexts For example, safety-critical software is tested differently from an e-commerce site Whilst, Testing can be 50% of development costs, in NASA's Apollo program it was 80% testing 3 to 10 failures per thousand lines of code (KLOC) typical for commercial software 1 to 3 failures per KLOC typical for industrial software 0.01 failures per KLOC for NASA Shuttle code!Also different industries impose different testing standards7- Absence of Errors FallacyIf we build a system and, in doing so, find and fix defects .... It doesn’t make it a good system Even after defects have been resolved it may still be unusable and/or does not fulfil the users’ needs and expectationsAdapted from Barry H. Boehm, Software Engineering Economics, Prentice-Hall PTR, 1981, page 40