SlideServe
Menu
Préférences
© SlideServe · v2026

The Crucial Need for Software Testing: Insights and Real-World Examples

angus avatar
18 diapositives · 317 Views · Jul 26, 2014

Software testing is essential to ensure reliability, security, and usability in a world increasingly dependent on technology. Historical examples, such as the Mars Climate Orbiter failure and AT&T’s network breakdown, illustrate the dire consequences of untested software. This presentation, by Santosh Bethi, underscores that effective testing is not just a routine task but a mindset that prioritizes breadth of expertise. By incorporating user feedback and focusing on testing methodologies like black-box and white-box testing, we can mitigate risks and enhance software performance.

The Crucial Need for Software Testing: Insights and Real-World Examples - slide 1
01 / 18The Crucial Need for Software Testing: Insights and Real-World Examples
1 / 17

Télécharger la présentation

The Crucial Need for Software Testing: Insights and Real-World Examples
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. WHY IS SOFTWARE TESTING NEEDED? Presented by -Santosh Bethi 22nd October, 2003

  2. Real Time Software Attacks The Funny • The IRS sends out $68 billion tax bills • ATMs in Germany give unlimited amounts of money after the Euro conversion The Serious • The loss of the Mars Climate Orbiter • Cause: Improper unit conversion • AT&T’s telephone network breaks down -- Cause: Untested code path The Tragic • The Patriot missile failure • Cause: Cumulative rounding error

  3. Attacks cause Real Problems • Software fails just as mechanical devices fail • Software is often invisible • We often take software for granted • Our reliance on software is increasing • Our vulnerability to software flaws is increasing

  4. Why Test Software? “Program testing can be used to show the presence of bugs but never to show their absence.” —Edsger W. Dijkstra, 1972

  5. Testing is a State of Mind “If our goal is to show the absence of errors, we will find very few of them.” “If our goal is to show the presence of errors, we will discover a large number of them.” —G. J. Meyers, 1979

  6. Developer’s Mindset • A good developer is clever • Emphasis on depth of expertise Product Expertise

  7. Tester’s Mindset • A good tester is mischievous • Emphasis on breadth of expertise Product Expertise

  8. Is Testing a Big Problem? YES • Developers don’t test well • Misconception that testing is “boring” • Requirements are not always clear • Must test everything • Exhaustive testing is intractable

  9. Where is Testing Useful? • ATM • Vending Machine • Alarm Clock • Thermostat • Everywhere!

  10. So Why Test? • Reliability • Security • Usability • Usefulness • Sanity

  11. So Why Test? • Make the user happier!

  12. How To Test Software Testing The Design • Ambiguity is the mother of all screwups • Testing starts before the coding • Follow the specification cliché • Design globally • Specify locally

  13. Designing a Test Plan • Be complete (thorough, not excessive) • Find the “interesting” tests cases • Do everytest at least twice • Update the plans as you go • Add regression tests • Incorporate user feedback

  14. Designing Tests • Tests are “attacks” against the software • Find vulnerabilities and target them • Black box • White box

  15. Input Output Black Box Tests • Targeted at the apparent simplicity of the software • Makes assumptions about implementation • Good for testing component interactions • Tests the interfaces and behavior

  16. Input Output White Box Tests • Targeted at the underlying complexity of the software • Intimate knowledge of implementation • Good for testing individual functions • Tests the implementation and design

  17. Types of Tests Unit Individual classes or types Component Group of related classes or types Integration Interaction between classes • Unit • Individual classes or types • Component • Group of related classes or types • Integration • Interaction between classes

  18. References • [1] http://mars.jpl.nasa.gov/msp98/news/mco991110.html (Nov 1999) • [2] http://groups.google.com/groups?selm=CMM.0.90.1.745021702.risks%40chiron.csl.sri.com • [3] http://www.time.com/time/archive/preview/0,10987,1101900129- 153701,00.html • [4] http://www.ima.umn.edu/~arnold/disasters/patriot.html (Feb 1991) • [5] http://www.cs.utexas.edu/users/EWD/ • [6] http://nas.cl.uh.edu/helm/sum01_swen5431/CurrieTesting.ppt • [7] http://www.cigitallabs.com/resources/definitions/software_testing.html • [8] http://www.webopedia.com/TERM/B/Black_Box_Testing.html • [9] http://www.webopedia.com/TERM/W/White_Box_Testing.html