what is infrastructure testing
Ovaj sveobuhvatni vodič za ispitivanje infrastrukture pokriva svoje prednosti, izazove, alate i metodologije za ispitivanje infrastrukture:
Infrastruktura se dijeli među mnogim projektima. Ispitivanje infrastrukture je ispitivanje ovisnosti hardvera i softvera potrebnih za pokretanje softverskih proizvoda. Pomaže u pokrivanju rizika proizvoda koji se odnose na ciljanu infrastrukturu.
Ovaj tutorial pomoći će vam naučiti testiranje infrastrukture od nule. Obuhvatit ćemo sve detalje poput blagodati i izazova, tko može izvesti, kada izvesti i tehnike za provođenje ovog testiranja. Alati za ispitivanje infrastrukture također su obrađeni u ovom vodiču.
Što ćete naučiti:
- Što je infrastruktura?
- Što je ispitivanje infrastrukture?
- Metodologije ispitivanja infrastrukture
- Alati za ispitivanje infrastrukture
- Zaključak
Što je infrastruktura?
Ekosistem IT infrastrukture uključuje platforme operativnih sustava (kao što su Windows, UNIX, Linux, macOS), računalne hardverske platforme (poput Dell, IBM, Sun, HP, Apple), internetske platforme (poput Apache, Cisco, Microsoft IIS, .NET ), Upravljanje podacima i pohrana podataka (kao što su IBM DB2, Oracle, SQL Server, MySQL) i poslovne softverske aplikacije (kao što su SAP, Oracle, Microsoft).
Što je ispitivanje infrastrukture?
Svaki softver zahtijeva infrastrukturu za obavljanje svojih radnji. Ispitivanje infrastrukture je postupak ispitivanja koji obuhvaća hardver, softver i mreže. Uključuje testiranje bilo kojeg koda koji čita vrijednosti konfiguracije iz različitih stvari u IT okviru i uspoređuje ih s planiranim rezultatima.
Smanjuje rizik od neuspjeha. Ovo testiranje uključuje vježbe testiranja, postupke koji jamče da su IT aplikacije i temeljna infrastruktura podešeni na izvršenje, prilagodljivost, nepokolebljivu kvalitetu, dostupnost, izvedbu i skalabilnost. Cilj je testirati infrastrukturu između testnih okruženja, test alata i uredskog okruženja.
Zašto je potrebno ispitivanje infrastrukture?
Organizacije troše mnogo dolara kako bi bile sigurne da su njihove poslovne aplikacije testirane do savršenstva. Međutim, osnovni temelj, tj. Infrastruktura koja hostira i prenosi ove aplikacije, povremeno se testira i općenito podcjenjuje.
otvoreni izvor uravnoteživača opterećenja virtualni uređaj
Ispitivanje infrastrukture potrebno je kako bi se umanjio rizik od kvara bilo koje hardverske ili softverske komponente. Kada se za softver pripremi novi dizajn infrastrukture, postaje neophodno izvršiti ovo testiranje. Potrebno je osigurati radi li nova infrastrukturna funkcionalnost kako je predviđeno. Problemi se pojavljuju vjerojatnije kada se novi infrastrukturni modul integrira s projektom.
Kvarovi u infrastrukturi nastaju kada nije planirano ispitivanje skalabilne infrastrukture. Stoga, kako bi se spriječili poremećaji i problemi u posljednjem trenutku, ovo ispitivanje treba provesti.
Ovo ispitivanje potrebno je za utvrđivanje nedostataka koji nisu bili učinkovito pronađeni tijekom različitih postupaka ispitivanja. Postaje važno analizirati softversku aplikaciju kad god se promijene hardverski i softverski resursi. Radi se na analizi učinkovitosti i performansi sustava.
Potrebna je pravovremena primjena ove vrste ispitivanja, jer projekti uključuju visoke troškove infrastrukture. Stoga je potrebno dobro poznavanje ovog ispitivanja kako bi se smanjili troškovi uključeni u rizike projekta. Da bi se izbjegli neuspjesi, ovo je ispitivanje potrebno kao industrijski standard.
Koje su prednosti ispitivanja infrastrukture?
Planirani i iscrpni pristup ispitivanja infrastrukture daje brojne prednosti softverskom proizvodu kao i organizacijama.
U nastavku je navedeno nekoliko pogodnosti:
- Smanjenje proizvodnih kvarova.
- Poboljšanje identifikacije kvara prije izvođenja proizvodnje. Nadogradite kvalitetu infrastrukture s nulom klizanja na proizvodnju.
- Ubrzano izvršenje testa, osposobljavanje za rano pokretanje.
- Pomaže u godišnjoj uštedi troškova kako u poslovanju, tako i u poslu.
- Potvrdite da softver radi u sustavnom i kontroliranom postupku.
- Smanjenje zastoja.
- Poboljšanje kvalitete usluge.
- Dostupnost stabilnih okruženja.
- Smanjenje troškova uključenih u rizike.
- Bolje korisničko iskustvo.
Izazovi ispitivanja infrastrukture
Pogledajmo nekoliko izazova s kojima se tvrtke susreću kada žele usvojiti ispitivanje infrastrukture.
# 1) Udaljeno okruženje
Test okruženja ili resursi smješteni su u topografski udaljenim krajevima, što čini da se testni timovi oslanjaju na grupe za podršku u tom području za upravljanje izazovima koji se odnose na opremu, hardverske komponente, softverske komponente, umrežavanje itd. To često zahtijeva određena ulaganja s obzirom na vrijeme i uzroke kašnjenja, posebno tamo gdje su timovi smješteni u različitim vremenskim zonama.
# 2) Odsutnost namjenskog tima
Nedostatak znanja u timu glavni je izazov za provođenje ovog testiranja. Predani tim dužan je održavati informacije povezane sa svim aktivnostima, uključujući rasporede, planove, pokrivenost, izvješća o stanju.
# 3) Istraživanje problema okoline za testiranje
Mnogo puta se problemi s testnim okolišem nisu mogli riješiti i treba istražiti. Potrebna je koordinacija s dotičnim timovima dok se problem ne riješi.
# 4) Održavanje okruženja na jednom mjestu
Održavanje zajedničkog skladišta testnih okruženja, njihova stara kompatibilnost, kao i najnovije verzije, predstavljaju glavni izazov tijekom izvođenja ovog testiranja. Pojedinosti o povezanosti i konfiguracije svih verzija ne održavaju se.
# 5) Ručni rad
Nekoliko aktivnosti uključenih u ovo testiranje zahtijeva ručni rad jer nema dostupnih alata. To dovodi do ljudskih pogrešaka i kašnjenja u procesu.
# 6) Nedostatak standardne definicije za ispitivanje infrastrukture
Većina ljudi još uvijek nije svjesna provedbe i procesa. Nepravilno znanje i razumijevanje često dovode do poteškoća u provedbi. Pojavljuje se puno novih problema koji mogu utjecati na to da proces bude stabilan.
# 7) Izolirani timovi
Postoji velika razlika između lokacija tima. To obično dovodi do nedostatka transparentnosti i lošeg timskog rada.
Tko može izvršiti ispitivanje infrastrukture?
Razni timovi su uključeni u ovu vrstu testiranja. Oni su objašnjeni u nastavku:
# 1) Tim za ispitivanje infrastrukture
Tim za ispitivanje infrastrukture ima dobru hrpu znanja koja se odnose na ovo testiranje. Oni su također uključeni u tim za osiguranje kvalitete. Ovaj tim zna testirati IT infrastrukturu. Ovaj tim zna kako dizajnirati test slučajeve za ovu vrstu testiranja.
# 2) Tim administratora sustava
Tim administratora sustava često testira infrastrukturu na mrežnoj razini. Dizajn tima i testni slučajevi dokumenata temeljeni na njihovom iskustvu. Odgovorni su za osiguranje da na programe ne utječe nakon bilo kakve promjene u mreži.
# 3) Tim za održavanje infrastrukture
Ovaj tim igra vrlo važnu ulogu. Oni su uključeni u ranoj fazi i odgovorni su za postavljanje testnih okruženja prema zahtjevima. Oni sudjeluju u planiranju testova i održavanju infrastrukturnog okruženja.
# 4) Tim za osiguranje kvalitete
QA tim odgovoran je za izvođenje regresijskog testa. Također su uključeni u integracijsko testiranje. Oni provode testiranje na različitim test okruženjima koja su stvorena prema različitoj infrastrukturi.
# 5) Voditelj projekta
Voditelj projekta odgovoran je za upravljanje projektom. Oni su uključeni u planiranje, dizajniranje, dokumentiranje ispitnih slučajeva koji su potrebni za ovu vrstu ispitivanja. Voditelj projekata sinkroniziran je sa svim timovima.
Kada izvršiti ispitivanje infrastrukture?
Hitno je potrebno izvršiti ovo testiranje kad god se uvode bilo kakve promjene povezane s infrastrukturom.
Primjeri takvih promjena su:
- Bilo koja nova zakrpa u sustavu je razvijena.
- Doživljava se svako novo ažuriranje sustava.
- Svako ažuriranje operativnog sustava.
- Verzija / struktura baze podataka se nadograđuje.
- Kada postoji nadogradnja memorije za poslužitelje.
- Primjena novog alata.
- Ispravci sigurnosti.
- Ažuriranje softvera.
Ponekad je ova vrsta testiranja važnija kada se naiđe na migraciju baze podataka ili podatkovnog centra. Potreban je veći fokus kada postoje raznolike i brze promjene u primjeni i kada su uključene migracije infrastrukture.
Također se izvodi kada se uvede podrška za nove uređaje za softver.
Primjer:
- Nova prijenosna računala / stolna računala
- Novi mobilni uređaji
- Novi alati treće strane
Metodologije ispitivanja infrastrukture
U tome imamo različite module. Nekoliko ih je navedeno u nastavku:
- Infrastruktura poslužitelja / klijenta
- Migracija podataka
- Ispitivanje infrastrukture u oblaku
- Testiranje na razini mreže
- Instalacija / deinstalacija / postavljanje
- Ispitajte infrastrukturu okoliša
- TDD pristup
# 1) Infrastruktura poslužitelja / klijenta
Poslužitelji uključuju web poslužitelje, poslužitelje datoteka, poslužitelje pošte, proxy poslužitelje, virtualne poslužitelje i fizičke poslužitelje na hardveru. Klijent uključuje OS, aplikacije, korisničke postavke itd. Poslužitelji pokreću različite usluge i klijenti ih mogu koristiti.
Glavni cilj je testirati kvalitetu poslužitelja, stolnih računala, operativnih sustava i hardvera. Komponente poslužitelja / klijenta testiraju se kako bi se osiguralo poboljšanje performansi infrastrukture u proizvodnom okruženju. Također uključuje testiranje instalacije ili deinstalacije aplikacija, ispitivanje kompatibilnosti preglednika, testiranje integracije s različitim verzijama OS-a i korisničkih postavki.
Postupak:
- Najvažnije je prikupiti zahtjeve od dionika.
- Dizajnirajte plan ispitivanja prema razumijevanju potrebne infrastrukture.
- Tada se dizajniraju test slučajevi koji pokrivaju podršku za operativne sustave, scenarije nadogradnje, opseg testiranja infrastrukture poslužitelja / klijenta i također testiranje funkcionalnosti.
- Nakon odobrenja test slučajeva, QA tim izvršava svaki scenarij i odgovarajuće test slučajeve.
Sve promjene povezane s poslužiteljem / klijentom, poput nadogradnje, promjene konfiguracije, već su testirane na postavkama osiguranja kvalitete, tako da se osigurava manji utjecaj u proizvodnom okruženju. Također će se testirati različite verzije OS-a prije uvođenja u proizvodnju. Štoviše, ako bilo što zakaže u proizvodnji, prethodno se ispituju zamjenski postupci kako bi se osigurala sigurnosna kopija.
# 2) Migracija podataka
Migracija podataka uključuje podatke migrirane iz stare verzije u novu verziju, podatke migrirane s jednog poslužitelja na drugi, a također i podatke migrirane u različite konfiguracije.
Glavni cilj testiranja migracije podataka je testiranje migracija podataka na različitim verzijama, poslužiteljima, novim građevinama. Testirajte aplikaciju da biste potvrdili da nema utjecaja zbog migracije. Testiranje migracije podataka također se provodi kako bi se provjerile performanse i kašnjenje u aplikaciji.
Postupak:
- Testirajte aplikaciju prije i nakon migracije.
- Testirajte poslužitelje prije i nakon migracije podataka kako biste bili sigurni da se neće primijetiti promjene.
- Testirajte da se ne primijete promjene u izvedbi aplikacije nakon migracije podataka.
- Testirajte aplikaciju različitim verzijama baze podataka
- Testirajte da je nova gradnja kompatibilna sa svim verzijama baze podataka.
- Testirajte različite konfiguracijske postavke poslužitelja s različitim verzijama baze podataka
Uz pomoć testiranja migracije podataka mogu se otkriti konfiguracije neusklađenih poslužitelja. Svi problemi s gradnjom poslužitelja ako postoje tijekom izvođenja migracije podataka mogu se riješiti prije implementacije produkcije. Testiranje migracije podataka poboljšava kvalitetu i stabilnost proizvoda. Ovo testiranje kasnije pomaže u instalacijskom testiranju tijekom postavljanja aplikacije u proizvodno okruženje.
# 3) Ispitivanje infrastrukture u oblaku
Informacije i podaci uglavnom se pohranjuju na virtualnim poslužiteljima, a njima poslužuju dobavljači računalstva u oblaku, kao što je AWS.
Glavni je cilj certificirati Cloud usluge za različite verzije aplikacija. Testirajte arhitekturu aplikacije na oblaku. Na Cloud-u se simulira stvarna aplikacija te se testiraju performanse i skalabilnost aplikacija.
Postupak:
- Testirajte opterećenje na aplikaciji s različitim konfiguracijama.
- Izvršite regresijsko ispitivanje i pobrinite se da aplikacija ne utječe na ispitivanje opterećenja.
- Testirajte je li neki program kompatibilan s preglednikom u oblaku.
- Testirajte instalaciju aplikacije u oblaku.
- Testirajte radi li aplikacija prema očekivanjima u različitim okruženjima u oblaku.
Testiranje infrastrukture u oblaku osigurava implementaciju aplikacije bez grešaka u proizvodnom okruženju. Pomaže u poznavanju izvedbe, skalabilnosti i stabilnosti aplikacije. Pomaže u korištenju resursa koji se nalaze u oblaku, poput bilo kojeg hardvera, softvera i infrastrukture.
# 4) Testiranje na razini mreže
Mreža je najvažniji dio infrastrukture aplikacije. Mreža pomaže u komunikaciji između poslužitelja, klijenata i drugih mreža. Mreže imaju različite module, poput proxy poslužitelja, infrastrukture za internetsku povezanost.
Glavni je cilj kontrolirati i upravljati bilo kojim problemima na mrežnoj razini, poput pretjerane upotrebe resursa, zastoja poslužitelja, konfiguracije sustava, infrastrukture potrebne za rad, zakrpe operativnog sustava.
Postupak:
- Testirajte mrežni sloj za buduća ažuriranja aplikacije.
- Test za zamjenske postupke u slučaju bilo kakvog kvara u proizvodnom okruženju.
- Izvršite sistemsko testiranje, UAT testiranje, sigurnosno testiranje.
- Dizajnirajte test slučajeve i pripremite podatke o testovima.
- Osigurajte da to ne utječe na bilo koju uslugu na razini poslužitelja / mreže nakon bilo kojeg novog izdanja.
- Test za izoliranu mrežu.
- Testirajte utjecaj na izvedbu aplikacije na raznim mrežama kao što su VPN, Wi-Fi, LAN itd.
Testiranje infrastrukture na mrežnoj razini poboljšava vrijeme oporavka. Osigurava sigurnosnu kopiju i obnavlja mehanizme. Pomaže i u sigurnosti aplikacija.
# 5) Instalacija / deinstalacija / postavljanje
Glavni cilj testiranja infrastrukture tijekom izvođenja instalacije je osigurati da se svaki put kada novi klijent koristi aplikaciju ne pojavljuju problemi prilikom prve instalacije aplikacije. Deinstalacija aplikacije vrši se za testiranje izlaznog postupka aplikacije.
Postupak:
- Testirajte instalacijske pakete potrebne za instalaciju aplikacije.
- Testirajte dodatne biblioteke, izradite pakete.
- Testirajte vrijeme potrebno za instalaciju i deinstalaciju aplikacije.
- Instalirajte aplikaciju na različite operativne sustave.
- Potreban test za prostor na disku.
- Testirajte jesu li sve datoteke uklonjene nakon deinstalacije aplikacije.
Testiranje infrastrukture tijekom instaliranja / deinstaliranja / postavljanja osigurava da se aplikacija može instalirati preko mreže u određeno vrijeme. Osigurava da se bilo koja zakrpa može kasnije instalirati ili ne. Pomaže u poboljšanju pohrane koju zahtijeva aplikacija.
# 6) Ispitajte infrastrukturu okoliša
Test okruženje je skup hardvera, softvera, alata i procesa. Za precizno i učinkovito provođenje testiranja potrebno je testno okruženje. Test okruženje također uključuje radno mjesto na kojem se testerima pruža dobra mreža, računalo i napajanje za obavljanje njihovog posla.
Glavni cilj je provjeriti instalaciju softvera, postavke konfiguracije aplikacije, odabrati prave alate za testiranje koji podržavaju planiranje testa i izvršavanje testa. Također osigurava kontinuitet izvođenja testa.
Postupak:
- Postavite testno okruženje za redovita izdanja projekta.
- Stvorite testno okruženje za izdanja hitnih ispravki.
- Stvorite rješenja za upravljanje problemima okoline poslužitelja i klijenta.
- Dovršiti test alate za plan ispitivanja, dizajn i izvršenje testa.
- Odlučite alate za ispravljanje pogrešaka i prijavljivanje grešaka.
- Stvorite dokument za postavljanje testnog okruženja.
Korištenje alata i testnog okruženja imaju višestruke prednosti. Primjećuje se veća kvaliteta. Produktivnost se povećava upotrebom alata. Ispitne aktivnosti provode se obrađeno. Dokumentacija testnog okruženja pomaže novim članovima tima da bolje razumiju.
# 7) TDD pristup
Test-Driven Development ili TDD framework je metoda za prvo pisanje test slučajeva na temelju zahtjeva dokumenata, a zatim implementacija funkcionalnosti prema testu.
Glavni je cilj znati infrastrukturne resurse potrebne za projekt. Svrha je definirati i organizirati infrastrukturu za sigurnost, rad i proizvodnju.
Postupak:
- Projektni dokument za potrebe infrastrukture.
- Napravite plan ispitivanja koji pokriva infrastrukturu potrebnu za aplikaciju.
- Dizajn test slučajeva koji uključuju testove infrastrukture.
- Test za različite konfiguracije.
TDD pristup pomaže u poboljšanju složenosti projekta. Sve promjene na infrastrukturi testiraju se prije puštanja u proizvodnju. Moguće su implementirati različite moguće konfiguracije jer su testovi već dizajnirani.
Alati za ispitivanje infrastrukture
Kuhar, lutka, i Odgovorno su različiti alati koji imaju istu svrhu. Ovi se alati koriste u postavljanju i konfiguriranju različitih poslužitelja potrebnih za aplikaciju. Ovi alati pomažu u velikoj mjeri kada postoje složeni zadaci povezani s infrastrukturom. Timu postaje lako izvršavati zadatke na više poslužitelja zajedno koristeći ove alate.
Tim koji koristi ove alate brzo implementira više aplikacija, ovisnosti i knjižnica. Ostale aktivnosti uključuju poslužitelje, binarne datoteke, datoteke dnevnika, mehanizme oporavka, nadogradnju verzije, upravljanje bazama podataka.
# 1) Kuhar
Značajke: Kuhar podržava jezike specifične za Ruby domenu. Stoga onima koji nisu programeri postaje teško naučiti ovaj alat. Iako je težak za jezičnu podršku, ovaj je alat vrlo dostupan. Šef slijedi konfiguraciju master-slave. U mehanizmu master-slave primarni poslužitelj, tj. Chef-server može biti zamijenjen rezervnim poslužiteljem ako se u svakom slučaju naiđe na kvar.
Možemo implementirati aplikacije, konfigurirati infrastrukturu i mrežu također konfigurirati s Chefom. Nije visoko osiguran.
Cijena: Jeftiniji je od Lutke, ali skuplji od Ansiblea. Njegova cijena iznosi približno 13,5 tisuća USD godišnje do 100 čvorova.
Web stranica: Glavni
# 2) Lutka
Značajke: Lutka je građena s Rubyjem i podržava DSL i Embedded Ruby. Programer može upravljati konfiguracijom samo ako je izabrana Lutka koja će se koristiti. Tim administratora sustava također je svjestan konfiguracija ovog alata. Slijedi master-master arhitekturu. Ako aktivni master doživi neuspjeh, drugi master može ga zamijeniti.
Lutka je korisna u skalabilnosti strojeva, u postavljanju različitih konfiguracija za svakog domaćina. Ako se u konfiguraciji izvrše bilo kakve promjene, ovaj alat pomaže izvršiti promjene globalno. To također nije tako visoko osiguran alat.
Cijena: Njegova je cijena najviša i iznosi približno 11 000 - 20 000 USD godišnje za do 100 čvorova.
Web stranica: Lutka
# 3) Odgovorno
Značajke: Ansible je napisan na Pythonu i također podržava skripte YAML naredbi. Python je čitljiv za ljude i stoga je ovaj alat idealan za administratore sustava. Izvodi se s jednim aktivnim čvorom, ali u slučaju bilo kakvih kvarova ima i sekundarni čvor.
Ansible je vrlo skalabilan, tj. Mogao bi upravljati velikim brojem čvorova bez ikakvih problema. U usporedbi s Lutkom, Ansible je prikladniji u pogledu skalabilnosti. Za razliku od Chefa i Lutke, vrlo je osiguran alat sa SSH-om.
Cijena: Njegova je cijena mnogo niža od Lutke i kuhara, otprilike 10.000 USD godišnje za do 100 čvorova.
mirna internetska usluga intervjuira pitanja i odgovore
Web stranica: Odgovorno
Zaključak
Ispitivanje infrastrukture neophodno je za životni ciklus razvoja softvera jer tvrtke imaju velike troškove na infrastrukturi. U ovom su priručniku obrađene razne teme poput blagodati, izazova, tehnika i ljudi koji su uključeni u ovu vrstu testiranja. Također je pokriven uvid u alate za testiranje infrastrukture.
Preporučena literatura
- Praćenje izvedbe aplikacijske i IT infrastrukture pomoću alata eG Enterprise (praktični pregled)
- Vrste testiranja softvera: različite vrste ispitivanja s pojedinostima
- Testiranje aplikacija - u osnove testiranja softvera!
- Što je gama testiranje? Završna faza ispitivanja
- Što je ispitivanje sukladnosti (ispitivanje sukladnosti)?
- Ispitivanje performansi vs ispitivanje opterećenja vs testiranje naprezanja (razlika)
- Istraživačko testiranje nasuprot skriptnom testiranju: Tko pobjeđuje?
- Što je ispitivanje skalabilnosti? Kako testirati skalabilnost aplikacije