Michael is a computer scientist who accidentally (or not) founded QualityMinds. He has around 20 years of experience in software engineering, testing/QA and Agile leadership. His so-called "lifeblood" is developing high-quality products, technology trends and empowering people to grow. In the last 10 years, he has founded QualityMinds and several start-ups in Germany and Poland. In his private life, he loves the mountains and racing.
What challenges will software testing have to face in the future?
We as a tester community will certainly not be without work. However, the kind of work we know as testers will change. The biggest challenge is to think holistically. It is not enough to think only about analytical quality assurance and testing in particular. It is much more important to approach quality assurance in a holistic way. The knowledge of and integration into all other disciplines in software engineering, such as requirements engineering, software architecture, development and DevOps engineering, at least as a T-shape profile of the testers, will be a must. This refers to both the methodological knowledge and the associated tools, which have become extremely heterogeneous in recent years through the open source movement. Hopefully it is no longer worth mentioning that most projects and product developments are carried out according to agile procedures with all the implications for the topic of testing.
As if that were not already a major challenge, the type of systems to be tested will change in the future. In addition to web, mobile, cloud or IoT systems, more and more data-intensive applications (e.g. with machine learning components) will come into play. Testing these changes in many ways the paradigms on which we test today. This results in the challenge for both industry and research to search for and develop such approaches.
What ideas or solutions could address these challenges?
To tackle the challenge of a holistic view of quality assurance (not only testing), we need first and foremost a willingness or mindset to see it as an opportunity rather than a threat. As testers we need to acquire a growth mindset and learn a lot. Both about software engineering (especially in the agile world) in general, but also in detail about methods and tools. To be closer to software engineering bridges over "technical topics" like test automation (no record&play or solutions far away from code), last&performance testing, easy integration into CI/CD pipelines or even topics like test data generation. All these areas are indispensable in modern software development and as testers we can create high added value and learn from them. Curricula (such as ISTQB) can help, but individualized learning through the very active global testing community is much more important. There are tons of resources and content on the web for almost every testing topic.
The challenge of new types of system under test can be addressed by developing new approaches. Just as we as a community have "plowed" the field of mobile or IoT testing for years, we need to address, for example, the testing of data-intensive systems (from simple machine learning approaches such as recommender to deep neural networks). In research, there are active efforts in the area of Safe AI that are researching methods and tools for securing AI systems. In practice, however, we lack these to effectively test systems created through training processes with vast amounts of data. It is also conceivable that we can apply AI in testing tools to test classical or AI-based systems. The first approaches are now available on the market, but a deep look shows that we are still "in our infancy" here.
What does Future Testing look like? How will we test?
In my opinion, one thing is certain: In the future, we will not and do not want to solve challenges with very very large testing teams with many manual activities. The level of automation in the testing process will have to increase. That similar to the general development in the Digitalization. What will hopefully take place more in the future is that we can derive automated derivations or at least recommendations from the data that is presented to us as testers (test plans, test cases, test data, test logs, etc. etc.). This will allow us to better manage the coverage of the risks we are focused on and make decisions faster. I believe that AI-based approaches in testing that learn from data can help us incredibly. This will hopefully give us more time in the future to push the really exciting stuff in testing (e.g. exploratory testing) instead of struggling with test automation not working or even manual regression testing.
How can testers and test managers prepare forthis today ?
Learn, learn and learn again! Especially as testers, we must constantly educate ourselves, dive deeper into the techniques and tools, and observe the trends. Nostalgia about past decades and classic images of test management will not help us. Instead, a healthy curiosity, courage and openness can help. Besides the commonly known certifications and trainings, I can highly recommend the active testing communities, meetups, online learning platforms or even YouTube. At every good testing conference there are always talks or workshops that present current trends. Through open source, there are numerous frameworks and methods for almost all topics in the field of testing that can be used for free.