You think you are a smart software tester. Once, you were a tester using traditional development methods, but you saw Agile and DevOps coming from miles away and anticipated the changes required to stay relevant. You became a “T-shaped” tester, learned your share of programming, and made an effort to familiarize yourself with the agile way of working. But let me burst your bubble: you’ve put your bet on the wrong horse.
Not long from now, development done by programmers—that is to say, testing as we know it—will cease to exist. Code will be generated by far more efficient machines and this generated code will not need any testing in the traditional sense. Test automation, if necessary, will be something done by machines, not by (wo)men. If you think I’ve totally lost my mind, look up the Gödel machine.
The days of the software tester are numbered
Are the days for the software tester numbered? Yes, I think a large number of software testers will be out of jobs very soon. When development has become a non-human activity, and adjustments made in a matter of seconds at no cost, there will be no need to hire a human to learn, test, and master a system. Sure, there might still be some need for testing in systems that have to make the code, but the amount of testers holding a job in that area will be a fraction of today’s testers.
So if you are a software tester and are not eligible for retirement in the coming ten years or so, what are the winning horses on which to bet? Here’s my current list of what I think are areas in need of the excellent skill and mindset of the current software tester:
Societal impact of software and systems
Software and systems are invading our lives and our society. Companies will need information on the impact of software and systems on society.
Ethical usage of software and data
Technology opens the doors on software’s data collection and processing capabilities. Companies and customers alike will need someone to acts as a conscience regarding the ethical side of technological solutions.
Organizational level quality management
Development is no longer bound to the IT department. Instead, it has shifted to operations, and business involvement is becoming more and more important. With the implementation of scaled agile architectures comes the need for a specific type of quality management.
Insights and Data testing
Data is the new gold. Organizations will have a need for people who are able to provide insight on the quality of data, the correctness of processing, and the usability of reports.
Security and safety of software and systems
The number of cybercrimes is increasing. It will become more and more interesting and lucrative for criminals and non-friendly governments to switch to the digital world. Security of software and systems is no longer optional; it’s mandatory. Safeguarding software from criminals is important, particularly with IT growing more invasive in our lives and society. We must make sure that technology won’t have a negative impact on our lives and society.
Compliance with laws and regulations
Laws and regulations, like the European data protection law, can have huge financial implications in the case that software and systems do not support or enforce it. Organizations will need quality assurance and compliance testing. To be blunt: “It’s nice to have something in place to cover your ass when it needs covering.”
User experience-related testing
Design in IT will no longer be about layouts and colors or about usability. Interfaces will change entirely with voice and wearables. It will become about the whole user experience, complete with feelings and psychological aspects. Companies will need people to help them equip their services and/or products with the best user experience a customer can get.
Machine learning and artificial intelligence
With new technology come new challenges and new risks. Machine learning is great, but the concept still needs teachers that make sure the right material is learned. And as long as artificial intelligence is nothing more than very complex algorithms, they will also need testing. Both are designed to mimic human learning and human intelligence, and why shouldn’t the technology versions be the same as the way humans take an exam before they are certified to work?
Testers need to change if they want to stay relevant
This list is by no means conclusive. I’m sure there will be other areas that need specialized and skilled software testers. The bottom line, however, is that the amount of testers needed to do traditional testing will drastically decrease. People who have excellent skills and the right mindset will be out of a job if they do not start to focus on an alternative. Testing will still be needed, as will testers, but they will shift to other areas. One thing is for sure: it will be the end of the software testing world as we know it, and software testers have to change if they want to stay relevant.