29 March Software Quality and Testing. Why do we care? Therac-25 (1985) Multiple space fiascos (1990s) Ariane V exploded after 40 seconds (conversion)

Slides:



Advertisements
Similar presentations
Lecture 8: Testing, Verification and Validation
Advertisements

SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Chapter 12 Prototyping and Testing Design of Biomedical Devices and Systems By Paul H. King Richard C. Fries.
Testing and Quality Assurance
Data Mining Methodology 1. Why have a Methodology  Don’t want to learn things that aren’t true May not represent any underlying reality ○ Spurious correlation.
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
Chapter 8 Representing Information Digitally.
(ADAPTED FROM DIANE POZEFSKY) Software and System Testing.
1 Basic Definitions: Testing What is software testing? Running a program In order to find faults a.k.a. defects a.k.a. errors a.k.a. flaws a.k.a. faults.
15 November Essay 1  Methodologies Points on the spectrum All can adapt to changes Required vs. permitted  Releases vs. iterations  Spool’s.
Modern Software Development Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
March 30, Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
SE 450 Software Processes & Product Metrics Reliability Engineering.
The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
March 16, Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Software Process and Product Metrics
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software Engineering EE323 Y.F. Fung Office: CF605 Consultation hours: Wednesday 6pm-7:30pm.
Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
USS Yorktown (1998) A crew member of the guided-missile cruiser USS Yorktown mistakenly entered a zero for a data value, which resulted in a division by.
CSCE 548 Secure Software Development Risk-Based Security Testing.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
SOFTWARE ENGINEERING Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Introduction to Software Quality Assurance
Software Engineering Background Dr. David A. Gaitros.
Introduction to Software Testing
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
Modern Software Development Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Ch. 1.  High-profile failures ◦ Therac 25 ◦ Denver Intl Airport ◦ Also, Patriot Missle.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
NIST (2002) cost to US $59B annual Why do we care?  Therac-25 (1985) 6 massive radiation overdoses  Multiple space fiascos (1990s) Ariane V exploded.
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
1 ITGD 2202 Supervision:- Assistant Professor Dr. Sana’a Wafa Al-Sayegh Dr. Sana’a Wafa Al-SayeghStudent: Anwaar Ahmed Abu-AlQumboz.
Software Quality and Testing CPS 109: Program Design and Construction October 28, 2003.
Introduction to Mathematical techniques Formal Methods Limits of Formal Methods.
WHY IS SOFTWARE TESTING NEEDED? Presented by - Santosh Bethi 22 nd October, 2003.
1 Reducing the Software Impact to System Safety Paul Mayo – SafeEng Limited.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
18 October Why do we care?  Therac-25 (1985) 6 massive radiation overdoses  Multiple space fiascos (1990s) Ariane V exploded after 40 seconds.
Software Defects.
Introduction to Measurement. According to Lord Kelvin “When you can measure what you are speaking about and express it in numbers, you know something.
Network design Topic 6 Testing and documentation.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Testing. Today’s Topics Why Testing? Basic Definitions Kinds of Testing Test-driven Development Code Reviews (not testing) 1.
1 Software Quality Assurance COMP 4004 Notes Adapted from S. Som é, A. Williams.
Testing Chapter 23 IB103 Week 12 (part 3). Verify that a complex (any) program works correctly, that the program meets specifications The chapter reviews.
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
Software Quality Assurance and Testing Fazal Rehman Shamil.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Introduction to Software Testing Maili Markvardt.
Testing Integral part of the software development process.
Formal Methods. Objectives To introduce formal methods including multiple logic based approaches for software modelling and reasoning 2.
What is a Functional Spec?  Defines what the functionality will be NOT how it will be implemented  Describes features of the software product product's.
CompTIA Security+ Study Guide (SY0-401)
CSCE 548 Secure Software Development Risk-Based Security Testing
Hardware & Software Reliability
Software Testing.
This presentation uses a free template provided by FPPT.com PRESENTED BY, R.Mohammed yasik.
The Top 10 bugs
Finding and Managing Bugs CSE 403 Lecture 23
Unit 2: Fundamentals of Computer Systems
Presentation transcript:

29 March Software Quality and Testing

Why do we care? Therac-25 (1985) Multiple space fiascos (1990s) Ariane V exploded after 40 seconds (conversion) Mars Pathfinder computer kept turning itself off (system timing) Patriot missile misquided (floating point accuracy) Millenium bug (2000) Microsoft attacks (2003) NIST: cost to US, $59 billion

References Therac-25: Patriot missile: Ariane 5: NIST:

Quality and testing “Errors should be found and fixed as close to their place of origin as possible.” Fagan “Trying to improve quality by increasing testing is like trying to lose weight by weighing yourself more often.” McConnell

Life Testing Used regularly in hardware Addresses “normal use” n specimens put to test Test until r failures have been observed Choose n and r to obtain the desired statistical errors As r and n increase, statistical errors decrease Expected time in test = mu 0 (r / n) Where mu 0 = mean failure time

Butler and Finelli “The Infeasibility of Experimental Quantification of Life-Critical Software Reliability” In order to establish that the probability of failure of software is less than in 10 hours, testing required with one computer is greater than 1 million years

Tools for Improving Quality Formal specification Self-checking (paranoid) code Program verification and validation Testing Deploy with capabilities to repair

Types of Testing: Purpose Conformance testing Usability testing Performance testing Acceptance testing Reliability testing …

Other classifications Scope Unit, component, system, regression, … Access to code Black box vs. white box (Note that black box testing still assumes knowledge of coding and development in general)

How important is unit test? The Voyager bug (sent the probe into the sun). The AT&T bug that took out 1/3 of US telephones. The DCS bug that took out the other 1/3 a few months later. The Intel Pentium chip bug (it was software, not hardware). The Ariane V bug.

What are you trying to test? Most common actions? Most likely problem areas? Risk-based testing

Risks Identify criteria of concern: availability, quality, performance, … Risk of it not being met likelihood consequences If I’m testing code for a grocery store, what is the impact of the code not being highly available?

How to identify what to test New features New technology Overworked developers Regression Dependencies Complexity Bug history Language specific bugs Environment changes Late changes Slipped in “pet” features Ambiguity Changing requirements Bad publicity Liability Learning curve Criticality Popularity