Introduction to Software Testing: Why Software Fails

.
Software Testing / Chapter 01 01 / 08

Why Software
Fails.

Depressingly common · Real-world catastrophes
Systems allowed to enter service before they were ready.
◉ ISTQB FOUNDATION · SECTION 1.2
The reality · common failures 02 / 08
Examples you may recognise

Examples of software failure are depressingly common.

From rockets to tax returns, from bookstores to power grids — software failures span every industry and every scale of consequence.

CASE 01
Ariane 5
Rocket
Aerospace
CASE 02
UK Tax
Returns
Privacy
CASE 03
Top 10
Wanted
Performance
CASE 04
Book
Retailer
Business Logic
CASE 05
US Power
Blackout
Infrastructure
Case 01 · Ariane 5 03 / 08
Case Study 01
01
Self-destruct at 37.5 seconds.

Flight deviation.

The first launch of the European Space Agency Ariane 5 rocket in June 1996 failed after 37½ seconds. A software error caused the rocket to deviate from its vertical ascent.

The self-destruct capabilities were enacted before the then unpredictable flight path resulted in a bigger problem.

Time to failure
37.5SECONDS
Case 02 · UK Government tax filing 04 / 08
Case Study 02
02
You could see what the previous user earned.

Privacy breach.

When the UK Government introduced online filing of tax returns, a user could sometimes see the amount that a previous user earned.

This was regardless of the physical location of the two applicants — a session or data leakage defect with serious privacy implications for every citizen using the system.

Failure category
DATALEAKAGE
Case 03 · UK's top 10 wanted 05 / 08
Case Study 03
03
The site was taken offline.

Performance collapse.

In November 2005, information on the UK's top 10 wanted criminals was displayed on a website. The publication of this information was described in newspapers and on morning radio and television.

As a result, many people attempted to access the site. The performance of the website proved inadequate under this load and the website had to be taken offline. The publicity created performance peaks beyond the capacity of the website.

Failure category
LOADSPIKE
Case 04 · Online book retailer 06 / 08
Case Study 04
04
Ordering negative books meant a refund.

Business logic oversight.

When a well-known online book retailer first went live, ordering a negative number of books meant that the transaction sum involved was refunded to the 'purchaser'.

Development staff had not anticipated that anyone would attempt to purchase a negative number of books. Code was developed to allow refunds to customers to be made by administrative staff — but self-requested refunds are not valid.

Failure category
LOGICFLAW
Case 05 · Electrical provider 07 / 08
Case Study 05
05
A whole city went dark.

Cascading blackout.

A small, one-line change in the billing system of an electrical provider blacked out the whole of a major US city.

A single line of code — a tiny modification — cascaded into a catastrophic infrastructure failure affecting millions of residents and businesses.

Code changed
1LINE
Conclusion · what is at stake 08 / 08
What makes these so startling?

Something fairly
obvious was missed.

— QUESTION / 01
Was it obvious?
— QUESTION / 02
Premature service?
— QUESTION / 03
Adequately tested?
Expensive and important as they were, these systems were allowed to enter service before they were ready. Obviously they were not adequately tested — but we must explore why this was the case, and why these kinds of failure continue to plague us.
.

Comments

Popular posts from this blog

List of Mac OS X (Yosemite) Shortcut Keys

Download and Install Crystal Report 2013

PHP Form - Post and Get