Tilo Linz is a board member and co-founder of imbus AG, a leading solution provider for software quality and software testing and has been active in the field of software quality for more than 25 years. As founder and chairman of the German Testing Board e.V. and a founding member of ASQF e.V. and ISTQB, he has been instrumental in shaping and advancing education and training in this specialist area at national and international level. Tilo Linz is the author of "Testing in Scrum Projects" and co-author of "Basiswissen Softwaretest" (dpunkt.verlag).
Software testing challenges
What are challenges that software testing or the software tester has in the future? What is in store for us?
Before I talk about software testing, I'd like to say something about "looking into the future", which we at imbus dealt with a few years ago. When you look into the future, you are shaped as a human being in such a way that you have the current situation in front of your eyes and you extrapolate it linearly into the future. One comes to what is already happening now in a more futuristic form and is shaped by the current situation and the past. Therefore, looking into the future is particularly difficult in IT, because everything changes particularly quickly here. You don't have many quantum leaps on your radar, which is the problem. So the question is: How can we break through linear thinking so that we can also anticipate disruptions and the truly new? Futurologists use concrete and professional methods to do this. One of these most important forecasting techniques is the so-called scenario technique. Based on current observations, one considers what the most important influencing factors and megatrends are. One develops stories, spins them further and then comes up with things that can suddenly realistically happen. One of these worlds then materializes. Together with a futurologist, imbus has in recent years launched "Trends in Testing" studies for the years 2025, 2035 and 2050. We have updated these several times at intervals of a few years. If you leaf through them retrospectively you see that some of it is bunk, but some of it is really true. The shocking thing was that a lot of things came true much faster. The study can be downloaded free of charge in our download area.
www.imbus.de/unternehmen/forschung/the-future-of-testing
As for what might challenge software testers in particular in the coming years, I can't predict all the challenges exactly, of course. But I am happy to reveal what could be challenges in the different worlds. I read the study again earlier, which is structured for 2025, 2035 and 2050. 2025 is already two and a half years away. When we first put the study out, that was distant future. We see "Structure Ware" as an important trend in it, and I am convinced that this will be the concrete area of application.
Structure Ware" is about 3D printing being used today in the real world where hardware or similar things are produced. A few years ago, it was brand new, but now it's standard in industry. Even at home it is already normal as a hobby. You send what you want to produce as code to a device and then it materializes. The traditional view is that you send a CAD plan. In reality, however, you send software. If you take that further and you have powerful devices, they're no longer called 3D printers, they're called bioprinters and other things. This production line can be located anywhere in the world. Or you order the other way around via Amazon and no longer receive a package, but a "structured product" in your mailbox. This is then sent to the Sophisticated 3D printer at home, where the finished product comes out. What ultimately comes out depends only on the "Structure Ware" that is sent.
Effects on testing
How does that affect testing per se? What are the approaches to it? Have you thought in this direction as well?
At this point, it's more the other way around. People who make money creating plans for 3D printing don't think they're software coders. They are engineers who do traditional component drawing. They will then find a certain threshold of complexity where something doesn't work or they've left something out. They'll get a lot of demand from the normal testing techniques or be surprised to find that there's a guild there with the software testers that can help.
Requirements for testers or test analysts
What do I have to do differently if I am a tester or test analyst? Do I have to do anything differently? Do I have different prerequisites?
The test manager should master new things. There are some new testing methods that are developing and that is not the far future. A lot has happened in the context of autonomous driving and software or system testing is one of them. There is a tremendous amount happening in the field and there are publications about it every day. The new test method Scenario-based Testing is just emerging, which is not yet known in this formalized form in traditional software testing. It will help to make autonomous vehicles ready for the market, and I am convinced that the whole robotics topic is also connected to it. Autonomous driving is already very challenging. When you have a bipedal robot running around, it becomes even more complex. The software tester has to be able to model these different environments, and that's the issue of scenario-based testing. We are no longer dealing with a test object lying on the lab bench and umpteen versions of it, but we have a dynamic environment and various manifestations. In scenario A, B and C these parameters change the scenario, the test object remains the same. It is a reversal between test environment and test object.
Areas of application of artificial intelligence
There is a lot of talk about artificial intelligence. From a testing perspective, there are two approaches. One is having AI software somewhere that needs to be tested. On the other hand, it's using AI for testing. Have you guys engaged in any future thinking along those lines?
Yes, it is precisely these two perspectives that play a role. We are confronted with this in both fields. On the one hand, we have a research project underway here that involves testing AI-based agricultural machinery. Surprisingly, this is one of the first actual fields of application for autonomous machines. Driving straight ahead in the field is not critical. The whole integration of the systems is an issue, as well as how you test the AI parts of it. The systems should learn how much to fertilize, where the optimum is, etc. AI for testing is primarily visible to us in the area of autonomous driving. There, people are trying to get a grip on the test case explosion and complexity with different new methods. AI-based algorithms are also being used to help select from the potentially infinite number of scenarios.
Changes in development and test processes
In addition to the technological aspect, there is also the process view of how development and test processes are changing. Do you have any idea in which direction this will continue?
It will be significantly more automation, which may also become easier. You just read the Keyword Based Testing book. By 2050, the idea that the non-IT person can click together process steps or test sequences is certainly commonplace. With autonomous driving, testing and simulation will become blurred. Simulations have been used in the automotive field so far to simulate how the prototype behaves in these directions from a development perspective. That will now coincide much more with testing, validation and validation, because you can't afford to drive through the same intersection in a million different attempts.
DevOps and Agile
Everyone is doing DevOps and Agile at the moment. In which direction do things continue from the QA perspective?
As you say, it works wonderfully and that will remain a fixed component. Recently, while reading on our website, I came across the topic of the V-model, which in my view no longer has much significance. In the places where you still have to work according to the V-Modell, you always try to use a hybrid in order to live the DevOps idea in some places, i.e. to get to deployment as quickly as possible and to automate it through. In my opinion, there is no other way.
Recommendations for Software Testers and Test Managers
There are a lot of challenges and changes coming up for the tester and the test manager and anyone working in testing. What do you recommend to someone who is well in the software testing saddle today to prepare and be ready for the future?
Today, you already have to be open to what's happening around you. The crucial thing is to stay on top of technical developments. It's not so important whether it affects you directly yet or not. The experience is that you think you are miles away from something and next week the customer will call. I can give everyone in the software testing environment the tip to be open-minded, to have an interest in it and to deal with it yourself, even if it is not asked for in the project at the moment. This applies to developers and testers. The differences are becoming less and less. You should at least try to roughly understand the basic functioning of the newly visible. For example, in Machine Learning, you should know roughly how the algorithms work and what they do, even if you are not able to implement such an algorithm. In Scenario-based Testing, it is the same. You should know the buzzword and what such a scenario is. This goes hand in hand with continuous training. Foundation Level, for example, is still needed and it is the entry level. You can also see that all the trainings are still in demand. As a coach and trainer, you will continue to be asked to support people. What's nice is the outcome from the Pandemic Dilemma, which is interesting to me. Traditional training with face-to-face events still exists and is now becoming more again. In parallel, online training became a good alternative. At the beginning of the pandemic, it was thought to be an emergency aid. Now it's an additional, natural form of delivery. In addition, we now offer a third delivery method, blended learning. Here, we offer to do the course not three days at a time, but stretched over four weeks, for example, at an independently controlled rhythm and pace. This has only become possible through the mix of online and onsight. New forms of learning play an important role and make it possible to stay on the ball more effortlessly, since you are no longer forced to act exactly according to an externally prescribed schedule.
I don't see the interaction of the pandemic and the technological changes only as a negative impact. At this point, the circle closes and we come back to the beginning and the look into the future. An impact, for example, is also a pandemic that knocks everything over. In retrospect, this is often exactly the point where you switch from one path to another and completely different things are developed.