Dr. Jeremias Rößler ReTest

„Keine größere Fähigkeit der KI kommt plötzlich und unvorhergesehen. Die Generierung oder Verbesserung kleiner Teile des Codes ist der erste Schritt zur Generierung einfacher Methoden, Module oder ganzer Systeme.“

Wir wollen in diesem Artikel der Frage nachgehen, welchen Einfluss Entwicklungen auf dem Gebiet des maschinellen Lernens auf das Testen von Software hat. Wird KI unsere Arbeitsweise beim Testen grundlegend verändern? Wird die KI manuelles Testen ersetzen? Wie können wir eine KI-Initiative einführen und sicherstellen, dass wir das Testteam mit auf die Reise nehmen?

Obwohl die Biologie oft menschliche Innovationen inspiriert, führt sie kaum zu einer direkten Umsetzung. Vögel lehrten den Menschen, dass Fliegen möglich ist und inspirieren die menschliche Kreativität seit Jahrhunderten. Doch das Design der heutigen Flugzeuge und Hubschrauber hat mit ihren biologischen Vorbildern nicht viel gemein. Wenn wir Menschen lernen und Prinzipien anwenden, passen wir sie an unsere Bedürfnisse an. Anstatt mechanische Beine für unsere Transportmittel zu schaffen, die über Hindernisse klettern können, haben wir die Hindernisse beseitigt und den Weg für unseren Transport auf Rädern geebnet – was sowohl schneller als auch effizienter ist.

Das Gleiche gilt für unsere KI-Bemühungen beim Testen: Sie werden kaum eine getreue Nachbildung der menschlichen Testbemühungen sein. Um besser zu verstehen, wo die KI im gesamten Testprozess eingesetzt werden kann, müssen wir die einzelnen Aufgaben und Herausforderungen eines Testers aufschlüsseln. Wir müssen die zugrundeliegende Motivation für jede Aufgabe verstehen und erkennen, wie sie mit den allgemeinen Testzielen zusammenwirkt. So können wir uns vorstellen, wie der Prozess verbessert und verändert werden könnte, während die Ziele noch bedient werden. Im Anschluss werden wir also über die Ziele des Testens sprechen, nicht über die tatsächliche Tätigkeit. Sehr grob kann man unterscheiden, ob neue oder bereits vorhandene Software und Funktionalitäten getestet werden.

Testen neuer Funktionalität

Neue Funktionalität erfordert kritisches Testen. Wir müssen sicherstellen, dass die neue Funktionalität Sinn ergibt, den UX-Designprinzipien entspricht, sicher ist, performant, und generell funktioniert, wie sie soll. Formal besteht die Norm ISO 25010 aus acht Hauptmerkmalen für Produktqualität, die im Folgenden einzeln besprochen werden:

  • Funktionalität (Vollständigkeit, Richtigkeit, Angemessenheit)
  • Performanz (Zeitverhalten, Ressourcenauslastung, Kapazität)
  • Kompabilität (Koexistenz, Interoperabilität)
  • Benutzerfreundlichkeit (Bedienbarkeit, Erlernbarkeit, Fehlerschutz, Ästhetik der Benutzeroberfläche, Barrierefreiheit, Erkennbarkeit)
  • Zuverlässigkeit (Reife, Verfügbarkeit, Fehlertoleranz, Wiederherstellbarkeit)
  • Sicherheit (Vertraulichkeit, Integrität, Unleugbarkeit, Verantwortlichkeit, Authentizität)
  • Wartbarkeit (Modularität, Wiederverwendbarkeit, Analysefähigkeit, Modifizierbarkeit, Testbarkeit)
  • Portabilität (Anpassungsfähigkeit, Installationsfähigkeit, Austauschbarkeit)

Die Gewährleistung der korrekten und kompletten Funktionalität ist im Grunde ein KI-vollständiges Problem, was bedeutet, dass die KI mindestens so intelligent wie ein Mensch sein muss, um das zu können.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 12.18 - "KI für den Prüfstand"

Alle Infos zum Heft
579864404Künstliche Intelligenz bei Softwaretests
X
- Gib Deinen Standort ein -
- or -