/35@yegor256
Zerocracy
1
Yegor Bugayenko
Software Testing Pitfalls
JPoint 2019

Moscow, Russia

5 April, 2019
@bloghacks
/35@yegor256
Zerocracy
2
2.1K
yegor256 Zerocracy
Zold
Elegant Objects
/35@yegor256
Zerocracy
3
Quality
/35@yegor256
Zerocracy
4
Q =
F
F + U
/35@yegor256
Zerocracy
5
Rex Black, 2009

Defect Detection Effectiveness
/35@yegor256
Zerocracy
6
Capers Jones, 1996

Defect Removal Efficiency
/35@yegor256
Zerocracy
7
Programmers Testers
/35@yegor256
Zerocracy
8
“A good programmer will
produce fault-free code,
while a bad programmer will
produce code that is fault-
ridden.”
Good Coder = Less BugsWrong!
/35@yegor256
Zerocracy
Pipeline
Repository
9
ProductionStagingDevs
/35@yegor256
Zerocracy
10
James A. Whittaker: “Software
testing is the process of
executing a software system to
determine whether it matches
its specification and executes in
its intended environment.”
Wrong!
/35@yegor256
Zerocracy
11
Boris Beizer: “If your objective
is to demonstrate a high
probability of working, that
objective is best achieved by
not testing at all!”
/35@yegor256
Zerocracy
12
Glenford Myers: “despite the
plethora of software testing tomes
available on the market today, many
developers seem to have an attitude
that is counter to extensive testing.
Testing is the process of executing a
program with the intent of finding
errors.”
/35@yegor256
Zerocracy
13
/35@yegor256
Zerocracy
14
1 Testers are not
second-class citizens.
/35@yegor256
Zerocracy
15
Cynthia Cohen: “The lack of
status and support makes the
tester’s job more difficult and
time consuming, as the struggle
for recognition becomes part of
the job itself”

Managing Conflict in Software Testing, Communications of the
ACM, Volume 47, Issue 1, 2004
/35@yegor256
Zerocracy
16
John D. McGregor: “Being a good tester is
harder than being a good developer
because testing requires not only a very
good understanding of the development
process and its products, but it also
demands an ability to anticipate likely
faults and errors.”
/35@yegor256
Zerocracy
17
Salaries More!
Seniority
/35@yegor256
Zerocracy
18
Junior
Middle
Senior
Tester
/35@yegor256
Zerocracy
19
2 Testers don’t tell us
when to release.
/35@yegor256
Zerocracy
Repository
20
ProductionStagingDevs
Testers
/35@yegor256
Zerocracy
21
David West: “Software is released for use,
not when it is known to be correct, but
when the rate of discovering errors slows
down to one that management considers
acceptable.”
/35@yegor256
Zerocracy
22
Devs Testers
PM
/35@yegor256
Zerocracy
23
Xihui Zhang: “The software testing
process is inherently adversarial, setting
the stage for inevitable developer-tester
conflict.”
/35@yegor256
Zerocracy
24
GitFlow
https://nvie.com/posts/a-successful-git-branching-model/
by Vincent Driessen
/35@yegor256
Zerocracy
25
Testers
/35@yegor256
Zerocracy
26
3 Testing is finished
when enough bugs
are found.
/35@yegor256
Zerocracy
27
Rex Black: “Suppose, though, that you
could estimate the total number of bugs
in the system under test. Or, perhaps you
could measure the bug-finding
effectiveness of your test system. There
are three techniques for solving these
problems…”
/35@yegor256
Zerocracy
28
Time Scripts Bugs
/35@yegor256
Zerocracy
29
Guess ExperienceBudget
/35@yegor256
Zerocracy
30
4 Testers must be
rewarded for the
bugs they find.
/35@yegor256
Zerocracy
31
Yegor Bugayenko: “The best way to
motivate testers to find more and better
bugs is to pay them for each one.”
/35@yegor256
Zerocracy
32
Price Quality Time
/35@yegor256
Zerocracy
33
Cem Kaner: “The best tester isn’t the one
who finds the most bugs or who
embarrasses the most programmers. The
best tester is the one who gets the most
bugs fixed.”
/35@yegor256 34
@yegor256
/35@yegor256 35
@yegor256news

Software Testing Pitfalls