Die Rainforest Alliance

Codefreies Testen für Low-Code-Entwicklung bei der Rainforest Alliance
400+
kritische Defekte mittels Automatisierung innerhalb von 2 Jahren erkannt
90%
Risikoabdeckung
80%
Reduktion der Regressionstestdauer (von 2 Wochen auf 2 Tage)
image

Überblick

Die Rainforest Alliance (2018 mit UTZ fusioniert) ist eine internationale gemeinnützige Organisation, die in über 70 Ländern aktiv ist und an der Schnittstelle zwischen Handel, Land- und Forstwirtschaft operiert. Ihr Ziel ist es, verantwortungsvolles nachhaltiges Wirtschaften zur neuen Norm zu machen. Zum Sammeln der Daten für ihre Zertifizierungsprogramme kommen mehrere zentrale Anwendungen zum Einsatz. Je nach Anbauprodukt und zum Teil auch nach Land gelten unterschiedliche Zertifizierungskriterien, um jede Einzelsituation so relevant wie möglich abzubilden. So wird ein Kaffeebauer in Brasilien zu anderen Punkten geprüft als ein Kakaobauer in Ghana. Aus diesen Kriterien ergeben sich zahlreiche sehr spezifische Geschäftsregeln, die in einem komplexen Softwaresystem zusammenfließen, das ausgiebig getestet werden muss.

Mit ihren Legacy-Systemen tat sich die IT-Abteilung schwer, Änderungen zu implementieren, die von der Organisation angefordert wurden. Weil die Tests außerdem nicht automatisiert waren, mussten alle Änderungen manuell getestet werden, um vor einem Release die höchstmögliche Qualität der Software und ihrer Daten sicherzustellen. Häufig dauerten die manuellen Regressionstests zwei Wochen oder mehr, bis alle Funktionen der Hauptsysteme durchgetestet waren. Und dennoch waren sie fehleranfällig, weil sie von Menschen durchgeführt wurden. Selbst für die einfachsten Änderungen musste die Rainforest Alliance vor der Live-Schaltung die gesamte Regressionstest-Suite manuell durchtesten.

Die Geschäftsführer der Rainforest Alliance hielten es deshalb für sinnvoll, ihre Systeme auf einen Low-Code-Ansatz umzustellen und parallel dazu auch gleich das Testen mittels codefreiem Ansatz zu transformieren.

Herausforderungen

  • Aktualisieren und Testen der Legacy-Systeme war schwierig und zeitraubend.
  • Immer neuere Standards und gesetzliche Vorgaben fürhten zu häufigeren Systemupdates.
  • Manuelles Testen von Änderungen dauerte mindestens 2 Wochen.
  • Mit manuellem Testen ließ sich nicht die gewünschte Stringenz und Präzision erzielen.
  • Der Testfokus auf die UI-Ebene führte zu Verzögerungen und Einschränkungen. 

Die Lösung

Die Rainforest Alliance beauftragte Valori, ihnen beim Aufbau und Testen einer neuen Generation von Systemen zu helfen, auf denen sich ihre Zertifizierungs- und Rückverfolgbarkeitsplattform betreiben lässt. Valori, ein führendes QA- und Testunternehmen in den Niederlanden und Partner von Tricentis, hat Expertise in der Low-Code-Entwicklung mit OutSystems und ist dafür bekannt, die Release-Qualität mithilfe von Tricentis Tosca zu verbessern.

Begleitend für die Low-Code-Entwicklung wählten Valori und die Rainforest Alliance Tricentis Tosca aus, um die Pläne zur Testautomatisierung ebenfalls gleich umzusetzen. Die codefreie Struktur von Tosca ist eine gute Ergänzung zur Low-Code-Entwicklung mit OutSystems: beide Systeme ermöglichen technischen Anwendern und Fachanwendern eine enge Zusammenarbeit bei schnellen Iterationen zur Umsetzung geänderter Geschäftsanforderungen.

„Aus denselben Gründen, warum man sich in der Entwicklung für Low Code entscheidet, raten wir häufig zu codefreien Automatisierungstools“, erläutert Brian Van Den Brink, Outsystems Test Engineer und Test Coach bei Valori. Das Testen ist nun zentraler Bestandteil der Entwicklungskultur bei der Rainforest Alliance. Business-Analysten, Entwickler und Testautomatisierungsexperten arbeiten Hand in Hand, um die Qualität ab der ersten Code-Unit zu sichern. In regelmäßigen Besprechungen wird sichergestellt, dass der vom Entwickler geschriebene Code die vom Business-Analysten verfasste User Story und Anforderungen vollständig erfüllt sind. Die Testexperten sorgen dafür, dass unvorhergesehene Probleme in die Automatisierungstests einbezogen und bei der Implementierung durch die Entwickler berücksichtigt werden. Dieses Vorgehen – bei dem Business Driven Development mit Tosca zum Einsatz kommt – sorgt bei allen Beteiligten für ein besseres Verständnis der Erwartungen sowie für effizientere Feedbackschleifen über den gesamten Entwicklungs- und Testprozess hinweg.

Ergebnisse

  • Systeme der neuesten Generation, die auf einer Low-Code-OutSystems-Plattform basieren, werden mittels codefreier Automatisierung getestet.
  • Die Regressionstestdauer sank um 80 % – von 2 Wochen auf 2 Tage.
  • On-Demand-Regression eines einzelnen Systems ist jetzt in weniger als einer Stunde möglich.
  • Über 400 kritische Fehlfunktionen wurden innerhalb von 2 Jahren bei Regressionstests entdeckt.
  • Die Erwartungen von Business-Analysten, Entwicklern und Testern sind besser aufeinander abgestimmt.
  • Die Teams haben Funktionssicherheit bei Releases.

„Für die Organisation ist es ein enormer Effizienzgewinn, vor der Bereitstellung solch einen Stabilitätscheck zu haben.“

— Madhu Iyer, Information Technology Director, The Rainforest Alliance

„Die Releasezeiten haben sich dadurch ebenfalls enorm verbessert“, ergänzt Patrick van Alphen, DevOps Engineer bei der Rainforest Alliance. „Automatisierung statt manueller Tests ist eines der DevOps-Prinzipien, die wir innerhalb der Rainforest Alliance übernommen haben. Diese Automatisierung wurde durch den Einsatz von Tosca möglich. Valori hat uns bei der Implementierung von Tosca geholfen, und ihre speziellen Lösungen für OutSystems gaben uns die extrem verkürzten Releasezeiten. Mit dieser Erfahrung planen wir jetzt, diese Methode auch auf andere Plattformen bei der Rainforest Alliance auszuweiten, um dafür zu sorgen, dass wir unsere Services stabil und zuverlässig aufstellen.“

Vier Tosca Automation Engineers unterstützen die Arbeit von 20 Entwicklern in fünf Scrum-Teams. Die Entwickler lassen täglich automatisierte Testfälle auf Unit-Ebene laufen, bevor sie ihren Code an die Testumgebung weitergeben. Zu jedem Release können nun automatisierte Regressionstests von Units, Komponenten, APIs und UIs auf Epic- oder sogar User-Story-Ebene ausgeführt werden. Der kürzeste Regressionsdurchlauf dauert nun etwa 10 Minuten, das Testen der vollständigen Anwendung zwischen einer und vier Stunden, je nach Umfang. Dies bietet Zeit für mehrere Durchläufe oder Spotchecks von aktualisiertem Code. Die komplette Regression aller Systeme, die früher zwei Wochen in Anspruch nahm, lässt sich jetzt in weniger als zwei Tagen erledigen.

Hohe Qualität bei hohem Tempo ist dank diesem Testansatz nun tragfähig. In den ersten zwei Jahren seit der Inbetriebnahme wurden direkt in den anfänglichen Regressionsphasen über 400 kritische Defekte frühzeitig entdeckt. Dies hilft den Entwicklern, schneller Korrekturen vorzunehmen, und verhindert, dass fehlerbehafteter Code in die Release-Pipeline gelangt. Mit risikobasiertem Testen stellt die Rainforest Alliance sicher, dass die kritischsten Funktionen zuerst getestet werden – und erzielt so 90 % Risikoabdeckung auf allen Systemen.