Worst Practices Troll

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

The worst practices of software testing

Viktor Slavchev &


The Testing troll
Siteground
About me

Senior QA @ Siteground Hosting


Wooden philosopher at Pragmatic
(part time)
Blogger @ mrslavchev.com(long
time ago in a galaxy far far away)
True believer that testing is a
human centric activity
About The testing troll

A mythical testing creature


Graduated the technical
university of Trolandia
Certified as SHGMCNGTT -
Super Hyper Giga Mega
Certified Ninja Guru Testing
troll
Book author
And the book:

Absolute bestseller
Sold more copies than 50
shades of gray in Trolandia
Absolutely mind-blowing
New York Times
The troll is strong with this
one
Darth Vader
Best practice#1 - Rely on requirements
and documentation
Worst practice #1:
Learn about the real testing oracles
instead

Testing oracles can benefit from:


Feelings and mental models

It starts as a feeling
Not sufficient for a
bug report
Artifacts: documents, designs,
requirements, etc.
Experience in:

The domain
General testing
Software industry
Conference

Developers
Other testers
Clients
Anyone who
matters
Example 1: Reference oracle
External application
Other platform
Correctness presumed
Example 2: Self-verifying data as an
oracle
Desired response: Credit card #:

000: Approved 4470330769941000

010: Partially Approved 4658512425423010


110: Insufficient Funds 4488282659650110
Example 3: Constraints oracle

Example: VAT number

BG123456789
Length
Country index
Spaces
Source:The Oracle Problem and the Teaching of Software
Testing
Best practice#2 - Do regression
testing by executing your old tests

Regression testing != repetitive testing


Repetitive testing is the reason why
others see testing like this...
Worst practice #2:
Regression checks and focus on tests
that reveal new information

Regress - verb
to move backward; go back.
to revert to an earlier or less advanced
state or form
Regression bug:
Bug causing regress in
quality

Regression testing:
Testing to expose
regression bugs
Regression check:
Building part of a test
Definite answer
Small and easy to
manage

Focus on information
Best practice#3 - Automationion testing is
the best, manual testing sucks
Quote from J. Kohl - Tap into mobile
application testing
Ideas that will produce
bug-free software:
C++ STL
OOP
Agile
TDD
Test automation
Quote from J. Kohl - Tap into mobile
application testing

Each of these were also used to tell me


that testers would no longer be
needed on software projects. So far, I
am fifteen years in and I havent seen
anything bug free yet.
Can a testing tool produce better
testers?
Answer:
How to make efficient automation that
provides value to testing?
The answer is:
Worst practice #3:
Use automation as a tool

To extend your abilities


Not to replace you
completely
To ask the right
questions
Automation is great for:
Confirmation /
Verification
Low level checking
Precision
Functional correctness
Solving machine
problems
But automation sucks when dealing
with:
Exploration
Unanticipated risks
Qualitative evaluation
Open ended questions
Solving human
problems
Source:Things Could Get Worse-
Michael Bolton
Source: The non-manual, unautomated tester
Best practice#4 - Assure quality

Quality is not a resource


Quality != testing
Worst practice #4:
Provide information about risks

Risk based testing -


focus testing to explore
potential risks
Nightmare newspaper headings
You missed a critical
bug in production
It caused your
company a huge
financial loss
What would it be?
Pre-mortem - imagining a failure and
working backwards in order to
determine the possible risks.
Benefits:
Evaluation of risks
Business perspective
Prioritization
Best practice#5 - Follow best practices
Worst practice #5:
Be always alert and aware of your
context
What would be your
approach in 3 different
contexts?
Context #1: Weather app

Youre an outsourced
testing expert
Working for a start-up
Low on budget
Behind schedule
Context #2: Medical software

High precision is a must


Human lives might
depend on it
Regulatory compliance
of testing
Context #3: Court case

Bug caused an injury


You are independant
expert
On a case for negligence
in testing
Questions:
How exhaustive will be
your testing in each
context?
Will bug-hunting be your
highest priority?
Will you have the same
strategy of testing?
Conclusion

No best practices!
We are not into the
belief business J.Bach
In order to be a good
tester, you have to be a
professional sceptic
Thank you very much!

And dont forget to Rock n Troll


Image credits:

Too lazy to post them all.


Image credits go to the almighty internet, I dont own
any of the images included in this presentation, except
the ones created by me, linked to my blog.
ANY

STIONS?

You might also like