what is infrastructure testing
Tento komplexný sprievodca testovaním infraštruktúry pokrýva jeho výhody, výzvy, nástroje a metodiky testovania infraštruktúry:
Infraštruktúra je zdieľaná medzi mnohými projektmi. Testovanie infraštruktúry je testovanie závislostí hardvéru a softvéru potrebných na spustenie softvérových produktov. Pomáha pokryť riziká produktu spojené s cieľovou infraštruktúrou.
Tento tutoriál vám pomôže naučiť sa testovanie infraštruktúry úplne od začiatku. Pokryjeme všetky podrobnosti, ako sú výhody a výzvy, kto môže vykonať, kedy vykonať a techniky, ktoré vykonajú toto testovanie. V tomto výučbe sa tiež venujeme nástrojom na testovanie infraštruktúry.
Čo sa dozviete:
- Čo je to infraštruktúra?
- Čo je to testovanie infraštruktúry?
- Metodiky testovania infraštruktúry
- Nástroje na testovanie infraštruktúry
- Záver
Čo je to infraštruktúra?
Ekosystém IT infraštruktúry zahŕňa platformy operačných systémov (napríklad Windows, UNIX, Linux, macOS), platformy počítačového hardvéru (napríklad Dell, IBM, Sun, HP, Apple), internetové platformy (napríklad Apache, Cisco, Microsoft IIS, .NET). ), Správa a ukladanie dát (napríklad IBM DB2, Oracle, SQL Server, MySQL) a podnikové softvérové aplikácie (ako SAP, Oracle, Microsoft).
Čo je to testovanie infraštruktúry?
Každý softvér vyžaduje na vykonávanie svojich činností infraštruktúru. Testovanie infraštruktúry je testovací proces, ktorý pokrýva hardvér, softvér a siete. Zahŕňa testovanie ľubovoľného kódu, ktorý číta konfiguračné hodnoty z rôznych vecí v rámci IT a porovnáva ich so zamýšľanými výsledkami.
Znižuje riziko zlyhania. Toto testovanie zahŕňa testovacie cvičenia a postupy, ktoré zaručujú, že IT aplikácie a základná infraštruktúra sú vyladené tak, aby poskytovali výkon, prispôsobivosť, neochvejnú kvalitu, dostupnosť, výkon a škálovateľnosť. Cieľom je testovať infraštruktúru medzi testovacími prostrediami, testovacími nástrojmi a kancelárskym prostredím.
Prečo je potrebné testovanie infraštruktúry?
Organizácie utrácajú veľa dolárov, aby zabezpečili dokonalé testovanie svojich podnikových aplikácií. Avšak základná základňa, tj. Infraštruktúra, ktorá tieto aplikácie hostí a prevádza, je raz za čas testovaná a všeobecne podceňovaná.
otestujte web v rôznych prehliadačoch online
Testovanie infraštruktúry je potrebné na zníženie rizika zlyhania hardvérového alebo softvérového komponentu. Keď je pre softvér pripravený nový návrh infraštruktúry, je nevyhnutné vykonať toto testovanie. Je potrebné zabezpečiť, aby funkčnosť novej infraštruktúry fungovala podľa očakávaní. Problémy vzniknú pravdepodobnejšie pri integrácii nového modulu infraštruktúry do projektu.
Poruchy infraštruktúry vznikajú, keď sa na škálovateľnej infraštruktúre neplánuje žiadne testovanie. Preto, aby sa zabránilo prerušeniu a problémom na poslednú chvíľu, je potrebné vykonať toto testovanie.
Toto testovanie je potrebné na identifikáciu chýb, ktoré sa počas rôznych testovacích procesov nenašli efektívne. Softvérová aplikácia je dôležité analyzovať vždy, keď sa zmenia hardvérové a softvérové zdroje. Vykonáva sa analýza efektívnosti a výkonu systému.
Vyžaduje sa včasná implementácia tohto typu testovania, pretože projekty zahŕňajú vysoké náklady na infraštruktúru. Preto je potrebná dobrá znalosť tohto testovania, aby sa minimalizovali náklady spojené s rizikami projektu. Aby sa zabránilo akýmkoľvek zlyhaniam, je toto testovanie potrebné ako priemyselný štandard.
Aké sú výhody testovania infraštruktúry?
Plánovaný a vyčerpávajúci prístup k testovaniu infraštruktúry poskytuje softvérovým produktom i organizáciám mnoho výhod.
Nižšie je uvedených niekoľko výhod:
- Zníženie výrobných zlyhaní.
- Vylepšenie identifikácie defektov pred vykonaním výroby. Zlepšite kvalitu infraštruktúry s nulovým sklzom chýb pri výrobe.
- Zrýchlené vykonanie testu, posilnenie skorého uvedenia do života.
- Pomáha pri ročnej úspore nákladov v prevádzke aj v podnikaní.
- Potvrďte, že softvér funguje systematicky a kontrolovane.
- Zníženie prestojov.
- Zlepšenie kvality služieb.
- Dostupnosť stabilných prostredí.
- Zníženie nákladov spojených s rizikami.
- Lepšia používateľská skúsenosť.
Výzvy pri testovaní infraštruktúry
Pozrime sa na niekoľko výziev, ktorým spoločnosti čelia, keď sa snažia prijať testovanie infraštruktúry.
# 1) Vzdialené prostredie
Testovacie prostredia alebo zdroje sú umiestnené v topograficky vzdialených lokalitách, vďaka čomu sa testovacie tímy spoliehajú na podporné skupiny v tejto oblasti, aby zvládli výzvy súvisiace so zariadením, hardvérovými komponentmi, softvérovými komponentmi, sieťami atď. To si často vyžaduje určité investície z hľadiska času a príčin meškania, najmä ak sa tímy nachádzajú v rôznych časových pásmach.
# 2) Absencia vyhradeného tímu
Nedostatok vedomostí v tíme je hlavnou výzvou na vykonanie tohto testovania. Od špecializovaného tímu sa vyžaduje, aby udržiaval informácie týkajúce sa všetkých aktivít vrátane plánov, plánov, pokrytia, správ o stave.
# 3) Vyšetrovanie problémov s testovacím prostredím
Mnohokrát sa nepodarilo vyriešiť problémy s testovacím prostredím a je potrebné ich preskúmať. Koordinácia s príslušnými tímami je nevyhnutná, kým sa problém nevyrieši.
# 4) Údržba prostredia na jednom mieste
Udržiavanie spoločného skladu testovacích prostredí, ich stará kompatibilita, ako aj najnovšie verzie, predstavujú pri vykonávaní tohto testovania veľkú výzvu. Podrobnosti o pripojení a konfigurácie všetkých verzií nie sú zachované.
# 5) Ručná práca
Niekoľko činností zapojených do tohto testovania si vyžaduje manuálnu prácu, pretože nie sú k dispozícii žiadne nástroje. To vedie k ľudskej chybe a oneskoreniam v procese.
# 6) Chýba štandardná definícia pre testovanie infraštruktúry
Väčšina ľudí stále nevie o implementácii a procesoch. Nesprávne znalosti a porozumenie často vedú k ťažkostiam pri implementácii. Vzniká veľa nových problémov, ktoré môžu mať vplyv na stabilizáciu procesu.
# 7) Izolované tímy
Medzi miestami tímov je veľká priepasť. To zvyčajne vedie k nedostatku transparentnosti a zlej tímovej práci.
Kto môže vykonávať testovanie infraštruktúry?
Do tohto typu testovania sú zapojené rôzne tímy. Ďalej sú vysvetlené:
# 1) Tím pre testovanie infraštruktúry
Tím pre testovanie infraštruktúry má veľa vedomostí týkajúcich sa tohto testovania. Sú tiež zapojení do tímu zabezpečovania kvality. Tento tím vie, ako testovať IT infraštruktúru. Tento tím vie, ako navrhnúť testovacie prípady pre tento typ testovania.
# 2) Tím správcu systému
Tím správcu systému často testuje infraštruktúru na úrovni siete. Tímový dizajn a zdokumentovanie testovacích prípadov na základe ich skúseností. Zodpovedajú za zabezpečenie toho, aby na aplikácie nedošlo po akejkoľvek zmene v sieti.
# 3) Tím údržby infraštruktúry
Tento tím hrá veľmi dôležitú úlohu. Sú zapojené v ranom štádiu a zodpovedajú za nastavenie testovacích prostredí podľa požiadaviek. Podieľajú sa na plánovaní testov a údržbe infraštruktúrnych prostredí.
# 4) Tím zabezpečovania kvality
Tím QA je zodpovedný za vykonanie regresného testu. Podieľajú sa tiež na integračnom testovaní. Vykonávajú testovanie na rôznych testovacích prostrediach, ktoré sú vytvorené podľa inej infraštruktúry.
# 5) Projektový manažér
Projektový manažér je zodpovedný za spracovanie projektu. Podieľajú sa na plánovaní, projektovaní, dokumentácii testovacích prípadov potrebných pre tento typ testovania. Projektový manažér je synchronizovaný so všetkými tímami.
Kedy vykonať testovanie infraštruktúry?
Je naliehavo potrebné vykonať toto testovanie vždy, keď sa zavedú akékoľvek zmeny týkajúce sa infraštruktúry.
Príklady takýchto zmien sú:
- Je vyvinutá akákoľvek nová oprava v systéme.
- Dochádza k novým aktualizáciám systému.
- Akákoľvek aktualizácia v operačnom systéme.
- Verzia / štruktúra databázy je aktualizovaná.
- Keď je pre servery gradácia pamäte.
- Implementácia nového nástroja.
- Opravy zabezpečenia.
- Aktualizácia softvéru.
Niekedy sa stáva tento typ testovania dôležitejším, keď dôjde k migrácii databázy alebo dátového centra. Viac pozornosti je potrebné venovať rôznym a rýchlym zmenám v aplikácii a migráciám infraštruktúry.
Vykonáva sa tiež pri zavedení podpory nových zariadení pre softvér.
Príklad:
- Nové notebooky / stolné počítače
- Nové mobilné zariadenia
- Nové nástroje tretích strán
Metodiky testovania infraštruktúry
V tomto máme rôzne moduly. Niekoľko z nich je uvedených nižšie:
- Infraštruktúra server / klient
- Migrácia údajov
- Testovanie infraštruktúry v cloude
- Testovanie na úrovni siete
- Inštalácia / odinštalovanie / nasadenie
- Skúšobná infraštruktúra prostredia
- TDD prístup
# 1) Infraštruktúra server / klient
Medzi servery patria webové servery, súborové servery, poštové servery, servery proxy, virtuálne servery a fyzické servery na hardvéri. Klient obsahuje OS, aplikácie, užívateľské nastavenia atď. Servery prevádzkujú rôzne služby a tieto služby môžu klienti využívať.
Hlavným cieľom je otestovať kvalitu serverov, desktopov, operačných systémov a hardvéru. Komponenty server / klient sú testované, aby sa zaistilo zlepšenie výkonu infraštruktúry v produkčnom prostredí. Zahŕňa tiež testovanie inštalácie alebo odinštalovania aplikácií, testovanie kompatibility prehliadačov, testovanie integrácie s rôznymi verziami OS a používateľských nastavení.
Postup:
- Najdôležitejšie je zhromaždiť požiadavky od zainteresovaných strán.
- Navrhnite plán testov podľa chápania požadovanej infraštruktúry.
- Potom sa navrhnú testovacie prípady pokrývajúce podporu operačných systémov, scenáre modernizácie, rozsah testovania infraštruktúry servera / klienta a tiež testovanie funkčnosti.
- Po schválení testovacích prípadov tím QA vykoná každý scenár a príslušné testovacie prípady.
Všetky zmeny súvisiace so serverom / klientom, ako napríklad upgrade, zmeny konfigurácie, sú už testované na nastaveniach QA, čo zaisťuje, že v produkčnom prostredí bude možný menší dopad. Pred nasadením do výroby budú tiež testované rôzne verzie OS. Navyše, ak niečo vo výrobe zlyhalo, vopred sa otestujú záložné postupy, aby sa zabezpečilo zálohovanie.
# 2) Migrácia údajov
Migrácia údajov zahŕňa údaje migrované zo starej verzie na novú, údaje migrované z jedného servera na druhý a tiež údaje migrované do rôznych konfigurácií.
Hlavným cieľom testovania migrácie údajov je testovanie migrácie údajov na rôznych verziách, serveroch a nových zostaveniach. Vyskúšajte aplikáciu, aby ste potvrdili, že migrácia nemá žiadny vplyv. Vykonáva sa tiež test migrácie údajov, aby sa overil výkon a latencia v aplikácii.
j2ee rozhovor otázky a odpovede pre skúsených
Postup:
- Vyskúšajte aplikáciu pred a po migrácii.
- Testujte servery pred a po migrácii údajov, aby ste sa uistili, že nie sú pozorované žiadne zmeny.
- Vyskúšajte, či po migrácii údajov nie sú pozorované žiadne zmeny vo výkone aplikácie.
- Vyskúšajte aplikáciu s rôznymi verziami databázy
- Testovanie nového zostavenia je kompatibilné so všetkými verziami databázy.
- Vyskúšajte rôzne konfiguračné nastavenia servera s rôznymi verziami databázy
Pomocou testovania migrácie dát je možné odhaliť nezodpovedajúce konfigurácie servera. Akékoľvek problémy so zostavením servera, pokiaľ existujú pri vykonávaní migrácie údajov, je možné vyriešiť pred produkčným nasadením. Testovanie migrácie dát zvyšuje kvalitu a stabilitu produktu. Toto testovanie neskôr pomôže pri testovaní inštalácie pri nasadení aplikácie v produkčnom prostredí.
# 3) Testovanie infraštruktúry v cloude
Informácie a dáta sa väčšinou ukladajú na virtuálnych serveroch a tieto servery sú uchovávané a spravované dodávateľmi cloudových výpočtových technológií, ako je AWS.
Hlavným cieľom je certifikácia cloudových služieb pre rôzne verzie aplikácií. Vyskúšajte architektúru aplikácie v cloude. Skutočná aplikácia sa simuluje v cloude a testuje sa výkon a škálovateľnosť aplikácií.
Postup:
- Vyskúšajte zaťaženie aplikácie s rôznymi konfiguráciami.
- Vykonajte regresné testovanie a skontrolujte, či aplikácia nemá vplyv na testovanie záťaže.
- Vyskúšajte, či je aplikáciou prehľadávač kompatibilný s cloudovým prostredím.
- Vyskúšajte inštaláciu aplikácie v cloude.
- Vyskúšajte, či aplikácia funguje podľa očakávaní v rôznych cloudových prostrediach.
Testovanie infraštruktúry v cloude zaisťuje bezchybnú implementáciu aplikácie v produkčnom prostredí. Pomáha poznať výkon, škálovateľnosť a stabilitu aplikácie. Pomáha pri využívaní zdrojov nachádzajúcich sa v cloude, ako napríklad akýkoľvek hardvér, softvér a infraštruktúra.
# 4) Testovanie na úrovni siete
Sieť je najdôležitejšou súčasťou infraštruktúry aplikácie. Sieť pomáha pri komunikácii medzi servermi, klientmi a inými sieťami. Siete majú rôzne moduly, napríklad proxy servery, infraštruktúru na pripojenie k internetu.
Hlavným cieľom je kontrolovať a spravovať všetky problémy na úrovni siete, ako sú nadmerné využitie zdrojov, výpadky servera, konfigurácia systému, infraštruktúra potrebná na prevádzku, opravy operačného systému.
Postup:
- Vyskúšajte sieťovú vrstvu na ďalšie aktualizácie aplikácie.
- Otestujte núdzové postupy v prípade poruchy výrobného prostredia.
- Vykonajte testovanie systému, testovanie UAT, testovanie bezpečnosti.
- Navrhnite testovacie prípady a pripravte testovacie dáta.
- Zaistite, aby po novom vydaní neboli ovplyvnené žiadne služby na úrovni servera / siete.
- Test na izolovanú sieť.
- Otestujte vplyv na výkonnosť aplikácie v rôznych sieťach, ako sú VPN, Wi-Fi, LAN atď.
Testovanie infraštruktúry na úrovni siete zlepšuje čas na zotavenie. Zaisťuje zálohovanie a obnovuje mechanizmy. Pomáha tiež pri zabezpečení aplikácií.
# 5) Inštalácia / odinštalovanie / nasadenie
Hlavným cieľom testovania infraštruktúry počas vykonávania inštalácie je zabezpečiť, aby vždy, keď nový klient používa aplikáciu, nevznikli pri jej prvej inštalácii žiadne problémy. Odinštalovanie aplikácie sa vykonáva za účelom otestovania procesu ukončenia aplikácie.
Postup:
- Vyskúšajte inštalačné balíčky potrebné na inštaláciu aplikácie.
- Vyskúšajte ďalšie knižnice, zostavte balíčky.
- Vyskúšajte čas potrebný na inštaláciu a odinštalovanie aplikácie.
- Nainštalujte aplikáciu na rôzne operačné systémy.
- Vyžaduje sa test miesta na disku.
- Vyskúšajte, či sú po odinštalovaní aplikácie odstránené všetky súbory.
Testovanie infraštruktúry počas inštalácie / odinštalovania / nasadenia zaisťuje, že aplikáciu je možné nainštalovať cez sieť v konkrétnom čase. Zaisťuje, že ktorúkoľvek opravu je možné neskôr nainštalovať alebo nie. Pomáha vylepšiť úložisko požadované aplikáciou.
# 6) Testujte infraštruktúru prostredia
Testovacie prostredie je kolekcia hardvéru, softvéru, nástrojov a procesov. Na presné a efektívne vykonanie testovania je potrebné testovacie prostredie. Testovacie prostredie zahŕňa aj pracovisko, kde je testerom poskytovaná kvalitná sieť, počítač a napájanie, aby mohli vykonávať svoju prácu.
Hlavným cieľom je skontrolovať inštaláciu softvéru, nastavenia konfigurácie aplikácií, zvoliť správne testovacie nástroje, ktoré podporujú plánovanie testu, vykonávanie testu. Zaisťuje tiež kontinuitu vykonávania testu.
Postup:
- Nastaviť testovacie prostredie pre pravidelné vydania projektu.
- Vytvorte testovacie prostredie pre vydania rýchlych opráv.
- Vytvárajte riešenia na správu problémov serverového a klientskeho prostredia.
- Dokončiť testovacie nástroje pre plán testovania, návrh a vykonanie testu.
- Rozhodnite sa o nástrojoch na ladenie a hlásenie chýb.
- Vytvorte dokument pre nastavenie testovacieho prostredia.
Používanie nástrojov a testovacích prostredí má niekoľko výhod. Je pozorovaná vyššia kvalita. Produktivita sa zvyšuje s používaním nástrojov. Testovacie činnosti sa vykonávajú spracovaným spôsobom. Dokumentácia testovacieho prostredia pomáha novým členom tímu lepšie porozumieť.
# 7) Prístup TDD
Test-Driven Development alebo TDD framework je metóda, ktorá slúži na prvé napísanie testovacích prípadov na základe dokumentov s požiadavkami a následnú implementáciu funkčnosti podľa testu.
Hlavným cieľom je poznať zdroje infraštruktúry potrebné pre projekt. Účelom je definovať a organizovať infraštruktúru pre bezpečnosť, prevádzku a výrobu.
Postup:
- Dizajnový dokument pre požiadavky na infraštruktúru.
- Návrh testovacieho plánu pokrývajúceho infraštruktúru požadovanú pre aplikáciu.
- Dizajnové testovacie prípady zahŕňajúce testy infraštruktúry.
- Vyskúšajte rôzne konfigurácie.
Prístup TDD pomáha pri zlepšovaní zložitosti projektu. Všetky zmeny v infraštruktúre sú testované pred prechodom do výroby. Pretože testy sú už navrhnuté, je možné implementovať rôzne možné konfigurácie.
Nástroje na testovanie infraštruktúry
Kuchár, bábka, a Možné sú rôzne nástroje slúžiace na ten istý účel. Tieto nástroje sa používajú pri nasadení a konfigurácii rôznych serverov požadovaných pre aplikáciu. Tieto nástroje slúžia ako veľká pomoc v prípade zložitých úloh týkajúcich sa infraštruktúry. Vďaka týmto nástrojom je pre tím ľahké vykonávať úlohy na viacerých serveroch spoločne.
Tím, ktorý používa tieto nástroje, rýchlo nasadzuje viac aplikácií, závislostí a knižníc. Medzi ďalšie činnosti patria servery, binárne súbory, súbory denníka, mechanizmy obnovy, aktualizácia verzie, správa databázy.
# 1) Kuchár
Vlastnosti: Šéfkuchár podporuje jazyky špecifické pre doménu Ruby. Preto je pre vývojárov ťažké naučiť sa tento nástroj. Napriek tomu, že je ťažké jazykovú podporu, je tento nástroj vysoko dostupný. Šéfkuchár sleduje konfiguráciu typu master-slave. V mechanizme master-slave môže byť primárny server, tj. Kuchársky server, nahradený záložným serverom, ak v každom prípade dôjde k poruche.
Môžeme nasadiť aplikácie, nakonfigurovať infraštruktúru a tiež nakonfigurovať sieť s Chef. Nie je vysoko zabezpečený.
Cena: Je to lacnejšie ako Puppet, ale drahšie ako Ansible. Jeho cena je približne 13,5 000 dolárov / rok až do 100 uzlov.
Webová stránka: Náčelník
# 2) Bábka
Vlastnosti: Puppet je postavený na Ruby a podporuje DSL a Embedded Ruby. Programátor môže konfiguráciu spravovať, iba ak je vybraté použitie Bábky. Tím správcov systému je tiež informovaný o konfiguráciách tohto nástroja. Nasleduje architektúra master-master. Ak aktívny hlavný server zlyhá, môže ho nahradiť iný hlavný server.
Bábka je užitočná pri škálovateľnosti strojov a pri nastavovaní rôznych konfigurácií pre každého hostiteľa. Ak dôjde k akejkoľvek zmene v konfigurácii, tento nástroj pomáha vykonávať zmeny globálne. Nie je to ani taký vysoko zabezpečený nástroj.
Cena: Jeho cena je najvyššia na približne 11 000 až 20 000 USD ročne až pre 100 uzlov.
Webová stránka: Bábka
# 3) Možné
Vlastnosti: Ansible je napísaný v Pythone a podporuje tiež príkazové skripty YAML. Python je čitateľný človekom, a preto je tento nástroj ideálny pre správcov systému. Beží s jedným aktívnym uzlom, ale v prípade akýchkoľvek porúch má aj sekundárny uzol.
Ansible je vysoko škálovateľný, to znamená, že by mohol bez problémov spravovať veľké množstvo uzlov. V porovnaní s Puppet je Ansible z hľadiska škálovateľnosti pohodlnejší. Na rozdiel od Chef and Puppet je to vysoko zabezpečený nástroj s SSH.
Cena: Jeho cena je oveľa nižšia ako Puppet and Chef približne 10 000 dolárov / rok až pre 100 uzlov.
Webová stránka: Možné
Záver
Testovanie infraštruktúry je nevyhnutné pre životný cyklus vývoja softvéru, pretože spoločnostiam vznikajú vysoké náklady na infraštruktúru. V tomto výučbe sa venujeme rôznym témam, ako sú výhody, výzvy, techniky a ľudia zapojení do tohto typu testovania. Zahrnutý je aj pohľad na nástroje na testovanie infraštruktúry.
Odporúčané čítanie
- Monitorovanie výkonu aplikácií a IT infraštruktúry pomocou nástroja eG Enterprise Tool (praktická kontrola)
- Typy testovania softvéru: Rôzne typy testovania s podrobnosťami
- Testovanie aplikácií - do základov testovania softvéru!
- Čo je to testovanie gama? Fáza záverečného testovania
- Čo je Testovanie zhody (Testovanie zhody)?
- Výkonové testovanie vs záťažové testovanie vs záťažové testovanie (rozdiel)
- Prieskumné testovanie a testovanie pomocou skriptov: Kto vyhráva?
- Čo je to testovanie škálovateľnosti? Ako otestovať škálovateľnosť aplikácie