Software Testing: Understanding Bugs and Their Impact on Software Development - Prof. Spir, Assignments of Engineering

An introduction to software testing, discussing the concept of computer bugs, their causes, and the adverse effects of faulty software. It covers various sources of software defects, including design flaws, implementation mistakes, and inadequate testing. The document also highlights the importance of proper software testing and the role of a software tester.

Typology: Assignments

Pre 2010

Uploaded on 08/19/2009

koofers-user-7lg-1
koofers-user-7lg-1 🇺🇸

10 documents

1 / 50

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Introduction to
Software Testing
[Reading assignment: Chapter 1, pp. 9-22]
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32

Partial preview of the text

Download Software Testing: Understanding Bugs and Their Impact on Software Development - Prof. Spir and more Assignments Engineering in PDF only on Docsity!

Introduction to

Software Testing

[Reading assignment: Chapter 1, pp. 9-22]

What is a computer bug?

  • In 1947 Harvard University was operating a room-sized computer called the Mark II. - mechanical relays - glowing vacuum tubes - technicians program the computer by reconfiguring it - Technicians had to change the occasional vacuum tube.
  • A moth flew into the computer and was zapped by the high voltage when it landed on a relay.
  • Hence, the first computer bug!
    • I am not making this up :-)

Defective Software

  • We develop programs that contain defects - How many? What kind?
  • Hard to predict the future, however… it is highly likely, that the software we (including you!) will develop in the future will not be significantly better.

Sources of Problems

  • Requirements Definition: Erroneous, incomplete, inconsistent requirements.
  • Design: Fundamental design flaws in the software.
  • Implementation: Mistakes in chip fabrication, wiring, programming faults, malicious code.
  • Support Systems: Poor programming languages, faulty compilers and debuggers, misleading development tools.

Adverse Effects of

Faulty Software

  • Communications: Loss or corruption of communication media, non delivery of data.
  • Space Applications: Lost lives, launch delays.
  • Defense and Warfare: Misidentification of friend or foe.

Adverse Effects of Faulty

Software (Cont’d)

  • Transportation: Deaths, delays, sudden acceleration, inability to brake.
  • Safety-critical Applications: Death, injuries.
  • Electric Power: Death, injuries, power outages, long-term health hazards (radiation).

Bug in Space Code

  • Project Mercury’s FORTRAN code had the following fault: DO I=1.10 instead of ... DO I=1,
  • The fault was discovered in an analysis of why the software did not seem to generate results that were sufficiently accurate.
  • The erroneous 1.10 would cause the loop to be executed exactly once!

Military Aviation Problems

  • An F-18 crashed because of a missing exception condition: if ... then ... without the else clause that was thought could not possibly arise.
  • In simulation, an F-16 program bug caused the virtual plane to flip over whenever it crossed the equator, as a result of a missing minus sign to indicate south latitude.

Year Ambiguities (Cont’d)

  • Mr. Blodgett’s auto insurance rate tripled when he turned 101.
  • He was the computer program’s first driver over 100, and his age was interpreted as 1.
  • This is a double blunder because the program’s definition of a teenager is someone under 20!

Dates, Times, and Integers

  • The number 32,768 = has caused all sorts of grief from the overflowing of 16-bit words.
  • A Washington D.C. hospital computer system collapsed on September 19, 1989, days after January 1, 1900, forcing a lengthy period of manual operation. 15

15

Shaky Math

  • In the US, five nuclear power plants were shut down in 1979 because of a program fault in a simulation program used to design nuclear reactor to withstand earthquakes.
  • This program fault was, unfortunately, discovered after the power plants were built!

Shaky Math (Cont’d)

  • Apparently, the arithmetic sum of a set of numbers was taken, instead of the sum of the absolute values.
  • The five reactors would probably not have survived an earthquake that was as strong as the strongest earthquake ever recorded in the area.

Therac-25 Radiation

“Therapy” (Cont’d)

  • In Washington, 1987, a patient received 8,000-10,000 rads instead of the prescribed 86 rads.
  • The patient died of complications of the radiation overdose.

AT&T Bug: Hello? ... Hello?

  • In mid-December 1989, AT&T installed new software in 114 electronic switching systems.
  • On January 15, 1990, 5 million calls were blocked during a 9 hour period nationwide.