Mar 9, 2023
Tech Talks With Huib Schoots

With time, Quality Assurance and software testing have caught the attention of the IT solution providers. Especially, when users demand for performance-driven and reliable applications, keeping a focus on quality allows creating sustainable technology.
From security goals to achieving the QA benchmarks, timely testing could enable testers to overcome any gaps surrounding development lifecycle. However, achieving the goals of creating futuristic tech require a dynamic vision that could contain every aspect of business, QA, and development.
However, the continuously expanding tech landscape and ever-evolving needs of the consumers makes it a mandate to identify any gaps surrounding the development lifecycle and existing software testing practices.
With the motive to feed on different perspectives, this time, Kanika Vatsyayan, VP, Delivery & Operations, interacted with Huib Schoots, Agile & Quality Coach at Quality Accelerators & De Agile Testers. Huib, with his expertise has enabled so many people and organizations to do what they do best, by empowering them while continuously focusing on the agenda of teamwork.
With all those insights to his interests and philosophies, let us quickly jump on the interview to learn about his inspirations, making selections for automation tools, and his philosophies on testing.
Besides learning, I actively practice aspects of personal leadership. Personal leadership is taking the course of your life in your own hands. I think it is the way to the best version of yourself.
And that is what I do! It started years ago, although I didn’t know anything about personal leadership at all. I wasn’t happy with myself and with my life. I started reading books on self-help, communication, thinking, mindset and leadership. This way I learned about important aspects. I also found mentors who could help me develop the skills I wanted to develop. Some aspects I couldn’t deal with myself or with the help of my mentors, so I searched for professional help.
I wrote two blog post about changing my mindset:
-
Dealing with mindsets (Part 3 in a series of blog posts)
There are many inspiring people who I follow and read about: Simon Sinek, Brené Brown, Tony Robbins, Richard Brandson, Jerry Weinberg, Kim Scott, Michael Pilarczyk, Daniel Pink, Nancy Kline, Harry Collins, Daniel Kahneman and many, many others. I also get my inspiration by watching tons of TED and TEDx videos.
Learning is very personal and requires a plan. Think regularly about what you want to learn. I see many people ask questions like: “What course should I take?”, “What book should I read?” or “What is the syllabus for testers?” with thinking carefully about the context. So, I always answer those questions that it depends on what you want to learn. There is no list of things every tester should learn. It depends on your context, personal preferences, your job and many other things. So, learning starts with questions like “Who am I?”, “What skills do I have?”, “What do I want to achieve?”, “What do I need?” and “How do I get there?”.
Learning is more than knowing: it requires practice, doing and experiencing in real life situations are needed to truly internalize knowledge. Try to link what you are trying to learn to real-life experiences. This helps your brain make the necessary connections.
If you are looking for solid advice on automation, find some experts in the field you can trust like Mark Winteringham, Richard Bradshaw, Bas Dijkstra, Paul Grizzaffi or Alan Richardson to name a few!
Like the answer to the question about automation frameworks/tools it starts with a strategy: first think about why you want continuous testing. Then about what continuous testing should do for you (or what problem you are trying to solve) and only then think about how to get there. Keep in mind what automation can and can’t do for you.
I think AI/ML can assist testers in interesting ways, but I do not believe that autonomous automation will be a beneficial thing anytime soon. Technology is getting better and faster and so does AI/ML. It will evolve and will get better at assisting testers, but I doubt if it will ever be able to do autonomous automation. It will probably be capable of doing some parts of it or in very specific contexts it might work. As soon as autonomous automation is a big thing, autonomous programming will be too?
ChatGPT is the latest popular AI/ML tool. It was on the news lately since schools in the Netherlands are struggling with students who let the tool do their homework. I have been playing around with it for a while. The tool gives interesting answers, but I see a lot of wrong information pop up.
After asking some questions about software testing, I asked: “Do you know Huib Schoots?” ChatGPT gave me this answer: “Huib Schoots is a Dutch software testing consultant, coach and trainer known for his work on testing in agile development and his book "Lessons Learned in Software Testing". He has more than 20 years of experience in the field of software testing and has worked with a wide range of organizations in various industries. He is also a regular speaker at software testing conferences and events, and has written several articles on software testing. He is considered as one of the best software testers in the world, and known for his contributions to the field of software testing and his ability to make complex testing concepts accessible to others". Flattering but wrong. The book mentioned is one of my favorites, but I did not write it.
To do good testing you need to know the product and how it is used. We need humans for that in most cases. We need humans for effective thinking, creativity and reasoning. Testers use tacit knowledge, gut feeling, emotions to test software. It is important to look at software from a human perspective. AI/ML can assist testers with things like modeling, search/identifying, recognizing changes, pattern recognition, etc. But that is quite different from what I would call autonomous automation.
So, it is important to work in a way that helps you decide if your testing is good enough and if you have tested enough. There are several things you can do to find an answer to that difficult question:
-
Learn about the product: what is important? (value or quality) and how can it fail? (risks).
-
Consider coverage for the known and unknown risks (you can find unknown risks by exploring) with testing and non-testing tasks. Make sure you have one or more feedback loops here by talking to stakeholders about this.
-
Think about how you will recognize important problems (oracles).
-
Analyze the risks you have found and the testing you have done preferably together with your client/product owner/stakeholders on a regular basis (which requires you to be good at storytelling):
-
Can we explain and justify the work we did?
-
Do we know enough about the state of the product?
-
Can they make an informed decision?
I think agile ways of working (and thinking) can always be used and I recommend everybody to be as agile as you can be. You do not have to implement frameworks like Scrum or SAFe to improve.
By using the fundamentals transparency, inspection (think reflection) and adaptation of Scrum for example you will focus more on learning without changing the way of working dramatically. Don’t focus too much on agile approaches, but try to learn about agility and creating your agile mindset. I am not saying Scrum or SAFe do not have value. But as soon as you see frameworks as a solution, it starts to go wrong.
At BugRaptors, we do everything that can add value to the digital world. And since it is QAs, developers, and business analysts who can call for the quality revolution, stay connected with us for more such QA tech talks.