Document Details

VibrantSwamp

Uploaded by VibrantSwamp

Seneca

Kaveh Eshraghian

Tags

software testing software bugs debugging computer science

Summary

This presentation introduces software testing concepts, including definitions, types of testing, and debugging processes. It also highlights famous software bugs like the Therac-25 and Ariane 5 failures, providing insights into common issues and their causes.

Full Transcript

Software Testing Introduction Instructor: Kaveh Eshraghian Overview Introduction to testing Importance of testing Types of testing Introduction Software is one of the most complex things built by humans. Complexity of modern software is such that it stret...

Software Testing Introduction Instructor: Kaveh Eshraghian Overview Introduction to testing Importance of testing Types of testing Introduction Software is one of the most complex things built by humans. Complexity of modern software is such that it stretches the mental capabilities Expected outcomes: Producing correct results. Working with edge cases. Have required efficiency. Maintaining high loads. Sensible feedback when receiving bad data. Error-free Integration Recovery from error. Software Testing Definition: As per ANSI/IEEE 1059, “Testing in Software Engineering is a process of evaluating a software product to find whether the current software product meets the required conditions”, such as: Performance requirements Functional requirements Security requirements Bug-free functionality Outcome: 1. Identifying missing requirement 2. Identifying presence of bug/errors 3. Identifying security/reliability issues 4. Identifying performance issues Testing Takeaway 01 02 03 04 Testing proves Passing the A software The number of that the tests tests does not could pass all bugs discovered you ran work ensure that tests with flying is proportional correctly. your software is colors, yet still to the amount correct. have of time spent undiscovered debugging. bugs. Debugging Definition: Debugging is the process of finding and fixing errors or bugs in the source code of any software. Process: 1. Error identification (locating the source of the bug) 2. Error Analysis (determining how to fix the bug) 3. Fix and validation (implementing solution) Testing vs. Debugging Process of running the Software. Determining the results. Testing Check to match expected outcome. Process of trying to locate bug Debuggi Fix located problem ng Deploy solution Famous Software Bugs The First Bug Therac-25 Ariane 5 disaster Mars Climate Orbiter The First Bug History:  Discovered in 1947 by Grace Hopper, who was the developer of the COBOL language.  While using the Harvard Mark II Issue: Calculation was not being performed correctly. Cause: A moth which was stuck between relays inside the computer. Therac-25 History:  A machine to treat cancer with radiation.  The original version used hardware stops to prevent errors.  The revised version used software to prevent errors. Issue:  Provided patient with lethal dose of radiation. Cause:  There was a bug in parallel programming.  The programmer did not understand how to do parallel programming.  Race condition Ariane 5 Disaster History:  In June of 1996 the very first Ariane 5 rocket was launched. Issue:  37 seconds after launch, the rocket rotated 90 degrees, in the wrong direction.  less than two seconds later started to break up due to aerodynamic forces.  This triggered the Rockets self-destruction mechanism causing it to explode in midair.  This disaster cost approximately $370 million. Cause:  A 64-bit floating-point value was used to track a guidance variable.  At some point in the calculation the value was assigned to a 16-bit integer.  It then sent incorrect values to the guidance system. Mars Climate Orbiter History:  A robotic space probe launched by NASA on December 11, 1998.  act as the communications relay in the Mars Surveyor '98 program for Mars Polar Lander.  $235 million weather satellite Issue:  On September 23, 1999, communication with the spacecraft was permanently lost as it went into orbital insertion.  Either destroyed in the atmosphere or escaped the planet's vicinity and entered an orbit around the Sun. Cause:  Result of several different problems occurring at the same time.  Bug in the ground control software. Convert Imperial unit to metric unit.  Lack of communication between various parts of the teams. Types of Testing Unit Black box White box Integration Functional testing End-to-end Load Security Acceptance Regression

Use Quizgecko on...
Browser
Browser