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

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Chapter 12 Prototyping and Testing Design of Biomedical Devices and Systems By Paul H. King Richard C. Fries.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Fault Injection for Survivability Jeffrey M. Voas & Anup K. Ghosh Presented by Alison Teoh.
Abirami Poonkundran 2/22/10.  Goal  Introduction  Testing Methods  Testing Scope  My Focus  Current Progress  Explanation of Tools  Things to.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing. Overview Definition of Software Testing Problems with Testing Benefits of Testing Effective Methods for Testing.
Program Testing Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
March 16, Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.
09/18/06 1 Software Security Vulnerability Testing in Hostile Environment Herbert H. Thompson James A. Whittaker Florence E. Mottay.
Outline Types of errors Component Testing Testing Strategy
Types and Techniques of Software Testing
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Why Cryptosystems Fail Ross Anderson Presented by Su Zhang 1.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
Testing RAVEN Helmut Neukirchen Faculty of Industrial Engineering, Mechanical Engineering and Computer Science University of Iceland, Reykjavík, Iceland.
System/Software Testing
CSCE 548 Secure Software Development Risk-Based Security Testing.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Software Testing. Introduction Testing is often left to the end of the project which is generally not a good idea. Testing should be conducted throughout.
Software Testing. Definition To test a program is to try to make it fail.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Chapter 1: Introduction to Software Testing Software Testing
CompSci 230 Software Design and Construction
Software is:  Computer programs, procedures, and possibly associated documentation and data relates to the operation of a computer system. [IEEE_Std_ ]
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
Version 02U-1 Computer Security: Art and Science1 Penetration Testing by Brad Arkin Scott Stender and Gary McGraw.
 CS 5380 Software Engineering Chapter 8 Testing.
Engineering Secure Software. A Ubiquitous Concern  You can make a security mistake at every step of the development lifecycle  Requirements that allow.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Black-box Testing.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Software Quality and Testing CPS 109: Program Design and Construction October 28, 2003.
M Global Software Group 1 Motorola Internal Use Only Better Software Quality at a Lower Cost: Testing to Eliminate Software Black Holes Isaac (Haim) Levendel,
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
Black Box Testing : The technique of testing without having any knowledge of the interior workings of the application is Black Box testing. The tester.
PRESENTER PRIYANKA GUPTA.  Testing the complete system with respect to requirements.  In System testing, the functionalities of the system are tested.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Engineering Saeed Akhtar The University of Lahore.
29 March Software Quality and Testing. Why do we care? Therac-25 (1985) Multiple space fiascos (1990s) Ariane V exploded after 40 seconds (conversion)
MAY 19 th 2016 Jovan Poljački
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Introduction to Software Quality Assurance & Testing
CSCE 548 Secure Software Development Risk-Based Security Testing
CompSci 230 Software Construction
Testing Verification and the Joy of Breaking Code
Integration Testing.
Security Testing Methods
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
Chapter 9, Testing.
Chapter 13 & 14 Software Testing Strategies and Techniques
Introduction to Software Testing
Lecture 09:Software Testing
Software testing.
CS240: Advanced Programming Concepts
In the Senior Design Center
Chapter 11: Integration- and System Testing
TYPES OF TESTING.
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Introduction to Software Testing
Presentation transcript:

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

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

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

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

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

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

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

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

So Why Test? Reliability Security Usability Usefulness Sanity

So Why Test? Make the user happier!

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

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

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

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

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

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

References [1] (Nov 1999) [2] n.csl.sri.com [3] ,00.html [4] (Feb 1991) [5] [6] [7] [8] [9]