adessi

adesso Blog

Bei den Projekten, an denen ich arbeite, ist die allgemeine Arbeitsbelastung des Teams hoch. Oft sind gerade genug Leute da, um die tägliche Arbeit zu erledigen. Jede zusätzliche Arbeit, die anfällt, lässt sich nur schwer in den ohnehin schon engen Zeitplan integrieren und es bleibt nicht viel Zeit, um sich mit bestimmten Themen im Detail zu beschäftigen. Lassen Sie uns in diesem Blog einen Blick darauf werfen.

Warum ist das so?

In solchen Situationen beobachte ich, dass Teams die Aufgaben mit geringer Wichtigkeit, die die meiste Zeit in Anspruch nehmen und den geringsten direkten Mehrwert bringen, beiseite lassen. Dies kann sich stark auf die Qualität der Ergebnisse auswirken: In unserem Geschäft, der Entwicklung kundenspezifischer Software oder der Anpassung bestehender Tools, wird das gründliche und sinnvolle Testen neuer Systemfunktionen oder Integrationen oft unterschätzt und ihr Nutzen falsch eingeschätzt. Insbesondere in einem agilen Arbeitsumfeld, in dem alle 2-4 Wochen neue Funktionen erwartet werden, steht das Testteam unter hohem Druck, schnelle Ergebnisse zu liefern.

Der Übergang zu Systemen, die in einer validierten Umgebung eingesetzt werden, erfordert noch mehr Zeit für das Testen von Änderungen an validierten Systemen. Es wird eine detaillierte Testdokumentation erwartet, die die Erstellung eines klaren Prüfpfads unterstützt, um die Einhaltung der gesetzlichen Anforderungen und Standards nachzuweisen.

Wir alle kennen die Risiken, die mit der Vernachlässigung von Tests verbunden sind:

  • Unzufriedene Kunden
  • Fehlerhafte Anwendung
  • Verstösse gegen Vorschriften

… um nur ein paar zu nennen.

Als Product Owner möchte ich sicherstellen, dass die Funktionen, die wir liefern, gründlich getestet werden, damit die Lösung, die wir unseren Kunden liefern, den Anforderungen entspricht. Insbesondere in Bezug auf Stabilität, Sicherheit und die gesetzlichen Vorschriften, denen sie unterliegen.

Die Frage ist: Wie können wir dies als Arbeitgeber, Projektmitglieder und Arbeitnehmer angesichts der Zeit- und Ressourcenbeschränkungen erreichen?

Investitionen in das Personal selbst könnten eine Lösung sein. Durch die Vergrösserung der Teams wird die Arbeitsbelastung insgesamt verteilt, was sich positiv auf den Druck auf die einzelnen Teammitglieder auswirkt und Zeit für die Vertiefung von Themen ohne unmittelbaren Kundennutzen freisetzt.

Angesichts der demographischen Entwicklung in Europa wird es immer schwieriger werden, den Bedarf an qualifizierten Arbeitskräften zu decken, so dass die Einstellung eines Testteams allein auf Dauer nicht ausreichen wird. Darüber hinaus kann das Testen immer noch viel Zeit in Anspruch nehmen, da "Testen" nicht nur das Testen der Funktionen selbst umfasst, sondern auch die Vorbereitung der Testfälle und die Dokumentation der Testergebnisse für die Rückverfolgbarkeit, insbesondere in einem regulierten Umfeld wie Pharma- oder MedTech-Unternehmen.

Eine andere, effizientere Option ist die Automatisierung von Tests, wo immer dies möglich ist, wodurch die oben genannten Probleme gelöst werden:

  • Mangel an qualifizierten Arbeitskräften
  • uninteressante Arbeit
  • Risiko unzufriedener Kunden, fehlerhafter Anwendungen und der Nichteinhaltung von Vorschriften

Natürlich lässt sich die Einführung automatisierter Tests nicht an einem Tag bewerkstelligen. Aber es kann durchaus sein, dass sich die Investition schneller auszahlt, als man denkt. Unsere Testexpert:inen haben ein Testautomatisierungs-Framework für einen unserer Kunden aus der Life-Science-Branche entwickelt und die Testzeit für neue Funktionalitäten und Tool-Integrationen in einem regulierten Umfeld von 14 Personentagen auf 2 Arbeitsstunden reduziert.

Die Pain Points

Unser Kunde baute intern eine grosse Plattform auf, in die mehrere Systeme integriert werden sollten. Die Plattform würde Systeme unterschiedlicher Komplexität enthalten, sowohl in sich selbst als auch auf der Plattform, was die Anzahl der Verbindungen zwischen den Systemen betrifft. Darüber hinaus sollte die Plattform in ein stark reguliertes Umfeld integriert werden.

Um eine stabile und funktionierende Lösung zu gewährleisten, war ein erheblicher Testaufwand erforderlich. Jede Integration und Anpassung musste bei jeder Änderung getestet werden. Das regulierte Umfeld erhöhte die Komplexität der Tests und die Anforderungen an die Genauigkeit und Korrektheit der Testergebnisse erheblich.

Manuelle Tests sind bekanntermassen zeitaufwändig, fehleranfällig und in der Regel repetitiv. Darüber hinaus muss für jeden Testdurchlauf eine detaillierte Dokumentation erstellt werden, um die Nachvollziehbarkeit zu gewährleisten und sicherzustellen, dass die Tests den Validierungsanforderungen entsprechen. Für jede Änderung oder neue Funktion, die auf der Plattform eingeführt werden sollte, investierte unser spezialisiertes Testteam etwa zwei Wochen in Tests und Dokumentation. Das Testen einer neuen Funktion oder Änderung dauerte ungefähr genauso lange wie die Entwicklung der Funktion selbst. 

Die Lösung

Das Team begann, über den Testprozess und deren Optimierungen nachzudenken, um den Zeitaufwand und die Anzahl der zu erwartenden Fehler während der Tests zu verringern. In einem ersten Schritt fasste das Team die Vorteile für das Unternehmen hinsichtlich der Implementierung eines Testautomatisierungs-Frameworks zusammen und definierte die Herausforderungen, die das Framework überwinden sollte, um die erwarteten Vorteile zu liefern:

Vorteile

  • Starke Reduzierung der Personentage für die Testdurchführung
  • Anpassung an die agile Arbeitsweise des Unternehmens
  • Wiederverwendung der Code-Basis von informellen Tests

Der Testautomatisierungsrahmen (Test Automation Framework) sollte:

  • einen qualifizierten Lösungsentwurf haben
  • in der Lage sein, einen Nachweis über die Testdurchführung in Bezug auf den Zeitstempel zu erstellen
  • in Tools für das Application Life Management (ALM) integrierbar sein, die mit der Validierung übereinstimmen
Phase 1

Bevor mit der Entwicklung des Rahmens begonnen werden konnte, musste das Team die Herausforderungen im Detail verstehen. Mehrere Brainstorming-Sitzungen wurden abgehalten, um die Erwartungen vollständig zu verstehen und die Herausforderungen in Arbeitspakete zu unterteilen, die entwickelt werden konnten. Ausserdem wurde der erwartete Arbeitsablauf der Anwendungen innerhalb der Plattform geklärt, um die gegenseitigen Abhängigkeiten der Systeme innerhalb der Plattform zu verstehen.

Um das am besten geeignete Testframework für die Projektanforderungen auszuwählen, analysierte das Team die erforderlichen Anwendungen. Dies ist besonders wichtig, da jeder Anwendungstyp am besten für ein bestimmtes Automatisierungs-Framework geeignet ist. In unserem Fall waren UI-basierte Anwendungen als Teil der Plattform geplant, daher wurde Selenium als Testframework ausgewählt.

Phase 2

Da die Anwendungen auf der Benutzeroberfläche basieren, müssen alle Aktionen, die ein Endbenutzer ausführt, anhand der definierten Funktionen und Anforderungen, die entwickelt werden sollen, getestet werden. Wenn eine Person die Tests durchführt, interagiert sie mit allen UI-Elementen wie Schaltflächen und Dropdown-Listen der Anwendungen. Wenn ein Programm die Tests durchführt, muss das System genau wissen, wo sich die UI-Elemente innerhalb der Anwendung befinden. Unser Team nutzte die in Phase 1 definierten Anwendungsworkflows und unterteilte sie in Seitenobjektmodelle (POMs), um die Locators zu identifizieren, die das Testsystem benötigt, um die Anwendungselemente zu finden.

Für das Testautomatisierungs-Framework ist es von entscheidender Bedeutung, eine zuverlässige, eindeutige und änderungsresistente Locator-Strategie zu wählen. Wenn ein Locator nicht eindeutig ist, können z.B. mehrere Elemente auf einer Seite der Anwendung gefunden werden, was zu unerwartetem Verhalten des Testskripts führt. Wenn der Locator nicht änderungsresistent ist, kann jede Anpassung der Benutzerschnittstelle das Testskript zerstören.

Nachdem die Bedürfnisse, der Umfang und die Rahmenbedingungen des Kunden definiert waren, begann die Anfangsphase der Testautomatisierungsskripte. Gemeinsam mit dem Kunden bauten wir die Umgebung auf, einschliesslich der Einrichtung der Hardware-, Software- und Netzwerkinfrastruktur. Wir bereiteten die Testdaten vor, entwarfen die Testskripte, einschliesslich der Hierarchie und Organisation sowie der Modularisierung der Skripte in wiederverwendbare Komponenten. Anschliessend entwickelten wir die Testskripte und definierten die notwendigen Parameter für ihre Ausführung. 

Unser Fokus lag auf dem Austausch mit den Stakeholdern und der Einbindung ihrer Vorteile. Regelmässige Abstimmungen gewährleisteten die Abdeckung ihrer Bedürfnisse wie:

  • Starke Steigerung der Testeffizienz
  • Skalierbarkeit
  • Wartbarkeit der Lösung

A well-planned initialization phase of the test automation script is of highest importance to lay the groundwork for the subsequent development, maintenance, and execution. The better the initial phase is structured and planned, the easier it will be to automate, maintain and scale the test suite.

Phase 3

Eine gut geplante Initialisierungsphase des Testautomatisierungsskripts ist von höchster Bedeutung, um die Grundlage für die anschliessende Entwicklung, Wartung und Ausführung zu schaffen. Je besser die Anfangsphase strukturiert und geplant ist, desto einfacher ist es, die Testsuite zu automatisieren, zu pflegen und zu skalieren

Neben der Automatisierung der Tests selbst war die automatische Bereitstellung aller Testausführungsnachweise an Application Life Management (ALM)-Tools für unsere Beteiligten von grösster Bedeutung. Da das Framework in einer validierten Umgebung eingesetzt werden soll, müssen die Testausführungsnachweise aus historischen und dokumentarischen Gründen gespeichert und in ALMs verfügbar gemacht werden.

Die letzte Phase des Projekts umfasste die Vorbereitung der gesamten Übergabedokumentation und eine formelle Präsentation des Produkts für die Beteiligten. Unser Team lieferte den Beteiligten alle notwendigen Informationen, damit sie die automatisierte Testsuite vollständig übernehmen konnten.

Meilensteine

Das wichtigste Ergebnis und der grösste Vorteil für unseren Kunden ist die Reduzierung der Testzeit von 14 Personentagen auf 80-90 Minuten. Diese Zeitersparnis hat erhebliche Auswirkungen auf den Entwicklungs- und Auslieferungszyklus unseres Kunden.

1. Erstens können neue Funktionen sofort nach der Auslieferung in der Testumgebung getestet werden, was ein sofortiges Feedback über die Qualität der Entwicklung und die zu verbessernden Punkte ermöglicht.

2. Zweitens kann das Entwicklungsteam aufgrund der verkürzten Testzeit agile Frameworks einsetzen und neue Funktionen entwickeln, auch für Systeme in einer validierten Umgebung.

3. Drittens ermöglicht die Verkürzung der Testzeit wesentlich mehr Releases pro Jahr in einer validierten Umgebung, wodurch die derzeitige Systemträgheit beseitigt wird.

Eine weitere Errungenschaft ist die deutliche Steigerung der Qualität der entwickelten Systeme. Das automatisierte Testframework erhöht die Anzahl der Fehler und Lücken, die während des Testens gefunden werden und wirkt sich positiv auf die endgültige Qualität der ausgelieferten Systeme aus.

Dank des automatisierten Testframeworks können die Mitarbeitenden ihre Zeit für Aufgaben verwenden, die nicht nur für das Unternehmen, sondern auch für sie selbst von Nutzen sind. Statt repetitiver Tätigkeiten können neue und komplexere Aufgaben übernommen werden, was das Wohlbefinden der Mitarbeitenden und ihre Bindung an das Unternehmen steigert.

Letztlich führt die eingesparte Zeit auch zu Kosteneinsparungen und Effizienzsteigerungen. Die Mitarbeitenden können 13 Tage pro Änderungsanforderung nutzen, um zusätzliche Entwicklungen durchzuführen, andere Teammitglieder bei ihren Aufgaben zu unterstützen oder zusätzliche Funktionen zu testen, um nur einige Beispiele zu nennen.

Fazit

Die Implementierung eines automatisierten Test-Frameworks ist komplex und erfordert Zeit und Mühe sowie ein gründliches Verständnis der Situation und der zu erreichenden Ziele.

Die Investition in die Erstellung eines automatisierten Frameworks zahlt sich aus und hat einen starken positiven Einfluss auf

  • die Effizienz der Abteilung oder des Unternehmens
  • die Qualität der gelieferten Systeme, auch in validierten Umgebungen
  • die Zufriedenheit und letztendlich die Produktivität der Mitarbeitenden

Nutzen Sie die Talente und Fähigkeiten in Ihrem Unternehmen! Wenn Sie Hilfe benötigen, kontaktieren Sie uns.

Bild Dorothée Meng

Autorin Dr. Dorothée Meng

Dr. Dorothée Meng ist Teamleiterin in der Line of Business Life Sciences der adesso Schweiz AG. Sie und ihr Team freuen sich darauf, Fragen zur Prozessoptimierung sowie zur gewinnbringenden Nutzung von Daten zu beantworten.

Diese Seite speichern. Diese Seite entfernen.