Framework di test invisibile all'utente

L'obiettivo di questo documento è fornire ai team tecnici che gestiscono le istruzioni per le piattaforme webcast aziendali su come controllare le reti aziendali con lo strumento Di test invisibile all'utente di Microsoft eCDN e identificare i possibili problemi prima degli 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 3 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" e comunicherà 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 lo strumento di esecuzione attenderà inattivo fino all'avvio di un test. Invece di distribuire un'applicazione agente designata in ogni computer per agire come strumento di esecuzione, Microsoft eCDN sfrutta il software esistente già installato nei computer degli utenti finali, ad esempio Microsoft Edge e Google Chrome, 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. Oltre ai metodi suggeriti di seguito, i runner possono essere integrati in qualsiasi altro modo che abbia senso per le esigenze di un'azienda. È importante notare che, indipendentemente dal metodo di integrazione scelto, il computer dell'utente finale deve essere attivato e connesso a Internet per consentire il funzionamento di qualsiasi integrazione

Browser headless : vengono forniti script Bash di PowerShell & che avviano Edge/Chrome in background con la pagina dello strumento di esecuzione. Lo script può quindi essere eseguito in un gruppo di utenti per connetterli al framework. Si noti che Edge e/o Chrome devono essere installati per il funzionamento dell'integrazione

Per altre informazioni, vedere Appendice B: Integrazione di runner con 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 terminati vengono visualizzati per 24 ore e vengono quindi nascosti dall'elenco.

Nota critica sulle statistiche del runner online: il numero di dispositivi che eseguiranno effettivamente un test pianificato dipende dal numero di runner connessi al momento dell'avvio del test. Se un test è pianificato per domani e sono presenti 100 dispositivi online, questi dispositivi dovranno essere online domani quando il test inizierà.

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

Analisi

Quando un test è pianificato, viene impostato sulla modalità "in sospeso". Una volta raggiunto l'ora di inizio del test, il test viene attivato e tutti i runner pertinenti riceveranno una notifica del test attivato, la pagina di destinazione verrà avviata e il video (disattivato) inizierà a essere riprodotto nella finestra nascosta. Microsoft eCDN SDK raccoglie le metriche di rete e dell'esperienza utente presentate in vari 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 del termine del test

Concorrenza

Grafico di esempio denominato Visualizzatori univoci. Nel corso del 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.

  • Barre blu scuro - Larghezza di banda HTTP
  • Barre arancioni - Larghezza di banda P2P
  • Linea tratteggiata verde - rapporto P2P del totale come percentuale (asse destro). 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 un'ottimizzazione aggiuntiva. 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 chart 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).

  • Barre verdi : tempo aggregato trascorso in minuti (asse sinistro)
  • Barre rosse : tempo combinato impiegato per il rebuffering in minuti (asse sinistro)
  • Linea tratteggiata blu: rapporto tra il buffering e il tempo totale come percentuale. (asse destro). Ad esempio, un rapporto di rebuffering del 2% indica che il 98% del video è stato riprodotto correttamente mentre per il 2% del tempo in cui 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:

Hostname  Porte Protocollo Descrizione 
*.ecdn.microsoft.com 443 HTTP/S Risorse della pagina dello strumento di esecuzione &
*.ecdn.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. 

Importante

A partire dal 1° giugno 2023, si eseguirà la transizione dei domini da *.ecdn.microsoft.com a *.ecdn.teams.microsoft.com. In preparazione per il periodo di transizione di più settimane, aggiungere il nuovo dominio a qualsiasi configurazione firewall, proxy, VPN o mDNS che potrebbe essere stata eseguita. È importante notare che la transizione non sarà un cut-over pulito, quindi entrambi i domini devono essere considerati durante il periodo di transizione.

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 predefiniti 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 sicura (WSS).

Appendice

Appendice A: Come pianificare un test invisibile all'utente

  1. Passare al dashboard Di test invisibile all'utente

  2. Fare clic sul 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.

    • Tempo & Data : ora specifica in cui inizierà il test.

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

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

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

      • Flusso personalizzato : è possibile fornire solo un flusso 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 verrà riprodotto automaticamente all'inizio del test.

      • Pagina personalizzata : pagina completamente personalizzata. La pagina deve includere un lettore e uno streaming live, nonché 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 riprodurre automaticamente video. Per questo motivo, si consiglia di disattivare l'audio che semplifica 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 (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. Fare clic su Pianifica e verrà creato il test.

  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 avvierà Chrome o Edge in background dei computer in una pagina specifica per una durata specificata e quindi chiuderà 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. Si noti che il riavvio di un computer non ripristinerà 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 il browser basato su chromium (Edge o 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 verrà 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. Sarà possibile eseguire test invisibile all'utente nei computer di destinazione per questo periodo di tempo. 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 è 86400 secondi (24 ore).

    • (Facoltativo) $customChromePath - Nel caso in cui Edge o 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

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

  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 4 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. Sarà possibile eseguire test invisibile all'utente nei computer di destinazione per questo periodo di tempo. 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 è 86400 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.