04.08.21

Wie können Sie den Sprung zur Testautomatisierung am besten wagen?

München, 2. Juli 2021 – Obwohl es seit Jahren zahlreiche Werkzeuge zur Testautomatisierung gibt, sind nicht alle Projekte erfolgreich. Woran kann das liegen? Damit Ihr „Sprung“ vom langsamen, aufwändigen Testen hin zum automatisierten Testen auch gelingt, sind schon beim Aufbau und dem Einrichten einer Testautomatisierung wichtige Vorbereitungen und einige Tipps rund um Ihr Team zu beachten. Unsere Software Testing Experten haben Ihre Erfahrungen und mögliche Fettnäpfchen, die auch bei einer laufenden Testautomatisierung relevant sind, einmal in acht Punkten zusammengefasst.

Im ersten Teil des Artikels folgen hier vier Tipps, wie Sie den Sprung zur Testautomatisierung wagen können (Teil 1/2):

Wahl der richtigen Programmiersprache und des Automatisierungstools

Ein wichtiges Thema besonders für agile Entwicklungsteams ist gleich zu Beginn die Auswahl der passenden Programmiersprache und des Testautomatisierungswerkzeugs. Beides sollte idealerweise zu den Fachkenntnissen der EntwicklerInnen und Software TesterInnen und der bereits im Projekt oder Unternehmen verwendeten Programmiersprachen und Tools passen, um hier unnötige Reibungsverluste oder Verzögerungen durch Einarbeitungszeiten zu vermeiden. In dem Zusammenhang sollten Sie einerseits auf ein leicht durchschaubares Framework achten, so dass ein anderes Teammitglied schnell und effizient damit zurechtkommt. Andererseits sollte das Framework ebenfalls zu dem jeweiligen Testtyp und den Testebenen passen – sprich zu dem, was Sie testen wollen. Klären Sie vorab die Struktur der Testdaten und, wie Sie diese im ausgewählten Framework dann strukturieren und damit arbeiten können. Schließlich gilt es noch die Kompatibilität des Frameworks zu den erforderlichen Plattformen in Ihrer Testumgebung sicherzustellen.

Entscheidung für den richtigen Test

Den Sprung zur Testautomatisierung wagen, ist gut und wichtig, aber nicht immer sinnvoll. Es kommt wie bei vielen Projektthemen einfach darauf an, was, wie oft und wie intensiv getestet werden soll. Zum Beispiel ist es nicht zu empfehlen, jeden kleinen, manuellen Test, der im Projekt durchgeführt wird, auch zu automatisieren. Analysieren Sie Anforderungen und Testfälle und teilen Sie die Tests dann nach den Kategorien weniger bis stark zeitaufwendig oder der Häufigkeit der Wiederholungen ein. So können Sie identifizieren, welche Tests viel Zeit in Anspruch nehmen und auch häufig wiederholt werden. Diese stehen dann in Ihrer Priorität der zu automatisierenden Testfälle ganz oben. Sinnvoll ist die Testautomatisierung auch bei Tests, bei denen die meisten Fehler gefunden werden.

Trennung zwischen Ihren Testfällen, der Testlogik und den Object-Mappings

Ihre Testfälle sollten idealerweise auch für Nicht-EntwicklerInnen lesbar und verständlich sein, so dass sich jeder in angemessener Zeit darin einarbeiten kann. Daher empfehlen wir eine saubere Trennung zwischen Ihren Testfällen, der Testlogik und den Object-Mappings. Schaffen Sie am besten eine Ebene, in der die Logik enthalten ist und eine Ebene der Object-Mappings, in der alles abgelegt ist, was angesteuert werden soll. Die Ebene der Testlogik beinhaltet Schritt für Schritt, was beim Software testen gemacht wird.

Setzen Sie beim Sprung zur Testautomatisierung auf robuste Tests

Schreiben Sie lesbare und vor allem wartbare Tests. Strukturieren Sie Ihren Testaufbau am besten so, so dass Sie auf Änderungen der Software einfach und schnell reagieren können. Ziel ist es, dass Ihre Tests so robust gestaltet sind, dass nicht jede kleine Softwareänderung sie brechen lässt. Neben den Tools, Testgrundlagen und der Vorgehensweise ist der Faktor Mensch auch beim Test Engineering nicht zu unterschätzen. Lesbare Tests unterstützen Ihr Automatisierungsprojekt dabei, so dass sich alle Teammitglieder entsprechend ihrer Fähigkeiten einbringen können.