Eine BCPT-Suite konfigurieren

Abgeschlossen

Konfigurieren Sie eine Suite für das Szenario, das Sie simulieren möchten. Wenn Sie eine Suite konfigurieren, müssen Sie Folgendes festlegen:

  • Welche Tests durchgeführt werden sollen und, wenn zutreffend, mit welchen Parametern.

  • Wie viele gleichzeitige Sitzungen für jeden Test simuliert werden sollen.

  • Die Dauer des Szenarios.

In der Regel möchten Sie die Suite für mehrere Sitzungen gleichzeitig ausführen. Sie können dies mit der Aktion Start tun, nachdem Sie die Suite konfiguriert haben. Zudem können Sie auch die Visual Studio Code-Erweiterung oder PowerShell-Skripte verwenden. Unter Ausführen einer Testsuite mit der Visual Studio Code-Erweiterung erfahren Sie dazu mehr.

Um beispielsweise während der Entwicklungsphase einen Schnelltest durchzuführen, wählen Sie die Aktion Im Einzellaufmodus starten aus, um alle Ihre Tests (Suite-Zeilen) einmal auszuführen. Zudem werden Benutzerverzögerungen übersprungen. „Einzelne Ausführung“ starten lässt Sie die Anzahl der SQL-Anweisungen zwischen den Ausführungen überwachen und Referenzwerte festlegen. Sie erhalten zudem zeitnahes Feedback, das Ihnen dabei hilft, Regressionen frühzeitig zu erkennen.

Sie können für eine Testsuite bis zu 500 Sitzungen zeitgleich ausführen. Das Feld Gesamtzahl der Sitzungen zeigt an, wie viele Sitzungen bei Ausführung der Suite erstellt werden.

Auf den Suitepositionen können Sie mit dem Kontrollkästchen Im Vordergrund ausführen Tests im Vordergrund statt als Hintergrundaufgabe ausführen. Dies kann für jede Suiteposition festgelegt werden. Wenn zu Ihrem Test auch UI-Interaktionen gehören, muss er im Vordergrund ausgeführt werden. Vom Client aus kann nur jeweils ein Vordergrundtest ausgeführt werden. Wenn für mehrere Zeilen die Option „Im Vordergrund ausführen“ aktiviert ist, werden diese nacheinander ausgeführt. Hintergrundtests werden weiterhin parallel ausgeführt.

Verwenden Sie die Visual Studio Code-Erweiterung oder die PowerShell-Skripte, um mehrere Vordergrundtests parallel auszuführen.

Die Einstellungen zum Konfigurieren einer Suite sind abhängig von der Umgebung, die Sie simulieren möchten. Das folgende Verfahren bietet ein Beispiel für das Testen mehrerer Sitzungen, die Schritte gelten jedoch auch für eine einzelne Ausführung.

  1. Suchen Sie nach BCPT-Suites, und wählen Sie dann den zugehörigen Link aus.

  2. Wählen Sie Neu aus, um die Seite BCPT-Suite zu öffnen.

  3. Geben Sie in den Feldern Code, Beschreibung und Tag einen Bezeichner, einige Informationen zum Test und ein Tag an, mit dem Sie die Ergebnisse der Suite auf der Seite Protokolleinträge finden können. Tags sind hilfreich, wenn Sie verschiedene Sätze von Protokolleinträgen aus einer Suite generieren möchten. Ein Beispiel kann die Messung der Leistung vor und nach der Installation von Erweiterungen sein. Verwenden Sie den Tag, um zwischen diesen beiden Ausführungen zu unterscheiden.

  4. Folgen Sie diesen Schritten, um das Timing für die Ausführung festzulegen.

    1. Das Feld 1 Arbeitstag entspricht arbeitet mit dem Feld Dauer (Minuten) zusammen, um das Feld Arbeitsdatum beginnt um zu aktualisieren. Testen Sie mit dem Feld 1 Arbeitstag entspricht Prozesse, die Fristen haben, wie z. B. Zahlungen. Die Dauer kann bis zu 240 Minuten betragen.

    2. Mit den Feldern Standard Min. Benutzerverzögerung und Standard Max. Benutzerverzögerung können Sie Pausen zwischen Aktionen simulieren. Sie müssen eine Verzögerung festlegen. Zwischen jeder Iteration, z. B. beim Anlegen von Kundenaufträgen, können Sie eine Verzögerung (Verzögerung zwischen den Iterationen) bis zum Beginn des Tests beim nächsten Kundenauftrag festlegen. Die Verzögerung kann Fest oder Zufällig sein. Verzögerungen sind in den Ergebnissen für Ausführungszeiten nicht enthalten.

  5. Konfigurieren Sie Positionen für die Suite. Die Positionen enthalten einige der Einstellungen aus der Kopfzeile. Durch das Aktualisieren der Werte in den Positionen wird auch die Kopfzeile aktualisiert.

    1. Geben Sie im Feld Parameter die Parameter für Ihren Test ein, wenn Ihr Test Parameter unterstützt. Das Parameterfeld darf keine Leerzeichen umfassen.

    2. Geben Sie im Feld Anzahl der Sitzungen die Anzahl der zu simulierenden gleichzeitigen Benutzer in den Workflow ein.

    3. Geben Sie in den Feldern Min. Benutzerverzögerung (ms) und Max. Benutzerverzögerung (ms) an, wie lange zwischen Aktionen pausiert werden soll. Benutzerverzögerungen werden ignoriert, wenn Sie eine Suite in der einzelnen Ausführung ausführen.

    4. Legen Sie im Feld Verzögerung zwischen Interaktionen (Sek.) fest, wie lange zwischen den einzelnen Ausführungen der Codeunit für jede Sitzung pausiert werden soll. Verwenden Sie dieses Feld, um zu simulieren, wie viel Arbeit von jedem Benutzer geleistet wird. Wenn ein Benutzer 15 Verkaufsaufträge pro Stunde erstellt, benötigen Sie zwischen den einzelnen Tests eine Verzögerung von ca. 240 Sekunden (4 Minuten), um diesen Durchsatz zu erreichen.

    5. Geben Sie im Feld Verzögerungstyp an, ob eine feste oder eine zufällige Verzögerung verwendet werden soll. Wenn Sie die Option Fest auswählt, pausiert der Test für die im Feld Verzögerung zwischen den Iterationen (Sek.) angegebene Anzahl von Sekunden.

Es gibt drei Möglichkeiten für die Ausführungen der BCPT-Suiten.

  • Direkt von Business Central.

  • Durch Verwendung der Visual Studio Code-Erweiterung oder von PowerShell-Skripten.

  • Durch Verwendung von AL-Go for GitHub. Weitere Informationen finden Sie unter Workflow: Eine neue Leistungstest-App erstellen

Beim Betrieb von BCPT-Suiten können Sie auswählen, für welche Unternehmen Ihre Suiten ausgeführt werden sollen. Dies kann eine effektive Strategie sein, wenn Leistungstests für unterschiedliche Datengrößen ausgeführt werden.

Es gelten folgende Einschränkungen für die Ausführung der BCPT-Suites.

  • Sie können jeweils nur eine Sitzung zur gleichen Zeit im Vordergrund ausführen, wenn Sie dies über den Client ausführen.

  • Je nachdem, ob Ihre Umgebung lokal, Docker oder online ist, kann die Anzahl von Sitzungen, die Sie gleichzeitig im Hintergrund ausführen können, begrenzt sein. In der Regel beträgt die Standardanzahl der Sitzungen 10. Unter Betriebsgrenzen für Business Central Online erfahren Sie mehr dazu.

Wenn Ihre BCPT-Suite mehr als eine Sitzung im Vordergrund oder mehr als 10 Sitzungen gleichzeitig im Hintergrund ausführt, müssen Sie die Suite über die Visual Studio Code-Erweiterung oder PowerShell ausführen. Unter Ausführung mit PowerShell-Skripten erfahren Sie mehr dazu.

Die folgenden Schritte bieten ein Beispiel für die Ausführung eines Tests im Modus „Einzelne Ausführung“.

  1. Wählen Sie auf der Seite BCPT-Suites die Option Neu aus.

  2. Geben Sie im Feld Code einen Namen für die Testsuite ein. In diesem Beispiel verwenden wir PreTest.

  3. Geben Sie im Feld Tag etwas ein, mit dem Sie die Suite später bei der Analyse der Ergebnisse einfach identifizieren können.

  4. Die Felder für Dauer und Verzögerungen werden für den Modus „Einzelne Ausführung“ nicht verwendet, daher belassen wir ihre Standardwerte.

  5. Wählen Sie im Inforegister BCPT-Suite-Positionen die Testsuite für Ihre Komponente aus.

  6. In diesem Beispiel berechnen wir das Gesamtgewicht der Artikel in einem Kundenauftrag, daher verwenden wir den Test der Verkaufsauftragsseite mit einem Parameter, der vier Positionen erzeugt. Der Parameter sieht wie folgt aus: „Lines=4“.

  7. Löschen Sie das Kontrollkästchen Im Vordergrund ausführen. So wird die Testsuite in einem Hintergrundthread ausgeführt.

  8. Wählen Sie „Einzelne Ausführung“ starten aus.

  9. Geben Sie im Feld Basisversion eine 1 ein, um Ihre Basis nach Abschluss der Ausführung einzurichten.

Ausführungssuiten von der Visual Studio Code-Erweiterung stellen Ihnen realistische Simulationen mehrerer Personen zur Verfügung, die gleichzeitig arbeiten. Wir stellen in der Visual Studio Code-Erweiterung einen Befehl zur Verfügung, um ein nahtloses Erlebnis zu bieten, und so Folgendes zu starten:

  1. Führen Sie in Visual Studio Code den BCPT-Befehl aus: Run BCPT (PowerShell) command.

  2. Wählen Sie den Umgebungstyp aus.

  3. Wählen Sie die bestimmte Zielumgebung aus.

  4. Geben Sie den auszuführenden BCPT-Suite-Code ein.

  5. Optional: Wenn Sie auf eine Online-Sandbox-Umgebung abzielen, werden Sie möglicherweise aufgefordert, sich anzumelden.

Ein interner PowerShell-Prozess sollte gestartet werden und ein Ausgabefenster wird in Visual Studio Code angezeigt, der eine ähnliche Ausgabe wie diese zeigt:

Ergebnisse analysieren

Auf dem Inforegister BCPT-Suite-Positionen werden die Ergebnisse angezeigt. Im Folgenden werden die Felder beschrieben, die die Ergebnisse der aktuellen Ausführung, die Basislinie und das Delta zwischen den beiden anzeigen:

  • Anzahl der Iterationen – Wie oft dies ausgeführt wurde. Dies ist 1, da wir die Aktion Modus „Einzelne Ausführung“ starten genutzt haben.

  • Gesamtdauer in (ms) – Wie der Abschluss einer Iteration dauert.

  • Durchschnittliche Dauer – Entspricht dem Feld „Gesamtdauer in (ms)“ für die erste Ausführung, aber nachdem Sie einen Test mehrmals ausgeführt haben, ist es ein Ergebnis der Summe der Ausführung seit Ihrer Basis.

  • Anzahl der SQL-Anweisungen – Die Anzahl der SQL-Anweisungen, die für eine Ausführung generiert wurden.

  • Durchschn. Anzahl der SQL-Anweisungen – Ähnlich wie bei den Feldern für die Dauer entspricht dies für die erste Ausführung dem Feld „Anzahl der SQL-Anweisungen“, wird jedoch nach nachfolgenden Ausführungen gemittelt.

In der folgenden Liste werden die Felder mit Bezug zur Basis beschrieben:

  • Anzahl der Iterationsbasis – Nicht relevant für den Modus der einzelnen Ausführung.

  • Gesamtdauer Basis (ms) – Die Gesamtdauer der Basisausführung.

  • Durchschn. Dauer Basis (ms) – Nicht relevant für den Modus der einzelnen Ausführung.

  • Durchschn. Anzahl der SQL-Anweisungen Basis – Die Anzahl der SQL-Anweisungen in Ihrer Basisausführung.

In der folgenden Liste werden die Felder beschrieben, die das Delta zwischen der Ausführung und der Basis anzeigen.

  • Änderung der Anzahl der SQL-Anweisungen (%) – Der prozentuale Unterschied zwischen der Basis und der letzten Ausführung.

  • Änderungen der Dauer (%) – Die Änderung der gemessenen Zeit zwischen einer Basis und der letzten Ausführung.

Die erste Iteration einer beliebigen Ausführung zeigt eine höhere Anzahl von SQL-Anweisungen, da nichts zwischengespeichert wird.

Ändern Sie das Feld Tag in Änderungsprotokoll, bevor Sie einen Test mit dem Änderungsprotokoll ausführen. Wenn Sie anschließend die Protokolleinträge untersuchen, entfernen Sie entweder den Filter im Feld Versionsnr., oder ändern Sie ihn so, dass nur die letzten beiden Ausführungen einbezogen werden. Wählen Sie nach dem Export nach Excel die Tags als Spalten in der Pivot-Tabelle aus, verwenden Sie Operation als Filter, und richten Sie den Filter auf Szenario ein.

Nachdem Sie die Suite ausgeführt haben, können Sie Protokolleinträge auswählen, um zu sehen was passiert ist. Verwenden Sie Fehler anzeigen und Gleichzeitig laufende Sitzungen anzeigen, da diese Aktionen Filter auf die Ergebnisse anwenden. Die Filterung kann z. B. helfen, Fehler zu beheben, indem angezeigt wird, was ein Benutzer getan hat, als ein Fehler aufgetreten ist. Standardmäßig wird die Seite gefiltert, um die neueste Version anzuzeigen, aber Sie können den Filter für den Vergleich von Ausführungen ändern oder entfernen. Sie können die Aktion In Excel öffnen verwenden, um Dashboards zu erstellen, mit denen die Leistungsergebnisse visualisiert werden können.

Protokolleinträge werden in der Reihenfolge ihrer Erstellung aufgelistet, was bedeutet, dass die verschiedenen Szenarien gemischt sind. Jede Ausführung wird in den Feldern Versions-Nr. identifiziert.

Die Spalte Betrieb zeigt die einzelnen Messungen, wobei der Begriff Szenario verwendet wird, um die Codeunit ohne Wartezeit für den Benutzer auszuführen. Die Spalte Anzahl der SQL-Anweisungen enthält die SQL-Anweisungen, die von den Szenario‑ und Systemaktivitäten ausgegeben wurden, z. B. das Abrufen von Metadaten. Die Zählungen schließen die Protokolleinträge selbst aus. Um einen Drilldown zu einer einzelnen Sitzung vorzunehmen, filtern Sie im Feld Sitzungsnr., oder wählen Sie In Excel öffnen aus, um eine Pivot-Tabelle und ein Pivot-Diagramm für eine umfassendere Analyse zu erstellen.

Wenn Sie Telemetrie in Ihrer Testumgebung aktivieren, erhalten Sie Telemetrie, wenn das Performance Toolkit gestartet/abgeschlossen wird und wenn Szenarios abgeschlossen sind (mit Messungen). Unter Performance Toolkit-Telemetrie erfahren Sie mehr dazu.

Die vom Performance Toolkit ausgegebenen Telemetriedaten können dann mit dem Power BI-Leistungsbericht oder direkt mit KQL analysiert werden. Beispiel-KQL-Code finden Sie hier: Beispiel-KQL-Code.