Backend Performancetests

Durchführung unseres Angebots zu begleitenden Performancetests für ein Startup im medizinischen Sektor.

Treetop Medical gestaltet mit smarten Softwarelösungen die Digitalisierung der Medizin aktiv mit. Mit ihrer cloud-basierten Plattform für medizinische Leitlinien leisten sie Pionierarbeit. Ihre erste Applikation ist in einer der führenden Universitätskliniken der Schweiz im Einsatz und unterstützt Ärzte dabei, ihre Patienten stets mit den modernsten Therapieoptionen zu versorgen.

Treetop Medical stand vor der typischen Problemstellung, welche wir in unserer Angebotsbeschreibung skizziert hatten:

Können die Systeme die erwartete Nutzeranzahl bei einem Go-live stemmen und können die Systeme hinreichend schnell die Anfragen bedienen?

Das ist genau die Fragestellung, auf die wir mit unserem Angebot PaaP eine Antwort liefern können.

Die Zusammenarbeit mit Treetop lief dabei wie folgt ab:

Kennenlernen

Zum Beginn haben wir ein Kennenlern-Meeting mit dem Product Owner, dem Geschäftsführer und uns veranstaltet. In dem Termin wurde dem Kunden das Vorgehen und die Ergebnisse erklärt. Dabei wurde der Projektzeitrahmen definiert und sich auf unsere Beauftragung verständigt.

Testspezifikation

Im Anschluss fand ein Termin zur Spezifikation der Testszenarien statt. Hier wurde die Zusammenarbeit mit dem Kunden definiert und welchen Traffic die Tests abbilden sollen.

Die zu testende API war durch MS Azure OAuth vor unbefugten Zugriff geschützt. Für die Tests wurde uns ein Testnutzer zur Verfügung gestellt.

Der Kunde hat sich für die folgenden drei Szenarien einen Testdurchlauf gewünscht.

Lesend

In diesem Test soll für zwei Stunden die maximal zu erwartende Anzahl an Nutzern, die auf das Produkt zugreifen und sich die verschiedensten Inhalte anschauen, geprüft werden. Eine Besonderheit in der Implementierung war, dass wir eine Zufallsfunktion eingebaut haben, welche unterschiedliche IDs abfragt. Damit soll ein verfälschtes Ergebnis durch eine hohe Cache-Hit-Rate vermieden werden.

Schreibend

Dieser Test soll den Endpunkt, zuständig für das Schreiben von vergleichsweise großen JSON Daten, prüfen. Welche Leistung das System hier erzielt, war dementsprechend spannend.

Approval

Die Applikation des Kunden implementiert einen komplexen Approval Workflow, welcher in diesem Test auf Herz und Nieren geprüft wurde. An der Testimplementierung war spannend, dass IDs neu erzeugt wurden und damit zu jeder Abfrage zur Testlaufzeit die neuen IDs vom Test zuerst abgeholt werden mussten.

Testausführung

Die eigentliche Testausführung war ziemlich unspektakulär. Zum vereinbarten Zeitpunkt haben wir uns virtuell mit dem Kunden getroffen und die Tests wurden auf unserer Infrastruktur gestartet. Währenddessen hatte der Kunde ein Auge auf sein Monitoring geworfen.

Ergebnis

Unsere Tests haben für den Kunden wertvolle Erkenntnisse geliefert und die eingangs erwähnte Ungewissheit entschärfen können.

  1. Unmittelbar nach den Tests hat sich gezeigt, dass die Systeme wie erwartet arbeiten und es zu keinen Abstürzen kam.
  2. Bestimmte Anfragen bzw. Funktionalität bietet Optimierungspotential im Hinblick auf die Antwortzeiten.
  3. Die Antwortzeiten in den Tests haben die Erwartungshaltung bestätigen können.

Außerdem hat sich der Kunde eine Menge an Ressourcen gespart und konnte sich mehr auf die Entwicklung des Produkts fokussieren. Insgesamt lag der zeitliche Aufwand beim Kunden bei nur 6h!

performance test report

Impressionen eines Testberichts