KI zum Generieren von Tests

Schon das Profiling ist auf seine Art ein Testen und Analysieren der Software im Hinblick auf Performance. Doch das eigentliche Testen, um Fehler frühzeitig zu entdecken, ist ein Bereich, in dem durch KI viele der eher trivialen Fälle generiert werden können - eben die Testcases, die benötigt werden, um eine hohe Abdeckung des Codes durch Tests zu erreichen. Dabei fällt auf, dass vor allem Funktions- und Unit-Tests besonders einfach sinnvoll generiert werden können. Die Analyse, mit welchen Eingangswerten ein bestimmter Zweig im Programm zu erreichen ist, kann automatisch erarbeitet werden.

Stellenmarkt
  1. IT-Systemadministration (m/w/d) im Referat "ADV, Informations- und Kommunikationstechnik, Statistik" ... (m/w/d)
    Ministerium für Klimaschutz, Umwelt, Energie und Mobilität des Landes Rheinland-Pfalz, Mainz
  2. Systemingenieur (m/w/d) IT Systeme
    Scheidt & Bachmann System Technik GmbH, Kiel
Detailsuche

Schwieriger ist es bei Integration Tests. Insbesondere komplexe Setups bereiten Probleme. Projekte oder Produkte wie Testim.io, Test.ai, AutonomIQ, Mabl oder Ponicode bieten neben vielen anderen einige Tools, die das können.

Aber gerade im Testing gibt es ein großes Problem, einer KI einen fertigen Sourcecode hinzuwerfen und dafür sinnvolle Tests zu erzeugen: Das Orakel-Problem besteht darin, dass, wenn eine KI oder eine herkömmliche Software Tests für bestehenden Quellcode generiert, die so entstandenen Tests auf jeden Fall bestanden werden. Denn ob ein Stück Programmcode wirklich das tut, was es soll, wird dabei gar nicht mehr getestet: Es wird stattdessen überprüft, ob der Programmcode macht, was er macht. Was er natürlich tut.

Ein Beispiel wäre, wenn eine Spezifikation eine Funktion fordert, in welcher der übergebene numerische Wert verdoppelt wird. Jemand vertippt sich aber - oder hat auf der papierbasierten Spezifikation einen Kaffeefleck hinterlassen, der die Ziffer unleserlich macht - und implementiert die Funktion mit return x*3.

Golem Akademie
  1. ITIL 4® Foundation: virtueller Zwei-Tage-Workshop
    16.–17. Dezember 2021, virtuell
  2. AZ-104 Microsoft Azure Administrator: virtueller Vier-Tage-Workshop
    13.–16. Dezember 2021, virtuell
Weitere IT-Trainings

Eine KI generiert nun einen Test für die Funktion und überprüft, ob im Ergebnis eine Übergabe von 5 wirklich ein Ergebnis von 15 ergibt, weil die KI nur den Programmcode analysiert hat. Test und Programmcode stimmen miteinander überein - nur die Spec sagt etwas völlig anderes.

KI und ML sind noch nicht gut integriert

KI und ML sind in der Softwareentwicklung angekommen. Aber die KI schaut sich erst einmal um und muss noch einige Kurse belegen, um wirklich gut integriert zu sein. An den Stellen, an denen dies schon geschehen ist, bietet KI zusätzliche Werkzeuge für bessere Codequalität oder weniger manuelle Tipparbeit. Sie erzeugt aber auch neuen Aufwand, wenn sie nicht richtig in den Arbeitsfluss integriert wird - Aufwand, der oftmals größer ist als der erhoffte Nutzen.

Bei Baukastensoftware oder Programmieren ohne Sourcecode sind wir noch nicht angelangt - abgesehen von einigen recht trivialen Fällen. Bis das mit komplexer Software geht, wird es noch eine Zeit dauern und es wird auch kaum ganz ohne Unterstützung durch menschliche Fachkräfte passieren. Auch eine KI muss gesagt bekommen, was das Programmierte eigentlich machen soll. Jemand muss dem Computer mit der KI schließlich eindeutig sagen, was denn nun wirklich erwartet wird.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 KI in der Code Review
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6


JE 07:30

So ist es. Es hat schon seine Gründe, warum Google seinen CAPTCHA-Mechanismus geändert...

derdiedas 24. Aug 2020

Für immer und ewig wird das so bleiben. Immer wenn ich Berichte von AI/KI höre fasse ich...

subjord 23. Aug 2020

Die Entwicklung geht ja eh dahin, immer hochsprachigeren Code zu schreiben. Dann kommt da...

Dakkaron 23. Aug 2020

Also muss man nicht nur was und wie sondern auch warum ausprogrammieren... Ui, das hilft...

Cerdo 21. Aug 2020

Mein Prof. in der theoretischen Informatik hatte mal bewiesen, dass es kein Programm...



Aktuell auf der Startseite von Golem.de
Kanadische Polizei
Diebe nutzen Apples Airtags zum Tracking von Luxuswagen

Autodiebe in Kanada nutzen offenbar Apples Airtags, um Fahrzeuge heimlich zu orten.

Kanadische Polizei: Diebe nutzen Apples Airtags zum Tracking von Luxuswagen
Artikel
  1. Blender Foundation: Blender 3.0 ist da
    Blender Foundation
    Blender 3.0 ist da

    Die freie 3D-Software Blender bekommt ein Update - wir haben es uns angesehen.
    Von Martin Wolf

  2. 4 Motoren und 4-Rad-Lenkung: Tesla aktualisiert Cybertruck
    4 Motoren und 4-Rad-Lenkung
    Tesla aktualisiert Cybertruck

    Tesla-Chef Elon Musk hat einige Änderungen am Cybertruck angekündigt. Der elektrische Pick-up-Truck wird mit vier Motoren ausgerüstet.

  3. DSIRF: Hackerbehörde Zitis prüft österreichischen Staatstrojaner
    DSIRF
    Hackerbehörde Zitis prüft österreichischen Staatstrojaner

    Deutsche Behörden sind mit mehreren Staatstrojaner-Herstellern im Gespräch. Nun ist ein weiterer mit Sitz in Wien bekanntgeworden.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Saturn-Advent: SanDisk Ultra 3D 1 TB 77€ • KFA2 Geforce RTX 3070 OC 8GB 1.019€ • Alternate (u. a. AKRacing Core SX 269,98€) • Sharkoon PureWriter RGB 44,90€ • Corsair K70 RGB MK.2 139,99€ • 2x Canton Plus GX.3 49€ • Gaming-Monitore günstiger (u. a. Samsung G3 27" 144Hz 219€) [Werbung]
    •  /