In this article I will take some aspects of Masterchef and relate them to my experience as a tester. I challenge you to do the same. I believe it will help you to become an expert tester or even a Master Tester. A Master Tester that is able to excel in a diverse range of situations. My goal is to inspire you to be innovative and take leadership.
Inspire: Fill (someone) with the urge or ability to do or feel something, especially to do something creative.[1]
Innovative: (Of a person) introducing new ideas; original and creative in thinking.[2]
Leadership: is establishing direction and influencing others to follow that direction.[3]
As I love cooking I regularly watch Masterchef on TV. I get inspired by watching people doing what they love and making the best of every situation. Then it occurred to me how much analogy Masterchef has with testing and the lessons we, as testers, can learn from it.
Just like successful candidates of Masterchef, successful testers do not just follow a recipe or take a single training. The most successful candidates of Masterchef are those who:
- have lots of product knowledge (ingredients)
- have several different skills (able to apply different techniques, like cutting techniques, cooking techniques, but leadership as well)
- are able to use several tools (oven, smoking machine, refrigerator)
- have chosen a speciality to excel in (desserts, Thai food)
- have the right attitude (make sacrifices, the desire to win, but be a team player as well)
- are eager to learn (from their own mistakes but also from others’)
- dare to be creative (to be innovative with new combinations of ingredients, thinking outside of the box)
- are able to improvise in case of problems (a part of the dish that is burned)
- are able to satisfy their stakeholders
Of course chefs and cooks both produce and taste the product as testers only test it. This does not influence the similarities I want to point out in this blog.
Mystery box
An element of Masterchef is the mystery box. In this challenge the candidates are given a set of ingredients and are asked to create a new and innovative dish. Using the given ingredients they make a dish in a limited timeframe. They are allowed to use some additional ingredients and tools like knives or an oven steamer. After a lot of tasting and practice, several candidates are able to create beautiful dishes that the judges enjoy.
Basically that is what our stakeholders want us to do: in a given context give them as much valuable information about the product as possible in a limited timeframe. Just as Jerry Weinberg puts it: “Testing is gathering information with the intention of informing a decision”. Instead of preparing a beautiful dish, we provide information to enable others to make a better product. For this we use our knowledge and skills: knowledge about the product and the domain. We use our skills to find valuable information and bugs. We also use all kinds of tools, techniques and heuristics and last but not least to communicate well[4]. The more we learn and deliberately practice our skills, the better we become as testers. The desire to learn and willingness to make sacrifices, like doing some extra reading after work hours, is the ultimate difference between an average tester and a Master Tester.
The ingredients testers use are: requirements, designs, manuals, the product itself and many other oracles[5]. It helps if we have knowledge about a product and how it’s actually used. It helps us to find bugs that matter. Bugs that are not found in automatic testing or basic verification of requirements. The juiciest bugs are much more complex than that and might involve undocumented features.
The struggle both testers and candidates of Masterchef encounter is the struggle with time. In our enthusiasm we, humans, always hope and think to do more than we are able to. Many years ago I focussed on executing test scripts and many times I underestimated the time needed to execute the remaining scripts. Sometimes due to the fact that some test scripts where very time consuming, as I had started with some shorter scripts. What I learned and I think is key is to always focus on the crucial aspects first. That is why context-driven testers ask themselves “what’s the best test I can perform, right now?”[6] It helps testers to manage time and focus on stakeholder satisfaction.
We can ‘taste’ the product to get a grasp on the quality of the product or its elements. The difficulty is that all our stakeholders probably have a different preference. Just like the judges of Masterchef. One judge loves sour, the other prefers a crisp and a third is passionate about sweet. Knowing who our stakeholders are and what they prefer helps us to do better testing.
Team challenge
Another element of the Masterchef program is the team challenge. Candidates are divided in teams and are asked to prepare a starter, a main dish and a dessert. For this challenge they do not just cook for the judges, but for real guests. These guests can be very diverse like children, restaurant owners, a bunch of fishermen or people walking by on a local market.
Although the preferences of the individual guests are unknown, some knowledge about generic preferences helps to achieve the goal of winning the challenge. In case of children it helps if the dish is playful and flavours are not too strong. Another example comes from a local market in Limburg, The Netherlands. The team that prepared a local dish of bloody sausage with apple won!
Also for testers it helps to learn about the context as much as possible and to know how the end-users use the product. Is the product only used by young people familiar with technology or is your 80 year old grandma also a potential user? Perhaps the product is only used by trained users, like maintenance engineers or employees of a traffic control centre? If your grandma is a potential user, testers might focus more on usability. Trained technical people would rather have working shortcut keys or be able to configure the system to their personal needs.
Back to the team challenge part. In a team people work together towards a common goal. This is also the case in the projects we testers work in. Now picture the most successful project you’ve ever worked in. What made it successful? Likely everyone had a common goal to make a good or excellent product. Probably there was a good team atmosphere: members of the team were willing to help each other and to make sacrifices. Sacrifices like temporarily doing a task that is less challenging, or helping with a task that is outside your comfort zone. Most likely members of the team had different skills and knowledge that made great things possible. This includes a good manager that is willing and able to make clear choices keeping all stakeholders in mind. It also includes leadership of all team members taking at least responsibility for their own work[7].
In Masterchef having different skills helps. If one member is excellent in desserts and another is a grill master, the team has a better chance of winning. I say chance, because in Masterchef it perfectly shows that both leadership and teamwork are essential skills. I remember an episode of Masterchef where two people disagreed over the approach and fought over whose approach to follow instead of working together. This made the team with the best set of technical skills lose.
We as testers sometimes have the tendency to forget that. Some think that it is our job to disagree with everything. And don’t get me wrong, critical thinking and challenging people are very important testing skills that enable us to contribute to product quality. However sometimes we should also be able to shut up, sacrifice ourselves and serve the common goal. I was once kicked out of a project because I was more critical about quality than the project lead. In a way he sensed I thought he was incapable. In hindsight I could have been mote political. As testers we can’t choose (the skills of) our team members or manager. We can however develop our own skills in teamwork and leadership and help to create a positive atmosphere. In a later project I also had a different view on quality. The project lead and I discussed this fiercely, but politely and we were able to make a compromise that was satisfying to all stakeholders involved. In fact it improved our relationship and ability to work more effectively afterwards.
Becoming A Testing Expert
In this post I have made an analogy between testers and Masterchefs[8]. The candidates of Masterchef are already more skilled then an average home cook. During the program it shows that through practice and learning they are really able to exceed their own expectations. In the end some candidates are able to make dishes on the level of a Masterchef. Of course it is helps to have certain talents but mainly the right attitude is essential. This is also true for testers. If you already are a good tester, and want to become an expert in Software Testing you can do so by improving your knowledge and skills by deliberate practice. By continuous learning you can become a Master tester that adds even more value.
About the Author
Jeanne Hofmans has studied Software Technology at Utrecht University and now is a consultant at Improve Quality Services. Lately Jeanne has been a test manager for the Sluiskiltunnel and an auditor for several other safety critical systems as satellites and tunnels. She is a TMMi Lead auditor and co-author of the book Quality Level Management – Managing Quality in outsourcing.
[3] The definition used in the oxforddictionary I did not use on purpose as it does not reflect the difference between leadership and management very well. This article does: http://www.cliffsnotes.com/more-subjects/principles-of-management/leadership-and-management/leadership-defined
[4] For more about heuristics see: http://www.huibschoots.nl/wordpress/?p=1666.
[5] For more about oracles see: Blog: FEW HICCUPPS by Michael Bolton
[6] For more info about Exploratory testing see: Exploratory Testing Explained by James Bach, http://www.satisfice.com/articles/et-article.pdf
[7] For another article about the difference between management and leadership see: http://blogs.hbr.org/2013/01/management-is-still-not-leadership/
[8] During the review of this article one of the reviewers noticed that a blogpost had been written with the same subject: http://www.quora.com/How-exploratory-testing-differs-with-other-testing-What-is-the-common-problems-faced-by-a-tester-when-performing-exploratory-testing/answer/Pradeep-Soundararajan