This post was inspired by an extract of a 1920s movie and my love for… lindy hop.
Automation fear and hype was there even in 1920s. Image of an automated restaurant from a silent movie “He Done His Best”. Source: imdb.
At the start of 2020, I began taking lindy hop classes. It was challenging at the start and when I started feeling a bit more comfortable and finally enjoyed dancing way more - the pandemic hit. During a recent nostalgia attack, I was trying to remember the songs that played in our classes. One that got stuck in my head was “I like pie, I like cake”. I remember dancing to it, smiling, nodding to myself how true that is for me. I found the song, and the video on youtube has footage from “He done his best” silent 1926 movie by Charles Bowers & Harold Muller. The video is as playful as the song and made me realize that even in 1926 there was a fear that machines will take over… everything. This is where my professional illness of seeing parallels to my work in most everyday things took over.
From the old tune of “Testing is dead!” to a newer one “Artificial Intelligence will test everything!”, the same fear of automation is still in the air in the testing world. It’s not new. Since the invention of machines humans have been afraid that their job will be replaced. Yet somehow that fear for years pops up more frequently in the software testing field rather than, let’s say, product management or software development. Why is that?
Well, let’s start with stereotypes… To illustrate this, I recall a team event at the start of my career: a bit tipsy developer colleague jokingly said (it’s always “jokes”, right?) that I should stay later and not worry about getting to work early tomorrow because my work is just “clicking buttons”.
When testing to some people is seen as a “monkey job”, of course, there is a natural tendency to say that “anyone could do that!”. Is that true, though?
Testing is a skill
To know how to test something well, or, actually, in general, to remember to… test, is undervalued. If we do not test (or test well), our users will for us, and that can result in huge disengagement of products and, in the end, the loss of customers which is the loss of profits.
This only covers the business risks, what about the impact to our day to day development? No testing means a lack of confidence when implementing new work for everyone involved in the development of the product.
Nowadays more and more developers write unit tests, integration tests, even end-to-end tests, so what is a tester supposed to do? Do we really need the role? Well, it’s great that developers write tests, yet I would call them checks instead. Often they may miss many cases or verify implementation rather than behavior (a great article by Kent C. Dodds on Testing Implementation Details provides more examples). There’s one thing to write automated checks, and there’s another thing to write them well and carry a testing mindset. I also touch on that more in Automate all the right things post. As much as we try to make testing just an activity which “anyone can do”, it’s just not true.
To test skillfully, to spend time on it, to do it not because of “getting work done”, but deeply caring for product quality, is extremely difficult and needed. Be it a tester role or a test-first mindset in the team (which also does not come naturally to people, as a QA even in teams with the best developers I always have to work to nurture it). The tester mindset is a superpower. To think critically, question the product, make sure that thorough testing was done - this is a skill that is needed more than ever. Even if we see QA as Quality Assistance - the assistance is often testing together, thinking if anything was missed in automated checks, and deciding when we have a good confidence level on product quality.
Artificial Intelligence testing all the things
What about those AI tools that can predict what to test and do checks? I have nothing against that. They can be useful, but even if they had all the knowledge of all testers in the world right now, it still would need to be updated to include learnings that only humans can do so far. A lot of artificial intelligence tools are based on certain rules and do not have a… human aspect. Use it consciously, these tools could help you find unknowns that you did not think of, but the same goes the other direction: you can always think of/notice things that no AI would ever think of.
Focus on your strengths as a human tester: no automation will ever take away how you feel about the product. The ethical side of products is more relevant than ever. Usability, accessibility, even security (especially social engineering) are just some of the testing areas that humans are best feedback fairies for.
Automation won’t ever replace you. Automation can just aid you to do certain tasks faster so that you could spend more time doing things that are super valuable - like your thinking on what exactly should be tested and doing exploratory testing sessions. Even if you have automated checks - they’re as good as the creator of them decided to have them. And we as humans make mistakes and always can improve. As my friend Stu says: “Good testing will cease to be needed, the day humans no longer make mistakes”.
Knowing how to think like a tester is a superpower that no machine is going to take away from you. To finalize, with the words of the song in the inspirational video:
🎶I like pie, I like cake, but most of all I like you. 🎶