Condividi tramite


Utilizzo di un lab virtuale per il ciclo di vita dell'applicazione

Visual Studio Lab Management è un'estensione di Microsoft Test Manager che consente di ottimizzare l'utilizzo della tecnologia Microsoft Hyper-V per gestire e utilizzare le macchine virtuali nelle applicazioni di test, compilazione e sviluppo in Visual Studio 2010. Visual Studio Lab Management è integrato con System Center Virtual Machine Manager (SCVMM) per consentire la gestione di più computer fisici che ospitano macchine virtuali host e per gestire l'archiviazione di macchine virtuali, modelli di macchina virtuale e altri file di configurazione nei server di libreria SCVMM.

Un ambiente virtuale è un gruppo di macchine virtuali gestite da Lab Management. Gli ambienti virtuali consentono di eseguire le operazioni seguenti:

  • Riprodurre esattamente le condizioni di un bug o di un altro problema di sviluppo.

    Gli snapshot di Lab Management acquisiscono lo stato di tutti i computer dell'ambiente in un determinato momento. Uno snapshot dell'ambiente può essere condiviso con i membri di un team di progetto. Un riferimento allo snapshot archiviato può essere incluso in un elemento di lavoro di Visual Studio Team Foundation Server in modo da consentire la creazione di una copia dell'ambiente con pochi clic del mouse. Quando i dati di Microsoft IntelliTrace vengono inclusi nell'elemento di lavoro, il percorso di esecuzione dell'applicazione al bug può essere completamente riprodotto nella configurazione esatta dove si è verificato il bug.

  • Compilare, distribuire e testare le applicazioni automaticamente in un ambiente pulito.

    Utilizzando i flussi di lavoro di Lab Management per le compilazioni di Visual Studio Team Foundation Server, gli ambienti, gli snapshot e i test automatizzati di Microsoft Test Manager, è possibile organizzare le compilazioni giornaliere dell'applicazione in un ambiente pulito. Dopo aver eseguito i test, è possibile archiviare l'ambiente in uno snapshot e quindi ripristinare lo stato originale dell'ambiente in modo da poterlo utilizzare nuovamente.

  • Ridurre il tempo necessario per creare e configurare i computer per testare un'applicazione.

    Utilizzando i modelli e le macchine virtuali archiviate di Lab Management è possibile distribuire rapidamente gli ambienti personalizzati che ricreano la configurazione degli ambienti di produzione del cliente.

  • Eseguire contemporaneamente più copie di un test o una distribuzione.

    Utilizzando gli ambienti virtuali archiviati di Lab Management, è possibile distribuire più copie di un ambiente virtuale contemporaneamente senza creare conflitti tra i nomi computer che possono limitare l'utilizzo delle macchine virtuali non gestite in un dominio.

  • Consentire ai membri di un team di creare e gestire ambienti virtuali senza richiedere i privilegi dell'amministratore di sistema.

    È possibile utilizzare le autorizzazioni di Lab Management per creare i gruppi in modalità self-service basati sul ruolo di membri del team che possono distribuire, creare e gestire ambienti virtuali senza richiedere i privilegi dell'amministratore di sistema. È inoltre possibile combinare le autorizzazioni di Lab Management con le autorizzazioni di Visual Studio Team Foundation Server e SCVMM per soddisfare le richieste specifiche dell'organizzazione.

Creare un ambiente utilizzando Microsoft Test Manager e assegnare le macchine virtuali a ogni ruolo necessario per l'applicazione che si intende sviluppare, testare o eseguire. È possibile, ad esempio, che si sviluppi un'applicazione a più livelli che richiede tre ruoli: un client desktop, un server Web e un server database. Utilizzando Lab Management, è possibile creare un ambiente virtuale che assegna una macchina virtuale a ogni ruolo, distribuisce ogni parte dell'applicazione nella macchina virtuale pertinente utilizzando Team Foundation Build, quindi esegue le tre macchine virtuali come una singola istanza dell'applicazione per il test. Nell'illustrazione che segue viene mostrato un ambiente virtuale che utilizza i tre ruoli: client desktop, server Web e server database.

Ambiente per applicazione a più livelli

Se l'applicazione è complessa, è possibile assegnare più macchine virtuali allo stesso ruolo in un ambiente virtuale. Analogamente, è possibile che si sviluppi un'applicazione che richiede di distribuire gli stessi due ruoli in due topologie diverse. Il livello dati e il livello applicazione, ad esempio, potrebbero trovarsi nello stesso computer in una topologia, sebbene i due livelli si trovino in computer separati nell'altra topologia. La prima topologia viene rappresentata in un ambiente virtuale, la seconda invece in un ambiente virtuale separato. Il lab virtuale contiene ora i due ambienti necessari per il test.

È inoltre possibile disporre di un ambiente virtuale in cui vengono distribuiti solo alcuni componenti dell'applicazione mentre gli altri componenti sono condivisi tra gli ambienti. Se, ad esempio, l'applicazione necessita di un database di grandi dimensioni, è possibile scegliere di ospitare un database condiviso in un computer fisico. Tutti gli ambienti virtuali disporranno solo di macchine virtuali per i livelli client e applicazione in grado di connettersi al database condiviso come richiesto.

Nota

Se si eseguono test manuali o automatizzati in ambienti puramente fisici o in ambienti fisici costituiti da macchine virtuali di terzi, non è necessario eseguire alcuna attività correlata all'utilizzo di Hyper-V, alla configurazione di SCVMM né alla configurazione di Lab Management. Al contrario, è possibile installare semplicemente un agente di test nel computer fisico, registrare un controller di test con l'insieme di progetti team e configurare l'agente di test che utilizzerà tale controller di test. Dopo avere eseguito queste attività, utilizzare Centro lab in Microsoft Test Manager per creare un nuovo ambiente fisico. Per i passaggi relativi alla creazione di un ambiente fisico e all'esecuzione di test, vedere Creazione di un ambiente fisico da utilizzare per il test.

Concetti principali

Prima di iniziare a utilizzare Lab Management, è necessario comprendere alcuni concetti chiave:

Macchine virtuali (Hyper-V)

Concetto principale

Descrizione

Macchina virtuale

Una macchina virtuale è un'implementazione software di un computer che esegue programmi come se fosse un computer fisico. In questo modo è possibile eseguire più macchine virtuali in un solo computer fisico. È necessario installare la macchina virtuale con un sistema operativo e qualsiasi altro software necessario.

Host

Il computer fisico che esegue la macchina virtuale.

Snapshot

Uno snapshot salva lo stato della macchina virtuale in un momento specifico. È possibile ripristinare questo snapshot della macchina virtuale ogni volta che lo si desidera e quindi utilizzare questa macchina virtuale da questo stato noto che risale al momento della creazione dello snapshot.

System Center Virtual Machine Manager (SCVMM)

Concetto principale

Descrizione

Modello

Un modello è un'immagine generalizzata di una macchina virtuale privata delle informazioni di identificazione quali il nome del computer e il codice "Product Key". È possibile creare più macchine virtuali da un modello senza creare conflitti tra nomi di computer in un dominio.

Gruppo host

Un gruppo di computer fisici che fungono da host utilizzabili per eseguire macchine virtuali. I gruppi host consentono di ottimizzare la distribuzione di macchine virtuali nell'insieme di host, in modo che non sia necessario selezionare l'host in cui viene distribuita ogni macchina virtuale. È possibile assegnare gruppi host ai progetti team e agli insiemi di progetti team in Team Foundation Server.

Server di libreria

Un computer utilizzato per archiviare le macchine virtuali, i modelli e altre risorse.

Condivisione di libreria

Un percorso condiviso in un server di libreria in cui è possibile archiviare le macchine virtuali, i modelli e le altre risorse. È possibile disporre di più condivisioni di libreria. È possibile assegnare condivisioni di libreria ai progetti team e agli insiemi di progetti team in Team Foundation Server.

Lab Management

Concetto principale

Descrizione

Ambiente virtuale

Un insieme di macchine virtuali che vengono eseguite in host Hyper-V e gestite da System Center Virtual Machine Manager e che Lab Management gestisce come unità logica. Ogni macchina virtuale aggiunta all'ambiente viene utilizzata per un ruolo nell'applicazione. È possibile, ad esempio, selezionare un ruolo di server Web per una macchina virtuale.

Ambiente fisico

Insieme di computer fisici, ciascuno dei quali presenta un agente di test installato. Se si dispone di macchine virtuali in esecuzione su una piattaforma non Hyper V, è possibile modellarle come computer fisici in Lab Management.

Centro lab

L'area di attività in Microsoft Test Manager dove si gestiscono ed eseguono le macchine virtuali e gli ambienti che vengono distribuiti nei gruppi host SCVMM del progetto team.

Libreria del progetto team

L'area di attività in Test Manager dove si gestiscono le macchine virtuali archiviate, i modelli e gli ambienti archiviati che si trovano nelle condivisioni di libreria SCVMM del progetto team.

È possibile utilizzare le macchine virtuali o fisiche per crear e gestire ambienti, test o distribuzioni di compilazioni.

Creazione e gestione di ambienti

La creazione di macchine virtuali da un modello, la clonazione degli ambienti tramite l'isolamento rete, le operazioni delle macchine virtuali come l'avvio, l'arresto, lo snapshot, la pausa sono disponibili esclusivamente per gli ambienti virtuali basati su hyper-v e non disponibili per gli ambienti non Hyper V o fisici.

Test

Utilizzando Microsoft test Manager è possibile eseguire i test negli ambienti virtuali e fisici. Le funzionalità sono esattamente le stesse e quindi è possibile eseguire test automatizzati e manuali, elaborare un insieme di dati di diagnostica dettagliata da ogni tipo di ambiente: Hyper-V, non Hyper-V e fisico.

Distribuzione della compilazione

È possibile automatizzare facilmente il flusso di lavoro di compilazione, distribuzione e test negli ambienti virtuali Hyper-V utilizzando il modello fornito in TFS 2010 (labdefaulttemplate.xaml).

Per gli ambienti fisici, tale modello non è immediatamente disponibile. Tuttavia, poiché questa automazione si basa su Windows Workflow Foundation 4.0, è possibile personalizzare il modello o crearne uno personalizzato utilizzando le attività nella casella degli strumenti per automatizzare la distribuzione e il test delle compilazioni nei computer fisici. Di conseguenza, è possibile eseguire la stessa operazione per gli ambienti non Hyper-V, sebbene sia opportuno considerare che le azioni specifiche dell'ambiente virtuale (ripristino a uno snapshot, avvio o arresto dell'ambiente) non saranno disponibili per gli ambienti fisici e non Hyper-V.

Lab Management funziona con gli ambienti virtuali ospitati in Hyper-V e gli ambienti fisici, ma le funzionalità di ogni tipo di ambiente sono diversi. Gli ambienti virtuali in host non Hyper-V sono considerati uguali agli ambienti fisici. Nella tabella seguente sono indicate le funzionalità differenti per ogni tipo di ambiente.

Funzionalità

Ambienti virtuali (Hyper-V)

Ambienti fisici

Ambienti virtuali (non Hyper-V)

Test

Eseguire unit test

Supportato

Supportato

Supportato

Eseguire test manuali

Supportato

Supportato

Supportato

Eseguire il test codificato dell'interfaccia utente e altri test automatizzati

Supportato

Supportato

Supportato

Archiviare bug dettagliati utilizzando gli adattatori diagnostici

Supportato

Richiesta personalizzazione

Richiesta personalizzazione

Distribuzione della compilazione

Flusso di lavoro compilazione, distribuzione e test automatico

Supportato

Creazione e gestione di ambienti

Creare l'ambiente dal modello di macchina virtuale

Supportato

n/d

Non supportato

Avviare, arrestare e creare lo snapshot dell'ambiente

Supportato

Non supportato

Non supportato

Connettersi utilizzando il Visualizzatore dell'ambiente

Supportato

Non supportato

Non supportato

Clonare l'ambiente tramite l'isolamento rete

Supportato

n/d

Non supportato

Per le informazioni più recenti sul supporto per gli ambienti che utilizzano le macchine virtuali in esecuzione in host non Hyper-V, ad esempio VMware, vedere la seguente pagina Web Microsoft.

Operazioni successive

Attività

Contenuto correlato

Esercitazione: individuare le risorse per configurare inizialmente Team Foundation Server, SCVMM e Lab Management e quindi creare ed eseguire le macchine virtuali negli ambienti

Guida introduttiva su Lab Management

Creare ambienti virtuali per il lab: Lab Management fornisce diversi modi per creare e utilizzare gli ambienti virtuali. Viene descritto come creare gli ambienti virtuali che meglio si adattano alle proprie esigenze.

Concetti e linee guida per ambienti virtuali

Creazione di ambienti virtuali

Integrare Lab Management nel ciclo di vita di test: viene descritto come utilizzare gli ambienti virtuali per eseguire il test con maggiore efficienza e la riproduzione dei bug da creare e condividere con più semplicità.

Utilizzo di ambienti virtuali per il test

Acquisire lo stato completo di un ambiente virtuale: Lab Management gli snapshot consentono di archiviare lo stato esatto di un ambiente in un determinato momento. I tester e gli sviluppatori possono quindi eseguire il rollback dell'ambiente a tale stato. È possibile utilizzare gli snapshot per creare un ambiente pulito per le attività di test o per riprodurre un bug o un problema di sviluppo.

Utilizzo di snapshot per archiviare, riprodurre e condividere lo stato degli ambienti virtuali

Compilare, distribuire e testare l'applicazione automaticamente:  combinare gli ambienti virtuali di Lab Management con i flussi di lavoro di Team Build e i piani di test di Test Manager per automatizzare la distribuzione e il test delle compilazioni pianificate regolarmente di un'applicazione in fase di sviluppo.

Distribuzione di un'applicazione in un ambiente virtuale

Personalizzare il modello predefinito del flusso di lavoro: aggiungere ulteriori attività al modello di flusso di lavoro lab predefinito per soddisfare le richieste aggiuntive nello scenario di compilazione, distribuzione e test.

Personalizzazione del flusso di lavoro di Lab Management

Reperire ulteriori informazioni e assistenza nei blog e forum MSDN: i blog e i forum di Lab Management forniscono informazioni per la risoluzione dei problemi e le risposte a domande specifiche sull'utilizzo degli ambienti virtuali.

Risoluzione dei problemi relativi a Lab Management

Vedere anche

Attività

Configurazione e amministrazione di Lab Management

Concetti

Debug con IntelliTrace

Test dell'applicazione

Altre risorse

Prima configurazione di Lab Management