1 / 35

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. demo. Co bych později nestihnul…. 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í.

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í (aka Lab Management) Michael JuřekSoftware ArchitectMicrosoft s.r.o.

  2. demo Co bych později nestihnul…

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

  4. Některé bolesti testování • Složitá konfigurace zahrnující více počítačů, vytvoření prostředí je nákladné • Řada kombinací, kterou je třeba otestovat • Operační systémy • Jazykové verze • Internetové prohlížeče • Výrazné procento chyb nelze reprodukovat • Agilní metodiky si žádají rychlé výsledky • Nízký stupeň využití testovacího HW

  5. Jak by to bylo hezké, kdyby… • … neexistovaly nereprodukovatelné chyby • … nebyly bariéry mezi vývojáři a testery • … vytvoření realistického testovacího prostředí by místo týdnů trvalo minuty (např. jako součást buildu)

  6. Tradiční postup testování

  7. Virtualizované testování

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

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

  10. Test Manager

  11. Role v SCVMM • SCVMM server • Spravuje hostitele a knihovní servery • Obsluhuje konfigurační databázi (MS SQL) • Library Server (knihovní server) • Uložené referenční virtuály, ISO image instalačních DVD apod. • Pro většinu operací se z něj pouze čte • Host (hostitel) • Provozuje virtuály (HyperV) • 1 nebo více hostitelů tvoří Host Group

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

  13. demo Představení SCVMM

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

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

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

  17. demo Nastavení LM v TFSLaboratorní prostředíPráce se šablonami

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

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

  20. 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)

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

  22. 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)

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

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

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

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

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

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

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

  30. demo Network Isolation

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

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

  33. demo Workflow, Testing

  34. Co VS 2010 také umí… … ale nebylo to obsahem dnešní prezentace • Definice testovacích případů s vazbou na požadavky • Vytváření testovacích plánů • Spouštění testů se sběrem dat o kontextu a s možností přehrání interakce při dalším spuštění („fast forward“) • Monitorování průběhu testování • Automatizované testování uživatelského rozhraní

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