Framework di test invisibile all'utente

L'obiettivo di questo documento è fornire ai team tecnici che gestiscono le istruzioni sulle piattaforme webcast aziendali su come usare lo strumento di test invisibile all'utente di Microsoft eCDN per controllare le reti aziendali in preparazione agli eventi effettivi.

Il framework microsoft eCDN Silent Testing consente di eseguire facilmente le simulazioni su più dispositivi per emulare ed esaminare il comportamento di una determinata rete sotto il carico di un evento video.

Un test invisibile all'utente è una sessione video reale eseguita in background (disattivata) in un dispositivo dell'utente finale. L'utente può continuare a lavorare sul proprio computer senza sapere che il test è in esecuzione, anche se potrebbe verificarsi un rallentamento della connettività di rete corrispondente alla larghezza di banda del video.

Il framework è costituito da tre componenti principali:

  • Dispositivi runner
  • Dashboard di gestione
  • Analisi

Questi componenti sono spiegati uno per uno nelle sezioni seguenti.

Dispositivi runner

Ogni dispositivo che si connette al framework è considerato un "runner". Ogni runner simula un singolo visualizzatore e comunica con il back-end di Microsoft eCDN per ottenere istruzioni su quale test deve essere eseguito. La maggior parte delle volte non sono in esecuzione test, nel qual caso il runner attende l'inattività fino all'avvio di un test. Invece di distribuire un'applicazione agente designata in ogni computer per fungere da strumento di esecuzione, Microsoft eCDN sfrutta il software esistente comunemente installato nei computer degli utenti finali per avviare i runner in background.

Poiché lo strumento di esecuzione è essenzialmente una pagina Web, può essere aperto in qualsiasi browser o ambiente simile a un browser. Esistono due modi per creare un'istanza di un runner.

Importante

Microsoft Edge o Google Chrome deve essere installato nel computer dell'utente finale. Inoltre, il dispositivo deve essere acceso e connesso a Internet per partecipare a test invisibile all'utente.

Strumento di esecuzione diretta

L'apertura manuale della pagina dello strumento di esecuzione con l'URL seguente, che si occupa di sostituire il segnaposto TENANT_ID_HERE con l'ID del tenant in un browser, viene considerata un "runner diretto".

https://st-sdk.ecdn.teams.microsoft.com/?customerId=TENANT_ID_HERE&adapterId=Direct

Attenzione

Mentre viene creata un'istanza di Silent Runner con gli argomenti necessari per esporre l'indirizzo IP del computer al servizio Microsoft eCDN, un Direct Runner usa le impostazioni globali del computer. Di conseguenza, se non è già stato disabilitato l'offuscamento DELL'IP mDNS, è improbabile che Direct Runner eserciti il peering.

Silent Runner

PowerShell & script Bash che avviano un browser Chromium headless in background con la pagina dello strumento di esecuzione, considerata un "runner silenzioso". Lo script può quindi essere eseguito in un gruppo di utenti per connetterli al framework.

Per altre informazioni, vedere Appendice B: Integrazione di runner tramite browser headless

Dashboard di gestione

Il dashboard di gestione consente di pianificare, modificare e annullare i test e mostra anche il numero di runner connessi. Nella finestra principale sono elencati i test in sospeso, i test in corso e i test precedenti già terminati. I test completati vengono visualizzati per 24 ore e vengono quindi nascosti dall'elenco.

Immagine dell'interfaccia utente del dashboard di gestione dei test invisibile all'utente.

Importante

Il numero di dispositivi o "client assegnati" che eseguono un test pianificato dipende dal numero di runner online al momento dell'avvio pianificato del test, non al momento della pianificazione.

Analisi

Quando un test è pianificato, viene impostato sulla modalità "in sospeso". Una volta raggiunta l'ora di inizio, il test viene attivato e a tutti i runner online viene inviato un segnale di attivazione. La pagina di destinazione viene quindi avviata da ogni runner e il video (disattivato) inizia a essere riprodotto nella finestra nascosta. Microsoft eCDN SDK raccoglie le metriche di rete e dell'esperienza utente presentate in vari grafici e grafici disponibili nel dashboard di Analytics. L'analisi viene segnalata mentre il test è in esecuzione in modo che gli amministratori possano controllare lo stato anche prima della fine del test

Concorrenza

Grafico di esempio denominato Visualizzatori univoci. Nel tempo il grafico visualizza due serie, il peering abilitato e il peering dei visualizzatori disabilitati rispettivamente in blu e grigio.

Il grafico Concorrenza mostra il numero di utenti attivi nel tempo. Per essere considerato attivo, un utente deve riprodurre video.

Velocità HTTP + P2P

Grafico di esempio denominato Velocità effettiva di rete. Nel grafico a barre temporali che visualizza tre serie, i dati HTTP utilizzati, i dati P2P utilizzati e la percentuale di razione P2P rispettivamente in blu scuro, arancione e linea verde tratteggiata.

Il grafico della velocità effettiva di rete mostra una suddivisione del consumo di rete in HTTP e P2P.

Rappresentato come Descrizione Asse
Barre blu scuro Larghezza di banda HTTP Sinistra
Barre arancioni Larghezza di banda P2P Sinistra
Linea tratteggiata verde Rapporto di P2P sul totale come percentuale va bene

Ad esempio, un rapporto P2P del 90% significa che solo il 10% del traffico è stato scaricato tramite HTTP e il resto è stato sottoposto a peering tra gli utenti.

Se P2P è inferiore al previsto, significa che la concorrenza dell'utente non era sufficientemente elevata o che la rete richiede una maggiore ottimizzazione. Per la risoluzione dei problemi, vedere la documentazione Relativa alla risoluzione dei problemi di efficienza del peering ridotto .

Esperienza utente

Grafico di esempio intitolato Play and Rebuffer Time .Example graph titled Play and Rebuffer Time. Nel corso del tempo il grafico mostra tre serie, riprodotte, rebuffer e rebuffer ratio rispettivamente in linea tratteggiata verde scuro, rosso e blu.

Il grafico dell'esperienza utente mostra il tempo combinato trascorso durante la riproduzione rispetto al tempo impiegato per il rebuffering (video bloccato).

Rappresentato come Descrizione Asse
Barre verdi Tempo aggregato impiegato per la riproduzione in minuti Sinistra
Barre rosse Tempo combinato impiegato per il rebuffering in minuti Sinistra
Linea tratteggiata blu Rapporto tra il rebuffering e il tempo totale come percentuale va bene

Ad esempio, un rapporto di rebuffering del 2% significa che il video è stato riprodotto correttamente per il 98% del tempo, mentre per il 2% del tempo il video è rimasto bloccato.

Il rebuffering dovrebbe idealmente essere inferiore all'1%. Numeri elevati o picchi nel rebuffering potrebbero suggerire congestione della rete, sovraccarico del server o contenuto non configurato correttamente.

Requisiti di rete

Il framework di test invisibile all'utente usa i domini e le porte seguenti:

Nome host Porte Protocollo Descrizione
*.ecdn.teams.microsoft.com 443 HTTPS Pagina runner & risorse
*.ecdn.teams.microsoft.com 443 WSS Connessione WebSocket al back-end di Microsoft eCDN
Qualsiasi Porte alte 10.000 + SCTP Questa operazione è necessaria per le connessioni peer WebRTC. Può essere limitato solo alla LAN. 

Sicurezza

Il framework di test invisibile all'utente funziona assegnando i test ai runner. Mentre lo strumento di esecuzione è una pagina statica che si connette al back-end di Microsoft eCDN, un test eseguito è dinamico e può eseguire qualsiasi pagina di destinazione. Per questo motivo, i runner vengono eseguiti all'interno di una pagina Web creata in modalità sandbox dal browser e si basano su meccanismi di sicurezza integrati nei browser moderni. Indipendentemente dall'integrazione (escluse le integrazioni personalizzate), la pagina di destinazione viene sempre eseguita in un contesto sicuro e pulito usando un iframe.

Anche le autorizzazioni di rete sono vincolate dal browser e limitate alle API Web comuni, tra cui HTTP, WebSocket, WebRTC e così via.

In attesa dell'esecuzione dei test, gli strumenti di esecuzione mantengono una connessione WebSocket persistente tramite una connessione TLS protetta (WSS).

Appendice

Appendice A: Come pianificare un test invisibile all'utente

  1. Passare al dashboard Di test invisibile all'utente

  2. Selezionare il simbolo +

    Interfaccia utente di Silent Tester

  3. Compilare i campi obbligatori

    Immagine dell'interfaccia utente delle opzioni di test invisibile all'utente.

    • Nome : nome arbitrario di propria scelta.

    • Ora & Data : ora specifica in cui inizia il test.

    • Durata : durata del test. È consigliabile usare almeno 20 minuti per consentire una simulazione appropriata.

    • URL di destinazione : URL disponibile pubblicamente della pagina dell'evento che riproduce il video durante l'evento simulato. È possibile usare la pagina predefinita o crearne una personalizzata.

      • Stream predefinito: Microsoft eCDN include una pagina predefinita già integrata con un flusso live che include diversi rendering e protocolli di streaming personalizzabili.

      • Stream personalizzate: è possibile fornire solo uno streaming live personalizzato e usare la pagina integrata automaticamente di Microsoft eCDN. Il flusso deve essere disponibile pubblicamente e includere intestazioni CORS in modo che i runner possano caricarlo. Il flusso viene riprodotto automaticamente all'inizio del test.

      • Pagina personalizzata : pagina personalizzata. La pagina deve includere un lettore e uno streaming live ed essere integrata con Microsoft eCDN. Il lettore DEVE iniziare a riprodurre automaticamente il video perché durante il test non viene eseguita alcuna interazione dell'utente. Alcuni browser limitano la possibilità di eseguire la riproduzione automatica dei video. Per questo motivo, è consigliabile disattivare l'audio, semplificando la limitazione. Le pagine predefinite sono disattivate per impostazione predefinita.

    • Filtri dispositivo : limitare un test a un gruppo specifico di dispositivi. In alcuni casi, potrebbe essere necessario eseguire un test in un subset dei dispositivi connessi. Ad esempio, per eseguire un test solo negli uffici negli Stati Uniti o solo nei dispositivi direct runner.

      • Filtro paesi : include solo i dispositivi di determinati paesi/aree geografiche (GeoIP).

      • Filtro di integrazione : include solo i dispositivi connessi tramite una determinata integrazione.

      • Filtro ID dispositivo : eseguire un test solo su ID dispositivo specifici. Questo filtro viene usato principalmente a scopo di debug locale.

  4. Selezionare Pianifica e il test viene creato.

  5. Quando viene raggiunta l'ora di inizio del test invisibile all'utente, il test verrà eseguito nei dispositivi connessi assegnati.

Appendice B: Integrazione di runner con browser headless

Microsoft eCDN fornisce uno script tester invisibile all'utente senza installazione.

Questo script avvia un browser chromium in background dei computer in una pagina specifica per una durata specificata e quindi chiude il processo del browser in background.

Inoltre, Microsoft eCDN fornisce uno script per eseguire il tester invisibile all'utente nei computer remoti elencati in Active Directory.

Nota

Il riavvio di un computer non ripristina automaticamente lo strumento di esecuzione e il browser dovrà essere riavviato usando lo script.

Eseguire istruzioni per l'ambiente Windows

  1. Scarica silent-tester-runner-windows.ps1 : uno script di PowerShell che avvia un browser basato su cromo (Microsoft Edge o Google Chrome se Edge non viene trovato) in background per 24 ore.

  2. Modifica silent-tester-runner-windows.ps1:

    • $TenantID: sostituire TENANT_ID con l'ID tenant Microsoft.

    • $TestID: sostituire TEST_ID con una stringa ID univoca. Questa stringa viene usata nella creazione di file di log, consentendo agli amministratori di test invisibile all'utente di identificare in modo univoco i risultati dei test.

    Importante

    Ogni test deve avere un $TestID univoco. Se lo script rileva che è stato eseguito in precedenza con lo stesso $TestID dell'istanza corrente, verrà chiuso senza eseguire il test invisibile all'utente.

    • (Facoltativo) $scenarioDuration : impostare la durata del tempo di attività del browser sul valore desiderato in secondi. È possibile eseguire test invisibile all'utente nei computer di destinazione per questa durata. Poiché il browser è inattivo, non c'è alcun problema nell'aumentare questo valore a diversi giorni per consentire una maggiore flessibilità nell'esecuzione dei test. Questo processo non sopravvive a un riavvio del sistema. Il valore predefinito è 86.400 secondi (24 ore).

    • (Facoltativo) $customChromePath - Nel caso in cui Microsoft Edge o Google Chrome non sia installato nel percorso predefinito (C:\Program Files o C:\Program Files (x86)) impostare questa variabile sul percorso dell'eseguibile del browser. Per esempio: C:\Custom Path\Edge\msedge.exe

  3. Eseguire lo script nei computer di destinazione usando il metodo scelto, ad esempio una delle opzioni seguenti.

    • Uso dell'oggetto Criteri di gruppo

    • Uso di SCCM

    • Oppure Manualmente da un controller di dominio. Per praticità, viene offerto un esempio di script di chiamata.

      1. Scaricare remote-invocation.ps1 : uno script di PowerShell che esegue silent-tester-runner-windows.ps1 in tutti i computer in Active Directory

      2. (facoltativo) Modificare lo script per limitare la query di Active Directory a un determinato gruppo di computer in base alle esigenze. Consultare la documentazione del Get-ADComputer cmdlet per i filtri avanzati.

      Nota

      Assicurarsi che silent-tester-runner-windows.ps1 si trova nella stessa directory da cui si esegue lo script di chiamata.

      Attenzione

      Per ottenere risultati ottimali, eseguire lo script dello strumento di esecuzione in un contesto utente. L'esecuzione dello script dello strumento di esecuzione nell'account SYSTEM è sconsigliata.

  4. Passare al dashboard di test invisibile all'utente e assicurarsi che i computer di destinazione vengano visualizzati come runner online.

Esempio di immagine che mostra quattro runner online.

Istruzioni di esecuzione per l'ambiente Mac

  1. Scarica silent-tester-runner-mac.sh : uno script Bash che avvia Google Chrome in background per 24 ore.

  2. Modifica silent-tester-runner-mac.sh:

    1. ecdnCustomerId : sostituire CUSTOMER_ID con l'ID tenant Microsoft.

    2. (Facoltativo) scenarioDuration : impostare la durata del tempo di attività del browser sul valore desiderato in secondi. È possibile eseguire test invisibile all'utente nei computer di destinazione per questa durata. Poiché il browser è inattivo, non c'è alcun problema nell'aumentare questo valore a diversi giorni per consentire una maggiore flessibilità nell'esecuzione dei test. Il valore predefinito è 86.400 secondi (24 ore).

  3. A seconda dello strumento usato per la gestione dei dispositivi nel sito, Jamf Pro, ad esempio, esistono diversi modi per eseguire lo script in computer diversi.