Condividi tramite


Linee guida per i flussi di lavoro di compilazione, distribuzione e test

In questo argomento vengono descritti gli approcci consigliati per il flusso di lavoro di compilazione, distribuzione e test. È possibile determinare il migliore approccio da utilizzare in base alle proprie esigenze. Tuttavia, tali esigenze potrebbero cambiare durante le fasi del ciclo del progetto. Nelle fasi iniziali del progetto si può decidere semplicemente di compilare l'applicazione alla fine di ogni giorno di lavoro. Con l'avanzamento del progetto si può valutare di testare la qualità della compilazione aggiungendo unit test a questo flusso di lavoro. Questi test sono spesso chiamati test di verifica della compilazione o smoke test. Quando i team di test sono pronti per eseguire i test, è possibile che si desideri automatizzare il flusso di lavoro per includere la distribuzione dell'applicazione. È quindi possibile eseguire test manuali o automatizzati sulla versione più recente dell'applicazione distribuita. In alternativa, si può decidere di compilare, distribuire ed eseguire test automatizzati come parte del flusso di lavoro completo per verificare la qualità della compilazione quando viene distribuita.

È possibile eseguire test automatizzati come parte di questi flussi di lavoro dall'assembly di un progetto di test utilizzando mstest.exe. In alternativa, è possibile eseguire test automatizzati da un gruppo di test del piano di test in uso utilizzando tcm.exe. Per eseguire test automatizzati da un piano di test, è necessario eseguire queste attività:

  1. Creare un piano di test e un gruppo di test: Definizione dell'attività di test utilizzando piani di test.

  2. Associare i test automatizzati ai test case in un gruppo di test: Procedura: associare un test automatizzato a un test case.

  3. Creare un ambiente fisico o virtuale: Ambienti.

Utilizzare le informazioni nelle sezioni seguenti per configurare i componenti software per le attività necessarie nel flusso di lavoro:

  • Requisiti

    Nella sezione seguente vengono descritti i requisiti per utilizzare compilazione, distribuzione e test come parte del flusso di lavoro: Requisiti.

  • Compilazione

    Se si desidera solo compilare l'applicazione, è possibile utilizzare il modello di compilazione predefinito. Per ulteriori informazioni sull'impostazione di una compilazione, vedere Compilazione dell'applicazione.

  • Compilazione e test

    Se si desidera eseguire test automatizzati come parte del processo di compilazione, è possibile selezionare i test da eseguire dal progetto di test utilizzando il modello di compilazione predefinito. Se i test vengono superati, la compilazione può essere considerata riuscita. Compilare ed eseguire test automatizzati

    Nota importanteImportante

    In questo caso i test vengono eseguiti come parte del processo di compilazione tramite mstest.exe. Per ulteriori informazioni su mstest.exe, vedere Opzioni della riga di comando di MSTest.exe.

  • Compilazione e distribuzione

    Se si desidera eseguire test manuali dal piano di test utilizzando la compilazione più recente dell'applicazione. è possibile compilare e quindi distribuire l'applicazione in un ambiente fisico o virtuale. Compilare, distribuire ed eseguire test manuali da un piano di test

  • Compilare, distribuire ed eseguire i test

    Se si desidera controllare la qualità dell'applicazione dopo la distribuzione, è possibile compilare e distribuire l'applicazione, quindi eseguire test automatizzati da un piano di test utilizzando un ambiente fisico o virtuale. Compilare, distribuire ed eseguire test automatizzati da un piano di test mediante un ambiente

    Nota importanteImportante

    In questo caso i test vengono eseguiti come parte del processo di compilazione tramite tcm.exe. Per ulteriori informazioni su tcm.exe, vedere tcm: importazione ed esecuzione di test automatizzati per un piano di test dalla riga di comando.

Requisiti

In base alle attività che si desidera includere nel flusso di lavoro, è possibile installare i componenti necessari per ciascuna attività in computer fisici o macchine virtuali. Nell'immagine seguente è illustrato un esempio di una possibile scelta di installazione del software in base alle informazioni fornite in questa sezione:

Requisiti per la compilazione, la distribuzione e il test

Requisiti software per tutte le attività

  • Team Foundation Server

Requisiti software per la compilazione

  • Controller di compilazione

    È richiesto almeno un controller di compilazione per ogni insieme di progetti team

  • Agente di compilazione

    È richiesto almeno un agente di compilazione per controller di compilazione

Requisiti software per la distribuzione

  • Un controller di compilazione (è possibile utilizzare lo stesso controller utilizzato per compilare l'applicazione)

  • Per un ambiente virtuale: un agente di compilazione e un agente lab su ogni computer nell'ambiente virtuale

Requisiti software per il test mediante ambienti

  • Controller di test

    È richiesto almeno un controller di test per ogni insieme di progetti team

  • Agenti di test

    È richiesto un agente di test su ogni computer nell'ambiente

  • Per un ambiente virtuale: un agente lab su ogni computer nell'ambiente virtuale (oltre all'agente di test).

Per ulteriori informazioni sull'interazione di questi componenti per l'esecuzione di test. vedere Configurazione di computer di test per l'esecuzione di test o la raccolta di dati.

Per ulteriori informazioni su come installare questi componenti, vedere Installazione e configurazione dei controller di compilazione e test e di Visual Studio Agents.

Nelle sezioni seguenti sono contenute informazioni che possono facilitare la scelta dei computer in cui installare i componenti software. Sarà quindi possibile determinare il numero di computer necessari per la configurazione.

Requisiti dei computer per controller di compilazione e agenti di compilazione

Per determinare i computer necessari, è necessario basare la topologia sulle informazioni seguenti:

  • È necessario avere almeno un controller di compilazione per ogni insieme di progetti team.

  • È possibile avere solo un controller di compilazione in ogni computer.

  • In un'installazione tipica, le attività eseguite dall'agente di compilazione possono richiedere un utilizzo intensivo del processore, riducendo sensibilmente le prestazioni di Team Foundation Server. In questo caso, si potrà valutare di posizionare l'agente di compilazione in un computer diverso da quello di Team Foundation Server.

  • È possibile installare il controller di compilazione nello stesso computer di Team Foundation Server. Se il controller di compilazione gestisce molti agenti di compilazione attivi, potrebbe verificarsi un utilizzo maggiore della memoria della sistema, per cui potrebbe essere opportuno installare il controller di compilazione in computer diverso.

Se ad esempio si dispone di tre insiemi di progetti team e per ognuno devono essere compilate applicazioni, sono necessari tre computer per i tre controller di compilazione o due computer supplementari se si installa un controller di compilazione in Team Foundation Server.

Nota importanteImportante

Per ulteriori informazioni sulle topologie che è possibile utilizzare per configurare il controller di compilazione e gli agenti di compilazione, vedere Esempi di topologia del sistema di compilazione.

Requisiti dei computer per controller di test e agenti di test

Per ridurre i problemi di comunicazione tra componenti software, è consigliabile che il computer del controller di test e il computer Team Foundation Server si trovino nello stesso dominio. Per ulteriori informazioni sull'installazione di componenti in domini o gruppi di lavoro diversi, vedere Requisiti per gruppi di lavoro e domini multipli.

Per determinare i computer necessari per i controller di test, è necessario decidere quale topologia utilizzare in base alle informazioni seguenti:

  • Se si eseguono i test mediante un ambiente fisico o virtuale, è necessario un controller di test.

  • È possibile utilizzare un solo controller di test con più ambienti fisici o virtuali.

  • È necessario registrare un controller di test con l'insieme di progetti team che contiene gli ambienti.

  • Ogni controller di test può essere registrato con un solo insieme di progetti team.

  • Ogni controller di test necessario deve essere installato in un computer separato.

Ad esempio, se si dispone di tre insiemi di progetti team per i quali si desidera creare ambienti, è necessario avere almeno tre controller di test. Sono quindi necessari almeno tre computer.

Nota

Se si dispone di molti ambienti da supportare in un insieme di progetti team e sono necessari più controller di test, è possibile registrare questi ultimi con lo stesso Team Foundation Server.

Riduzione dei computer necessari per i controller di compilazione e i controller di test

Se sono necessari più controller di compilazione e controller di test, è possibile ridurre il numero di computer richiesti installando un controller di test nello stesso computer di un controller di compilazione. Ad esempio, se si dispone di tre insiemi di progetti team A, B e C, e ognuno richiede un controller di compilazione e un controller di test, è possibile installare il controller di compilazione e il controller di test nello stesso computer. Adottando questo approccio si avrebbe bisogno solo di tre computer per i controller, invece di sei.

Compilare ed eseguire test automatizzati

Per includere le attività di compilazione e test nel flusso di lavoro, è necessario fornire le informazioni seguenti nella definizione di compilazione predefinita che si crea:

L'agente di compilazione utilizza mstest.exe per eseguire i test dell'assembly di test situato nella cartella di ricezione, come mostrato nell'illustrazione seguente. È possibile utilizzare le impostazioni di test predefinite (local.testsettings) della soluzione dell'applicazione per eseguire i test in locale con l'agente di compilazione.

Nota

Per utilizzare il file local.testsettings come parte del processo di compilazione, è necessario archiviare questo file in Team Foundation Server.

Non è possibile raccogliere informazioni tramite adattatori dati di diagnostica quando si eseguono test solo con un agente di compilazione. Se si desidera utilizzare adattatori dati di diagnostica con questo scenario, è necessario installare un agente di test nello stesso computer dell'agente di compilazione. In alternativa, è possibile utilizzare un ambiente fisico o virtuale, come descritto nella sezione seguente: Compilare, distribuire ed eseguire test automatizzati da un piano di test.

Compilazione e test senza agente di test

Per i passaggi dettagliati su come compilare ed eseguire test per il flusso di lavoro, vedere Procedura: configurare ed eseguire test pianificati dopo avere compilato l'applicazione.

Nota di avvisoAttenzione

È sconsigliabile utilizzare un controller di test con le impostazioni di test per eseguire test in modalità remota come parte della definizione di compilazione. Se si desidera utilizzare un controller di test e agenti di test, è opportuno utilizzare un ambiente fisico o virtuale, come descritto nella sezione seguente: Compilare, distribuire ed eseguire test automatizzati da un piano di test.

Se si sta apprendendo come utilizzare Visual Studio, Team Foundation Server e Team Foundation Build per definire un flusso di lavoro, è possibile installare tutti i componenti in un unico computer. Questa configurazione non è tuttavia consigliabile se il sistema include più utenti e si eseguono più compilazioni.

Nota

Per eseguire test codificati dell'interfaccia utente, si consiglia di distribuire prima l'applicazione in un ambiente fisico o virtuale. Utilizzando questo approccio, se è necessario eseguire passaggi manuali per esaminare un errore del test, è possibile utilizzare questo stesso ambiente. Per eseguire test codificati dell'interfaccia utente senza distribuire l'applicazione, è necessario configurare l'agente di compilazione utilizzato in modo che sia in grado di interagire con il desktop. Inoltre, è necessario installare un agente di test nel computer di compilazione e utilizzare l'ultima compilazione dalla cartella di ricezione per il test. Per ulteriori informazioni sulla configurazione dell'agente di compilazione, vedere Configurare gli agenti per l'esecuzione di test codificati dell'interfaccia utente.

Compilazione e distribuzione

Per compilare e distribuire l'applicazione per il flusso di lavoro, è necessario utilizzare un ambiente fisico o virtuale.

Ambienti virtuali

Per utilizzare un ambiente virtuale con Visual Studio Lab Management per la compilazione e la distribuzione, si utilizza il modello lab predefinito. Tale modello consente di effettuare le azioni seguenti:

  • Selezionare l'ambiente virtuale che si desidera utilizzare

  • Selezionare uno snapshot di tale ambiente da utilizzare come punto di partenza per la distribuzione

  • Selezionare la definizione di compilazione o la build da utilizzare per distribuire l'applicazione

  • Aggiungere script da eseguire per distribuire l'applicazione dalla cartella di ricezione

  • Acquisire uno snapshot dell'ambiente virtuale dopo la distribuzione come parte del flusso di lavoro di compilazione e distribuzione

È possibile utilizzare l'ambiente virtuale per eseguire test manuali utilizzando la build distribuita in questo ambiente oppure è possibile eseguire test automatizzati. Per ulteriori informazioni su come compilare e distribuire un'applicazione in un ambiente virtuale, vedere Procedura: distribuire un'applicazione in un ambiente virtuale. Per ulteriori informazioni su come eseguire test manuali tramite un ambiente virtuale, vedere Procedura: eseguire test manuali e creare bug riproducibili con ambienti virtuali.

Ambienti fisici

Se si desidera distribuire l'applicazione in un ambiente fisico, è possibile personalizzare il modello per una definizione di compilazione. Per ulteriori informazioni su come personalizzare un modello di processo di compilazione, vedere Creare e utilizzare un modello di processo di compilazione personalizzato.

Questo ambiente può essere utilizzato per eseguire test manuali o automatizzati dal piano di test. Per ulteriori informazioni sulla modalità di esecuzione di questi test, vedere Esecuzione di test manuali mediante Test Runner e Guida ai concetti di base per l'esecuzione di test automatizzati da un piano di test.

Compilare, distribuire ed eseguire test automatizzati da un piano di test mediante un ambiente

Per eseguire test automatizzati che fanno parte di un piano di test nel processo di compilazione, distribuzione e test, è necessario utilizzare un ambiente fisico o virtuale. Nella definizione di compilazione viene utilizzato tcm.exe per l'esecuzione dei test. Quando si eseguono questi test come parte del flusso di lavoro, viene creata un'esecuzione dei test e i risultati possono essere esaminati e analizzati tramite Microsoft Test Manager. Per ulteriori informazioni su come analizzare le esecuzioni dei test, vedere Procedura: analizzare le esecuzioni dei test tramite Microsoft Test Manager. Ciò consente anche di visualizzare dati cronologici sulla qualità delle compilazioni. È possibile determinare quando sono presenti costanti problemi di qualità delle compilazioni e quali aree dell'applicazione non hanno superato i test.

Quando si crea un ambiente fisico di test è possibile utilizzare computer fisici o macchine virtuali oppure è possibile utilizzare Visual Studio Lab Management per creare un ambiente virtuale. Un ambiente virtuale consente di distribuire l'applicazione tramite ogni computer nell'ambiente in uno stato noto da uno snapshot esistente. Inoltre, è possibile acquisire snapshot dell'ambiente dopo che l'applicazione è stata distribuita in modo da poter tornare a questo stato noto per il test di un bug o l'esecuzione di test manuali. Un ambiente virtuale offre molta più flessibilità. Per ulteriori informazioni su come creare questi ambienti, vedere Creazione di un ambiente fisico da utilizzare per il test e Creazione di ambienti virtuali.

Ambienti virtuali

Per distribuire l'applicazione in un ambiente virtuale, è possibile utilizzare la definizione di modello lab predefinito fornita con Team Foundation Build. Per utilizzare un ambiente virtuale, è necessario che sia installato Visual Studio Lab Management. Il modello lab consente di effettuare le azioni seguenti:

  • Selezionare l'ambiente virtuale che si desidera utilizzare

  • Selezionare uno snapshot di tale ambiente da utilizzare come punto di partenza per la distribuzione

  • Selezionare la definizione di compilazione o la build da utilizzare per distribuire l'applicazione

  • Aggiungere script da eseguire per distribuire l'applicazione dalla cartella di ricezione

  • Selezionare i gruppi di test, la configurazione di test e le impostazioni per l'esecuzione dei test

  • Acquisire uno snapshot dell'ambiente virtuale dopo la distribuzione come parte del flusso di lavoro di compilazione e distribuzione

Per ulteriori informazioni su come configurare la definizione di compilazione per il modello lab predefinito per effettuare compilazione, distribuzione e test mediante un ambiente virtuale, vedere Procedura: configurare ed eseguire test pianificati dopo avere compilato e distribuito l'applicazione.

Creazione, distribuzione e test con un ambiente virtuale

Ambienti fisici

Per distribuire l'applicazione in un ambiente fisico ed eseguire test automatizzati, è possibile personalizzare il modello per una definizione di compilazione. Per ulteriori informazioni su come personalizzare un modello di processo di compilazione, vedere Creare e utilizzare un modello di processo di compilazione personalizzato.

Creazione, distribuzione e test con un ambiente fisico

Vedere anche

Concetti

Configurazione di computer di test per l'esecuzione di test o la raccolta di dati

Altre risorse

Personalizzazione del flusso di lavoro di Lab Management