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

From NAMIC Wiki
Jump to: navigation, search
Line 12: Line 12:
  
 
:    ''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.''
 
:    ''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 Testing:
 +
 +
:  ''The FDA’s analysis of 3140 medical device recalls conducted between 1992 and 1998 reveals that
 +
242 of them (7.7%) are attributable to software failures. Of those software related recalls, 192 (or
 +
79%) were caused by software defects that were introduced when changes were made to the software
 +
after its initial production and distribution. Software validation and other related good software
 +
engineering practices discussed in this guidance are a principal means of avoiding such defects and
 +
resultant recalls.''
 +
 +
[http://www.fda.gov/downloads/MedicalDevices/DeviceRegulationandGuidance/GuidanceDocuments/ucm085371.pdf FDA General Principles of Software Validation; Final Guidance for Industry and FDA Staff (PDF)]

Revision as of 14:13, 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 Testing:

The FDA’s analysis of 3140 medical device recalls conducted between 1992 and 1998 reveals that

242 of them (7.7%) are attributable to software failures. Of those software related recalls, 192 (or 79%) were caused by software defects that were introduced when changes were made to the software after its initial production and distribution. Software validation and other related good software engineering practices discussed in this guidance are a principal means of avoiding such defects and resultant recalls.

FDA General Principles of Software Validation; Final Guidance for Industry and FDA Staff (PDF)