Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground...

41
Viktor Slavchev & The Testing troll Siteground The “worst” practices of software testing

Transcript of Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground...

Page 1: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Viktor Slavchev &The Testing trollSiteground

The “worst” practices of software testing

Page 2: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

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

Page 3: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

• A mythical testing creature• Graduated the technical

university of Trolandia• Certified as SHGMCNGTT -

Super Hyper Giga Mega Certified Ninja Guru Testing troll

• Book author

About The testing troll

Page 4: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

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

Page 5: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Best practice#1 - Rely on requirements and documentation

Page 6: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Worst practice #1: Learn about the real testing oracles instead

Testing oracles can benefit from:

Page 7: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Feelings and mental models

• It starts as a feeling• Not sufficient for a

bug report

Page 8: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Artifacts: documents, designs, requirements, etc.

Page 9: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Experience in:

• The domain• General testing• Software industry

Page 10: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Conference

• Developers• Other testers• Clients• Anyone who

matters

Page 11: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Example 1: Reference oracle

• External application• Other platform• Correctness presumed

Page 12: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Example 2: Self-verifying data as an oracle

Desired response: Credit card #:

000: Approved 4470330769941000

010: Partially Approved 4658512425423010

110: Insufficient Funds 4488282659650110

Page 13: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Example 3: Constraints oracle

Example: VAT number

BG123456789• Length• Country index• Spaces

Source:The Oracle Problem and the Teaching of Software Testing

Page 14: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Best practice#2 - Do regression testing by executing your old tests

Regression testing != repetitive testing

Page 15: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Repetitive testing is the reason why “others” see testing like this...

Page 16: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

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

Page 17: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Regression bug:• Bug causing regress in

quality

Regression testing:• Testing to expose

regression bugs

Page 18: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Regression check:• Building part of a test• Definite answer• Small and easy to

manage

Focus on information

Page 19: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Best practice#3 - Automationion testing is the best, “manual” testing sucks

Page 20: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Quote from J. Kohl - Tap into mobile application testing

Ideas that will produce bug-free software:• C++ STL• OOP• Agile• TDD• Test automation

Page 21: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

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 haven’t seen anything bug free yet.”

Page 22: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Can a testing tool produce better testers? Answer:

Page 23: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

How to make efficient automation that provides value to testing?The answer is:

Page 24: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Worst practice #3: Use automation as a tool

• To extend your abilities • Not to replace you

completely• To ask the right

questions

Page 25: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Automation is great for:

• Confirmation / Verification

• Low level checking• Precision• Functional correctness• Solving machine

problems

Page 26: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

But automation sucks when dealing with:• Exploration• Unanticipated risks• Qualitative evaluation• Open ended questions• Solving human

problemsSource:Things Could Get Worse- Michael Bolton

Page 27: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Source: The non-manual, unautomated tester

Page 28: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Best practice#4 - Assure quality

Quality is not a resourceQuality != testing

Page 29: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Worst practice #4: Provide information about risks

• Risk based testing - focus testing to explore potential risks

Page 30: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

“Nightmare newspaper headings”

• You missed a critical bug in production

• It caused your company a huge financial loss

• What would it be?

Page 31: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

• Pre-mortem - imagining a failure and working backwards in order to determine the possible risks.

Benefits:• Evaluation of risks• Business perspective• Prioritization

Page 32: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Best practice#5 - Follow best practices

Page 33: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Worst practice #5: Be always alert and aware of your context• What would be your

approach in 3 different contexts?

Page 34: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Context #1: Weather app

• You’re an outsourced testing expert

• Working for a start-up• Low on budget• Behind schedule

Page 35: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Context #2: Medical software

• High precision is a must• Human lives might

depend on it• Regulatory compliance

of testing

Page 36: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Context #3: Court case

• Bug caused an injury• You are independant

expert• On a case for negligence

in testing

Page 37: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

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?

Page 38: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

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

Page 39: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Thank you very much!

… And don’t forget to Rock ‘n Troll

Page 40: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

Image credits:

Too lazy to post them all. Image credits go to the almighty internet, I don’t own any of the images included in this presentation, except the ones created by me, linked to my blog.

Page 41: Viktor Slavchev & The Testing troll Siteground The “worst ... · • Senior QA @ Siteground Hosting • Wooden philosopher at Pragmatic (part time) • Blogger @ mrslavchev.com(long

STIONS?

ANY