SlideShare una empresa de Scribd logo
1 de 11
Testing Katas: Try Before you Buy 
Emma Armstrong 
@EmmaATester 
www.taooftesting.co.uk 
Jonathan Watts 
@whatie
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 
• Just ask questions as we go through
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 
• Report back on your findings 
• Group discussion
Heuristics and Oracles 
A heuristic is a mechanism to try and solve a 
problem or learn something 
Testing examples include: 
• Brute force 
• Testing at the boundaries 
• Input methods 
• Starvation 
• Working backwards 
• Common sense / Educated guess 
• Rule of thumb
Heuristics and Oracles 
“An oracle is a heuristic principle or mechanism by which someone recognizes a problem.” 
Michael Bolton, 2010 
Examples: 
• Requirements • Marketing claims 
• Laws and standards • Scientific models 
• Previous versions • Maths 
• Comparable products • Experts 
• Your experience 
When do you use this? 
• Bug evaluation 
• Reporting 
• Test design 
They are fallible
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?
Where do we go from here? 
• There is also a development 
opportunity for those people 
running the katas 
• We are aligning them with other 
educational activities at Red Gate 
• We are sharing this talk and the 
katas we have run with anyone 
who wants them 
• Come and join in our katas
Questions? 
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/ 
Test heuristics 
http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf 
Thank you for your time

Más contenido relacionado

Similar a Testing katas - Try before you buy

Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
alind tiwari
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
Huib Schoots
 

Similar a Testing katas - Try before you buy (20)

Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 
Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for Agile
 
Machine Learning & Apache Mahout
Machine Learning & Apache MahoutMachine Learning & Apache Mahout
Machine Learning & Apache Mahout
 
Clean tests
Clean testsClean tests
Clean tests
 
Agile Testing in the Enterprise
Agile Testing in the Enterprise Agile Testing in the Enterprise
Agile Testing in the Enterprise
 
STARCANADA 2013 Keynote: Lightning Strikes the Keynotes
STARCANADA 2013 Keynote: Lightning Strikes the KeynotesSTARCANADA 2013 Keynote: Lightning Strikes the Keynotes
STARCANADA 2013 Keynote: Lightning Strikes the Keynotes
 
Lec 4 expert systems
Lec 4  expert systemsLec 4  expert systems
Lec 4 expert systems
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!
 
Michael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems RapidlyMichael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems Rapidly
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
 
Agile process
Agile processAgile process
Agile process
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Embedding Clinical standards in research workshop
Embedding Clinical standards in research workshopEmbedding Clinical standards in research workshop
Embedding Clinical standards in research workshop
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise Scale
 
Modern Perspectives on Recommender Systems and their Applications in Mendeley
Modern Perspectives on Recommender Systems and their Applications in MendeleyModern Perspectives on Recommender Systems and their Applications in Mendeley
Modern Perspectives on Recommender Systems and their Applications in Mendeley
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
Big Data LDN 2017: Preserving The Key Principles Of Academic Research In A Bu...
Big Data LDN 2017: Preserving The Key Principles Of Academic Research In A Bu...Big Data LDN 2017: Preserving The Key Principles Of Academic Research In A Bu...
Big Data LDN 2017: Preserving The Key Principles Of Academic Research In A Bu...
 
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdfTest Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-3 - 07262022.pdf
 
New model
New modelNew model
New model
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For Testing
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Testing katas - Try before you buy

  • 1. Testing Katas: Try Before you Buy Emma Armstrong @EmmaATester www.taooftesting.co.uk Jonathan Watts @whatie
  • 2. 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 • Just ask questions as we go through
  • 3. 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
  • 4. Why use katas for testing? • Deliberate practice • Learning and development – Tacit skills • Consistency • Knowledge sharing • Quality is everyone’s responsibility
  • 5. Let’s try it then… • Introduce the topic • Get into groups • Test the application as a group • Report back on your findings • Group discussion
  • 6. Heuristics and Oracles A heuristic is a mechanism to try and solve a problem or learn something Testing examples include: • Brute force • Testing at the boundaries • Input methods • Starvation • Working backwards • Common sense / Educated guess • Rule of thumb
  • 7. Heuristics and Oracles “An oracle is a heuristic principle or mechanism by which someone recognizes a problem.” Michael Bolton, 2010 Examples: • Requirements • Marketing claims • Laws and standards • Scientific models • Previous versions • Maths • Comparable products • Experts • Your experience When do you use this? • Bug evaluation • Reporting • Test design They are fallible
  • 8. 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)
  • 9. Debrief • What did you find? • How did you go about finding them?
  • 10. Where do we go from here? • There is also a development opportunity for those people running the katas • We are aligning them with other educational activities at Red Gate • We are sharing this talk and the katas we have run with anyone who wants them • Come and join in our katas
  • 11. Questions? 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/ Test heuristics http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf Thank you for your time

Notas del editor

  1. About Emma Armstrong Jonathan Watts Red Gate
  2. What are katas? Kata is a Japanese word describing exercises that were done repeatedly until they became instinctual. Dave Thomas, the co author of The pragmatic programmer first coined the term in respect of code katas and testing katas are no different. We are talking about exercises done in groups, pairs or even individually that allow you to practice something and then learn from others experiences through discussion. We are not suggesting the same exercise done again but different exercises or the same exercise with different constraints. We believe that the forms of katas can be used to help learn any skill but especially testing, where testing should be happening at all stages in the project and it should be instinctual, testers should know what to do, and adapt their approach based on the context they are in.
  3. Why do katas? As we know, complete testing is rarely possible especially if you have over about 2 lines of code. This can mean the testing tasks at hand can seem infinite and so katas provide a way of enabling deliberate practice. Maintaining product quality across multiple teams. We work in cross functional teams, which means some of the knowledge transfer of skills in testing that might have occurred due to being immersed in a testing team does not, so to try and develop expertise we need to facilitate this (instructional expertise) in a different way. If you google Agile and quality, the phrase “Quality is everyone’s responsibility” will come up a few times. We believe that to achieve this you need to expose people of other disciplines to the activities that testers perform. The testing katas that we run are open to the whole company. Format – At Red Gate we have deliberately chosen to keep the exercises down to only a 20-30minute exercise and then a 30minute -1hr meeting afterwards and only do 1 kata a month. We have also run 1hr workshops.
  4. In today’s kata we are not going to give you any specifications we want you to apply the consistency oracle, specifically looking at the consistency with a comparable product heuristic. So we are focussing on using the behaviour of a comparable product to help evaluate the behaviour of the product under test.
  5. There are several oracles that you will already be using daily even if you are not calling them out as such. As Cem Kaner says, an oracle is a mechanism for determining whether a program has passed or failed a test. The oracle that you use depends on several things, the testing that you are doing, the environment you are in, the application you are testing, the context of the testing for example it could be a specification, it can be laws/statutes, other products, you, etc.. Specs being wrong Consistency with ‘something’ is an oracle we often rely on. Specifications Laws Previous versions Comparable products Marketing claims
  6. There are several oracles that you will already be using daily even if you are not calling them out as such. As Cem Kaner says, an oracle is a mechanism for determining whether a program has passed or failed a test. The oracle that you use depends on several things, the testing that you are doing, the environment you are in, the application you are testing, the context of the testing for example it could be a specification, it can be laws/statutes, other products, you, etc.. Specs being wrong Consistency with ‘something’ is an oracle we often rely on.
  7. Don’t do a kata on something you haven’t tried out yourself a few times Try to keep the examples simple Keep a note of examples Need a backlog Emma and Jonathan have gained some teaching experience Improved communication 2 new testers Improved aware of testing activities and methodologies We have learnt new things Continue to do our own deliberate practice? Would you like to use our previous katas? Coding katas talk