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 the development of high-quality products, technology trends and empowering people to grow. Over the past 10 years, he has founded QualityMinds and several start-ups in Germany and Poland. In his private life, he loves the mountains and racing.
We as a tester community will certainly not be left without work. However, the type 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. Rather, it is important to take a holistic approach to quality assurance. 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 for testers, will be a must. This refers to both methodological knowledge and the associated tools, which have become extremely heterogeneous in recent years thanks to the open source movement. Hopefully no longer worth mentioning is 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 wasn’t 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 is changing the paradigms on which we test today in many respects. This results in the challenge for both industry and research to search for and develop such approaches.
In order to tackle the challenge of taking a holistic view of quality assurance (not just testing), we first and foremost need 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. In order to be closer to software engineering, there are bridges via “technical topics” such as test automation (no record & play or solutions far away from code), load & performance tests, simple integration into CI/CD pipelines or even topics such as test data generation. All of these areas are indispensable in modern software development and as testers we can use them to create and learn a great deal of added value. Curricula (such as ISTQB) can help, but individualized learning through the very active global testing community is much more important. There are tons of sources and content online for almost every testing topic.
The challenge of the new types of system under test can be tackled by developing new approaches. Just as we as a community have “plowed” the field of mobile or IoT testing for years, we now have to deal with the testing of data-intensive systems (simple machine learning approaches such as recommenders through to deep neural networks), for example. In research, there are active efforts in the field of Safe AI that are researching methods and tools for securing AI systems. In practice, however, we lack these to effectively test systems that have been created through training processes with vast amounts of data. It is also conceivable that we could use AI in testing tools to test classic or AI-based systems. Initial approaches are now available on the market, but on closer inspection, we are still “in our infancy” here.
In my opinion, one thing is certain: we will not and do not want to solve challenges with very, very large testing teams with lots of manual activities in the future. The degree of automation in the testing process will have to increase. This is similar to the general development in digitalization. What will hopefully happen more in the future is that we will be able to automatically derive derivations or at least recommendations from the data presented to us as testers (test plans, test cases, test data, test logs, etc. etc.). This allows us to better control the coverage of the risks we are focused on and make decisions more quickly. 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 drive the really exciting things in testing (e.g. exploratory testing) instead of struggling with non-functioning test automation or even manual regression tests.
Learn, learn and learn again! As testers in particular, we need to constantly educate ourselves, delve deeper into techniques and tools and keep an eye on trends. Nostalgia for past decades and classic images of test management will not help us. Instead, a healthy curiosity, courage and openness can help. In addition to the generally known certifications and training courses, I can highly recommend the active test communities, meetups, online learning platforms or even YouTube. At every good testing conference, there are always talks or workshops presenting the latest trends. Thanks to open source, there are numerous frameworks and methods for almost all testing topics that can be used free of charge.