Im Bereich der Softwareentwicklung sind User Acceptance Tests (UAT), die zu Korrekturen in letzter Minute, langen Arbeitszeiten sowie Budgetüberschreitungen führen, keine Seltenheit. Dies ist oft eine Folge von unzureichenden Tests, die zu spät im Entwicklungszyklus durchgeführt werden. Um diesem Problem entgegenzuwirken, ist eine Shift-Left-Teststrategie unerlässlich. Diese Strategie beinhaltet die Einführung automatisierter Testlösungen, die es Entwicklern ermöglichen, Testfälle parallel zu neuen Implementierungen zu erstellen. Durch die Verlagerung des Testens in frühere Phasen des Entwicklungsprozesses können Fehler oder Regressionen bei den bestehenden Funktionalitäten früher erkannt und behoben werden, wodurch das Risiko teurer Nacharbeiten und Verzögerungen verringert wird.
Dieser Artikel stellt unsere Sicht auf die grundlegenden Komponenten dar, die für automatisierte Tests im Kernbankensystem Avaloq erforderlich sind. Unser Ansatz zur effektiven Shift-Left- Teststrategie besteht aus den folgenden sechs eigenständigen Bausteinen.
Die 6 Bausteine im Fokus
1. Core Framework
Das Core Framework bietet die Grundlage für automatisiertes Testen in Avaloq, in dem Kernfunktionen für die Erstellung und Ausführung von Testfällen zur Verfügung gestellt werden. Das Framework basiert auf der Applikation Avaloq Testing Suite, mit der Testfälle in Avaloq Script entwickelt werden können. Darüber hinaus bietet das Framework Funktionen für Code Coverage, Process-Queuing und Testvalidierung.
2. Search Engine
Testfälle brauchen in der Regel Eingabedaten in Form von Objekten oder Transaktionen, um die entsprechenden Funktionen zu testen. Um diese zeiteffizient und dynamisch abzurufen, benötigt es einen robusten Mechanismus. Die Search Engine bietet eine Lösung, um das Beschaffen von Eingabedaten anhand von Parametern direkt von der Datenbank zu ermöglichen.
3. Synthetic Data
End-to-End-Tests erfordern oft umfassende oder komplexe Kundendaten, welche nicht ohne weiteres mit der Search Engine beschaffbar sind, oder gar nicht in der Test-Datenbank zur Verfügung stehen. Um optimale Testbedingungen zu schaffen, ermöglicht der Baustein Synthetic Data die Erstellung von synthetischen Kundendaten, die es ermöglichen, reale Szenarien zu simulieren, ohne auf tatsächliche Produktivdaten zurückgreifen zu müssen.
4. Unit Testing
Unit Tests sind ein wichtiger Aspekt des Testprozesses, der sich auf das Testen einzelner Funktionen und Module fokussiert. Sie bilden die Grundlage des Testprozesses und helfen, Fehler frühzeitig zu erkennen und zu beheben. Durch die Einbeziehung von Unit Tests zu Beginn des Entwicklungsprozesses können Banken sicherstellen, dass Kernfunktionen und Module während des gesamten Entwicklungszyklus wie erwartet funktionieren.
5. Integration Testing
Integrationstests sind ein umfassender Testprozess, der die Funktionalität und Performance von Software testet und reale Szenarien von Anfang bis Ende simuliert. Durch die Einbeziehung von Integrationstests in den Entwicklungsprozess können potenzielle Probleme und Nebeneffekte identifiziert werden, die bei der Kombination verschiedener Komponenten auftreten können.
6. Automation
Die Automatisierung des Testprozesses ist von entscheidender Bedeutung, um konsistente, effiziente und zuverlässige Tests zu gewährleisten. Durch das Einsetzen automatisierter Tests während des Software Integration Prozesses kann die Integration von fehlerhaftem Code verhindert werden. Darüber hinaus hilft die regelmässige Durchführung aller Tests, wie in den Bausteinen 4 und 5 angewendet dabei, Softwarefehler so schnell wie möglich zu identifizieren, und dass bei nur geringem Mehraufwand für die Ausführung der Testfälle.
Die Auswirkungen der Testautomatisierung skalieren mit der Anzahl der implementierten Testfälle. Das vorgeschlagene automatisierte Test-Setup ermöglicht es dem Avaloq-Entwickler, Testfälle im vertrauten Avaloq-Script zu codieren, so dass Testfälle parallel zur Entwicklung neuer Implementierungen effizient erstellt werden können. Die Durchführung regelmässiger Tests der Hauptfunktionen und Arbeitsabläufe gilt als beste Vorgehensweise, um das Risiko von kritischen Fehlern und Nebeneffekten zu minimieren, die durch die Implementierung neuer Änderungen entstehen können. Es ist anzumerken, dass der anfängliche Aufwand für die Einführung des automatisierten Testansatzes grösser erscheinen mag als erwartet, aber die Investition wird sich im Laufe der Zeit auszahlen.
Zusammenfassend lässt sich sagen, dass die Implementierung der sechs Bausteine des automatisierten Testens in Avaloq entscheidend für die erfolgreiche Einführung einer Shift-Left-Teststrategie ist. Durch die Integration von automatisierten Testlösungen im Entwicklungsprozess können Fehler früher im Entwicklungszyklus erkannt und behoben werden, was zu einer Verringerung von teuren Nacharbeiten und Verzögerungen führt.
Wenn Sie Fragen haben oder an der Implementierung von automatisiertem Testen in Avaloq interessiert sind, kontaktieren Sie uns bitte über unser Kontaktformular oder melden Sie sich einfach über unsere LinkedIn-Seite. Wir freuen uns darauf, von Ihnen zu hören!
Autor

Thomas Kreiner, Consultant
Themenverantwortung
