Thanks to Atif Memon from UMD for disaster examples

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Workflow Purpose
Lecture 8: Testing, Verification and Validation
Software Testing By Marcin Starzomski :P. What is Testing ? Testing is a process used to help identify the correctness, completeness and quality of developed.
Abirami Poonkundran 2/22/10.  Goal  Introduction  Testing Methods  Testing Scope  My Focus  Current Progress  Explanation of Tools  Things to.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani University of Bozen- Bolzano Lesson 4 – Software Testing.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Copyright by Scott GrissomCh 1 Software Development Slide 1 Software Development The process of developing large software projects Different Approaches.
Types and Techniques of Software Testing
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
1 CSE 403 Reliability Testing These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed permission.
CS 3773 Software Engineering Basic Concepts of Software Testing Unit Testing.
From 3 weeks to 30 minutes – a journey through the ups and downs of test automation.
CS5103 Software Engineering Lecture 13 Software Licenses Software Testing.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
CSCI-6961/ECSE-6780: Software Engineering II Class: Mondays and Thursdays 4-5:20 pm, Carnegie 201 Instructor: Ana Milanova Office:
Categories of Testing.
Automated SW testing Lukáš Miňo
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.
Object-Oriented Software Engineering, Ch. 9
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
CSc161 Software Quality Pete Sawyer & Alan Dix
Dimitrios Christias Robert Lyon Andreas Petrou Dimitrios Christias Robert Lyon Andreas Petrou.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
What is Testing? Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies.
Testing software Team Software Development Project.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Software Engineering. Acknowledgement Charles Moen Sharon White Bun Yue.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Session on Load Testing - Alok Agarwal. Agenda for the session Definitions Example on load testing What to Avoid When Testing for Load Goals of Load Testing.
1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
The Challenges of Developing Games and Other High-Resolution Graphics Applications February 2007.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
In the Senior Design Center
Introduction to Software Quality Assurance & Testing
Thanks to Atif Memon from UMD for disaster examples
SaralTA Batch-07 Software Testing Presented By - Chittaranjan M.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
CompSci 230 Software Construction
Testing Verification and the Joy of Breaking Code
Thanks to Atif Memon from UMD for disaster examples
Software Quality & Testing
Software engineering – 1
Chapter 13 & 14 Software Testing Strategies and Techniques
In the Senior Design Center
Testing UW CSE 160 Spring 2018.
Introduction to Software Testing
Lecture 09:Software Testing
Thanks to Atif Memon from UMD for disaster examples
Testing and Test-Driven Development CSC 4700 Software Engineering
In the Senior Design Center
CS240: Advanced Programming Concepts
Chapter 10: Test Tournament
Informatics 43 – April 28, 2016.
Mapping your way to Profitability
What is Software Testing?
In the Senior Design Center
Up and At ‘Em The Importance of Clear Communications
Automated test.
System analysis and design
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Thanks to Atif Memon from UMD for disaster examples CSc 110, Spring 2018 Lecture 28: Testing Thanks to Atif Memon from UMD for disaster examples

Why talk about testing? Mars Climate Orbiter Purpose: to relay signals from the Mars Polar Lander once it reached the surface of the planet Disaster: smashed into the planet instead of reaching a safe orbit Why: Software bug - failure to convert English measures to metric values

Why talk about testing? THERAC-25 Radiation Therapy 1986: two cancer patients at the East Texas Cancer Center in Tyler received fatal radiation overdose Why: Software bug - mishandled race condition (i.e., miscoordination between concurrent tasks)

Why talk about testing? London Ambulance Service Purpose: automate many of the human- intensive processes of manual dispatch systems associated with ambulance services in the UK – functions: Call taking Failure of the London Ambulance Service on 26 and 27 November 1992 Load increased, emergencies accumulated, system made incorrect allocations

Industry comparison “If the automobile industry had developed like the software industry, we would all be driving $25 cars that get 1,000 miles to the gallon.” “Yeah, and if cars were like software, they would crash twice a day for no reason, and when you called for service, they’d tell you to reinstall the engine.” Now days you can get a job as a software engineer developing cars!

Why talk about testing? You will spend a lot of time testing and debugging You can get a job as a Software Engineer in Test Terrible things can happen if you don't test well enough!

Types of testing Black box testing: testing the program does what the specification requires White box testing: examining code for potential problems Unit testing: verifies correctness of a small piece of testable code in isolation Integration test: verifies different small already tested components of the program work together correctly Regression testing: a complete retesting of a modified program Stress testing: tests the behavior under peak user volumes Performance, security, usability and many more

Testing example def main(): data = [3, 5, 2, 7, 45, 43, 5, 3] remove_bad_pairs(data) print(data) remove_bad_pairs(list): if (len(list) % 2 != 0): v.remove(list[-1]) i = 0 while(i < len(list)): if (i % 2 != 0 and list[i - 1] > list[i]): list.remove(i - 1) list.remove(i)