Procedura dettagliata: creazione ed esecuzione di un test di carico contenente test delle prestazioni Web

In questa procedura dettagliata verrà creato un test di carico contenente un test delle prestazioni Web.

Nella procedura vengono descritti i passaggi per la creazione e l'esecuzione di un test di carico utilizzando Visual Studio Ultimate.Un test di carico è un contenitore di test Web e unit test.È possibile creare test di carico con la Creazione guidata test di carico.Per ulteriori informazioni sui test di carico, vedere Creazione e modifica dei test di carico.Per ulteriori informazioni sui test Web, vedere Creazione e modifica di test delle prestazioni Web.Per ulteriori informazioni sugli unit test, vedere Verifica del codice tramite unit test.

[!NOTA]

Anche se un test di carico può contenere sia test Web che unit test, in questa procedura dettagliata viene illustrato solo un test di carico contenente un test Web.Per informazioni sull'aggiunta di uno unit test a un test di carico, vedere Procedura dettagliata: creazione ed esecuzione di un test di carico contenente unit test.

In un test di carico sono presenti molte proprietà di runtime che possono essere modificate per generare la simulazione di carico desiderata.In questa procedura dettagliata viene utilizzata la Creazione guidata test di carico per aggiungere un test delle prestazioni Web a un test di carico.

Per eseguire questa procedura dettagliata è necessario disporre di un test delle prestazioni Web esistente da aggiungere a un test di carico.

In questa procedura dettagliata, si completeranno le seguenti attività:

  • Creazione di un test di carico.

  • Aggiunta di un test delle prestazioni Web al test di carico.

  • Modifica di alcune impostazioni del test di carico.

  • Eseguire il test di carico.

Prerequisiti

Apertura della soluzione ColorWebApp creata nelle procedure dettagliate precedenti

Apertura della soluzione

Modifica del codice nella pagina ASP.NET Red.aspx.cs per evidenziare violazioni di soglia ed errori

Per modificare il codice di Red.aspx.cs per l'evidenziazione di violazioni di soglia ed errori

  1. In Esplora soluzioni, espandere la cartella del progetto di applicazione Web ASP.NET di ColorWebApp, quindi espandere il nodo Red.aspx.

  2. Fare clic con il pulsante destro del mouse sul file Red.aspx.cs, quindi selezionare Visualizza codice.

  3. Nell'editor del codice, aggiungere il seguente codice evidenziato nel metodo Page_Load:

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    

    Questo codice aggiuntivo consente di visualizzare violazioni di soglia ed errori fittizi nell'analizzatore test di carico.Tali violazioni verranno esaminate più avanti in questa procedura dettagliata.

Creazione del test di carico mediante la Creazione guidata test di carico

Per avviare la Creazione guidata test di carico

  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul nodo del progetto di test di carico delle prestazioni Web ColorWebAppTest.

  2. Scegliere Aggiungi quindi scegliere Test di carico.

    Viene avviata la Creazione guidata test di carico.

    La pagina di benvenuto Creazione guidata test di carico è la prima pagina visualizzata.

  3. Scegliere Avanti.

Per modificare le impostazioni per lo scenario di test di carico

  1. Viene visualizzata la pagina Modificare le impostazioni per uno scenario di test di carico.

  2. Nella casella di testo sotto Immettere un nome per lo scenario di test di carico digitare "Scenario basic stress".

    Uno scenario è un meccanismo di raggruppamento.È composto da una serie di test e di proprietà per l'esecuzione di tali test sotto carico.

  3. Impostare il Profilo tempo interazione utente su Utilizza la distribuzione normale basata sul tempo interazione utente registrato.

    Il tempo interazione utente rappresenta il tempo che un utente dedica a una pagina Web prima di passare alla successiva.

    Per ulteriori informazioni, vedere Procedura: impostare i tempi interazione utente per simulare una sospensione umana in un test delle prestazioni Web.

  4. Scegliere Avanti.

Per modificare l'impostazione del modello di carico per lo scenario di test

  1. Viene visualizzata la pagina Modificare le impostazioni del modello di carico per uno scenario di test di carico.

  2. Selezionare Carico costante.

    Le proprietà del modello di carico specificano come il carico utenti simulato viene regolato durante un test di carico.

    Per ulteriori informazioni, vedere Modifica dei modelli di carico per modellare le attività utente virtuali.

  3. Scegliere Avanti.

Per selezionare un modello di combinazione di test per lo scenario

  1. Viene visualizzata la pagina Selezionare un modello di combinazione di test per il test di carico.

  2. In Specificare il modello di combinazione di test selezionare In base al numero totale di test.

    Il modello di combinazione di test specifica la probabilità che un utente virtuale esegua un determinato test in uno scenario di test di carico.

    Per ulteriori informazioni, vedere Modifica di modelli di combinazione di testo per specificare la probabilità che un utente virtuale esegua un test.

  3. Scegliere Avanti.

Per aggiungere il test delle prestazioni Web ColorWebTest.webtest allo scenario

  1. Viene visualizzata la pagina Aggiungere i test a uno scenario di test di carico e modificare la combinazione di test.

  2. Scegliere Aggiungi per selezionare i test.

    Verrà visualizzata la finestra di dialogo Aggiungi test.

  3. Nel riquadro Test disponibili selezionare il test delle prestazioni Web ColorWebTest e fare clic sulla freccia per aggiungerlo al riquadro Test selezionati.

  4. Scegliere OK.

    Viene visualizzata una combinazione di test.Se il test di carico contiene più test delle prestazioni Web e unit test, è possibile utilizzare i dispositivi di scorrimento per regolare la distribuzione dei test.

    La combinazione di test di uno scenario è il risultato di vari fattori, tra cui la selezione dei test contenuti nello scenario e la distribuzione di tali test all'interno dello scenario.La combinazione di test deve riflettere gli obiettivi del test per un determinato scenario.

    Per ulteriori informazioni, vedere Modifica di modelli di combinazione di testo per specificare la probabilità che un utente virtuale esegua un test.

  5. Scegliere Avanti.

Per selezionare la combinazione di reti per lo scenario di test

  1. Viene visualizzata la pagina Aggiungere tipi di rete a uno scenario di test di carico e modificare la combinazione di reti.

  2. Lasciare le impostazioni predefinite della LAN su 100%.

    La combinazione di reti consente di simulare più realisticamente il carico in uno scenario di test di carico.

    Per specificare il tipo di reti che si desidera emulare nello scenario di test di carico, scegliere la freccia a discesa accanto a ogni riga sotto Tipi di rete.Se si configura la combinazione di reti per utilizzare più di un tipo di rete, è possibile utilizzare i dispositivi di scorrimento per specificare la distribuzione dei tipi di rete.

    Per ulteriori informazioni, vedere Specifica dei tipi di rete virtuale in uno scenario di test di carico.

  3. Scegliere Avanti.

Per selezionare la combinazione di browser per lo scenario di test

  1. Viene visualizzata la pagina Aggiungere i tipi di browser allo scenario di test di carico e modificare la combinazione di browser.

  2. Lasciare l'impostazione predefinita su Internet Explorer 7.0 o specificare il tipo di browser correntemente in uso.

    Per specificare i tipi di browser con cui si desidera testare l'applicazione Web nello scenario di test di carico, scegliere la freccia a discesa accanto a ogni riga sotto Tipo browser.Se si configura la combinazione di browser per utilizzare più di un tipo di browser, è possibile utilizzare i dispositivi di scorrimento per specificare la distribuzione del tipo di browser.

    Per ulteriori informazioni, vedere Modifica della combinazione di test per specificare quali tipi di Web browser includere in uno scenario di test di carico.

  3. Scegliere Avanti.

Per specificare i computer da monitorare con gli insiemi di contatori durante l'esecuzione del test di carico

  1. Viene visualizzata la pagina Specificare i computer da monitorare con gli insiemi di contatori durante l'esecuzione del test di carico.

  2. Non alterare le impostazioni predefinite.

    Gli insiemi di contatori vengono raggruppati sui computer specificati dall'utente.L'associazione tra un insieme di contatori e un computer utilizzata durante un test di carico viene definita mapping dell'insieme di contatori.Il server Web che si sta testando potrebbe, ad esempio, disporre di mapping di insiemi di contatori per applicazioni ASP.NET, IIS e .NET.

    È possibile selezionare i computer da monitorare durante le esecuzioni dei test scegliendo Aggiungi computer e digitando il nome del server sul quale si trova il sito Web non in produzione indicato in precedenza.Aggiungendo il nome del computer host, vengono raccolte informazioni sulle prestazione importanti per il test di carico.

    [!NOTA]

    Su ciascun server monitorato, è necessario disporre delle autorizzazioni utente sufficienti per eseguire i monitoraggi delle prestazioni.In caso contrario, vengono generati errori.

    È possibile aggiungere una voce separata per un computer che ospita un database SQL per il sito.Se si sceglie di non aggiungere alcun computer, vengono aggiunti ai test solo i contatori di carico locali.

    È quindi possibile selezionare gli insiemi di contatori che si desidera monitorare.Viene visualizzato un set di insiemi di contatori predefiniti che aggiungono monitoraggi di prestazioni specifici al test di carico, tra cui Applicazione, ASP.NET, Applicazione .NET, IIS e SQL.

    Per ulteriori informazioni, vedere Specifica degli insiemi di contatori e delle regole di soglia per i computer in un test di carico e Procedura dettagliata: utilizzo di un controller di test e di agenti di test in un test di carico.

  3. Scegliere Avanti.

Per modificare l'impostazione di esecuzione per il test di carico

  1. Viene visualizzata la pagina Controllare e modificare le impostazioni di esecuzione di un test di carico.

  2. Selezionare Durata test di carico e quindi impostare Durata esecuzione su 2 minuti per eseguire uno smoke test del test di carico.

    Quando si compilano i test delle prestazioni Web e i test di carico, è consigliabile eseguire un breve test di carico ridotto al fine di verificare che tutte le configurazioni siano corrette e che il funzionamento sia quello previsto.Questo processo è noto come smoke test.

    Le impostazioni di esecuzione sono una serie di proprietà che influiscono su un intero test di carico.Le impostazioni di esecuzione determinano la durata del test, la durata del periodo di riscaldamento, il numero massimo di dettagli sugli errori riportati, la frequenza di campionamento, la descrizione, l'indicazione o meno di salvare il log in caso di non superamento del test nonché il livello di convalida.Le impostazioni di esecuzione devono riflettere gli obiettivi del test di carico.

    Per ulteriori informazioni, vedere Configurazione delle impostazioni esecuzione test di carico.

  3. Scegliere Fine.Il testo di carico si apre nell'Editor test di carico.

Utilizzo dell'Editor test di carico per l'aggiunta di una regola di soglia al test di carico

Per aggiungere una regola di soglia a un test di carico

  1. Nel nodo Insiemi di contatori, espandere il nodo dell'insieme di contatori LoadTest, quindi espandere il nodo cartelle Categorie contatori.

  2. Espandere il nodo della categoria del contatore LoadTestPage, quindi espandere il nodo cartelle Contatori.

  3. Fare clic con il pulsante destro del mouse sul nodo Tempo medio pagina e selezionare Aggiungi regola di soglia.

  4. Verrà visualizzata la finestra di dialogo Aggiungi regola di soglia

  5. In Selezionare una regola, non modificare la regola Confronta costante selezionata.

  6. In Proprietà per la regola selezionata, nella categoria Opzioni impostare Avvisa se supera su True.

  7. Sotto la categoria Valori soglia, impostare Valore soglia avviso su 3 e Valore soglia critico su 4.

  8. Scegliere OK.

  9. Sotto al contatore Tempo medio pagina viene aggiunta una cartella Regole di soglia con la nuova regola.

Esecuzione del test di carico e abilitazione delle violazioni di soglia nel grafico

Una volta creato il test di carico, eseguirlo per visualizzare il modo in cui il sito Web risponde alla simulazione di carico.Nel corso dell'esecuzione del test di carico è possibile avviare un'analisi iniziale nella finestra Analizzatore test di carico.

Per eseguire il test di carico

  1. Una volta aperto un test di carico nell'Editor test di carico, scegliere il pulsante verde Esegui.L'esecuzione del test di carico ha inizio nell'analizzatore test di carico, in visualizzazione grafico.

  2. Mentre il test è in esecuzione, scegliere il pulsante dell'elenco a discesa Mostra legenda nella barra degli strumenti e selezionare Mostra violazioni di soglia su grafico.

    Se la simulazione di test supera una o più soglie, vengono visualizzate le icone nei nodi di controllo per indicare la violazione di soglia.Gli errori sono indicati da un cerchio rosso, gli avvisi da un triangolo giallo.

  3. Quando nella visualizzazione Grafici viene visualizzata un'icona di violazione di soglia nel grafico Tempo di risposta per pagina, scegliere Aggiungi note analisi nella barra degli strumenti dell'analizzatore test di carico.

    Viene visualizzata la finestra di dialogo Analisi.

  4. Digitare "Violazione soglia" nella casella di testo Descrizione.

  5. Nella casella di testo di Analisi, digitare "Sospetto difetto di codice nel file Red.aspx.cs".

    Il commento verrà salvato in modo permanente con i risultati test di carico.

  6. Una volta completata l'esecuzione del test di carico, i risultati del test vengono presentati in una scheda separata in cui è visualizzato LoadTest1 [ora] nella visualizzazione Riepilogo dell'analizzatore test di carico.

Analisi del test di carico

Una volta completato il test di carico, è possibile continuare ad effettuare ulteriori analisi dei risultati.Per ulteriori informazioni, vedere Cenni preliminari sull'Analizzatore test di carico.

Per analizzare il test utilizzando l'analizzatore test di carico

  1. Nella visualizzazione Riepilogo, scorrere verso il basso fino alla tabella denominata Errori e scegliere Errore HTTP o Errore regola di convalida.

  2. L'analizzatore test di carico viene modificato nella visualizzazione Tabelle dall'aggiunta della tabella Errori e viene selezionato il tipo di regola su cui è stato fatto clic.

  3. Nella riga per il tipo di regola Errore regola di convalida, notare l'oggetto ValidateResponseurl elencato nella colonna errori Sottotipo.Questa violazione di soglia è stata causata dal seguente codice evidenziato, aggiunto al file Red.aspx.cs, che provoca, in modo casuale, un ritardo fittizio della pagina che può arrivare fino a cinque secondi:

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    

    Questo ritardo fittizio può violare potenzialmente sia il Valore soglia avviso di 3 e il Valore soglia critico di 4 che specificati in precedenza in questa procedura dettagliata.Le icone di avviso vengono visualizzate come triangoli gialli con un punto esclamativo e le icone di violazione critiche vengono visualizzate come cerchi rossi con un simbolo "X" all'interno.

  4. Nella riga per il tipo di errore Errore HTTP, notare la dicitura 404 - NotFound nella colonna errori Sottotipo.L'errore è stato causato dal seguente codice evidenziato aggiunto al file Red.aspx.cs.Questo codice produce un 10% di possibilità di reindirizzamento a una pagina inesistente, il che dà origine all'errore:

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    
  5. Nella colonna Conteggio scegliere il collegamento con il numero per il tipo di regola Errore regola di convalida.

    Viene visualizzata la finestra di dialogo Errori test di carico.

  6. Scorrere verso destra e nella colonna Dettagli scegliere il collegamento TestLog.

  7. Viene visualizzato il Visualizzatore risultati test prestazioni Web in una scheda separata in cui è presente l'oggetto ColorWebTest associato all'errore.

  8. Scegliere Chiudi nella finestra di dialogo Errori test di carico.

  9. Selezionare la scheda LoadTest[ora] per tornare all'analizzatore test di carico in cui sono visualizzati i risultati del test.

  10. Nel riquadro contatori, notare che il nodo Prova di stress di base ha una delle icone di avviso soglia.Espandere il nodo fino ad arrivare al contatore Tempo medio pagina che ha subito l'impatto del codice responsabile delle violazioni di soglia.

  11. Nella visualizzazione Grafici, notare che le icone di violazione di soglia vengono visualizzate anche per le violazioni di soglia che appaiono nel grafico Tempo medio pagina.

  12. Scegliere la linea del tracciato in cui è presente l'icona di violazione.

  13. La linea del tracciato è in grassetto e il contatore Tempo medio pagina è evidenziato nella legenda della visualizzazione Grafici per la richiesta Red (il nome del rapporto aggiunto in una procedura dettagliata precedente).

  14. La colonna Max per il contatore Tempo medio pagina supera la soglia specificata.

Passaggi successivi

In questa procedura dettagliata è stato creato un test di carico utilizzando l'applicazione Web ColorWebApp e il test delle prestazioni Web ColorWebTest.webtest e si è appreso come avviare alcune procedure di analisi fondamentali.

Per informazioni su come analizzare ulteriormente il test di carico utilizzando il grafico attività utente virtuale, vedere Procedura dettagliata: utilizzo del grafico attività utente virtuale per isolare i problemi.

Per informazioni sulla distribuzione del test di carico in più computer mediante l'impiego di controller e agenti di test, vedere Procedura dettagliata: utilizzo di un controller di test e di agenti di test in un test di carico.

Vedere anche

Attività

Procedura dettagliata: registrazione ed esecuzione di un test Web

Procedura dettagliata: creazione di un test Web codificato

Procedura: visualizzare il tempo di risposta delle pagine Web in un test di carico utilizzando l'Analizzatore test di carico

Concetti

Specifica degli insiemi di contatori e delle regole di soglia per i computer in un test di carico

Cenni preliminari sull'Analizzatore test di carico

Cenni preliminari sull'Analizzatore test di carico

Cenni preliminari sul riepilogo dei risultati dei test di carico

Analisi delle violazioni delle regole di soglia nei test di carico tramite l'Analizzatore test di carico

Analisi dei risultati dei test di carico nella visualizzazione Grafici dell'Analizzatore test di carico

Analisi degli errori e dei risultati dei test di carico nella visualizzazione tabella dell'Analizzatore test di carico

Altre risorse

Step 4 - Specifying Run Settings in the New Load Test Wizard

Modifica della combinazione di test per specificare quali tipi di Web browser includere in uno scenario di test di carico

Specifica dei tipi di rete virtuale in uno scenario di test di carico

Modifica di scenari di test di carico tramite l'Editor test di carico

Modifica dei modelli di carico per modellare le attività utente virtuali

Modifica di modelli di combinazione di testo per specificare la probabilità che un utente virtuale esegua un test

Creazione di test di carico utilizzando la Creazione guidata test di carico

Modifica di modelli di combinazione di testo per specificare la probabilità che un utente virtuale esegua un test

Configurazione delle impostazioni esecuzione test di carico

Analisi dei risultati dei test di carico tramite l'Analizzatore test di carico