Introduction to Software Testing: The Car Delivery Analogy

. .
Software Testing / Chapter 01 01 / 06

The
Fundamentals
of Testing.

Background · Why expectations matter
A discipline seldom applied with rigour.
◉ ISTQB FOUNDATION · SECTION 1.1
The analogy · expectations 02 / 06
If you were buying a new car…

A level of expectation is set the moment you walk into the showroom.

You would not expect to take delivery from the showroom with a scratch down the side of the vehicle. The car should have five wheels, a steering wheel, an engine and all the other essential components.

It should come with appropriate documentation, with all pre-sales checks completed and passed satisfactorily. The car you receive should be the car described in the sales literature — it should have the correct engine size, the correct colour scheme, and whatever extras you have ordered.

Performance in areas such as fuel consumption and maximum speed should match published figures.

If your expectations are not met you will feel justifiably aggrieved.
No scratches on bodyworkVISUAL
Five wheels + spareCOMPONENT
Steering wheel presentCOMPONENT
Engine as specifiedPERFORMANCE
Colour scheme matchAESTHETIC
Ordered extras includedCONFIG
Fuel consumption matchesMETRIC
Max speed as publishedMETRIC
Documentation completePAPERWORK
Pre-sales checks passedQUALITY
The contrast · delivery expectations 03 / 06
Car delivery vs. Software delivery
Automotive

Pre-sales
checks
passed.

Brochures, test drives, sitting in the driving seat — all set a baseline of expectation. Deviation is the exception, not the rule. You get exactly what was described.

Expectation met95%
versus
Software

Delivered
not working
— often.

This kind of expectation seems not to apply to new software installations. Examples of software being delivered not working as expected, or not working at all, are common.

Confidence level28%
Why?
There is no single cause that can be rectified to solve the problem, but one important contributing factor is the inadequacy of the testing to which software applications are exposed.
The discipline · challenges 04 / 06
Software testing — the paradox

Software testing is neither complex nor difficult to implement, yet it is a discipline that is seldom applied with anything approaching the necessary rigour to provide confidence in delivered software.

Software testing is costly in human effort or in the technology that can multiply the effect of human effort, yet is seldom implemented at a level that will provide any assurance that software will operate effectively, efficiently or even correctly.

01
Not complex. Testing is conceptually straightforward — yet rarely done with enough discipline.
02
Not difficult. The techniques are well-understood — the gap is in application, not knowledge.
03
Human cost. Expensive in people, time, and coordination — so corners get cut.
04
Tooling shortfall. Technology that could multiply effort is underused or poorly integrated.
05
Assurance vacuum. Rarely does testing rise to a level that guarantees correct operation.
The target · what testing must assure 05 / 06
Three qualities testing must verify

Software should operate effectively, efficiently, and correctly.

Seldom is testing implemented at a level that will provide any assurance across all three dimensions. Each represents a different facet of software quality — and each can fail independently.

E
DIMENSION / 01

Effectively

The software does what it is supposed to do. It meets its requirements and fulfils its intended purpose in the real world.

E
DIMENSION / 02

Efficiently

The software performs its functions without unnecessary resource consumption — time, memory, bandwidth, or processing power.

C
DIMENSION / 03

Correctly

The software produces the right outputs from the right inputs. Free from defects that cause incorrect or unexpected behaviour.

Conclusion · what is at stake 06 / 06
The expectation gap is real.

We accept in software
what we'd never
tolerate in a car.

— GAP / 01
Rigour
— GAP / 02
Investment
— GAP / 03
Assurance
Software testing is neither complex nor difficult to implement — yet it remains a discipline seldom applied with anything approaching the necessary rigour. The cost is paid by every user who receives software that does not work as expected, or does not work at all.
. .

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