Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Testing Principles
1. Risma Rustiyan R
Testing Principles
Information System Department
Faculty of Science and
Technology
State Islamic University of
Sulthan Syarif Kasim Riau
2017
2. Agenda
1. Testing shows presence of
defects
2. Exhaustive testing is
impossible
3. Early testing
4. Defect clustering
5. Pesticide paradox
6. Testing is context
dependent
7. Absence-of-errorsfallacy
3. Principle 1 Testing can show that
defects are present, but
cannot prove that there are
no defects. Testing reduces
the probability of
undiscovered defects
remaining in the software
but, even if no defects are
found, it is not a proof of
correctness.
Testing shows
presence of
defects
4. Principle 2 Testing everything (all
combinations of inputs and
preconditions) is not
feasible except for trivial
cases. Instead of exhaustive
testing, we use risks and
priorities to focus testing
efforts.
Exhaustive testing
is impossible
5. Principle 3 Testing activities should
start as early as possible in
the software or system
development life cycle and
should be focused on
defined objectives.
Early testing
6. Principle 4 A small number of modules
contain most of the defects
discovered during pre-
release testing or show the
most operational failures.
Defect clustering
7. Principle 5
If the same tests are
repeated over and over
again, eventually the same
set of test cases will no
longer find any new bugs. To
overcome this 'pesticide
paradox', the test cases need
to be regularly reviewed and
revised, and new and
different tests need to be
written to exercise different
parts of the software or
system to potentially find
more defects.
Pesticide paradox
8. Principle 6
Testing is done differently
in different contexts. For
example, safety-critical
software is tested
differently from an e-
commerce site.
Testing is context
dependent
9. Principle 7 Finding and fixing defects
does not help if the system
built is unusable and does
not fulfill the users' needs
and expectations.
Absence-of-
errorsfallacy
10. Reference
Graham, Dorothy, et al. “Foundation of Software
Testing ISTQB Certification”. Chapter 1
Fundamentals of Testing. 2011