Presentation is loading. Please wait.

Presentation is loading. Please wait.

WHY IS SOFTWARE TESTING NEEDED? Presented by - Santosh Bethi 22 nd October, 2003.

Similar presentations


Presentation on theme: "WHY IS SOFTWARE TESTING NEEDED? Presented by - Santosh Bethi 22 nd October, 2003."— Presentation transcript:

1 WHY IS SOFTWARE TESTING NEEDED? Presented by - Santosh Bethi 22 nd 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 every test 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 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 InputOutput

16 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 InputOutput

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)http://mars.jpl.nasa.gov/msp98/news/mco991110.html [2] http://groups.google.com/groups?selm=CMM.0.90.1.745021702.risks%40chiro n.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.ppthttp://nas.cl.uh.edu/helm/sum01_swen5431/CurrieTesting.ppt [7] http://www.cigitallabs.com/resources/definitions/software_testing.htmlhttp://www.cigitallabs.com/resources/definitions/software_testing.html [8] http://www.webopedia.com/TERM/B/Black_Box_Testing.htmlhttp://www.webopedia.com/TERM/B/Black_Box_Testing.html [9] http://www.webopedia.com/TERM/W/White_Box_Testing.html


Download ppt "WHY IS SOFTWARE TESTING NEEDED? Presented by - Santosh Bethi 22 nd October, 2003."

Similar presentations


Ads by Google