KMS > EOH® > Testautomatisierung
Foto Heiko Meyer

Prof. Dr. Heiko Meyer

Mitarbeiter KMS

Bernd Weigl

31. Oktober 2022

Testautomatisierung

Testautomatisierung bei der Neuentwicklung von EOH®

Warum Testautomatisierung?

Die Art und Weise, wie Software entwickelt wird, hat sich in den letzten 20 Jahren grundlegend verändert. Tools erfahren aufgrund von rasantem Technologiefortschritt ein stetiges Update, Niveau und Qualität von Software steigen und auch die Kundenerwartung nimmt kontinuierlich zu. Hieraus resultiert, kombiniert mit immer komplexer werdenden Architekturen, dass eine vollständige Testabdeckung mit manuellen Tests weder praktikabel noch zeitlich durchführbar ist. Hat ein Unternehmen diverse Produkte und entwickelt diese in unterschiedlichen Teams, stellt die Qualitätssicherung oft einen Engpass dar.

 

Welche Vorteile bringt die Testautomatisierung?

Durch vollständig automatisierte Tests kann bereits nach jeder Änderung am System ein Integrationstest oder Regressionstest durchgeführt werden. Ebenso wird das Risiko gegenüber manuell ausgeführten Tests, ein unerwartetes Ergebnis zu übersehen oder nicht exakt nach Testvorgaben vorzugehen, durch eine Automatisierung minimiert. An dieser Stelle sei allerdings erwähnt, dass ein Automatisierungsgrad von 100 % bei komplexen Produkten weder technisch erreicht werden kann noch wirtschaftlich sinnvoll ist. Durch den Verzicht auf die manuelle Ausführung aller Testfälle werden jedoch Testkapazitäten freigesetzt, die dann punktuell für kritische Themen genutzt werden können.

 

Test Driven Design

Ein hoher Automatisierungsgrad ist nur möglich, wenn schon beim Design und bei der Entwicklung des Produkts die Testautomatisierung mitberücksichtigt wird (Test Driven Design). Bei einem bestehenden Produkt dies nachträglich auf breiter Basis nachzuziehen, kommt einer Neuentwicklung gleich.

Daher hat sich die KMS dazu entschlossen, bei der Neuentwicklung von Eye on Health (EOH®) bezüglich Testing neue Wege zu gehen.

Das seit über 10 Jahren erfolgreich am Markt befindliche Produkt wurde im vergangenen Jahr einem vollständigen Redesign unterzogen. Dabei wurde sowohl die technische Basis mit aktueller Cloud- und Web-Technologie überarbeitet als auch die fachlichen Funktionen zur Analyse auf den Prüfstand gestellt und mit neuen Funktionen angereichert. Um dem Anwendenden eine besonders gute Bedienergonomie und intuitives Handling zu ermöglichen, wurde zudem das User-Interface von einem erfahrenen UX-Designer gestaltet.

 

Test-Frameworks

Darüber hinaus wurden parallel zum Entwicklungsprozess von Beginn an automatisierte Tests berücksichtigt und regelmäßig durchgeführt. Um diese einfach verwalten zu können, ist der Einsatz eines geeigneten Test-Frameworks erforderlich. Am Markt befinden sich diverse Lösungen, die sich bezüglich der Flexibilität, des Leistungsspektrums und der Kosten unterscheiden. Die KMS hat sich für das etablierte Produkt namens Tosca von der Firma Tricentis entschieden (s. Abb. 1). Dabei handelt es sich um eine Testsuite für die automatisierte Durchführung von Funktional- und Regressionstests.

Testautomatisierung Benutzeroberfläche Tosca
Abb. 1: Benutzeroberfläche von Tosca
Welche Features bietet Tosca?

Neben den Funktionen der Testautomatisierung beinhaltet Tosca ein integriertes Testmanagement, eine grafische Benutzeroberfläche und eine Anwendungsprogrammierschnittstelle. Das Modul Vision AI ist eine KI-gesteuerte Testautomatisierungstechnologie der nächsten Generation, die wie ein Mensch „sieht“ und es ermöglicht, Tests für Anwendungen zu automatisieren, die bisher nur schwer oder gar nicht automatisiert werden konnten. Dabei können sogar Testautomatisierungen auf Grundlage von Design-Mockups erfolgen, bevor Code geschrieben wird. Damit sind Tests schon in einem sehr frühen Entwicklungszyklus möglich.

Des Weiteren sind über einen modellbasierten Ansatz, der die technischen Informationen einer Anwendung vom Automatisierungsmodell trennt, skriptlose, resiliente automatisierte Tests möglich. Damit sind Automatisierungsraten von über 90 % erreichbar, die Wartungskosten senken und die Effizienz nachhaltig maximieren (s. Abb. 2).

Testabdeckung EOH®
Abb. 2: Testabdeckung bei EOH®

Mit einem risikobasierten Testansatz kann das Risiko der Software-Releases zusätzlich reduziert und gleichzeitig die Gesamtzahl der Tests in der Automatisierungssuite verringert werden. Auf diese Weise kann man Tests für geschäftskritische Funktionen priorisieren, die Gesamtkosten für die Testerstellung und -wartung senken und intelligentere Freigabeentscheidungen treffen.

Das Warten auf „gute“ Testdaten ist eine Quelle für Verzögerungen von herkömmlichen Softwaretests. Mit der Testdatenverwaltung können automatisch und nach Bedarf (synthetische, maskierte oder importierte) zustandsabhängige Daten selbst für die komplexesten Szenarien erstellt werden.

Um die Zeiträume zur Testdurchführung zu verkürzen, können ohne Weiteres auch mehrere Tests parallel in verteilten Infrastrukturen und auf virtuellen Maschinen ausgeführt werden. Ein webbasiertes Reporting hilft dem Team, zu jeder Zeit schnelle, umsetzbare Einblicke in den Testfortschritt zu erhalten.

 

Testautomatisierung in Scrum

Für die agile Methode Scrum, die bei KMS zum Einsatz kommt, ist neben den Rollen, die die jeweiligen Personen im Team wahrnehmen, vor allem der Prozess kennzeichnend. Am Anfang steht dabei eine Produktidee. Die grobe Vorstellung vom Produkt, Modul oder der Teillösung, die im Projekt erarbeitet werden soll, wird zum Auftrag.

Scrum zeichnet sich vor allem durch regelmäßige und wiederholbare Arbeitsabläufe aus. Diese Zyklen werden Sprints genannt und sind zeitlich beschränkt (bei KMS sind es zwei Wochen). Der Produktverantwortliche (Product Owner) kann innerhalb dieses Entwicklungszyklus keine Änderungen an den für diesen Zeitraum geplanten Anforderungen vornehmen, da diese das Entwicklerteam in seiner Arbeit stören würden. Ausnahme hiervon bildet die Behebung kritischer Fehler. Während eines Sprints nimmt der Product Owner seine Vorstellungen (Stories) von der weiteren Entwicklung in Abstimmung mit den internen und externen Interessensgruppen (Stakeholder) in das sogenannte Product Backlog auf und sieht sie somit für kommende Sprints vor.

Das Scrum-Team setzt sich immer aus Entwickler:innen, UX-Designer und einem Test-Engineer zusammen. Bereits während der Spezifizierung von Anforderungen gilt es, die automatisierte Testbarkeit der Applikation im Auge zu behalten. Im laufenden Sprint werden die Neuimplementierungen der Entwickler:innen in automatisierte Testcases überführt und bei eventuellen Change Requests Anpassungen an bestehenden Testcases vorgenommen. Jede neue Anforderung oder Änderung einer bestehenden Funktion wird durch einen neuen bzw. angepassten Testfall abgedeckt. Ist keine Automatisierung möglich oder lohnend, erfolgen in Ausnahmefällen auch weiterhin manuelle Test.

Bei identifizierten Problemen werden Fehlerreports auf dem Scrum-Board angelegt, sodass das Entwicklungsteam diese zeitnah beheben kann. Im Daily werden diese besprochen, um eventuelle Missverständnisse zu vermeiden. Auch Nachtests erfolgen durch den Test-Engineer zeitnah (s. Abb. 3). Erst bei erfolgreicher Ausführung der Testfälle wird die jeweilige Änderung freigegeben.

Automatisierte Testdurchführung EOH®
Abb. 3: Automatisierte Testdurchführung bei EOH®
KMS-Bildmarke

Bei der Neuentwicklung von EOH® wurde von Anfang an auf eine durchgängige Testautomatisierung Wert gelegt. Hierdurch sind über 80 % der Features durch Testfälle abgedeckt. Der Vorteil ist, dass eine Auslieferung der neuen Stände an alle Kund:innen direkt nach Sprintende möglich ist. Dabei ist eine hohe Produktqualität und -stabilität zu jeder Zeit sichergestellt.

Weiterführende Artikel

- Wissensmanager #12

Stöbern Sie durch die aktuelle Printausgabe unseres Magazins

Bleiben Sie up-to-date
KMS-Newsletter abonnieren
Wir sind immer für Sie da
Kontakt aufnehmen
KMS Vertrieb und Services GmbH
Inselkammerstraße 1
82008 Unterhaching

Telefon: +49 89 66 55 09-0
Telefax: +49 89 66 55 09-55

Support: +49 89 66 55 09-45