1 / 27

Virtualizace testovacích prostředí ( aka Lab Management)

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í.

Download Presentation

Virtualizace testovacích prostředí ( aka Lab Management)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Virtualizace testovacích prostředí (akaLab Management) Michael JuřekSoftware ArchitectMicrosoft s.r.o.

  2. 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í

  3. Tradiční postup testování

  4. Virtualizované testování

  5. Výhody virtualizovaného testování • Sdílení kontextu chyby mezi vývojářem a testerem • Pomocí 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émy • Network Isolation – automatická izolace interních virtuálních sítí brání konfliktům IP adres

  6. 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í

  7. Test Manager

  8. Možnosti SCVMM • Centrální správa hostitelů a virtuálů • Všechny operace nabízené HyperV • Nad rámec funkčnosti HyperV • Přesun virtuálů mezi hostiteli • Klonování virtuálů • Uložení virtuálu do knihovny • Vytvoření virtuálu z částí uložených v knihovně • Monitorování HW prostředků hostitele

  9. Virtuální testovací prostředí • 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

  10. Schopnosti prostředí (capabilities) • Testing • Spouštění testů UI během automatického buildu anebo manuálně z Test Manageru • Workflow • Spouštění skriptů uvnitř virtuálního prostředí během automatického buildu • Network Isolation • Nastavení síťových adaptérů a virtuálních sítí pro zamezení konfliktům jmen a IP adres

  11. Šablony v Lab Managementu • Šablona počítače • Odkaz na virtuál uložený v knihovně SCVMM • Možnosti nastavení: • Množství operační paměti • Role, 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 rolemi • Možnost přepsání parametrů počítačů • Definice schopností virtuálního prostředí

  12. demo Laboratorní prostředíPráce se šablonami

  13. 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í

  14. Hardware • Hostitel • RAM, CPU a disková propustnost (čtení i zápis) pro součet virtuálů a vlastní potřebu • Pří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 Server • Např. 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

  15. Software virtuálů • Operační systém a aktualizace • Další potřebný software ve stavu před instalací aplikace (např. SQL server) • Nainstalovaní, nenakonfigurovaní agenti • Network Isolation – vyžaduje Lab Agent • Workflow – vyžaduje Lab Agent a Build Service • Test – vyžaduje Lab Agent a Test Agent • Volitelně možno uvést do předinstalovaného stavu (SYSPREP)

  16. Laboratorní prostředí a doména • Možné varianty: • Externí doména – není možné používat Network Isolation, nelze mít více instancí • Interní doména – jeden z počítačů prostředí funguje jako Domain Controller • 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ím • Není nutné vytvářet duplikované lokální účty • Nastavení na úrovni Team Project Collection

  17. Způsoby vytvoření prostředí • 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)

  18. Úskalí virtuálů • 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ázat HKEY_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ály • Dobu života virtuálů lze kontrolovat sledováním data vytvoření, data modifikace a data posledního přístupu

  19. 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í

  20. Operace nad seznamem prostředí • 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čům • Oprava schopností prostředí • Označení „In Use“ spojené s komentářem

  21. Operace nad připojeným prostředím • Všechny operace, které lze provést nad seznamem prostředí • Interakce s prostředím • Ctrl-Alt-Del, Full Screen • Systémové informace o virtuálu • Manipulace 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 snapshotu • Soubor lze sdílet, jeho otevřením se lze připojit k příslušnému prostředí a snapshotu

  22. demo Základní operace s prostředím

  23. 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í

  24. Network Isolation Internal network Copy 1 • 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 controller • Není třeba konfigurovat, vše nastaví Lab Agent 10.10.1.5 10.10.1.6 IIS DB 172.22.48.16 172.22.48.15 Lab network Copy 2 10.10.1.5 10.10.1.6 IIS DB 172.22.48.18 172.22.48.17

  25. Workflow • Umožňuje spouštět libovolný skript uvnitř virtuálu s právy služby Build Service • Typicky 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é úlohy • Lab Agent (uvnitř virtuálu) – konfiguruje Build Agenta • Build Controller (vně virtuálu) – spouští workflow a úkoluje Build Agenty

  26. Testing • Umožňuje spouštět automatizované testy UI uvnitř virtuálu a shromažďovat jejich výsledky • V rámci build workflow • V rámci testování z Test Manageru • Komponenty: • Test Agent (uvnitř virtuálu) – spouští testy, sbírá výsledky a doprovodná data • Lab Agent (uvnitř virtuálu) – konfiguruje Test Agenta • Test Controller (vně virtuálu) – řídí a úkoluje Test Agenty

  27. Závěrem • Správa testovacích prostředí je výborně integrována do Visual Studia 2010 • Virtualizace 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/ • Chcetepomoci při implementaci? • mjurek@microsoft.com

More Related