Introduction to Software Testing & its Importance

This tutorial introduces software testing to the audience and justifies its importance.
Software testing is a process used to identify the correctness, completeness, and quality of developed computer software. It includes a set of activities conducted with the intent of finding errors in software so that it could be corrected before the product is released to the end users.
  • In simple words, software testing is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free.
  • Why is testing is important?
  • This is China Airlines Airbus A300 crashing due to a software bug on April 26, 1994, killing 264 innocent lives
  • Software bugs can potentially cause monetary and human loss, history is full of such examples
  • In 1985, Canada's Therac-25 radiation therapy machine malfunctioned due to software bug and delivered lethal radiation doses to patients, leaving 3 people dead and critically injuring 3 others
  • In April of 1999, a software bug caused the failure of a $1.2 billion military satellite launch, the costliest accident in history
  • In may of 1996, a software bug caused the bank accounts of 823 customers of a major U.S. bank to be credited with 920 million US dollars
  • As you see, testing is important because software bugs could be expensive or even dangerous
  • As Paul Elrich puts it - "To err is human, but to really foul things up you need a computer."