Framework für automatische Tests
Das Ziel dieses Dokuments besteht darin, technischen Teams, die Unternehmenswebcastplattformen verwalten Anweisungen zur Verwendung des Microsoft eCDN Silent Testing-Tools bereitzustellen, um ihre Unternehmensnetzwerke zur Vorbereitung auf tatsächliche Ereignisse zu überwachen.
Das Microsoft eCDN Silent Testing Framework ermöglicht die einfache Ausführung von Simulationen auf mehreren Geräten, um zu emulieren und zu untersuchen, wie sich ein bestimmtes Netzwerk unter der Last eines Videoereignisses verhält.
Ein unbeaufsichtigter Test ist eine echte Videositzung, die im Hintergrund (stummgeschaltet) auf einem Endbenutzergerät ausgeführt wird. Der Benutzer kann weiterhin auf seinem Computer arbeiten, ohne zu wissen, dass der Test ausgeführt wird. Es kann jedoch zu einer Verlangsamung der Netzwerkkonnektivität bzw. der Bandbreite des Videos kommen.
Hinweis
Simulierte Ereignisinhalte werden im Hintergrund in der *.ecdn.teams.microsoft.com
Domäne gehostet. Daher sollte der silent-Test nicht als ganzheitlicher Test für Rathäuser oder andere Live-Event-Produkte verwendet werden.
Das Framework besteht aus drei Standard Komponenten:
- Runnergeräte
- Verwaltungsdashboard
- Analyse
Diese Komponenten werden in den folgenden Abschnitten einzeln erläutert.
Runnergeräte
Jedes Gerät, das eine Verbindung mit dem Framework herstellt, wird als "Runner" betrachtet. Jeder Runner simuliert einen einzelnen Viewer und kommuniziert mit dem Back-End von Microsoft eCDN, um Anweisungen zu erhalten, welcher Test ausgeführt werden soll. Meistens werden keine Tests ausgeführt. In diesem Fall wartet der Runner im Leerlauf, bis ein Test gestartet wird. Anstatt eine bestimmte Agent-Anwendung auf jedem Computer bereitzustellen, die als Runner fungiert, nutzt Microsoft eCDN vorhandene Software, die häufig auf Endbenutzercomputern installiert ist, um Runner im Hintergrund zu starten.
Da es sich bei dem Runner im Wesentlichen um eine Webseite handelt, kann sie in jeder Browser- oder browserähnlichen Umgebung geöffnet werden. Es gibt zwei Möglichkeiten, einen Runner zu instanziieren.
Wichtig
Microsoft Edge oder Google Chrome muss auf dem Computer des Endbenutzers installiert sein. Darüber hinaus muss das Gerät eingeschaltet und mit dem Internet verbunden sein, um an automatischen Tests teilnehmen zu können.
Direct Runner
Das manuelle Öffnen der Runnerseite mit der folgenden URL, wobei darauf geachtet wird, den Platzhalter TENANT_ID_HERE
durch die ID Ihres Mandanten in einem Browser zu ersetzen, wird als "direkter Runner" betrachtet.
https://st-sdk.ecdn.teams.microsoft.com/?customerId=TENANT_ID_HERE&adapterId=Direct
Achtung
Während ein Silent Runner mit den erforderlichen Argumenten instanziert wird, um die IP-Adresse des Computers für den Microsoft eCDN-Dienst verfügbar zu machen, verwendet ein Direct Runner die globalen Einstellungen des Computers. Wenn Sie also die mDNS-IP-Verschleierung noch nicht deaktiviert haben, ist es unwahrscheinlich, dass der Direct Runner peeret.
Silent Runner
Wir stellen PowerShell & Bash-Skripts bereit, die einen headless Chromium Browser im Hintergrund mit der Runnerseite starten, die als "silent runner" gilt. Das Skript kann dann für eine Gruppe von Benutzern ausgeführt werden, um sie mit dem Framework zu verbinden.
Weitere Informationen finden Sie unter Anhang B: Integrieren von Runnern mit headless Browser
Verwaltungs-Dashboard
Die Verwaltungs-Dashboard ermöglicht es, Tests zu planen, zu ändern und abzubrechen, und zeigt auch die Anzahl der verbundenen Runner an. Im fenster Standard werden ausstehende Tests, laufende Tests und frühere Tests aufgelistet, die bereits beendet wurden. Abgeschlossene Tests werden 24 Stunden lang angezeigt und dann in der Liste ausgeblendet.
Analyse
Wenn ein Test geplant ist, wird er auf den Modus "Ausstehend" festgelegt. Sobald die Startzeit erreicht ist, wird der Test aktiviert und allen Online-Runnern wird ein Aktivierungssignal gesendet. Die Zielseite wird dann von jedem Runner gestartet, und das (stummgeschaltete) Video wird im ausgeblendeten Fenster wiedergegeben. Das Microsoft eCDN SDK sammelt Netzwerk- und UX-Metriken, die in verschiedenen Diagrammen und Diagrammen im Analytics-Dashboard dargestellt werden. Analysen werden gemeldet, während der Test ausgeführt wird, sodass Administratoren die status überprüfen können, bevor der Test endet.
Parallelität
Das Parallelitätsdiagramm zeigt die Anzahl der aktiven Benutzer im Laufe der Zeit an. Um als aktiv betrachtet zu werden, muss ein Benutzer ein Video wiedergeben.
HTTP + P2P-Geschwindigkeit
Das Netzwerkdurchsatzdiagramm zeigt eine Aufschlüsselung des Netzwerkverbrauchs in HTTP und P2P.
Dargestellt als | Beschreibung | Achse |
---|---|---|
Dunkelblaue Balken | HTTP-Bandbreite | left |
Orangefarbene Balken | P2P-Bandbreite | left |
Grüne gepunktete Linie | Verhältnis von P2P aus dem Gesamtergebnis als Prozentsatz | Rechts |
Ein P2P-Verhältnis von 90 % bedeutet beispielsweise, dass nur 10 % des Datenverkehrs über HTTP heruntergeladen wurden, und der Rest wurde per Peering zwischen Benutzern übertragen.
Wenn P2P niedriger als erwartet ist, bedeutet dies, dass entweder die Benutzerparallelität nicht hoch genug war oder dass das Netzwerk mehr Optimierung erfordert. Informationen zur Problembehandlung finden Sie in der Dokumentation zur Problembehandlung bei geringer Peeringeffizienz .
Verwendung durch den Benutzer
Das Benutzererfahrungsdiagramm zeigt die kombinierte Wiedergabezeit und die Zeit, die für die Wiedergeburt (fixiertes Video) aufgewendet wurde.
Dargestellt als | Beschreibung | Achse |
---|---|---|
Grüne Balken | Aggregierte Spielzeit in Minuten | left |
Rote Balken | Kombinierte Zeit, die in Minuten für die Neubesendung aufgewendet wurde | left |
Blaue gepunktete Linie | Verhältnis der Überschreitung der Gesamtzeit als Prozentsatz | Rechts |
Ein Rücksageverhältnis von 2 % bedeutet beispielsweise, dass das Video 98 % der Zeit korrekt wiedergegeben wurde, während das Video bei 2 % der Zeit hängen geblieben ist.
Die Rückvergütung sollte idealerweise unter 1 % liegen. Hohe Zahlen oder Spitzen bei der Zurückweisung können auf Netzwerküberlastung, Serverüberlastung oder falsch konfigurierte Inhalte hindeuten.
Netzwerkanforderungen
Das Framework für automatische Tests verwendet die folgenden Domänen und Ports:
Hostname | Ports | Protokoll | Beschreibung |
---|---|---|---|
*.ecdn.teams.microsoft.com | 443 | HTTPS | Runnerseite & Ressourcen |
*.ecdn.teams.microsoft.com | 443 | WSS | WebSocket-Verbindung mit dem Microsoft eCDN-Back-End |
Beliebiger Wert | Hohe Ports 10.000 + | SCTP | Dies ist für WebRTC-Peerverbindungen erforderlich. Kann nur auf LAN beschränkt werden. |
Sicherheit
Das Framework für automatische Tests weist Runnern Tests zu. Während der Runner eine statische Seite ist, die eine Verbindung mit dem Microsoft eCDN-Back-End herstellt, ist ein ausgeführter Test dynamisch und kann eine beliebige Zielseite ausführen. Aus diesem Grund laufen Runner innerhalb einer Webseite, die vom Browser sandkastent wird und auf Sicherheitsmechanismen basiert, die in moderne Browser integriert sind. Unabhängig von der Integration (ohne benutzerdefinierte Integrationen) wird die Zielseite immer in einem sicheren, sauber Kontext mit einem iframe ausgeführt.
Die Netzwerkberechtigungen werden auch vom Browser eingeschränkt und auf gängige Web-APIs wie HTTP, WebSocket, WebRTC usw. beschränkt.
Während sie auf die Ausführung von Tests warten, behalten Runner eine permanente WebSocket-Verbindung über eine sichere TLS-Verbindung (WSS) bei.
Anhang
Anhang A: Planen eines unbeaufsichtigten Tests
Wechseln Sie zu Ihrem Dashboard für unbeaufsichtigte Tests.
Wählen Sie das +-Symbol aus.
Ausfüllen der erforderlichen Felder
Name : Beliebiger Name Ihrer Wahl.
Uhrzeit & Datum : Eine bestimmte Uhrzeit, zu der der Test beginnt.
Dauer : Die Dauer des Tests. Wir empfehlen mindestens 20 Minuten, um eine ordnungsgemäße Simulation zu ermöglichen.
Ziel-URL : Eine öffentlich verfügbare URL der Ereignisseite, die das Video während des simulierten Ereignisses wiedergibt. Sie können unsere integrierte Seite verwenden oder eine eigene erstellen.
Integrierte Stream : Microsoft eCDN enthält eine bereits integrierte integrierte Seite mit einem Livestream, der mehrere Wiedergaben und anpassbare Streamingprotokolle enthält.
Benutzerdefinierte Stream: Möglicherweise möchten Sie nur einen eigenen Livestream bereitstellen und die automatisch integrierte Seite von Microsoft eCDN verwenden. Der Stream muss öffentlich verfügbar sein und CORS-Header enthalten, damit die Runner ihn laden können. Der Stream wird automatisch wiedergegeben, wenn der Test beginnt.
Benutzerdefinierte Seite : Eine eigene benutzerdefinierte Seite. Die Seite muss einen Player und einen Livestream enthalten und in Microsoft eCDN integriert sein. Der Player MUSS die Wiedergabe des Videos automatisch starten, da es während des Tests keine Benutzerinteraktion gibt. Einige Browser schränken die Fähigkeit zur automatischen Wiedergabe von Videos ein. Aus diesem Grund wird empfohlen, die Audiowiedergabe stummzuschalten, wodurch die Einschränkung vereinfacht wird. Die integrierten Seiten sind standardmäßig stummgeschaltet.
Gerätefilter: Beschränken Sie einen Test auf eine bestimmte Gruppe von Geräten. In einigen Fällen möchten Sie möglicherweise einen Test auf einer Teilmenge der verbundenen Geräte ausführen. Beispielsweise, um einen Test nur auf Niederlassungen in den USA oder nur auf Direct Runner-Geräten durchzuführen.
Länderfilter : Schließen Sie nur Geräte aus bestimmten Ländern/Regionen (GeoIP) ein.
Integrationsfilter : Schließen Sie nur Geräte ein, die über eine bestimmte Integration verbunden sind.
Geräte-ID-Filter : Führen Sie einen Test nur für bestimmte Geräte-IDs aus. Dieser Filter wird hauptsächlich für lokale Debugzwecke verwendet.
Wählen Sie Zeitplan aus, und der Test wird erstellt.
Wenn die Startzeit des unbeaufsichtigten Tests erreicht ist, wird der Test auf den zugewiesenen verbundenen Geräten ausgeführt.
Anhang B: Integrieren von Runnern mit headless Browser
Microsoft eCDN bietet ein Skript für unbeaufsichtigte Tester ohne Installation.
Dieses Skript startet einen Chromium-Browser im Hintergrund von Computern auf einer bestimmten Seite für eine bestimmte Dauer und schließt dann den Hintergrundbrowserprozess.
Darüber hinaus bietet Microsoft eCDN ein Skript zum Ausführen des unbeaufsichtigten Testers auf Remotecomputern, die in Active Directory aufgeführt sind.
Hinweis
Beim Neustart eines Computers wird der Runner nicht automatisch wiederhergestellt, und der Browser muss mithilfe des Skripts erneut gestartet werden.
Ausführungsanweisungen für die Windows-Umgebung
Laden Sie silent-tester-runner-windows.ps1 herunter– ein PowerShell-Skript, das 24 Stunden lang einen Chromium-basierten Browser (Microsoft Edge oder Google Chrome, wenn Edge nicht gefunden wird) im Hintergrund startet.
Bearbeiten siesilent-tester-runner-windows.ps1:
$TenantID: Ersetzen Sie durch
TENANT_ID
Ihre Microsoft-Mandanten-ID.$TestID: Ersetzen Sie durch
TEST_ID
eine eindeutige ID-Zeichenfolge. Diese Zeichenfolge wird bei der Erstellung von Protokolldateien verwendet, sodass unbeaufsichtigte Testadministratoren Testergebnisse eindeutig identifizieren können.
Wichtig
Jeder Test muss über eine eindeutige $TestID verfügen. Wenn das Skript erkennt, dass es zuvor mit demselben $TestID wie die aktuelle instance ausgeführt wurde, wird es beendet, ohne den automatischen Test auszuführen.
(Optional) $scenarioDuration : Legen Sie die Betriebszeitdauer des Browsers auf den gewünschten Wert in Sekunden fest. Sie können für diesen Zeitraum unbeaufsichtigte Tests auf den Zielcomputern ausführen. Da sich der Browser im Leerlauf befindet, ist es kein Problem, diesen Wert auf mehrere Tage zu erhöhen, um mehr Flexibilität beim Ausführen von Tests zu ermöglichen. Dieser Prozess übersteht einen Systemneustart nicht. Der Standardwert ist 86.400 Sekunden (24 Stunden).
(Optional) $customChromePath : Falls Microsoft Edge oder Google Chrome nicht im Standardpfad (
C:\Program Files
oderC:\Program Files (x86)
) installiert ist, legen Sie diese Variable auf den Pfad der ausführbaren Datei Ihres Browsers fest. Zum Beispiel:C:\Custom Path\Edge\msedge.exe
Führen Sie das Skript auf Zielcomputern aus, indem Sie die Methode Ihrer Wahl verwenden, z. B. eine der folgenden Optionen.
Verwenden von Gruppenrichtlinienobjekten
Verwenden von SCCM
Oder manuell über einen Domänencontroller. Zur Vereinfachung bieten wir ein Beispiel für ein Aufrufskript an.
Herunterladen remote-invocation.ps1 – ein PowerShell-Skript, das silent-tester-runner-windows.ps1 auf allen Computern in Active Directory ausführt
(optional) Bearbeiten Sie das Skript, um Ihre Active Directory-Abfrage basierend auf Ihren Anforderungen auf eine bestimmte Gruppe von Computern zu beschränken. Informationen zur erweiterten Filterung finden Sie in der
Get-ADComputer
Cmdlet-Dokumentation .
Hinweis
Stellen Sie sicher, dass sichsilent-tester-runner-windows.ps1 im selben Verzeichnis befindet, aus dem Sie das Aufrufskript ausführen.
Achtung
Um optimale Ergebnisse zu erzielen, führen Sie das Runnerskript unter einem Benutzerkontext aus. Es wird davon abgeraten, das Runnerskript unter dem SYSTEM-Konto auszuführen.
Wechseln Sie zum automatischen Test Dashboard und stellen Sie sicher, dass die Zielcomputer jetzt als Online-Runner angezeigt werden.
Ausführungsanweisungen für die Mac-Umgebung
Laden Sie silent-tester-runner-mac.sh herunter – ein Bash-Skript, das Google Chrome 24 Stunden lang im Hintergrund startet.
silent-tester-runner-mac.sh bearbeiten:
ecdnCustomerId : Ersetzen Sie durch
CUSTOMER_ID
Ihre Microsoft-Mandanten-ID.(Optional) scenarioDuration : Legen Sie die Betriebszeitdauer des Browsers auf den gewünschten Wert in Sekunden fest. Sie können für diesen Zeitraum unbeaufsichtigte Tests auf den Zielcomputern ausführen. Da sich der Browser im Leerlauf befindet, ist es kein Problem, diesen Wert auf mehrere Tage zu erhöhen, um mehr Flexibilität beim Ausführen von Tests zu ermöglichen. Der Standardwert ist 86.400 Sekunden (24 Stunden).
Abhängig von dem Tool, das zum Verwalten der Geräte am Standort verwendet wird, z. B. Jamf Pro, gibt es verschiedene Möglichkeiten, das Skript auf verschiedenen Computern auszuführen.