Richtlinien
Bei den Lasttests handelt es sich um Tests, die das Verhalten des Systems unter
bestimmten Auslastungsszenarien prüft.
Die Lasttests fungieren hierbei nicht als alternative zu den BDD-Tests.
Somit kann etwa die Korrektheit eines ausgeführten Menus nicht sichergestellt werden.
Umgebung
Bei der Test Umgebung wurde darauf geachtet,
ein Äquivalent eine realen Produktivumgebung zu schaffen.
Siehe Azure Umgebung.
Testdaten Datenbank
Grundsätzlich sollten alle notwendigen Testdaten auf dem Server erstellt werden.
Sobald die Erzeugung der Testdaten abgeschlossen ist,
muss manuell ein Snapshot über die SnapshotAction erstellt werden.
Der Ablauf ist hierbei folgender:
Download des aktuellen RichClients
Eine Datenmigration findet klassischerweise im CMI RichClient statt.
Dieser kann über den DownloadButton des Webclient geladen werden.
Externen Zugriff Sperren
Im Richclient gibt es ein globales Menu,
das für die Zeit der Migration den Webclient und Testrunner sperrt.
Daten Migrieren
Snapshot erstellen
Nach Abschluss der Datenmigration wird der Zustand im Snapshot persistiert.
Hierfür wird die SnapshotAction manuell ausgeführt.
Zugriff wieder freigeben
Eine erneute Ausführung des Menus schaltet den Webclient und den Testrunner
wieder frei.
Erstellung der Tests
Der Webclient dient zur Ermittlung der richtigen Parametrierung bzw. das Json, welches an das Owin-Backend geschickt wird. Dabei muss der im Browser der Werkzeugkasten mittels F12 geöffnet werden. Unter "Nutzlast" kann das Json ermittelt werden.
Die Verfügbaren StepTypen finden sich in der Sektion "Step Typen"
Ausführender Benutzer
Der Benutzer mit der client_id cmiloadtests wird per default verwendet.
Wird ein Benutzer mit einem bestimmten Set an Rechten gebraucht,
so muss er in CMI Server und STS3 eingepflegt werden.
Aufgrund eines eingeschränkten Zugriffs, muss SSC hier vorerst unterstützen.
Der neue Benutzer kann dann gemäss Schema hinterlegt werden.
Alle verfügbaren Benutzer sind im Vault in 1Password hinterlegt.
Github Action
Die Github Action, die die Tests ausführt, befindet sich ebenfalls im Repository.