Thanks to Atif Memon from UMD for disaster examples

Slides:



Advertisements
Similar presentations
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Advertisements

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.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
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.
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.
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.
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Security and Reliability THERAC CASE STUDY TEXTBOOK: BRINKMAN’S ETHICS IN A COMPUTING CULTURE READING: CHAPTER 5, PAGES
CSc161 Software Quality Pete Sawyer & Alan Dix
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.
How to Start a Software-Based Project. REQUIREMENTS DESIGN DEVELOPMENT TEST DEMONSTRATE PLANNING.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Chapter 8 Errors, Failures, & Risks. Real Headlines Navigation system directs car into river Data entry typo mutes millions of U.S. pagers Flaws found.
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.
Main Areas for Testing System stability – is the system going to crash or not? System usability – is the system easy to use? System security – is the.
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.
In the Senior Design Center
Seminar On CNC Machine Submitted To: Submitted By:
Thanks to Atif Memon from UMD for disaster examples
SaralTA Batch-07 Software Testing Presented By - Chittaranjan M.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
CompSci 230 Software Construction
Testing Verification and the Joy of Breaking Code
Adapted from slides by Marty Stepp and Stuart Reges
Thanks to Atif Memon from UMD for disaster examples
Not Tested and Void Test Score Codes
Software Quality & Testing
CSC 110 – Fluency in Information Technology Chapter 7: An Introduction to Debugging Dr. Curry Guinn.
Software engineering – 1
Chapter 13 & 14 Software Testing Strategies and Techniques
In the Senior Design Center
EE 193: Parallel Computing
Testing UW CSE 160 Spring 2018.
Introduction to Software Testing
Adapted from slides by Marty Stepp and Stuart Reges
Lecture 09:Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Lecture 23: Tuples Adapted from slides by Marty Stepp and Stuart Reges
CSc 110, Autumn 2017 Lecture 27: Lists that change size and Tuples
In the Senior Design Center
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
CS240: Advanced Programming Concepts
Lecture 23: Tuples Adapted from slides by Marty Stepp and Stuart Reges
In the Senior Design Center
Up and At ‘Em The Importance of Clear Communications
Thanks to Atif Memon from UMD for disaster examples
Automated test.
Adapted from slides by Marty Stepp and Stuart Reges
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, Autumn 2017 Lecture 28: Testing Thanks to Atif Memon from UMD for disaster examples

A programming problem Given a file of cities' names and (x, y) coordinates: Winslow 50 20 Tucson 90 60 Phoenix 10 72 Bisbee 74 98 Yuma 5 136 Page 150 91 Write a program to draw the cities on a DrawingPanel, then simulates an earthquake that turns all cities red that are within a given radius: Epicenter x? 100 Epicenter y? 100 Affected radius? 75

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)