Breaking news: in the first stages of development, flawless code is such an often sight as a beautiful mermaid on the white beaches of the Black Sea. A survey of the Technological University of Eindhoven shows that for 1000 lines of source code, there are between 30 and 85 errors. For software product rigorously tested there are between 0.5 and 3 errors per 1000 lines of source code. Errors don’t just remain silent in these statistics. They can produce incredible damage as seen in the examples below:
- Pepsi – $42 Billion Error In May 1992, Pepsi ran a promotion in the Philippines. It told customers they could win a million pesos (approx. $40,000) if they bought a bottle of Pepsi and found the number 349 stamped on the underside of the bottle cap. Unfortunately, due to a software error, 800,000 bottle caps were produced with the lucky number instead of just one, and that is an equivalent of $42 billion in prize money. It cost the company dearly as some people pursued their claims through the courts and Pepsi paid out millions of dollars in compensation.
- Chemical Bank – $15 Million Another story was printed in the New York Times in February 1994. Chemical Bank managed to allow $15 million to be withdrawn incorrectly from 100,000 accounts – a single line error in the program caused every ATM on their network to process the transaction twice.
- Mars Polar Lander Launched on January, 3th 1999, 23 days after its partner, the Mars Climate Orbiter, the mission ended in failure with the loss of both crafts, in separate incidents. After attempts to re-establish communications failed following entrance into Mars atmosphere, the lander was declared lost, with the presumption that the vehicle did not survive the descent. The investigation that followed concluded that the most likely cause of failure of the mission was a software error that misidentified vibrations caused by the deployment of the lander’s legs as vehicle touch-down on the Martian surface. The resulting action was the shut-down of the vehicle’s descent engines while still 40 meters aloft.
Although it was known that leg deployment could create the false indication, the software’s design instructions did not account for that eventuality. And the stories could go on… There’s a saying in software testing which is highly valued by any respected project manager: a bug discovered during the design costs 10 times less to be fixed than in the writing of code stage and 100 times less than when the software application is launched into production.
So, for the sake of your company’s profit and image, we advise you to always carefully test products before any launch. Stay tuned, this was just a brief introduction and we’ll be back soon with more posts on testing.