Michael ist ein Geschäftsführer, der selbst gerne in Projekten berät. Sein Herz schlägt besonders für agile Softwareentwicklung und Testen. Er hat QualityMinds sowie einige Produkt-Startups gegründet. In den letzten Jahren arbeitet er mit starkem Fokus für das Thema Maschinelles Lernen sowie autonomes Fahren.
Wo stehen wir heute beim Testen mit KI?
Relativ am Anfang. Auch in der Softwareentwicklung selbst sind wir noch nicht weit. Mit Github Pilot, einigen Ansätzen für Predictive Maintenance von Cloud Anwendungen und ähnlichem sind wir erst „losgelaufen“. Zwar behaupten viele Anbieter „AI-based“ zu sein (besonders in der Community für Testautomatisierung) aber vom großen Sprung sind wir noch weit entfernt. Für die wenigen Lösungen die es auf dem Markt gibt können wir auch nicht wirklich die Frage nach „Wer/wie testet eigentlich die KI mit dessen Hilfe wir testen?“. Auch wenn ich es jetzt relativ negativ dargestellt habe, so ist die Richtung die richtige! Vielleicht kommt dank ChatGPT (auch keine Neuheit, hat aber dennoch den Markt bewegt) auch mehr Innovation und Geschwindigkeit in den Markt vom KI-basierten Testing.
Wie wird KI Softwaretesten in den kommenden fünf Jahren verändern?
Meiner Meinung nach ist KI einer der wenigen Technologietrends, die das Potenzial auf schnelle Veränderung (um das Wort Digitalisierung nicht zu benutzen) mit sich bringt. Ich glaube auch nicht, dass wir jetzt noch einen großen „KI-Winter“ erleben, sondern maximal eine leichte Verlangsamung.
Was wird uns KI im Bereich Testing in den kommenden fünf Jahren bringen? Ich erhoffe mir signifikante Verbesserung der Ansätze für Testautomatisierung (statt manuelle Implementierung hunderter von Testfällen). Viele der Heuristiken und Pattern im Testdesign könnten angelernt werden um effizienter exploratives Testen zu betrieben. Auch im Bereich Testdatenmanagement (inkl. Generierung) brauchen wir dringend KI-Support, da es grundsätzlich immer mehr in Richtung (Test-)Daten gehen wird. Zu guter Letzt können wir von Planungsalgorithmen im Bereich der Testplanung sehr profitieren – besonders wenn wir die üblichen Artefakte wie Test-Logs, Requirements, Bug Tickets und Code Commit Logs miteinander korrelieren würden.
Welche Skills benötigen Testerinnen und Tester dafür?
Schwieriges Thema, welches wir in einer Folge vom QualityHeroes Podcast diskutiert haben. Theoretisch müssten wir unterscheiden zwischen Skills die benötigt werden um a) KI-basierte Systeme zu testen und b) Skills für das KI-basierte Testen. Für die erste Variante ist es notwendig deutlich mehr Verständnis für Datenstrukturen und Funktionsweise von Machine Learning Algorithmen (bspw. Lineare Regression, neuronale Netze, Deep Learning, etc.) zu haben. Das „Shift Left“-Prinzip gewinnt hierbei noch mehr an Bedeutung, da die Datenanalyse vor einem Training der neuronalen Netze jede Menge Zeit und Ressourcen spart und damit Geld. Wiederum die Bedienung von KI-basierten Testtools erfordert nicht nur Skills in der Bedienung und Parametrisierung solcher, aber auch möglicher Grenzen der Ansätze. Gerade bspw. bei der Bewertung der Testabdeckung für KI-basierte Testautomatisierung lohnt es sich, Supervised Learning Ansätze zu nutzen um effizienter zu testen anstatt für alles Tests generieren und ausführen zu lassen. Das erfordert sowohl Testerfahrung, Testmethodik als auch Kenntnisse in der Funktionsweise der KI.
Wird es die Rolle des Testens in 10 Jahren noch geben?
Das ist eine sehr generische Fragestellung. Ich glaube, alle die Testen in der uns heute bekannten Form aus irgendwelchen Gründen auch immer brauchen werden, werden dies weiterhin tun. Vor zehn Jahren (und auch das Jahrzehnt davor) glaubten wir durch Testautomatisierung keine manuelle Testdurchführung mehr brauchen zu müssen. Vor zehn Jahren glaubten viele durch cross-funktionale Teams keine Tester-Rollen mehr zu brauchen, etc. etc. Ich hoffe sehr, dass wir in zehn Jahren immer weniger des „dummen Testens“ (stupide Durchführung derselben Testfälle die längst automatisiert werden müssten) haben werden und vielmehr die eigentliche Kreativität, Nähe zu Entwicklung + Business sowie KI-basierten Testingansätze nutzen. Dann macht QS/Testing wieder Spaß und kann oft mehr und schneller leisten als es in vielen Projekten derzeit der Fall ist.