Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Virtualizace testovacích prostředí (aka Lab Management)
Michael Juřek Software Architect Microsoft 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
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
4
Tradiční postup testování
Build Nasazení aplikace Spuštění testů
5
Virtualizované testování
Build Vytvoření VM Nasazení aplikace Snapshot VM Spuštění testů
6
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
7
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í
8
Team Foundation Server (TFS)
Test Manager Team Foundation Server (TFS) Lab Management Test Management Build management Work Item Tracking Source Control System Center Virtual Machine Manager (SCVMM) Hyper-V Hosts Virtual Machine1 Virtual Machine2 Virtual Machinen Library Shares Library Share1 Library Share2 Library Sharen
9
Role v SCVMM SCVMM server Library Server (knihovní 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
10
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
11
Typy testovacích prostředí
Fyzické: Vzdálené OS, na kterých lze spouštět automatizované testy (žádné další funkce) Fyzické nebo virtuální (libovolný virtualizační produkt) Virtuální: Vzdálené virtuální OS na HyperV, spravované SCVMM, které nabízí kompletní sadu funkcí Porovnání: Kdykoliv je to možné, použijte virtuální prostředí Dále se budeme věnovat pouze virtuálním prostředím
12
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
13
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
14
Š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í
15
Laboratorní prostředí Práce se šablonami
demo Laboratorní prostředí Práce se šablonami
16
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í
17
Hardware Hostitel Library Server Síť
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 Kč Library Server Např. NAS s RAID5 (výrazná převaha čtení) Síť Mezi hostitelem a knihovnou by měla být 1 Gbps
18
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)
19
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
20
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)
21
Ú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
22
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í
23
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
24
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
25
Základní operace s prostředím
demo Základní operace s prostředím
26
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í
27
Network Isolation Interní virtuální síť pro každé prostředí
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 IIS DB Lab network Copy 2 IIS DB
28
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
29
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
30
Network Isolation, Workflow, Testing
demo Network Isolation, Workflow, Testing
31
4/8/2017 3:55 PM 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í: Chcete pomoci při implementaci? © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.