Saturday, October 9, 2010

How important is to check the input data type while testing...

Input type testing or input domain testing is the word which we usually use for testing the mismatches of inserted input value to our program.So, how important this type of testing in our test life-cycle. Some testers may find it important, on the other hand some may not put special importance on this. Because the second group may think that developers by default check this input testing while coding. But, do the developers always check this things?? I think they do not. So, are you still thinking about the importance of input testing??
I bet you will give more importance on this testing after reading the story below:

Explosion of the Ariane 5

On June 4, 1996 an unmanned Ariane 5 rocket launched by the European Space Agency exploded just forty seconds after lift-off. The rocket was on its first voyage, after a decade of development costing $7 billion. The destroyed rocket and its cargo were valued at $500 million. A board of inquiry investigated the causes of the explosion and in two weeks issued a report. It turned out that the cause of the failure was a software error in the inertial reference system. Specifically a 64 bit floating point number relating to the horizontal velocity of the rocket with respect to the platform was converted to a 16 bit signed integer. The number was larger than 32,768, the largest integer storeable in a 16 bit signed integer, and thus the conversion failed.
The following paragraphs are extracted from  report about the explosion::
On 4 June 1996, the maiden flight of the Ariane 5 launcher ended in a failure. Only about 40 seconds after initiation of the flight sequence, at an altitude of about 3700 m, the launcher veered off its flight path, broke up and exploded.
The failure of the Ariane 501 was caused by the complete loss of guidance and attitude information 37 seconds after start of the main engine ignition sequence (30 seconds after lift-off). This loss of information was due to specification and design errors in the software of the inertial reference system.
The internal SRI* software exception was caused during execution of a data conversion from 64-bit floating point to 16-bit signed integer value. The floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. 


So, what are you thinking now after reading the story. Is input type testing is worthy or not. Are you not convinced yet. If you are not, then i think you probably will never be.


Courtesy: www.ima.umn.edu/~arnold/455.f96/disasters.html