Established ideas worth knowing.
WHAT THE CORE PRINCIPLES ARE
Testing shows the presence of defects, never their absence Exhaustive testing is impossible Early testing saves cost Defects cluster Repeated tests stop finding new defects Testing depends on context Software with no defects may still be useless
WHAT DEFECT CLUSTERING MEANS
A small proportion of modules contain most defects.
WHY THAT MATTERS PRACTICALLY
Effort should follow the clusters rather than being spread evenly.
HOW TO FIND THEM
Historical defect data by area.
WHAT THE PESTICIDE EFFECT IS
The same tests, repeated, ceasing to find anything new.
WHAT IT REQUIRES
Reviewing and extending tests, not only running them.
WHAT CONTEXT DEPENDENCE MEANS
A medical device and a marketing page warrant entirely different rigour.
WHAT THE ABSENCE-OF-ERRORS FALLACY IS
Software meeting its specification perfectly while failing to meet the user's need.
WHY THAT MATTERS MOST
It is the most expensive failure, and testing against specification cannot detect it.
WHAT GUARDS AGAINST IT
Validating with users, not only verifying against documents.
WHAT TO HOLD ALONGSIDE
That all of this is guidance, not law.