Upload
emma-armstrong
View
348
Download
3
Embed Size (px)
DESCRIPTION
These are the slides for mine and Jonathan's talk at spa conference 2014. they cover using katas to learn testing skills and then include an example kata that we have run in house.
Citation preview
Testing Katas: Try Before you Buy
Emma Armstrong @EmmaATester
Jonathan Watts@whatie
www.taooftesting.co.uk
Today’s Session• What’s this session all about?• What are katas and why use them for testing?• Some background on using oracles for testing• The kata• Introduce the objective• Testing the application• Debrief session
• Questions
What are katas?• Repeated practical exercises to ingrain behaviours until they become
instinctual• Allow you to cover various topics and situations in a safe learning
environment• Encourage knowledge sharing and collaboration
Why use katas for testing?• Deliberate practice• Learning and development – Tacit skills• Consistency• Knowledge sharing• Quality is everyone’s responsibility
Let’s try it then…• Introduce the topic• Get into groups• Test the application as a group• 15-20 minutes to test• Report back on your findings• Group discussion
Heuristics and Oracles• A heuristic is a mechanism to try and solve a problem or learn something
• What is an oracle?“An oracle is a heuristic principle or mechanism by which someone recognizes a problem.”
Michael Bolton, 2010
• However, they are fallible • How and when do you use this?
• Bug evaluation• Reporting• Test design
The kata - The consistency heuristic“We expect the system to be consistent with systems that are in some way comparable. This includes other products in the same product line; competitive products, services, or systems; or products that are not in the same category but which process the same data; or alternative processes or algorithms.”
Michael Bolton
Examine the calculator web application from a black box perspective using the consistency heuristic and document your findings.
For example, compare the behaviour our calculator to another equivalent application and see where the inconsistencies are.
http://bit.ly/1v4Nw6R (http://emmaarmstrong.github.io/CalculatorJavaScript/Calc.html)
Debrief• What did you find?
• How did you go about finding them?
What have we learnt?Resources
The calculator• https://github.com/EmmaArmstrong/CalculatorJavaScript
Code Katas• http://codekata.com/• http://codingkata.net/• http://dev.red-gate.com/category/blog/code-katas/
Test Katas• http://www.soapui.org/Testing-Katas/what-are-testing-katas.html• http://testing-challenges.org/tiki-index.php• http://weekendtesting.com/
Questions?
Thank you for your time
The calculatorhttps://github.com/EmmaArmstrong/CalculatorJavaScript
Code Katashttp://codekata.com/http://codingkata.net/http://dev.red-gate.com/category/blog/code-katas/
Test Katashttp://www.soapui.org/Testing-Katas/what-are-testing-katas.htmlhttp://testing-challenges.org/tiki-index.phphttp://weekendtesting.com/