SlideShare a Scribd company logo
1 of 24
Download to read offline
Software Testing Axioms
Prepared by
S.Rijutha
AP/IT
7/21/2019 IT6004/ Software Testing / Axioms 2/27
An Uncontested principle
An axiom is something that is impossible to
prove to be true but could be disproved with a
single experiment/example
Software testing axioms
1. It is impossible to test a program completely.
2. Software testing is a risk-based exercise.
3. Testing cannot show the absence of bugs.
4. The more bugs you find, the more bugs there are.
5. Not all bugs found will be fixed.
6. It is difficult to say when a bug is indeed a bug.
7. Specifications are never final.
8. Software testers are not the most popular members of a
project.
9. Software testing is a disciplined and technical profession.
7/21/2019 IT6004/ Software Testing / Axioms 3/27
7/21/2019 IT6004/ Software Testing / Axioms 4/27
It’s impossible to test a program
completely
• There are the reasons below:
• The number of possible inputs is very large.
• The number of possible outputs is very large.
• The number of paths through the software is very large.
• The software specification is subjective.
7/21/2019 IT6004/ Software Testing / Axioms 5/27
• How many test cases do you need to
exhaustively test:
• Powerpoint
• A calculator
• MS Word
• Any interesting software!
• The only way to be absolutely sure
software works is to run it against all
possible inputs and observe all of its
outputs
7/21/2019 IT6004/ Software Testing / Axioms 6/27
Software testing
is a risk-based
exercise
7/21/2019 IT6004/ Software Testing / Axioms 7/27
Software testing is a risk-bases
exercise
• If you do not test the software for all inputs (a wise choice)
you take a risk.
• Hopefully you will skip a lot of inputs that work correctly.
• What if you skip inputs that cause a fault?
• Risk: financial loss, security, loss of money, loss of life!
• That is a lot of pressure for a tester!
• If you try to test too much, the development cost becomes
prohibitive.
• If you test too little, the probability of software failure
increases
• software failures can cost us big time!
7/21/2019 IT6004/ Software Testing / Axioms 8/27
Software testing is a risk-bases
exercise
Every software project has an optimal test effort
7/21/2019 IT6004/ Software Testing / Axioms 9/27
Testing can’t show that bugs
don’t exist
• Are there bugs in our
software?
• Are there bugs in other
software?
• Can you guarantee that
there are no bugs to
find?
7/21/2019 IT6004/ Software Testing / Axioms 10/27
Bugs follow bugs
7/21/2019 IT6004/ Software Testing / Axioms 11/27
Bugs follow bugs
• Frequently: find one bug, then find other and
more, Why?
– Programmers have bad days
– Programmers often make the same mistake
– Some bugs are really just the tip of the iceberg
7/21/2019 IT6004/ Software Testing / Axioms 12/27
• Boris Beizer coined the
term pesticide
paradox to describe
the phenomenon that
the more you test
software the more
immune it becomes to
your test cases.
– Remedy: continually
write new and
different tests to
exercise different parts
of the software
7/21/2019 IT6004/ Software Testing / Axioms 13/27
7/21/2019 IT6004/ Software Testing / Axioms
Not
possible
14/27
Not all bugs you find will be fixed
Why? …..There are several reasons :
• There are not enough time.
• It is really not a bug.
• It is too risk to fix.
• It is just not worth it.
7/21/2019 IT6004/ Software Testing / Axioms 15/27
There are not enough time
• In every project there are many
software features:
–Too few people to code and test.
–Not enough room to left them
–Must have software in time.
7/21/2019 IT6004/ Software Testing / Axioms 16/27
It is really not bug
• It’s common for misunderstandings
• Test errors
• Specification change to result
7/21/2019 IT6004/ Software Testing / Axioms 17/27
It is too risk to fix
• Software is fragile.
• Sometime is like spaghetti. (inter-twined)
• Under the pressure to release a product under
tight schedule.
It may be better to leave in the know bug to avoid the risk of
creating than unknown ones
7/21/2019 IT6004/ Software Testing / Axioms 18/27
It’s just not worth it.
• Bugs that would occur infrequently.
• Bugs that appear in little-used features.
• A user can prevent or avoid the bug.
7/21/2019 IT6004/ Software Testing / Axioms 19/27
What happens when you make the wrong
decision?
The Intel Pentium test engineers found bug
before the chip was released, but the product
team decided that it was such small, rare bug
that it wasn’t worth fixing. They were under a
tight schedule and decided to meet their
current deadline and fix the bug in later
releases of the chip. Unfortunately, the bug
was discovered and rest.
7/21/2019 IT6004/ Software Testing / Axioms 20/27
It is difficult to say when a bug
is indeed a bug
• If there is a problem in the software but no
one ever discovers it … is it a bug?
• Parody of “if a tree falls in the forest … does it really
make a noise?”
• What is your opinion? Does a bug have to be
observable in order for it to me a bug?
• Bugs that are undiscovered are called latent
bugs.
7/21/2019 IT6004/ Software Testing / Axioms 21/27
Specifications are never final
• Building a product based on a “moving
target” specification is fairly unique to
software development.
• Competition is fierce
• Very rapid release cycles
• Software is “easy” to change
• Not true in other engineering domains
• E.g., the Brooklyn Bridge could not be adjusted to allow
train traffic to cross it once its construction started.
7/21/2019 IT6004/ Software Testing / Axioms 22/27
Software testers are not the most
popular members of a project
• Goal of a software tester:
• Find bugs
• Find bugs early
• Make sure bugs get fixed
• Tips to avoid becoming unpopular:
• Find bugs early
• Temper your enthusiasm … act in a professional manner
• Don’t report just the bad news
7/21/2019 IT6004/ Software Testing / Axioms 23/27
Software testing is a disciplined
and technical profession
• When software was simpler and more manageable software
testers were often untrained and testing was not done
methodically.
– Contrary to the urban legend, if you hire a million moneys
and have them test for a million years … you will not find
all of the bugs in your software.
• It is now too costly to build buggy software. As a result
testing has matured as a discipline.
– Sophisticated techniques
– Tool support
– Rewarding careers
7/21/2019 IT6004/ Software Testing / Axioms 24/27

More Related Content

What's hot

Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
States, state graphs and transition testing
States, state graphs and transition testingStates, state graphs and transition testing
States, state graphs and transition testingABHISHEK KUMAR
 
Token, Pattern and Lexeme
Token, Pattern and LexemeToken, Pattern and Lexeme
Token, Pattern and LexemeA. S. M. Shafi
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
Program security
Program securityProgram security
Program securityG Prachi
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems Haitham Ahmed
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)Priya Tomar
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 

What's hot (20)

software engineering
software engineeringsoftware engineering
software engineering
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
States, state graphs and transition testing
States, state graphs and transition testingStates, state graphs and transition testing
States, state graphs and transition testing
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Token, Pattern and Lexeme
Token, Pattern and LexemeToken, Pattern and Lexeme
Token, Pattern and Lexeme
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Program security
Program securityProgram security
Program security
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
 
verification and validation
verification and validationverification and validation
verification and validation
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software design
Software designSoftware design
Software design
 
Role-of-lexical-analysis
Role-of-lexical-analysisRole-of-lexical-analysis
Role-of-lexical-analysis
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Taxonomy for bugs
Taxonomy for bugsTaxonomy for bugs
Taxonomy for bugs
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 

Similar to Software testing axioms

Software testing principles
Software testing principlesSoftware testing principles
Software testing principlesDonato Di Pierro
 
Lec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptxLec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptxAbdullah Khan
 
Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementationsyogi syafrialdi
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWJournal For Research
 
Software Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis OverviewSoftware Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis OverviewAnn Marie Neufelder
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareAnn Marie Neufelder
 
Poka yoke error proofing
Poka yoke error proofing Poka yoke error proofing
Poka yoke error proofing ssusercee91d
 
Rob Sabourin: On Testing
Rob Sabourin: On TestingRob Sabourin: On Testing
Rob Sabourin: On TestingTechWell
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Sauce Labs
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting AgileCoverity
 
TestElf Informational Presentation
TestElf Informational PresentationTestElf Informational Presentation
TestElf Informational PresentationTestElf
 

Similar to Software testing axioms (20)

Unit 1.pptx
Unit 1.pptxUnit 1.pptx
Unit 1.pptx
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
 
software testing
software testingsoftware testing
software testing
 
Introduction to software FMEA
Introduction to software FMEAIntroduction to software FMEA
Introduction to software FMEA
 
Lec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptxLec 1 Introduction to Software Engg.pptx
Lec 1 Introduction to Software Engg.pptx
 
Automation and Technical Debt
Automation and Technical DebtAutomation and Technical Debt
Automation and Technical Debt
 
Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementations
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
 
Software Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis OverviewSoftware Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis Overview
 
Bug Advocacy
Bug AdvocacyBug Advocacy
Bug Advocacy
 
Software testing
Software testingSoftware testing
Software testing
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
 
Poka yoke error proofing
Poka yoke error proofing Poka yoke error proofing
Poka yoke error proofing
 
Rob Sabourin: On Testing
Rob Sabourin: On TestingRob Sabourin: On Testing
Rob Sabourin: On Testing
 
Bab 1
Bab 1Bab 1
Bab 1
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
TestElf Informational Presentation
TestElf Informational PresentationTestElf Informational Presentation
TestElf Informational Presentation
 

Recently uploaded

18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 

Recently uploaded (20)

18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 

Software testing axioms

  • 1. Software Testing Axioms Prepared by S.Rijutha AP/IT
  • 2. 7/21/2019 IT6004/ Software Testing / Axioms 2/27 An Uncontested principle An axiom is something that is impossible to prove to be true but could be disproved with a single experiment/example
  • 3. Software testing axioms 1. It is impossible to test a program completely. 2. Software testing is a risk-based exercise. 3. Testing cannot show the absence of bugs. 4. The more bugs you find, the more bugs there are. 5. Not all bugs found will be fixed. 6. It is difficult to say when a bug is indeed a bug. 7. Specifications are never final. 8. Software testers are not the most popular members of a project. 9. Software testing is a disciplined and technical profession. 7/21/2019 IT6004/ Software Testing / Axioms 3/27
  • 4. 7/21/2019 IT6004/ Software Testing / Axioms 4/27
  • 5. It’s impossible to test a program completely • There are the reasons below: • The number of possible inputs is very large. • The number of possible outputs is very large. • The number of paths through the software is very large. • The software specification is subjective. 7/21/2019 IT6004/ Software Testing / Axioms 5/27
  • 6. • How many test cases do you need to exhaustively test: • Powerpoint • A calculator • MS Word • Any interesting software! • The only way to be absolutely sure software works is to run it against all possible inputs and observe all of its outputs 7/21/2019 IT6004/ Software Testing / Axioms 6/27
  • 7. Software testing is a risk-based exercise 7/21/2019 IT6004/ Software Testing / Axioms 7/27
  • 8. Software testing is a risk-bases exercise • If you do not test the software for all inputs (a wise choice) you take a risk. • Hopefully you will skip a lot of inputs that work correctly. • What if you skip inputs that cause a fault? • Risk: financial loss, security, loss of money, loss of life! • That is a lot of pressure for a tester! • If you try to test too much, the development cost becomes prohibitive. • If you test too little, the probability of software failure increases • software failures can cost us big time! 7/21/2019 IT6004/ Software Testing / Axioms 8/27
  • 9. Software testing is a risk-bases exercise Every software project has an optimal test effort 7/21/2019 IT6004/ Software Testing / Axioms 9/27
  • 10. Testing can’t show that bugs don’t exist • Are there bugs in our software? • Are there bugs in other software? • Can you guarantee that there are no bugs to find? 7/21/2019 IT6004/ Software Testing / Axioms 10/27
  • 11. Bugs follow bugs 7/21/2019 IT6004/ Software Testing / Axioms 11/27
  • 12. Bugs follow bugs • Frequently: find one bug, then find other and more, Why? – Programmers have bad days – Programmers often make the same mistake – Some bugs are really just the tip of the iceberg 7/21/2019 IT6004/ Software Testing / Axioms 12/27
  • 13. • Boris Beizer coined the term pesticide paradox to describe the phenomenon that the more you test software the more immune it becomes to your test cases. – Remedy: continually write new and different tests to exercise different parts of the software 7/21/2019 IT6004/ Software Testing / Axioms 13/27
  • 14. 7/21/2019 IT6004/ Software Testing / Axioms Not possible 14/27
  • 15. Not all bugs you find will be fixed Why? …..There are several reasons : • There are not enough time. • It is really not a bug. • It is too risk to fix. • It is just not worth it. 7/21/2019 IT6004/ Software Testing / Axioms 15/27
  • 16. There are not enough time • In every project there are many software features: –Too few people to code and test. –Not enough room to left them –Must have software in time. 7/21/2019 IT6004/ Software Testing / Axioms 16/27
  • 17. It is really not bug • It’s common for misunderstandings • Test errors • Specification change to result 7/21/2019 IT6004/ Software Testing / Axioms 17/27
  • 18. It is too risk to fix • Software is fragile. • Sometime is like spaghetti. (inter-twined) • Under the pressure to release a product under tight schedule. It may be better to leave in the know bug to avoid the risk of creating than unknown ones 7/21/2019 IT6004/ Software Testing / Axioms 18/27
  • 19. It’s just not worth it. • Bugs that would occur infrequently. • Bugs that appear in little-used features. • A user can prevent or avoid the bug. 7/21/2019 IT6004/ Software Testing / Axioms 19/27
  • 20. What happens when you make the wrong decision? The Intel Pentium test engineers found bug before the chip was released, but the product team decided that it was such small, rare bug that it wasn’t worth fixing. They were under a tight schedule and decided to meet their current deadline and fix the bug in later releases of the chip. Unfortunately, the bug was discovered and rest. 7/21/2019 IT6004/ Software Testing / Axioms 20/27
  • 21. It is difficult to say when a bug is indeed a bug • If there is a problem in the software but no one ever discovers it … is it a bug? • Parody of “if a tree falls in the forest … does it really make a noise?” • What is your opinion? Does a bug have to be observable in order for it to me a bug? • Bugs that are undiscovered are called latent bugs. 7/21/2019 IT6004/ Software Testing / Axioms 21/27
  • 22. Specifications are never final • Building a product based on a “moving target” specification is fairly unique to software development. • Competition is fierce • Very rapid release cycles • Software is “easy” to change • Not true in other engineering domains • E.g., the Brooklyn Bridge could not be adjusted to allow train traffic to cross it once its construction started. 7/21/2019 IT6004/ Software Testing / Axioms 22/27
  • 23. Software testers are not the most popular members of a project • Goal of a software tester: • Find bugs • Find bugs early • Make sure bugs get fixed • Tips to avoid becoming unpopular: • Find bugs early • Temper your enthusiasm … act in a professional manner • Don’t report just the bad news 7/21/2019 IT6004/ Software Testing / Axioms 23/27
  • 24. Software testing is a disciplined and technical profession • When software was simpler and more manageable software testers were often untrained and testing was not done methodically. – Contrary to the urban legend, if you hire a million moneys and have them test for a million years … you will not find all of the bugs in your software. • It is now too costly to build buggy software. As a result testing has matured as a discipline. – Sophisticated techniques – Tool support – Rewarding careers 7/21/2019 IT6004/ Software Testing / Axioms 24/27