1 / 18

WHY IS SOFTWARE TESTING NEEDED?

WHY IS SOFTWARE TESTING NEEDED?. Presented by - Santosh Bethi 22 nd October, 2003. 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

angus
Download Presentation

WHY IS SOFTWARE TESTING NEEDED?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

More Related