Looking at the future my feeling is that testing will not be as “simple” as it was up to now, but it will also not be as different as many people think.
We’ve all become Clairvoyants!
Lately I’ve been reading some blogs, listening to a number of podcasts, even attending and presenting in conferences and events, and it seems to me that we have been busy (maybe too busy?) trying to figure out what testing will look like in the future.
I am not criticizing!! As I said, I’ve done it myself. And I think this is coming from the rapid shift taking place in our Industry in recent times.
I don’t mean the Testing Industry, as I don’t see us as an industry, but more as service providers within the industries we belong to.
I mean the Software Development and Delivery Industry, and in a large way also the IT departments of companies within many industries where testing professionals provide their services.
The shift to quick development cycles, to hyper communication practices, to technological migration into the Cloud and mobile devices, to IoT, etc.
I think it would be an understatement to call this a shift to Agile as it is bigger and broader than Agile, or DevOps, or Cloud Computing, or SaaS, or Mobile, or IoT…
It is the shift to a “new” reality where we are creating and delivering products faster than ever before, to more customers than ever before, with less control on their environments than ever before, and on platforms and technologies that change at a pace that is faster than ever before.
So in short, we are doing more things and at the same time we are doing them faster and in more complex realities; all of this not by sheer magic, but by using better technology and different approaches than we did in the past.
No need to wait for the future, we are already doing things differently today
I get to talk to tens of testing teams each week as part of my work in PractiTest, and so I hear first-hand what testers are doing and where they are investing their time and efforts.
When I try to compare what the “average” testing team is doing today versus what we used to do 10 or 15 years ago I can see we are really doing things in a different way.
As service providers we are adapting to the reality of our teams, and this means a number of different things. For example:
– I see that testers are doing a lot more automation and in different levels within their projects. We are writing all sort of scripts to help the development process, working with multiple automation technologies, and using automation to help us do our tasks faster.
– I also see many more testers going deeper into the technical work of their teams. This is further than automation, going into the logs of the product and sometimes even reviewing the actual code while looking for issues.
– In some cases, and in some organizations, I am seeing how testers are doing more work with production environments, doing A/B testing in live features and becoming data scientist and DevOps alchemists within their teams.
– I am also seeing how testers become advisors and coaches to developers that now write and run a number of their own tests. These same testers are preaching about quality (something we have done all the time) to people and programmers who are now willing to listen (something that did not happen in the past).
– It is also obvious to all that the tools we use are changing, and the environments we work in are expanding.
And there are tons of smaller and larger examples that show that our reality has shifted.
Please, don’t feel special, it is happening everywhere!
It is not only about our reality! Look at the average 60 or 70 year old who is now using Facebook on his mobile device seamlessly, this is also something that changed.
Five years ago we had doubts whether they would be able to even use an iPhone or an Android phone…
It’s not you, it’s not even me, it is The Economy.
The economy is pushing organizations to automate in the name of savings and efficiency.
Jobs that are deterministic and programable will become more and more automatic. While, only those jobs that require Creative Thinking will be left in the hands of humans.
Don’t stop at testing, look at other businesses and industries.
McDonald’s for example, has fewer people at their selling counters, being replaced worldwide by terminals where you order the food by yourself. In some countries you can even order and pay via an app, and have the order ready by the time you get to the restaurant. Talk about making Fast Food even faster!!!
Uber is working intensively on driverless cars. They defined their objective as moving people conveniently, and understood that the solution does not require a person (a driver) to take you from point A to point B.
Let’s look at air travel for a second. Today you can order your flight online, check-in yourself from home, scan your bags by yourself in the airport, and place them on the conveyor belt by yourself (it is still scary to place the stickers on the bags yourself, but even I am getting accustomed to).
And don’t stop there, did you know that planes are today able to take off and sometimes land using Auto Pilot??? We are about to leave the human pilot out of a job (not to mention travel planners, tour guides, etc.)
Still, there are some cases where you cannot get rid of all the manual work, just yet – these are the jobs where you need more Creative Thinking.
You still need doctors to help you diagnose illnesses, or nurses that use their personal touch and intuition when caring for someone in need.
Teachers in schools, that need to adapt to the forming and changing needs of the kids they are working with.
Psychologist and therapists, that have the hard work of untangling our crooked selves when we need someone to help us with our challenges and issues.
I think this is still the case with many types of testing
Of course you can automate a lot of testing, and make this in ways that are economical and allow the organization to release the products faster to the field.
You can certainly do this for tests that are trivial and repeatable, concentrating in the areas of the product that have the biggest risks of including critical issues. This does not require critical thinking, and so it can and should be automated.
You can also say that in all other cases, we can do extensive testing and cover every scenario and environment for our systems, but this is not economically feasible today, nor will it be in many years to come.
And so we are still running manual testing in places where Critical Thinking is required.
We are still…
learning the product and the changes done to it,
using our experience, knowledge and intuition to decide what and where to test,
planning our test cases,
running the tests,
reporting our results,
providing visibility into the product based on the different information that each of our internal customers require,
advising our teams on product and process
Some testing is going through a metamorphosis, but not all of it
Some very smart people are pointing at the fact that responsibility of the QA team is also adapting to change. They are correctly explaining that we are going through a metamorphosis and are becoming an organization charged with Helping to Accelerate the Achievement of Shippable Quality (thanks Brent and Alan for this one!!).
I think that this is happening in many projects, products and places where the role of QA is being shifted left, right and even up (I will expand on this on another blog in the future). And once this happens, we naturally see the weight of our value also shifting toward the places where we can make a bigger and better difference.
But I also think that even if this will eventually happen to all organizations and testing teams, it will not be the case in the coming 15 or 20 years.
There is still a big chunk of the work we do as testers that requires extensive Critical Thinking, and it will be hard to automate this soon.
To name a few of these we can see the work we do with developers troubleshooting behaviours before and after the bugs are written.
The ability to adapt our tests in order to provide quick visibility into the areas where we need to work more in order to meet our shifting deadlines.
The way we need to understand the changing needs of our organizations and even our end users in order to adapt the things we tests and the ways we test them.
And the list goes on and on with tasks and challenges that will still require testers to do their traditional testing jobs in order to help organizations achieve their goals. They will do it with improved techniques and technology, but we will still be doing testing.
Maybe in 20-30 years this will not be the case, but I will let my kids and grandkids think about those times, as I hope to be retired playing golf in the mornings and my guitar in the afternoons by then…