what is infrastructure testing
Tento komplexní průvodce testováním infrastruktury zahrnuje jeho výhody, výzvy, nástroje a metodiky testování infrastruktury:
Infrastruktura je sdílena mezi mnoha projekty. Testování infrastruktury je testování závislostí hardwaru a softwaru požadovaných pro spuštění softwarových produktů. Pomáhá pokrýt rizika produktu související s cílovou infrastrukturou.
Tento výukový program vám pomůže naučit se testování infrastruktury od nuly. Pokryjeme úplné podrobnosti, jako jsou výhody a výzvy, kdo může provádět, kdy provést, a techniky provádění tohoto testování. V tomto výukovém programu jsou také zahrnuty nástroje pro testování infrastruktury.
Co se naučíte:
- Co je to infrastruktura?
- Co je to testování infrastruktury?
- Metodiky zkoušení infrastruktury
- Nástroje pro testování infrastruktury
- Závěr
Co je to infrastruktura?
Ekosystém IT infrastruktury zahrnuje platformy operačních systémů (například Windows, UNIX, Linux, macOS), platformy počítačového hardwaru (například Dell, IBM, Sun, HP, Apple), internetové platformy (jako Apache, Cisco, Microsoft IIS, .NET). ), Správa a ukládání dat (například IBM DB2, Oracle, SQL Server, MySQL) a podnikové softwarové aplikace (jako SAP, Oracle, Microsoft).
Co je to testování infrastruktury?
Každý software vyžaduje k provádění svých akcí infrastrukturu. Testování infrastruktury je testovací proces, který zahrnuje hardware, software a sítě. Zahrnuje testování jakéhokoli kódu, který čte konfigurační hodnoty z různých věcí v rámci IT a porovnává je se zamýšlenými výsledky.
Snižuje riziko selhání. Toto testování zahrnuje testovací cvičení, postupy, které zaručují, že aplikace IT a základní infrastruktura jsou vyladěny tak, aby poskytovaly výkon, přizpůsobivost, neochvějnou kvalitu, dostupnost, výkon a škálovatelnost. Cílem je otestovat infrastrukturu mezi testovacími prostředími, testovacími nástroji a kancelářskými prostředími.
Proč je zapotřebí testování infrastruktury?
Organizace utrácejí mnoho dolarů, aby zajistily, že jejich obchodní aplikace budou otestovány k dokonalosti. Základní základna, tj. Infrastruktura, která tyto aplikace hostuje a předává, je však jednou za čas testována a obecně podceňována.
jak vytvořit java aplikaci v zatmění
Testování infrastruktury je nutné ke zmírnění rizika selhání jakékoli hardwarové nebo softwarové komponenty. Když je pro software připraven nový design infrastruktury, je nutné provést toto testování. Je nutné zajistit, aby nová funkce infrastruktury fungovala podle očekávání. Problémy jsou pravděpodobnější, když je do projektu integrován nový modul infrastruktury.
Selhání infrastruktury nastane, když není plánováno žádné testování na škálovatelné infrastruktuře. Aby se zabránilo narušení a problémům na poslední chvíli, je nutné provést toto testování.
Toto testování je nutné k identifikaci vad, které nebyly efektivně nalezeny během různých testovacích procesů. Je důležité analyzovat softwarovou aplikaci, kdykoli se změní hardware a softwarové zdroje. Provádí se analýza účinnosti a výkonu systému.
Je vyžadována včasná implementace tohoto typu testování, protože projekty zahrnují vysoké náklady na infrastrukturu. Proto je nutná dobrá znalost tohoto testování, aby se minimalizovaly náklady spojené s riziky projektu. Aby nedocházelo k poruchám, je toto testování nutné jako průmyslový standard.
Jaké jsou výhody testování infrastruktury?
Plánovaný a vyčerpávající přístup k testování infrastruktury poskytuje softwarovému produktu i organizacím mnoho výhod.
Níže je uvedeno několik výhod:
- Snížení výrobních poruch.
- Vylepšení identifikace defektů před provedením výroby. Upgradujte kvalitu infrastruktury s nulovým skluzem vad do výroby.
- Zrychlené provedení testu, posílení předčasného spuštění.
- Pomáhá při roční úspoře nákladů v provozu i v podnikání.
- Potvrďte, že software funguje systematickým a kontrolovaným postupem.
- Snížení prostojů.
- Zlepšení kvality služeb.
- Dostupnost stabilních prostředí.
- Snížení nákladů spojených s riziky.
- Lepší uživatelská zkušenost.
Výzvy testování infrastruktury
Podívejme se na několik výzev, kterým společnosti čelí, když se snaží zavést testování infrastruktury.
# 1) Vzdálené prostředí
Testovací prostředí nebo prostředky jsou umístěny v topograficky vzdálených lokalitách, takže testovací týmy spoléhají na podpůrné skupiny v dané oblasti, aby zvládly výzvy související se zařízením, hardwarovými komponentami, softwarovými komponentami, sítí atd. To často vyžaduje určité investice s ohledem na čas a příčiny zpoždění, zejména pokud se týmy nacházejí v různých časových pásmech.
# 2) Absence specializovaného týmu
Nedostatek znalostí v týmu je velkou výzvou k provedení tohoto testování. Specializovaný tým je povinen udržovat informace týkající se všech činností, včetně plánů, plánů, pokrytí, zpráv o stavu.
# 3) Vyšetřování problémů s testovacím prostředím
Mnohokrát nebylo možné vyřešit problémy s testovacím prostředím a je třeba je vyšetřit. Do vyřešení problému je nutná koordinace s příslušnými týmy.
# 4) Údržba prostředí na jednom místě
Udržování společného skladiště testovacích prostředí, jejich stará kompatibilita i nejnovější verze představují při provádění tohoto testování velkou výzvu. Podrobnosti o připojení a konfigurace všech verzí nejsou zachovány.
# 5) Ruční práce
Několik činností zapojených do tohoto testování vyžaduje manuální práci, protože nejsou k dispozici žádné nástroje. To vede k lidské chybě a zpoždění v procesu.
# 6) Chybějící standardní definice pro testování infrastruktury
Většina lidí si stále není vědoma implementace a procesů. Nesprávné znalosti a porozumění často vedou k obtížím při provádění. Vzniká spousta nových problémů, které mohou ovlivnit stabilitu procesu.
# 7) Izolované týmy
Mezi místy týmu je velká propast. To obvykle vede k nedostatečné transparentnosti a špatné týmové práci.
Kdo může provádět testování infrastruktury?
Do tohoto typu testování jsou zapojeny různé týmy. Níže jsou vysvětleny:
# 1) Tým pro testování infrastruktury
Tým pro testování infrastruktury má spoustu znalostí souvisejících s tímto testováním. Jsou také zapojeni do týmu pro zajišťování kvality. Tento tým ví, jak testovat IT infrastrukturu. Tento tým ví, jak navrhnout testovací případy pro tento typ testování.
# 2) Tým správce systému
Tým správce systému často testuje infrastrukturu na úrovni sítě. Týmový design a zdokumentování testovacích případů na základě jejich zkušeností. Jsou zodpovědní za to, že aplikace nebudou ovlivněny po jakékoli změně v síti.
# 3) Tým údržby infrastruktury
Tento tým hraje velmi důležitou roli. Jsou zapojeni v rané fázi a jsou zodpovědní za nastavení testovacích prostředí podle požadavků. Podílejí se na plánování testů a údržbě infrastrukturních prostředí.
# 4) Tým zajišťování kvality
Tým QA je odpovědný za provedení regresního testu. Jsou také zapojeni do testování integrace. Provádějí testování na různých testovacích prostředích, která jsou vytvořena podle různých infrastruktur.
# 5) Projektový manažer
Manažer projektu je odpovědný za zpracování projektu. Podílejí se na plánování, projektování, dokumentaci testovacích případů, které jsou pro tento typ testování vyžadovány. Projektový manažer je synchronizován se všemi týmy.
Kdy provést testování infrastruktury?
Je naléhavě nutné provést toto testování vždy, když jsou zavedeny jakékoli změny související s infrastrukturou.
Příklady takových změn jsou:
- Je vyvinut jakýkoli nový patch v systému.
- Dojde k jakékoli nové aktualizaci systému.
- Jakákoli aktualizace v operačním systému.
- Verze / struktura databáze je upgradována.
- Pokud je pro servery k dispozici upgrade paměti.
- Implementace nového nástroje.
- Opravy zabezpečení.
- Aktualizace softwaru.
Někdy se tento typ testování stává důležitějším, když dojde k migraci databáze nebo datového centra. Je třeba více se zaměřit, když existují různé a rychlé změny v aplikaci a když se jedná o migraci infrastruktury.
Provádí se také při zavedení podpory nových zařízení pro software.
Příklad:
- Nové notebooky / stolní počítače
- Nová mobilní zařízení
- Nové nástroje třetích stran
Metodiky zkoušení infrastruktury
V tom máme různé moduly. Několik z nich je uvedeno níže:
- Infrastruktura server / klient
- Migrace dat
- Testování infrastruktury v cloudu
- Testování na úrovni sítě
- Instalace / odinstalace / nasazení
- Zkušební infrastruktura prostředí
- TDD přístup
# 1) Infrastruktura server / klient
Mezi servery patří webové servery, souborové servery, poštovní servery, servery proxy, virtuální servery a fyzické servery na hardwaru. Klient zahrnuje OS, aplikace, uživatelská nastavení atd. Servery provozují různé služby a tyto služby mohou klienti používat.
Hlavním cílem je otestovat kvalitu serverů, desktopů, operačních systémů a hardwaru. Komponenty server / klient jsou testovány, aby se zajistilo zlepšení výkonu infrastruktury v produkčním prostředí. Zahrnuje také testování instalace nebo odinstalace aplikací, testování kompatibility prohlížečů, testování integrace s různými verzemi OS a uživatelská nastavení.
Postup:
- Nejdůležitější věcí je shromáždit požadavky od zúčastněných stran.
- Navrhněte testovací plán podle porozumění požadované infrastruktuře.
- Poté jsou navrženy testovací případy zahrnující podporu operačních systémů, scénáře upgradu, rozsah testování infrastruktury serveru / klienta a také testování funkčnosti.
- Po schválení testovacích případů provede tým QA každý scénář a odpovídající testovací případy.
Všechny změny související se serverem / klientem, jako je upgrade, změny konfigurace, jsou již testovány na nastaveních QA, takže je zajištěno, že v produkčním prostředí bude možný menší dopad. Před nasazením do výroby budou také testovány různé verze OS. Navíc pokud při výrobě něco selhalo, jsou záložní postupy předem testovány, aby bylo zajištěno zálohování.
# 2) Migrace dat
Migrace dat zahrnuje data migrovaná ze staré verze na novou verzi, data migrovaná z jednoho serveru na druhý a také data migrovaná do různých konfigurací.
Hlavním cílem testování migrace dat je testování migrace dat na různých verzích, serverech, nových sestaveních. Vyzkoušejte aplikaci a ověřte, že z migrace nevyplývá žádný dopad. Provádí se také testování migrace dat, aby se ověřil výkon a latence v aplikaci.
Postup:
- Vyzkoušejte aplikaci před a po migraci.
- Vyzkoušejte servery před a po migraci dat, abyste zajistili, že nebudou pozorovány žádné změny.
- Otestujte, že po migraci dat nejsou ve výkonu aplikace pozorovány žádné změny.
- Otestujte aplikaci s různými verzemi databáze
- Testování nového sestavení je kompatibilní se všemi verzemi databáze.
- Vyzkoušejte různá nastavení konfigurace serveru s různými verzemi databáze
Pomocí testování migrace dat lze zjistit neshodné konfigurace serverů. Jakékoli problémy se sestavením serveru, pokud existují při provádění migrace dat, lze vyřešit před nasazením produkce. Testování migrace dat zvyšuje kvalitu a stabilitu produktu. Toto testování později pomůže při testování instalace při nasazování aplikace v produkčním prostředí.
# 3) Testování infrastruktury v cloudu
Informace a data jsou většinou uloženy na virtuálních serverech a tyto servery jsou uchovávány a spravovány dodavateli cloud computingu, jako je AWS.
Hlavním cílem je certifikace cloudových služeb pro různé verze aplikací. Vyzkoušejte architekturu aplikace v cloudu. Skutečná aplikace se simuluje na cloudu a testuje se výkon a škálovatelnost aplikací.
Postup:
- Vyzkoušejte zatížení aplikace s různými konfiguracemi.
- Proveďte regresní testování a ujistěte se, že aplikace neovlivňuje testování zátěže.
- Vyzkoušejte, zda je aplikace prohlížeč kompatibilní v cloudovém prostředí.
- Vyzkoušejte instalaci aplikace na cloudu.
- Vyzkoušejte, zda aplikace funguje očekávaným způsobem v různých cloudových prostředích.
Testování infrastruktury v cloudu zajišťuje bezchybnou implementaci aplikace v produkčním prostředí. Pomáhá poznat výkon, škálovatelnost a stabilitu aplikace. Pomáhá při využívání zdrojů nalezených v cloudu, jako je jakýkoli hardware, software a infrastruktura.
# 4) Testování na úrovni sítě
Síť je nejdůležitější součástí infrastruktury aplikace. Síť pomáhá při komunikaci mezi servery, klienty a dalšími sítěmi. Sítě mají různé moduly, jako jsou proxy servery, infrastruktura pro připojení k internetu.
Hlavním cílem je kontrolovat a spravovat jakékoli problémy na úrovni sítě, jako je nadměrné využívání zdrojů, výpadky serveru, konfigurace systému, infrastruktura potřebná pro provoz, opravy operačního systému.
Postup:
- Otestujte síťovou vrstvu pro budoucí aktualizace aplikace.
- Vyzkoušejte záložní postupy v případě selhání v produkčním prostředí.
- Proveďte testování systému, testování UAT, testování zabezpečení.
- Navrhněte testovací případy a připravte testovací data.
- Zajistěte, aby po novém vydání nebyly ovlivněny žádné služby na úrovni serveru / sítě.
- Vyzkoušejte izolovanou síť.
- Otestujte dopad na výkon aplikace v různých sítích, jako je VPN, Wi-Fi, LAN atd.
Testování infrastruktury na úrovni sítě zkracuje dobu obnovy. Zajišťuje zálohování a obnovuje mechanismy. Pomáhá také při zabezpečení aplikací.
třídy IP adres a maska podsítě
# 5) Instalace / odinstalace / nasazení
Hlavním cílem testování infrastruktury při provádění instalace je zajistit, aby vždy, když nový klient používá aplikaci, nevznikly při první instalaci aplikace žádné problémy. Odinstalace aplikace se provádí za účelem otestování procesu ukončení aplikace.
Postup:
- Vyzkoušejte instalační balíčky požadované pro instalaci aplikace.
- Vyzkoušejte další knihovny, vytvářejte balíčky.
- Vyzkoušejte čas potřebný k instalaci a odinstalování aplikace.
- Nainstalujte aplikaci do různých operačních systémů.
- Je vyžadován test na místo na disku.
- Vyzkoušejte, zda jsou po odinstalování aplikace odstraněny všechny soubory.
Testování infrastruktury při instalaci / odinstalaci / nasazení zajišťuje, že aplikaci lze nainstalovat přes síť v konkrétním čase. Zajišťuje, že jakoukoli opravu lze později nainstalovat nebo ne. Pomáhá vylepšovat úložiště požadované aplikací.
# 6) Testujte infrastrukturu prostředí
Testovací prostředí je sbírka hardwaru, softwaru, nástrojů a procesů. K provedení přesného a efektivního testování je nutné testovací prostředí. Testovací prostředí zahrnuje také pracoviště, kde je testerům poskytována dobrá síť, počítač a napájení, aby mohli vykonávat svou práci.
Hlavním cílem je zkontrolovat instalaci softwaru, nastavení konfigurace aplikace, vybrat správné testovací nástroje, které podporují plánování testů, provádění testů. Zajišťuje také kontinuitu provádění testu.
Postup:
- Nastavte testovací prostředí pro pravidelná vydání projektu.
- Vytvořte testovací prostředí pro vydání oprav hotfix.
- Vytvářejte řešení pro správu problémů se serverovým a klientským prostředím.
- Dokončete testovací nástroje pro plán testování, návrh testu a provedení.
- Rozhodněte se o nástrojích pro ladění a hlášení chyb.
- Vytvořte dokument pro nastavení testovacího prostředí.
Použití nástrojů a testovacích prostředí má několik výhod. Je pozorována vyšší kvalita. Produktivita se zvyšuje s použitím nástrojů. Testovací činnosti se provádějí zpracovaným způsobem. Dokumentace testovacího prostředí pomáhá novým členům týmu lépe porozumět.
# 7) TDD přístup
Test-Driven Development nebo TDD framework je metoda k prvnímu napsání testovacích případů na základě dokumentů s požadavky a poté implementaci funkčnosti podle testu.
Hlavním cílem je znát zdroje infrastruktury potřebné pro projekt. Účelem je definovat a organizovat infrastrukturu pro zabezpečení, provoz a produkci.
Postup:
- Návrhový dokument pro požadavky na infrastrukturu.
- Návrh testovacího plánu pokrývajícího infrastrukturu požadovanou pro aplikaci.
- Navrhněte testovací případy zahrnující testy infrastruktury.
- Vyzkoušejte různé konfigurace.
Přístup TDD pomáhá zlepšit složitost projektu. Před odesláním do výroby se otestují všechny změny infrastruktury. Vzhledem k tomu, že testy jsou již navrženy, lze implementovat různé možné konfigurace.
Nástroje pro testování infrastruktury
Kuchař, loutka, a Možné jsou různé nástroje, které slouží stejnému účelu. Tyto nástroje se používají při nasazování a konfiguraci různých serverů požadovaných pro aplikaci. Tyto nástroje slouží jako velká pomoc, když existují složité úkoly související s infrastrukturou. Díky těmto nástrojům je pro tým snadné provádět úkoly na více serverech společně.
Tým využívající tyto nástroje rychle nasazuje více aplikací, závislostí a knihoven. Mezi další aktivity patří servery, binární soubory, soubory protokolu, mechanismy obnovy, aktualizace verze, správa databáze.
# 1) Šéfkuchař
Funkce: Šéfkuchař podporuje jazyky specifické pro doménu Ruby. Proto je pro vývojáře obtížné se tento nástroj naučit. Přestože je jazyková podpora obtížná, je tento nástroj vysoce dostupný. Šéfkuchař sleduje konfiguraci typu master-slave. V mechanismu master-slave může být primární server, tj. Kuchařský server, nahrazen záložním serverem, pokud v každém případě dojde k selhání.
Můžeme nasazovat aplikace, konfigurovat infrastrukturu a také konfigurovat síť pomocí Chef. Není vysoce zabezpečený.
Cena: Je levnější než Puppet, ale dražší než Ansible. Jeho cena je přibližně 13,5 000 $ / rok až do 100 uzlů.
Webová stránka: Hlavní
# 2) Loutka
Funkce: Loutka je postavena s Ruby a podporuje DSL a Embedded Ruby. Programátor může spravovat konfiguraci pouze v případě, že je vybrána možnost Loutka. Tým správců systému si je také vědom konfigurace tohoto nástroje. Sleduje architekturu master-master. Pokud dojde k selhání aktivního hlavního serveru, může jej nahradit jiný hlavní.
Loutka je užitečná při škálovatelnosti strojů, při nastavování různých konfigurací pro každého hostitele. Pokud v konfiguraci dojde ke změně, pomůže tento nástroj provádět změny globálně. Není to ani tak vysoce zabezpečený nástroj.
Cena: Jeho cena je nejvyšší na přibližně 11 000–20 000 $ ročně až pro 100 uzlů.
Webová stránka: Loutka
# 3) Možné
Funkce: Ansible je napsán na Pythonu a podporuje také příkazové skripty YAML. Python je čitelný člověkem, a proto je tento nástroj ideální pro správce systému. Běží s jediným aktivním uzlem, ale v případě jakýchkoli poruch má také sekundární uzel.
Ansible je vysoce škálovatelný, tj. Bez problémů by mohl spravovat velké množství uzlů. Ve srovnání s Puppet je Ansible z hlediska škálovatelnosti pohodlnější. Na rozdíl od Chef and Puppet je to vysoce zabezpečený nástroj s SSH.
Cena: Jeho cena je mnohem nižší než Puppet and Chef přibližně 10 000 $ ročně až pro 100 uzlů.
Webová stránka: Možné
Závěr
Testování infrastruktury je nezbytné pro životní cyklus vývoje softwaru, protože společnostem vznikají vysoké náklady na infrastrukturu. V tomto kurzu jsou popsána různá témata, jako jsou výhody, výzvy, techniky a lidé zapojení do tohoto typu testování. Zahrnut je také pohled na nástroje pro testování infrastruktury.
Doporučené čtení
- Monitorování výkonu aplikace a IT infrastruktury pomocí nástroje eG Enterprise Tool (praktická kontrola)
- Typy testování softwaru: Různé typy testování s podrobnostmi
- Testování aplikací - do základů testování softwaru!
- Co je to gama testování? Fáze závěrečného testování
- Co je testování shody (testování shody)?
- Testování výkonu vs. zátěžové testování vs. zátěžové testování (rozdíl)
- Průzkumné testování vs. Skriptované testování: Kdo vyhrává?
- Co je testování škálovatelnosti? Jak otestovat škálovatelnost aplikace