• Installation testing
• Compatibility testing
• Smoke and sanity testing
• Regression testing
• Acceptance testing
• Alpha testing
• Beta testing
• Functional vs non-functional testing
• Destructive testing
• Software performance testing
• Usability testing
• Accessibility testing
• Security testing
• Internationalization and localization
• Development testing
• A/B testing
• Concurrent testing
• Conformance testing or type testing
Testing is a complicated beast. But it can also be fun
Slide 2
Slide 2 text
The starting point for
improvement is to recognize the
need.
Slide 3
Slide 3 text
Focus on lower costs often
leads to lower quality. Focus on
higher quality always leads to
lower costs.
Slide 4
Slide 4 text
A relatively small number of
causes will typically produce a
large majority of the problems or
defects.
Slide 5
Slide 5 text
Always code as if the guy who
ends up maintaining your code
will be a violent psychopath who
knows where you live.
Martin Golding
Slide 6
Slide 6 text
A program which does not work
is undoubtedly wrong, but a
program which does work is not
necessarily right.
Slide 7
Slide 7 text
Programming is like sex: a
single mistake leads to
providing support for a lifetime.
Slide 8
Slide 8 text
All code is guilty, until proven
innocent.
Slide 9
Slide 9 text
If debugging is the process of
removing bugs, then
programming must be the
process of putting them in.
Edsger Dijkstra
Slide 10
Slide 10 text
Software and cathedrals are
much the same: first we build
them, then we pray.
Slide 11
Slide 11 text
Absence of evidence is not
evidence of absence.
Slide 12
Slide 12 text
Debugging is twice as hard as
writing the code in the first place.
Therefore, if you write the code as
cleverly as possible, you are, by
definition, not smart enough to
debug it.
Brian W. Kernighan
Slide 13
Slide 13 text
Everything human is at least a
little bit broken.
Slide 14
Slide 14 text
Testing is organised skepticism.
Slide 15
Slide 15 text
Trying to improve software
quality by increasing the amount
of testing is like trying to lose
weight by weighing yourself
more often.
Slide 16
Slide 16 text
3 Biggest Software Lies:
•The program’s fully tested and
bug-free
•We’re working on the
documentation
•Of course we can modify it
Slide 17
Slide 17 text
Quality means to also do things
right when no one is looking.
Slide 18
Slide 18 text
Where is the ‘any’ key?”
(Homer Simpson, trying to figure
out the “Press any key”
notification)
Slide 19
Slide 19 text
Quality represents the wise
choice of many alternatives.
Slide 20
Slide 20 text
When debugging, novices insert
corrective code; experts remove
defective code.
Richard Pattis
Slide 21
Slide 21 text
If you don’t like testing your
product, most likely your
customers won’t like to test it
either.
Slide 22
Slide 22 text
Quality is remembered long after
the price is forgotten.
Slide 23
Slide 23 text
Program testing can be a very
effective way to show the
presence of bugs, but is
hopelessly inadequate for
showing their absence.
Edsger Dijkstra
Slide 24
Slide 24 text
Software testing is the art of
trying to increase confidence in
a product by pointing out
everything that is wrong with it.
Slide 25
Slide 25 text
f u cn rd ths, u cn gt a gd jb n
sftwr tstng.
Slide 26
Slide 26 text
If automation processes had
been flawless, they would have
been called "automagic".
Slide 27
Slide 27 text
With good program architecture
debugging is a breeze,
because bugs will be where
they should be.
David May
Slide 28
Slide 28 text
The bitterness of poor quality
remains long after the
sweetness of meeting the
schedule has been forgotten.
Slide 29
Slide 29 text
Fundamentally you can’t do your
own QA, it’s a question of seeing
you own blind spots.
Slide 30
Slide 30 text
Software testers do not make
software; they only make them
better.
Slide 31
Slide 31 text
If you automate a mess, you get
an automated mess.
Slide 32
Slide 32 text
The trouble with programmers
is that you can never tell what
a programmer is doing until it’s
too late.
Seymour Cray
Slide 33
Slide 33 text
Fast, good, cheap: pick any
two.
Slide 34
Slide 34 text
If you don’t care about quality,
you can meet any other
requirement.
Slide 35
Slide 35 text
One of my most productive
days was throwing away 1000
lines of code.
Slide 36
Slide 36 text
Measuring programming
progress by lines of code is
like measuring aircraft building
progress by weight.
Slide 37
Slide 37 text
If you don’t care about quality,
you can meet any requirement.
Slide 38
Slide 38 text
Bad programmers have all the
answers.
Good testers have all the
questions.
Slide 39
Slide 39 text
Why do we never have time to
do it right, but always have time
to do it over?
Murphy’s Law
Slide 40
Slide 40 text
Alpha is simply that you want
somebody to share your pain!