Upload
yardley-pittman
View
29
Download
0
Embed Size (px)
DESCRIPTION
Virtualizace testovacích prostředí ( aka Lab Management). Michael Juřek Software Architect Microsoft s.r.o. Agenda. Pro č virtualizované testování? Architektura a základní pojmy Příprava, vybavení a vytvoření Základní operace s prostředím Služby prostředí. Tradiční postup testování. - PowerPoint PPT Presentation
Citation preview
Virtualizace testovacích prostředí (aka Lab Management)
Michael JuřekSoftware ArchitectMicrosoft s.r.o.
Proč virtualizované testování?Architektura a základní pojmyPříprava, vybavení a vytvořeníZákladní operace s prostředímSlužby prostředí
Agenda
Sdílení kontextu chyby mezi vývojářem a testeremPomocí snapshotu virtuálního stroje
Výrazné snížení času a pracnosti přípravy testovacího prostředí
Automatické klonováníSamoobslužné vytváření bez nutnosti znalosti virtualizačních produktů
Paralelní běh více instancí testovacího prostředíMožnost komplexních konfigurací
Distribuované systémyNetwork Isolation – automatická izolace interních virtuálních sítí brání konfliktům IP adres
Výhody virtualizovaného testování
Proč virtualizované testování?Architektura a základní pojmyPříprava, vybavení a vytvořeníZákladní operace s prostředímSlužby prostředí
Agenda
Team Foundation Server (TFS)
Lab Management
Test Management
Build management
Work Item Tracking
Source Control
Hyper-V Hosts
Virtual Machin
e1Virtual Machin
e2Virtual Machin
en
Library Shares
Library Share1
Library Share2
Library Sharen
System Center Virtual Machine Manager
(SCVMM)
Test Manager
Centrální správa hostitelů a virtuálůVšechny operace nabízené HyperV
Nad rámec funkčnosti HyperVPřesun virtuálů mezi hostiteliKlonování virtuálůUložení virtuálu do knihovnyVytvoření virtuálu z částí uložených v knihovněMonitorování HW prostředků hostitele
Možnosti SCVMM
Skládá se ze skupiny virtuálních počítačů z nichž každý má nějakou roli (např. webový server, databázový server, klient apod.)
V triviálním případě jediný virtuální počítač
Skupina je spravována jako celek:Spuštění/zastaveníVytvoření/naklonování/vymazáníVytvoření/zrušení/aplikování snapshotu
Virtuální testovací prostředí
TestingSpouštění testů UI během automatického buildu anebo manuálně z Test Manageru
WorkflowSpouštění skriptů uvnitř virtuálního prostředí během automatického buildu
Network IsolationNastavení síťových adaptérů a virtuálních sítí pro zamezení konfliktům jmen a IP adres
Schopnosti prostředí (capabilities)
Šablona počítačeOdkaz na virtuál uložený v knihovně SCVMMMožnosti nastavení:
Množství operační pamětiRole, kterou typicky zastáváProfil OS, pokud je proveden SYSPREP (klíč, jméno, heslo apod.)
Šablona prostředíSada šablon počítačů s přidělenými rolemiMožnost přepsání parametrů počítačůDefinice schopností virtuálního prostředí
Šablony v Lab Managementu
Proč virtualizované testování?Architektura a základní pojmyPříprava, vybavení a vytvořeníZákladní operace s prostředímSlužby prostředí
Agenda
HostitelRAM, CPU a disková propustnost (čtení i zápis) pro součet virtuálů a vlastní potřebuPříklad - můj demo stroj s 10 virtuály:
1 quad-core CPU, 16 GB RAM, 4x SATA disk (RAID 10)Cena v květnu 2009 cca 30.000 Kč
Library ServerNapř. NAS s RAID5 (výrazná převaha čtení)
SíťMezi hostitelem a knihovnou by měla být 1 Gbps
http://blogs.msdn.com/b/lab_management/archive/2010/05/13/planning-considerations-for-setting-up-a-lab-managed-by-visual-studio-lab-management-2010.aspx
Hardware
Operační systém a aktualizaceDalší potřebný software ve stavu před instalací aplikace (např. SQL server)Nainstalovaní, nenakonfigurovaní agenti
Network Isolation – vyžaduje Lab AgentWorkflow – vyžaduje Lab Agent a Build ServiceTest – vyžaduje Lab Agent a Test Agent
Volitelně možno uvést do předinstalovaného stavu (SYSPREP)
Software virtuálů
Možné varianty:1. Externí doména – není možné používat
Network Isolation, nelze mít více instancí2. Interní doména – jeden z počítačů prostředí
funguje jako Domain Controller3. Bez domény – režim „workgroup“Servisní účet v externí doméně:
Pro možnosti 2. a 3. je používán virtuály pro komunikaci s okolímNení nutné vytvářet duplikované lokální účtyNastavení na úrovni Team Project Collection
Laboratorní prostředí a doména
Z fyzických počítačů s Test Agenty (New physical environment)
Omezené možnosti, pouze pro speciální případy (HW testování apod.)
Z existujících virtuálů nasazených na hostiteli (Compose)Z definovaných šablon počítačů, jejich nastavením a naklonováním (New virtual environment)Naklonováním šablony prostředí (Deploy)
Způsoby vytvoření prostředí
Vypršení hesla počítače v externí doméněHeslo je automaticky měněno, vrácením ke staršímu snapshotu dojde k jeho „zapomenutí“Změnu hesla lze zakázatHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DisablePasswordChange = 1
Nastavení lze též vynutit skupinovou politikou
Aktualizace uložených (neběžících) virtuálůLze použít Microsoft Offline Virtual Machine Servicing Tool
Zahlcení virtuályDobu života virtuálů lze kontrolovat sledováním data vytvoření, data modifikace a data posledního přístupu
Úskalí virtuálů
Proč virtualizované testování?Architektura a základní pojmyPříprava, vybavení a vytvořeníZákladní operace s prostředímSlužby prostředí
Agenda
Stejné jako při správě přes HyperV, ale pro celé prostředí (více počítačů) najednou:
Spuštění (Start)Pozastavení (Pause) – zůstávají v paměti„Čisté“ zastavení (Shut down)„Násilné“ zastavení (Power off)
Speciální operace pro Lab Management:Připojení se k prostředí nebo jednotlivým počítačůmOprava schopností prostředíOznačení „In Use“ spojené s komentářem
Operace nad seznamem prostředí
Všechny operace, které lze provést nad seznamem prostředíInterakce s prostředím
Ctrl-Alt-Del, Full ScreenSystémové informace o virtuáluManipulace se snapshoty:
Vytvoření (Create), obnovení (Restore), přejmenování (Rename), vymazání (Delete)Sdílení (Share)
Vytvoří soubor .lvr s definicí prostředí a snapshotuSoubor lze sdílet, jeho otevřením se lze připojit k příslušnému prostředí a snapshotu
Operace nad připojeným prostředím
Proč virtualizované testování?Architektura a základní pojmyPříprava, vybavení a vytvořeníZákladní operace s prostředímSlužby prostředí
Agenda
Interní virtuální síť pro každé prostředíMAC adresa, IP adresa i jméno virtuálního počítače mohou být ve více kopiích stejnéVirtuály jsou též připojeny na externí síť pomocí unikátní IP adresy a jména Jeden z počítačů může být domain controllerNení třeba konfigurovat, vše nastaví Lab Agent
Network Isolation
IIS DB
10.10.1.510.10.1.6
172.22.48.15 172.22.48.16
Copy 1
IIS DB
10.10.1.510.10.1.6
172.22.48.17 172.22.48.18
Copy 2
Internal network
Labnetwork
Workflow
Umožňuje spouštět libovolný skript uvnitř virtuálu s právy služby Build ServiceTypicky užíváno k nasazení nové verze aplikace do virtuálního prostředí (fantazii se ale meze nekladou)Komponenty:
Build Agent (uvnitř virtuálu) – provádí přidělené úlohyLab Agent (uvnitř virtuálu) – konfiguruje Build AgentaBuild Controller (vně virtuálu) – spouští workflow a úkoluje Build Agenty
Umožňuje spouštět automatizované testy UI uvnitř virtuálu a shromažďovat jejich výsledky
V rámci build workflowV rámci testování z Test Manageru
Komponenty:Test Agent (uvnitř virtuálu) – spouští testy, sbírá výsledky a doprovodná dataLab Agent (uvnitř virtuálu) – konfiguruje Test AgentaTest Controller (vně virtuálu) – řídí a úkoluje Test Agenty
Testing
Závěrem
Správa testovacích prostředí je výborně integrována do Visual Studia 2010Virtualizace testovacího prostředí dramaticky snižuje pracnost přípravy prostředí a zlepšuje efektivitu využití HW prostředků.Snapshot virtuálního prostředí je nejvyšší známou formou dokumentace chyby.Základní zdroj informací:
http://blogs.msdn.com/lab_management/Chcete pomoci při implementaci?