© Griboedov/Shutterstock.com
Das ServiceNow Automated Test Framework

Gut getestet läuft besser


Im Entwickler Magazin 6.2020 haben wir uns die SaaS-Plattform ServiceNow ein wenig genauer angesehen. Heute zeigen wir, wie man Applikationen innerhalb von ServiceNow testen kann. Die Plattform stellt hierfür ein Test-Framework bereit. In diesem Artikel gehen wir darauf ein, wie das Automated Test Framework (ATF) von ServiceNow arbeitet. Wir veranschaulichen an einem Beispiel, wie schnell sich einfache Tests aufsetzen lassen. Darüber hinaus gehen wir auf einige Punkte ein, die man beachten sollte, wenn man mit dem ATF arbeitet.

Warum das Testen von Applikationen so wichtig ist, hat vermutlich jeder Entwickler schon einmal leidvoll erfahren müssen. Man macht nur eine kleine Änderung kurz vor Feierabend, und erst in Produktion fällt auf, dass Basisfunktionalitäten nicht mehr richtig arbeiten. So etwas kann einem schon den Tag vermiesen. Da Testen selbst eine recht langweilige Angelegenheit ist, macht das kein Entwickler gerne. Prinzipiell müsste man bei jeder kleinen Codeänderung überprüfen, ob die komplette Applikation noch fehlerfrei arbeitet. Man muss auch bedenken, dass die Aufmerksamkeit eines Softwaretesters nachlässt, wenn er einen bestimmten Workflow zum x-ten Mal mit leicht unterschiedlichen Eingangsparametern testet. Das sind nur einige der Gründe, warum man so viel wie nur möglich automatisch testen sollte. Automatische Tests haben auch den ungemeinen Vorteil, dass sie immer in gleicher Qualität durchgeführt werden. Bei einem Softwaretester kann schon einmal das Koffeinlevel ein entscheidender Faktor für den Ausgang eines Tests sein.

Die meisten vorhandenen Test-Frameworks sind dazu gedacht, das Frontend einfacher Webapplikationen zu testen. Man ist immer gezwungen, die passenden Testdaten im System schon vorab zu erzeugen. Falls der Test ungewollt Daten modifiziert, kann das bei Folgetests zu Problemen führen. Alles in allem ist das Testen von Applikationen keine Sache, die man so nebenher erledigen kann. Das ist wohl auch der Grund, warum Softwaretestexperten in jedem größeren Projekt mit dabei sind. In den nächsten Absätzen sehen wir uns an, wie sich ServiceNow der Thematik Applikations-Testing nähert.

ATF-Aufbau

Die drei Grundpfeiler des ATF sind der Test-Step, der Test und die Testsuite. Nach einer kurzen Übersicht, wie diese Teile zusammenpassen, sehen wir uns in den folgenden Abschnitten detailliert an, wie sie funktionieren. Das kleinste Zahnrad im Getriebe ist der sogenannte Test-Step. Die eigentlichen Tests sind aus beliebig vielen Test-Steps aufgebaut. Möchte man mehrere Tests kombinieren, kann dazu die Testsuite verwendet werden. Bevor wir uns intensiver mit dem Thema ATF beschäftigen, ist es wichtig zu sagen, dass ATF eine eigenständige Applikation innerhalb der ServiceNow-Plattform ist. Das ATF hat in der Navigation eigene Menüeinträge. Zunächst sehen wir uns kurz an, welche Funktionen sich hinter den einzelnen Menüeinträgen, die in Abbildung 1 zu sehen sind, verbergen.

mohr_atf_1.tif_fmt1.jpgAbb. 1: Das Menü der ATF-Applikation
  • Tests: Bearbeiten vorhandener Tests und Erstellen neuer Tests

  • Suites: Bearbeiten vorhandener Test-Suites und Erstellen neuer Test-Suites

  • Quick Start Suites: vordefinierter Filter, der nur Tests anzeigt, bei denen die Protection Policy = read only ist

  • Test Results: Ergebnisse von Testläufen

  • Parameterized Test Results: Ergebnisse von parametrisierten Testläufen

  • Suite Results: Ergebnisse von Test-Suites

  • Schedules: zeitgesteuertes Ausführen von Test-Suites

  • Run: alles rund um die Ausführung von Tests; Statusinformationen laufender und wartender Test-Suites

  • Administration: Eigenschaften des ATF verwalten und anzeigen; eigene Test-Steps erstellen

Nun, da wir uns einen groben Überblick über die Navigationseinträge verschafft haben, können wir etwas tiefer in die einzelnen Punkte einsteigen.

Test-Step

Der Test-Step ist die kleinste Komponente eines Tests. In der aktuellen Version von ServiceNow gibt es 96 unterschiedliche Test-Steps, mit denen man die verschiedenen Teile einer Applikation testen kann. Interessant hierbei ist, dass es auch Test-Steps gibt, die die Datenbasis ändern können. Um bei den zahlreichen Testmöglichkeiten den Überblick nicht zu verlieren, sind die einzelnen Test-Steps in Kategorien aufgeteilt. Mit den vorhandenen Test-Steps kann man so gut wie jede Funktion in einer ServiceNow-Anwendung testen. Sollte es allerdings durch eine Eigenentwicklung vorkommen, dass kein passender Test-Step im Fuhrpark ist, kann man auch leicht eigene Test-Steps entwickeln. Diese lassen sich dann in die vorhandenen Tests mit einbauen.

Test

Ein Test wird aus verschiedenen Test-Steps zusammengesetzt. So ist es möglich, eine bestimmte Funktionalität zu testen. Ein Test kann auf verschiedene Arten ausgeführt werden. Zum einen kann man ihn direkt ausführen und erhält gleich die Testergebnisse. Es ist aber auch möglich, den Test mit Hilfe einer Test-Suite ausführen zu lassen. Die Tests benötigen immer einen Browser für den Test-Runner. Falls noch kein Tab/Browser mit ein...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang