Condividi tramite


Utilizzo di test codificati dell'interfaccia utente nei test di carico

Le informazioni contenute in questo argomento sono valide per:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

Argomento applicabile Argomento non applicabile Argomento non applicabile Argomento non applicabile

Per determinare il tipo di risposta del software a diversi livelli di utilizzo vengono eseguiti test di carico. I test di carico prevedono la modellazione dell'utilizzo previsto di un'applicazione software simulando l'accesso simultaneo da parte di più utenti. Per ulteriori informazioni, vedere Creazione e modifica di carichi di test.

I test di carico sono composti principalmente da una serie di test delle prestazioni Web o unit test che operano con più utenti simulati in un determinato periodo di tempo. I test di carico possono includere anche test codificati dell'interfaccia utente automatizzati. L'inclusione di test codificati dell'interfaccia utente va eseguita unicamente in presenza di circostanze specifiche. Tutti gli scenari che utilizzano test codificati dell'interfaccia utente nei test di carico comportano l'utilizzo dei test codificati dell'interfaccia utente come test delle prestazioni. Ciò può rivelarsi utile poiché i test codificati dell'interfaccia utente consentono di acquisire le prestazioni al livello dell'interfaccia utente. Se ad esempio si dispone di un'applicazione che impiega 1 secondo per restituire dati al client ma ne impiega 8 per eseguire il rendering dei dati nel browser, non è possibile acquisire questo tipo di problema di prestazioni mediante un test delle prestazioni Web.

Un altro scenario per l'impiego dei test codificati dell'interfaccia utente in un test di carico è se si dispone di un'applicazione per cui è difficile generare script a livello di protocollo. In questo caso, si potrebbe considerare la conduzione temporanea del carico utilizzando un test codificato dell'interfaccia utente fino a quando non sarà possibile generare correttamente script a livello di protocollo.

Implementazione di codice per la misurazione degli intervalli nei test codificati dell'interfaccia utente

Per impostazione predefinita, non si otterranno misure di intervallo accurate da un test codificato dell'interfaccia utente utilizzato nei test di carico, poiché le chiamate sono asincrone. È necessario implementare i test codificati dell'interfaccia utente correttamente per poter ottenere misure di intervallo accurate. A tale scopo, è possibile utilizzare il metodo WaitForControlReady. Nei frammenti del codice di esempio seguenti viene dimostrata la procedura per una pagina di accesso.

Nota

Si tratta di un esempio semplificato. In un test reale dovrebbe essere gestito anche l'intervallo in caso di accesso non riuscito.

Per implementare correttamente un test codificato dell'interfaccia utente utilizzato in un test di carico

  1. Misurare il tempo necessario per il caricamento della pagina di accesso.

                TestContext.BeginTimer("UI Login Page Load");
    
  2. Mediante questa chiamata viene effettuato il caricamento della pagina di accesso.

               UIMap.LoginPage();
    
  3. Per qualsiasi intervallo rilevato in un test delle prestazioni Web deve essere utilizzato WaitForReady. Ciò consente di generare l'attesa fino alla visualizzazione del form.

               UIMap.UIHttpteamtestweb1STORWindow1.UIHttpteamtestweb1STORDocument.UIEmailEdit.WaitForControlReady();
               TestContext.EndTimer("UI Login Page Load");
    
    Nota di avvisoAttenzione

    Assicurarsi che il tempo necessario per la compilazione del form non sia incluso nel timer. Durante la registrazione, generare codice dal registratore dopo aver compilato un form, ma prima di inviarlo.

  4. Questa funzione compila il form di accesso.

               UIMap.FilledInLoginForm();
    
  5. Cronometrare l'operazione di accesso.

               TestContext.BeginTimer("UI Login");
               UIMap.LoggedIn();
    
  6. Per qualsiasi intervallo rilevato in un test delle prestazioni Web deve essere utilizzato WaitForReady. Ciò consente di generare l'attesa fino alla visualizzazione della pagina di conferma.

               UIMap.UIHttpteamtestweb1STORWindow.UIHttpteamtestweb1STORDocument.UIWelcomeJamesBondwellPane.WaitForControlReady();
               TestContext.EndTimer("UI Login");
    

Limitazioni del test codificato dell'interfaccia utente nei test di carico

I test codificati dell'interfaccia utente controllano il mouse e la tastiera. Pertanto, per ciascun agente, solo 1 utente virtuale può eseguire test codificati dell'interfaccia utente. Il modo migliore per controllare questa situazione è configurare uno scenario separato nel test di carico e impostare il carico utente su 1 utente. Se si eseguono più test dell'interfaccia utente, configurare la combinazione di test come Sequenziale. Per ulteriori informazioni, vedere Creazione di scenari aggiuntivi per un test di carico esistente e Modifica di modelli di combinazione di test per specificare la probabilità che un utente virtuale esegua un test.

È inoltre necessario configurare gli agenti di carico per l'esecuzione come processo interattivo anziché che come servizio. Per ulteriori informazioni, vedere Installazione e configurazione dei controller di compilazione e test e di Visual Studio Agents.

Vedere anche

Riferimenti

WaitForControlReady

Concetti

Test dell'interfaccia utente con test automatizzati dell'interfaccia utente

Altre risorse

Creazione e modifica di test di carico e delle prestazioni Web