Difference between revisions of "NA-MIC-kit-curriculum/Testing-Based Programming"

From NAMIC Wiki
Jump to: navigation, search
Line 17: Line 17:
  
  
: ''The national annual costs of an inadequate infrastructure for software testing is estimated to range from $22.2 to $59.5 billion.''
+
: ''The national annual costs of an inadequate infrastructure for software testing is estimated to range from $22.2 to $59.5 billion. Over half of these costs are borne by software users in the form of error avoidance and mitigation activities.''
  
  

Revision as of 14:31, 11 December 2009

Home < NA-MIC-kit-curriculum < Testing-Based Programming

Introduction

Testing-Based Programming is an software development methodology that relies on continuous and exhaustive testing as a scaffolding for facilitating rapid development.

The principle is very simple:


If you have an extensive test-suite that exercises all the capabilities of your software, you can make both swift and large scale changes to the code, and rely on the testing-suite to reveal immediately if any bug has been introduced by the changes.


In the absence of a testing-suite, every change in the code has the potential of introducing new defects that will go unnoticed for a long time.


As an illustration of what happens in a world without sufficient Testing:


The national annual costs of an inadequate infrastructure for software testing is estimated to range from $22.2 to $59.5 billion. Over half of these costs are borne by software users in the form of error avoidance and mitigation activities.


"The Economic Impacts of Inadequate Infrastructure for Software Testing" NIST Report

As a reference the annual budget of NIH is $30 billion.