KI-generierte Unit Tests für ABAP

Die Automatisierung gewinnt in der Softwareentwicklung zunehmend an Bedeutung. Mit der rasanten Entwicklung der künstlichen Intelligenz eröffnen sich neue Möglichkeiten, die Effizienz in der Entwicklung zu steigern. 

Das Schreiben von Unit-Tests ist ein zentraler Schritt in der Qualitätssicherung bei Mercoline. Ein Unit-Test besteht aus vordefinierten Werten oder Algorithmen, die die korrekte Funktionsweise einzelner Methoden eines Programms überprüfen. Die Erstellung dieser Tests ist aufwendig und bisher kaum automatisierbar - zumal das Schreiben kreativer Szenarien spezifisches Fachwissen erfordert. Mit den wachsenden Fähigkeiten moderner KI haben wir nun das Potenzial getestet, diese zur Generierung von Unit-Tests einzusetzen. 

Im Folgenden wird unser Tool zur KI-gestützten Testdatengenerierung näher vorgestellt. 

Funktionsweise

Der KI-gestützte Unit-Test-Generator arbeitet folgendermaßen: Entwickler:innen wählen eine spezifische Klasse und Methode aus, für die die KI automatisch passende Testfälle generiert. Hierbei analysiert das System Methodensignaturen und den Quellcode und erstellt Testdaten für verschiedene Szenarien. Eine benutzerfreundliche Oberfläche ermöglicht eine einfache Steuerung und Überprüfung des Prozesses. 

Zusätzlich können durch ein Freitextfeld Informationen zur Geschäftslogik übermittelt werden, die die KI in die Tests einfließen lässt.

Testdaten-Erstellung über die Azure AI API

Für die Generierung der Testdaten nutzen wir die Azure AI API und das kostengünstige GPT-4o-mini-Modell, das zuverlässige Ergebnisse liefert. Modellparameter sowie die verwendeten Prompts sind konfigurierbar und werden in verschiedenen Profilen bereitgestellt, sodass sie je nach Anwendung ausgewählt und angepasst werden können. 

Mit einem eigens entwickelten Parsing-Framework übertragen wir die Methodendaten an die KI, und die generierten Unit-Tests werden in ABAP-Objekte konvertiert. Auch die Speicherung der generierten Tests für eine spätere Wiederverwendung ist im Tool unterstützt. 

Verifizierung und Ausführung der generierten Testdaten

Die von der KI generierten Testdaten bestehen aus Eingabewerten und den erwarteten Ausgaben und werden durch die Entwickler:innen verifiziert, bevor sie einsatzbereit sind. 
Einmal gespeicherte Daten können direkt ausgewählt und über eine Testklasse ausgeführt werden, um ihre Funktionalität zu bestätigen. 

Fazit

Der KI-gestützte Unit-Test-Generator von Mercoline zeigt das Potenzial, das KI in der Softwareentwicklung entfalten kann. Diese Lösung eignet sich besonders für einfache bis mittel-komplexe Methoden und stellt eine vielversprechende Möglichkeit dar, die Automatisierung in der Qualitätssicherung zu erweitern. 

Wir beraten Sie gern!
Kontakt

+49 (0)711 49005 17 03