Principles of Software Testing
Principles of Software Testing
7 ESSENTIAL
PRINCIPLES
OF SOFTWARE TESTING
01
WWW.QATOUCH.COM
01
Testing Shows the
Presence of Defects
The primary purpose of testing is to
uncover defects or issues in the
software. It demonstrates that defects
exist but cannot prove their absence.
02
WWW.QATOUCH.COM
02
Exhaustive Testing
is Impossible
It is impossible to test all possible
combinations of inputs and scenarios
due to time and resource constraints.
Testing should focus on critical areas
and risk factors.
03
WWW.QATOUCH.COM
03
Early Testing
Testing should start as early as possible
in the software development lifecycle to
detect and fix issues at their inception,
reducing the cost of addressing them
later.
04
WWW.QATOUCH.COM
04
Defect Clustering
A small number of modules or areas in
the software tend to contain the majority
of defects. Test efforts should be
concentrated on these areas for
maximum effectiveness.
05
WWW.QATOUCH.COM
05
Pesticide Paradox
Repeating the same set of tests will
eventually lead to the detection of fewer
defects. Regularly review and update
test cases to discover new issues.
06
WWW.QATOUCH.COM
06
Testing is Context-
Dependent
Testing strategies, techniques, and
priorities should be adapted to the
specific context of the project, including
its requirements, goals, and constraints.
07
WWW.QATOUCH.COM
07
Absence-of-Errors
Fallacy
The absence of detected defects does
not guarantee that the software is
defect-free. It may indicate that the
testing was insufficient or did not cover
all possible scenarios.
08
WWW.QATOUCH.COM
Build Your
Bug-Free Growth
Story
www.qatouch.com