Hinter die Kulissen geblickt: Testautomatisierung in der Softwareentwicklung

Was haben unsere Anwender neben ihrer Vorliebe für praxisgerechte CAD-Software gemeinsam? Richtig, eine hohe Affinität zum Thema Technik. Heute möchten wir deshalb zusammen mit Ihnen einen kurzen Blick hinter die Kulissen von -isb cad- werfen.

Im Rahmen der agilen Softwareentwicklung hat das Entwicklerteam mit Hilfe von sogenannten End-to-End-Tests die Qualitätssicherung weiter automatisiert. Hierbei werden definierte Programmabläufe vom Computer automatisiert abgespielt und auf Korrektheit geprüft. Die Einführung dieser Tests wurde mit einigem Aufwand bewältigt. Dies soll die künftige Entwicklungsarbeit unterstützen, um die Qualität von -isb cad- zu verbessern.

Testautomatisierung mit End-to-End-Tests

Neben anderen Testmethoden verwenden wir im Entwicklungsprozess sogenannte End-to-End-Tests, auch E2E-Tests genannt, um in -isb cad- spezifische Nutzungsszenarien zu testen. In einem Szenario werden der Funktionsablauf und die erwartete Reaktion oder das Ergebnis definiert. Dieses Szenario wird schließlich als E2E-Test ausgeführt. Dabei übernimmt der Rechner die Rolle eines Benutzers, der mit der Anwendung so interagiert, wie es ein Benutzer tun würde: Der Benutzer bewegt den Cursor, klickt auf den Button XYZ und daraufhin passiert Aktion ABC oder der Benutzer soll durch die Eingabe von verschiedenen Parametern in der Lage sein, eine komplette Staffelverlegung zu generieren.

Ein E2E-Test simuliert auf diese Weise gezielt eine bestimmte Eingabefolge und prüft, ob das Programm so funktioniert, wie erwartet. Dieser Test wird während der Entwicklung wiederholt ausgeführt, um feststellen zu können, ob sich am Funktionsablauf etwas geändert hat. Dadurch minimiert sich der Zeitaufwand für manuelle Überprüfungen und die Entwickler können schneller auf Änderungen reagieren.

Die E2E-Tests bilden im Prinzip die Spitze des Eisbergs und stellen damit die letzte Phase automatisierbarer Testverfahren im Entwicklungsprozess dar. Darunter liegen weitere Verfahren, die ihren Fokus z. B. auf Funktionalität legen, das Zusammenspiel abhängiger Teilmodule der Software (Integrationstests) bis hinunter zu den Unit-Tests, die einzelne Funktions-Einheiten prüfen, sei es eine einzelne Codezeile, eine Methode oder eine Klasse.

Die folgende Abbildung “Testpyramide“ zeigt schematisch das mengenmäßige Vorhandensein der Testverfahren in Relation zueinander an. Die Unit-Tests nehmen dabei den meisten Platz ein (ganz unten in der “Testpyramide“), gefolgt von den Integrationstests und den E2E-Tests.

„E2E-Tests bieten uns eine sehr gute Möglichkeit, eine Qualitätskontrolle über automatisierte Tests aufzubauen. Sie stellen eine zuverlässige Methode dar, um zu prüfen, ob sich eine -isb cad- Funktion aus Nutzersicht so verhält, wie sie es tun soll.“ - David Marx, -isb cad- Entwickler

Ersetzen automatisierte Tests unabhängige Software-Tester?

E2E-Tests sollen und können manuelle Tests nicht ersetzen. Sie dienen als Ergänzung anderer Testverfahren und Unterstützung im Entwicklungsprozess. Die manuelle Überprüfung des finalen Zusammenspiels aller System-Komponenten und des Gesamt-Workflows ist daher weiterhin unerlässlich. Mit E2E-Tests schaffen wir als Teil unserer Teststrategie eine neue Ebene der Qualitätssicherung, die Entwicklungsprozesse in -isb cad- erleichtert.