what is infrastructure testing
Denne omfattende guide til test af infrastruktur dækker fordele, udfordringer, værktøjer og metoder til test af infrastruktur:
Infrastruktur deles mellem mange projekter. Infrastrukturtest er test af hardware- og softwareafhængigheder, der kræves for at køre softwareprodukter. Det hjælper med at dække produktrisici, der vedrører målinfrastrukturen.
Denne tutorial hjælper dig med at lære infrastrukturtest fra bunden. Vi vil dække komplette detaljer som fordele og udfordringer, hvem der kan udføre, hvornår de skal udføre og teknikker til at udføre denne test. Værktøjer til test af infrastruktur er også dækket af denne vejledning.
Hvad du lærer:
- Hvad er infrastruktur?
- Hvad er infrastrukturtestning?
- Metoder til test af infrastruktur
- Værktøjer til test af infrastruktur
- Konklusion
Hvad er infrastruktur?
IT-infrastrukturøkosystem inkluderer operativsystemplatforme (såsom Windows, UNIX, Linux, macOS), computerhardwareplatforme (såsom Dell, IBM, Sun, HP, Apple), internetplatforme (såsom Apache, Cisco, Microsoft IIS, .NET ), Datastyring og -lagring (såsom IBM DB2, Oracle, SQL Server, MySQL) og Enterprise-softwareapplikationer (såsom SAP, Oracle, Microsoft).
Hvad er infrastrukturtestning?
Hver software kræver en infrastruktur for at udføre sine handlinger. Infrastrukturtest er testprocessen, der dækker hardware, software og netværk. Det involverer test af enhver kode, der læser konfigurationsværdier fra forskellige ting i IT-rammen og sammenligner dem med tilsigtede resultater.
Det reducerer risikoen for fiasko. Denne test inkorporerer testøvelser, procedurer for at garantere, at it-applikationer og den grundlæggende infrastruktur er indstillet til at levere til udførelse, tilpasningsevne, urokkelig kvalitet, tilgængelighed, ydelse og skalerbarhed. Målet er at teste infrastruktur mellem testmiljøer, testværktøjer og kontormiljøer.
Hvorfor er det nødvendigt med test af infrastruktur?
Organisationer bruger mange dollars på at sikre, at deres forretningsapplikationer testes til perfektion. Imidlertid er det grundlæggende fundament, dvs. infrastruktur, der er vært for og formidler disse applikationer, en gang imellem testet og generelt undervurderet.
Der er behov for test af infrastruktur for at mindske risikoen for fejl i hardware- eller softwarekomponenter. Når nyt infrastrukturdesign forberedes til softwaren, bliver det nødvendigt at udføre denne test. Det er nødvendigt for at sikre, om ny infrastrukturfunktionalitet fungerer efter hensigten. Problemer opstår mere sandsynligt, når et nyt infrastrukturmodul integreres i projektet.
Infrastrukturfejl opstår, når der ikke er planlagt nogen test på skalerbar infrastruktur. Derfor skal denne test udføres for at forhindre forstyrrelser og problemer i sidste øjeblik.
Denne testning er nødvendig for at identificere defekter, der ikke blev fundet effektivt under forskellige testprocesser. Det bliver vigtigt at analysere softwareapplikationen, hver gang hardware- og softwareressourcer ændres. Det gøres for at analysere systemets effektivitet og ydeevne.
Der kræves rettidig implementering af denne testtype, fordi projekter medfører høje omkostninger for infrastruktur. Derfor kræves et godt kendskab til denne test for at minimere omkostningerne forbundet med projektrisici. For at undgå fejl er denne test nødvendig som en industristandard.
Hvad er fordelene ved test af infrastruktur?
Den planlagte og udtømmende tilgang til Infrastruktur Testing giver mange fordele for et softwareprodukt såvel som organisationer.
Få af fordelene er anført nedenfor:
bedste gratis firewall til Windows 10 2018
- Reduktion i produktionsfejl.
- Forbedring af identifikation af mangler inden udførelse af produktionen. Opgrader kvaliteten af infrastrukturen med nul defekt glidning til produktionen.
- Hurtigere testudførelse, der giver mulighed for tidligt at blive live.
- Det hjælper med årlige omkostningsbesparelser i operationer såvel som i forretning.
- Bekræft, at software fungerer i en systematisk og kontrolleret procedure.
- Reduktion i nedetid.
- Forbedring af servicekvaliteten.
- Tilgængelighed af stabile miljøer.
- Reduktion af omkostningerne forbundet med risici.
- Bedre brugeroplevelse.
Udfordringer ved test af infrastruktur
Lad os se på et par udfordringer, som virksomheder står over for, når de søger at vedtage infrastrukturtest.
# 1) Fjernmiljø
Testmiljøer eller ressourcer er placeret i topografisk fjerntliggende lokaliteter, hvilket gør testteamene afhængige af supportgrupper i området til at håndtere udfordringer relateret til udstyr, hardwarekomponenter, softwarekomponenter, netværk osv. Dette kræver ofte nogle investeringer med hensyn til tid og årsager forsinkelser, især hvor holdene er placeret i forskellige tidszoner.
# 2) Fravær af et dedikeret team
Manglende viden blandt holdet er en stor udfordring for at udføre denne test. Et dedikeret team er forpligtet til at vedligeholde information relateret til alle aktiviteter, herunder tidsplaner, planer, dækning, statusrapporter.
# 3) Undersøgelse af testmiljøproblemer
Mange gange kunne testmiljøproblemer ikke løses og skal undersøges. Koordinering med berørte hold er påkrævet, indtil problemet er løst.
# 4) Vedligeholdelse af miljøer ét sted
Vedligeholdelse af et fælles lagerhus af testmiljøer, deres gamle kompatibilitet samt de nyeste versioner udgør en stor udfordring under udførelsen af denne test. Forbindelsesdetaljer og konfigurationer af alle versioner opretholdes ikke.
# 5) Manuel arbejde
Få aktiviteter involveret i denne test kræver manuelt arbejde, da der ikke findes værktøjer. Dette fører til menneskelige fejl og forsinkelser i processen.
# 6) Manglende standarddefinition til infrastrukturtest
De fleste mennesker er stadig ikke opmærksomme på implementeringen og processerne. Forkert viden og forståelse fører ofte til vanskeligheder med implementeringen. Der opstår mange nye problemer, der kan påvirke processen til at være stabil.
# 7) Isolerede hold
Der ligger et stort hul mellem holdplaceringer. Dette fører normalt til manglende gennemsigtighed og dårligt teamwork.
Hvem kan udføre infrastrukturtestning?
Forskellige hold er involveret i denne testtype. Disse forklares nedenfor:
# 1) Testteam for infrastruktur
Infrastrukturtestteamet har en god flok viden relateret til denne test. De er også involveret i kvalitetssikringsteamet. Dette team ved, hvordan man tester it-infrastruktur. Dette team ved, hvordan man designer testcases til denne type test.
# 2) Systemadministrator-team
Systemadministrator-teamet tester ofte infrastruktur på netværksniveau. Teamdesign og dokumenttestsager baseret på deres erfaring. De er ansvarlige for at sikre, at applikationerne ikke påvirkes efter ændringer i netværket.
# 3) Vedligeholdelsesteam for infrastruktur
Dette hold spiller en meget vigtig rolle. De er involveret på et tidligt tidspunkt og er ansvarlige for at indstille testmiljøer efter kravene. De deltager i testplanlægning og vedligeholdelse af infrastrukturmiljøer.
# 4) Kvalitetssikringshold
QA-teamet er ansvarligt for at køre regressionstest. De er også involveret i integrationstest. De udfører test på forskellige testmiljøer, der oprettes i henhold til forskellige infrastrukturer.
# 5) Projektleder
Projektlederen er ansvarlig for at håndtere projektet. De er involveret i planlægning, design, dokumentation af testsager, der er nødvendige for denne testtype. En projektleder er synkroniseret med alle holdene.
Hvornår skal man udføre infrastrukturtest?
Der er et presserende behov for at udføre denne test, når der indføres infrastrukturrelaterede ændringer.
Eksempler på sådanne ændringer er:
- Enhver ny patch i systemet er udviklet.
- Eventuelle nye systemopdateringer opleves.
- Enhver opdatering i operativsystemet.
- Databaseversionen / strukturen er opgraderet.
- Når der er hukommelsesopgradering for servere.
- Implementering af det nye værktøj.
- Sikkerhedsrettelser.
- Software opdatering.
Nogle gange bliver denne testtype vigtigere, når der opstår migrering af database eller datacenter. Der er behov for mere fokus, når der er forskellige og hurtige ændringer i applikationen, og når infrastrukturmigrationer er involveret.
Det udføres også, når support af nye enheder til software introduceres.
Eksempel:
- Nye bærbare / stationære computere
- Nye mobile enheder
- Nye tredjepartsværktøjer
Metoder til test af infrastruktur
Vi har forskellige moduler i dette. Få af dem er anført nedenfor:
- Server / klientinfrastruktur
- Datamigrering
- Test af infrastruktur i skyen
- Test på netværksniveau
- Installation / Afinstallation / Implementering
- Test miljøinfrastruktur
- TDD tilgang
# 1) Server / klientinfrastruktur
Servere inkluderer webservere, filservere, mailservere, proxyservere, virtuelle servere og fysiske servere på hardware. Klienten inkluderer OS, applikationer, brugerindstillinger osv. Servere kører forskellige tjenester, og disse tjenester kan bruges af klienterne.
Hovedformålet er at teste kvaliteten af servere, desktops, operativsystemer og hardware. Server / klientkomponenter testes for at sikre, at infrastrukturens ydeevne forbedres i produktionsmiljøet. Det inkluderer også test af installation eller afinstallation af applikationer, browser kompatibilitetstest, integrationstest med forskellige versioner af OS og brugerindstillinger.
Procedure:
- Den vigtigste ting er at indsamle kravene fra interessenter.
- Design en testplan i henhold til forståelsen af den krævede infrastruktur.
- Testcases designes derefter, der dækker operativsystemsupport, opgraderingsscenarier, omfanget af server / klientinfrastrukturtest og også funktionstest.
- Efter godkendelse af testsager udfører QA Team hvert scenarie og tilsvarende testsager.
Alle server- / klientrelaterede ændringer som opgradering, konfigurationsændringer er allerede testet på QA-opsætninger, så dette sikrer, at der er mindre påvirkning mulig i produktionsmiljøet. Desuden vil forskellige OS-versioner blive testet, inden de implementeres i produktion. Desuden, hvis noget mislykkedes i produktionen, testes reserveprocedurer på forhånd for at sikre backup.
# 2) Datamigrering
Datamigrering inkluderer data, der er migreret fra gammel version til ny version, data migreret fra en server til en anden og også data, der er migreret til forskellige konfigurationer.
bedste gratis pc fremskynde software
Hovedformålet med datamigreringstest er at teste datamigreringerne på forskellige versioner, servere, nye builds. Test applikationen for at bekræfte, at der ikke er nogen påvirkning på grund af migration. Test af datamigrering udføres også for at kontrollere ydeevnen og latenstiden i applikationen.
Procedure:
- Test applikationen før og efter overførslen.
- Test serverne før og efter datamigrering for at sikre, at der ikke observeres ændringer.
- Test, at der ikke observeres ændringer i applikationens ydeevne efter datamigrering.
- Test applikationen med forskellige versioner af databasen
- Test den nye version er kompatibel med alle versioner af databasen.
- Test forskellige konfigurationsindstillinger på serveren med forskellige databaseversioner
Ved hjælp af test af datamigrering kan servere uoverensstemmende konfigurationer blive opdaget. Problemer med serveropbygning, hvis der findes under udførelse af datamigrering, kan løses inden produktionsinstallationen. Test af datamigrering forbedrer produktets kvalitet og stabilitet. Denne test hjælper senere med installationstest under implementering af applikationen i produktionsmiljøet.
# 3) Test af infrastruktur i skyen
Information og data gemmes for det meste på virtuelle servere, og disse servere opbevares og administreres af Cloud-computereverandører såsom AWS.
Hovedformålet er at certificere Cloud-tjenesterne til forskellige versioner af applikationer. Test applikationsarkitekturen i skyen. En reel applikation simuleres i Cloud, og applikationernes ydeevne og skalerbarhed testes.
Procedure:
- Test belastningen på applikationen med forskellige konfigurationer.
- Udfør regressionstest og sørg for, at applikationen ikke påvirker belastningstest.
- Test om et program er en browser kompatibel i et skymiljø.
- Test installation af applikationen i skyen.
- Test om applikationen fungerer som forventet i forskellige skymiljøer.
Infrastrukturtest i Cloud sikrer fejlfri implementering af applikationen i produktionsmiljøet. Det hjælper med at kende programmets ydeevne, skalerbarhed og stabilitet. Det hjælper med at udnytte de ressourcer, der findes i skyen, såsom hardware, software og infrastruktur.
# 4) Test på netværksniveau
Netværket er den vigtigste del af applikationens infrastruktur. Netværket hjælper med kommunikation mellem servere, klienter og andre netværk. Netværk har forskellige moduler såsom proxyservere, infrastruktur til internetforbindelse.
Hovedformålet er at kontrollere og håndtere problemer på netværksniveau såsom overdreven ressourceforbrug, servernedetid, systemkonfiguration, den nødvendige infrastruktur til operationer, operativsystemrettelser.
Procedure:
- Test netværkslaget for fremtidige opdateringer af applikationen.
- Test for reserveprocedurer i tilfælde af fejl i produktionsmiljøet.
- Udfør systemtest, UAT-test, sikkerhedstest.
- Design testcases og udarbejd testdata.
- Sørg for, at tjenester på server- / netværksniveau ikke påvirkes efter nogen ny udgivelse.
- Test for det isolerede netværk.
- Test indflydelse på applikationens ydeevne på forskellige netværk såsom VPN, Wi-Fi, LAN osv.
Netværk-niveau infrastruktur test forbedrer gendannelsestiden. Det sikrer sikkerhedskopiering og gendanner mekanismer. Det hjælper også med at sikre applikationer.
# 5) Installation / Afinstallation / Implementering
Hovedformålet med at teste infrastruktur under installationen er at sikre, at hver gang en ny klient bruger applikationen, opstår der ingen problemer under installationen af applikationen for første gang. Afinstallation af applikation udføres for at teste afslutningsprocessen for applikationen.
Procedure:
- Test for de installationspakker, der kræves til installation af applikationen.
- Test for yderligere biblioteker, bygg pakker.
- Test for den tid, det tager at installere og afinstallere applikationen.
- Installer applikationen på forskellige operativsystemer.
- Test for diskplads kræves.
- Test om alle filer fjernes efter afinstallationen af applikationen.
Test af infrastruktur under installation / afinstallation / implementering sikrer, at applikationen kan installeres over netværket på et bestemt tidspunkt. Det sørger for, at enhver patch kan installeres senere eller ej. Hjælper med at forbedre den opbevaring, der kræves af applikationen.
# 6) Test miljøinfrastruktur
Et testmiljø er en samling af hardware, software, værktøjer og processer. For at udføre testen nøjagtigt og effektivt er testmiljøet nødvendigt. Testmiljøet inkluderer også arbejdspladsen, hvor testere får et godt netværk, pc og strømforsyning til at udføre deres job.
Hovedformålet er at kontrollere softwareinstallationen, opsætning af applikationskonfiguration, vælge de rigtige testværktøjer, der understøtter testplanlægning, testudførelse. Det sikrer også kontinuiteten i testudførelsen.
Procedure:
- Opret et testmiljø til regelmæssige udgivelser af projektet.
- Opret et testmiljø til hotfix-udgivelser.
- Opret løsninger til styring af server- og klientmiljøproblemer.
- Afslut testværktøjer til testplan, testdesign og udførelse.
- Beslut værktøjer til fejlfinding og rapportering af fejlene.
- Opret et dokument til indstilling af testmiljøet.
Brug af værktøjer og testmiljøer har flere fordele. Højere kvalitet observeres. Produktiviteten øges med brug af værktøjer. Testaktiviteter udføres behandlet. Dokumentation af testmiljøet hjælper nye medlemmer af teamet med at forstå bedre.
# 7) TDD-tilgang
Test-Driven Development eller TDD framework er en metode til først at skrive testcases baseret på kravdokumenterne og derefter implementere funktionaliteten i henhold til testen.
Hovedformålet er at kende de nødvendige infrastrukturressourcer til projektet. Formålet er at definere og organisere infrastrukturen til sikkerhed, drift og produktion.
Procedure:
- Design dokument til infrastrukturkrav.
- Designtestplan, der dækker infrastruktur, der kræves til applikationen.
- Design test tilfælde, der involverer infrastruktur test.
- Test for forskellige konfigurationer.
TDD-tilgang hjælper med at forbedre projektets kompleksitet. Eventuelle ændringer i infrastruktur testes, inden de skubber til produktion. Forskellige mulige konfigurationer kan implementeres, da test allerede er designet.
Værktøjer til test af infrastruktur
Kok, dukke, og Synlig er forskellige værktøjer, der tjener det samme formål. Disse værktøjer bruges til at implementere og konfigurere forskellige servere, der kræves til en applikation. Disse værktøjer tjener stor hjælp, når der er komplekse opgaver relateret til infrastruktur. Det bliver let for teamet at udføre opgaver på flere servere sammen ved hjælp af disse værktøjer.
Holdet, der bruger disse værktøjer, implementerer hurtigt flere applikationer, afhængigheder og biblioteker. Andre aktiviteter inkluderer servere, binære filer, logfiler, gendannelsesmekanismer, version opgradering, databasestyring.
# 1) Kok
Funktioner: Kokken understøtter Ruby Domain-Specific Sprog. Derfor bliver det vanskeligt for ikke-udviklere at lære dette værktøj. Selvom det er vanskeligt for sprogstøtte, er dette værktøj meget tilgængeligt. Kokken følger master-slave-konfigurationen. I master-slave-mekanismen kan den primære server, dvs. chef-server, erstattes af backup-serveren, hvis der under alle omstændigheder opstår fejl.
Vi kan implementere applikationer, konfigurere infrastruktur og også konfigurere netværket med Chef. Det er ikke meget sikret.
Pris: Det er billigere end Puppet, men dyrere end Ansible. Dens pris er ca. $ 13,5k / år op til 100 noder.
Internet side: Chief
# 2) Marionet
Funktioner: Marionet er bygget med Ruby og understøtter DSL og Embedded Ruby. En programmør kan kun administrere konfigurationen, hvis dukken er valgt til at blive brugt. Systemadministratorens team er også opmærksom på konfigurationen af dette værktøj. Det følger master-master-arkitektur. Hvis en aktiv master oplever fiasko, kan en anden master erstatte den.
Puppet er nyttigt i maskinernes skalerbarhed ved indstilling af forskellige konfigurationer for hver vært. Hvis der foretages ændringer i konfigurationen, hjælper dette værktøj med at foretage ændringer globalt. Det er heller ikke så meget sikret værktøj.
Pris: Dens pris er den højeste på ca. $ 11k - $ 20k / år for op til 100 noder.
Internet side: Marionet
# 3) Ansible
Funktioner: Ansible er skrevet på Python og understøtter også YAML-kommandoscript. Python kan læses af mennesker, og derfor er dette værktøj ideelt til systemadministratorer. Det kører med en enkelt aktiv node, men i tilfælde af fejl har den også en sekundær node.
Ansible er meget skalerbart, dvs. det kan styre et stort antal noder uden problemer. Sammenlignet med Puppet er Ansible mere praktisk med hensyn til skalerbarhed. I modsætning til Chef and Puppet er det et meget sikkert værktøj med SSH.
Pris: Dens pris er meget lavere end Puppet and Chef ca. $ 10k / år for op til 100 noder.
Internet side: Synlig
Konklusion
Infrastrukturtest er nødvendig for softwareudviklingens livscyklus, da virksomheder har høje omkostninger ved infrastruktur. Forskellige emner som fordele, udfordringer, teknikker og personer, der er involveret i denne testtype, er dækket af denne vejledning. Et glimt af værktøjer til test af infrastruktur er også dækket.
Anbefalet læsning
- Overvågning af applikations- og IT-infrastrukturpræstationer ved hjælp af eG Enterprise Tool (praktisk gennemgang)
- Typer af softwaretest: Forskellige testtyper med detaljer
- Applikationstest - i det grundlæggende ved softwaretest!
- Hvad er gammatestning? Den sidste testfase
- Hvad er overensstemmelsestest (overensstemmelsestest)?
- Ydelsestest vs belastningstest vs stresstest (forskel)
- Eksplorativ testning vs scriptetestning: Hvem vinder?
- Hvad er skalerbarhedstest? Sådan testes skalerbarheden af en applikation