what is infrastructure testing
Denna omfattande guide till infrastrukturtestning omfattar dess fördelar, utmaningar, infrastrukturtestverktyg och metoder:
Infrastruktur delas mellan många projekt. Infrastrukturtestning är testning av maskinvaru- och programberoende som krävs för att köra programvaruprodukter. Det hjälper till att täcka produktriskerna som är relaterade till målinfrastrukturen.
Denna handledning hjälper dig att lära dig infrastrukturtestning från grunden. Vi kommer att täcka fullständiga detaljer som fördelar och utmaningar, vem som kan utföra, när man ska utföra och tekniker för att utföra denna testning. Verktyg för testning av infrastruktur behandlas också i denna handledning.
Vad du kommer att lära dig:
- Vad är infrastruktur?
- Vad är infrastrukturprovning?
- Metoder för testning av infrastruktur
- Verktyg för testning av infrastruktur
- Slutsats
Vad är infrastruktur?
IT-infrastrukturekosystem inkluderar operativsystemplattformar (som Windows, UNIX, Linux, macOS), datorhårdvaruplattformar (som Dell, IBM, Sun, HP, Apple), internetplattformar (som Apache, Cisco, Microsoft IIS, .NET ), Datahantering och lagring (såsom IBM DB2, Oracle, SQL Server, MySQL) och Enterprise Software Applications (som SAP, Oracle, Microsoft).
Vad är infrastrukturprovning?
Varje programvara kräver en infrastruktur för att utföra sina åtgärder. Infrastrukturtestning är testprocessen som täcker hårdvara, programvara och nätverk. Det innefattar testning av valfri kod som läser konfigurationsvärden från olika saker i IT-ramverket och jämför dem med avsedda resultat.
Det minskar riskerna för misslyckande. Denna testning innehåller testövningar, procedurer för att garantera att IT-applikationer och den grundläggande infrastrukturen är inställd för att leverera på utförande, anpassningsförmåga, orubblig kvalitet, tillgänglighet, prestanda och skalbarhet. Målet är att testa infrastruktur mellan testmiljöer, testverktyg och kontorsmiljöer.
Varför behövs infrastrukturprovning?
Organisationer spenderar många dollar för att se till att deras affärsapplikationer testas till perfektion. Den grundläggande grunden, dvs infrastruktur som är värd för och förmedlar dessa applikationer, testas emellanåt och underskattas i allmänhet.
html intervjufrågor och svar för nybörjare
Infrastrukturtestning behövs för att mildra risken för fel på maskin- eller programvarukomponenter. När ny infrastrukturdesign förbereds för programvaran blir det nödvändigt att utföra denna testning. Det behövs för att säkerställa om ny infrastrukturfunktionalitet fungerar som avsett. Problem uppstår mer troligt när en ny infrastrukturmodul integreras i projektet.
Infrastrukturfel uppstår när ingen testning planeras på skalbar infrastruktur. För att förhindra störningar och problem i sista minuten måste denna testning utföras.
Denna testning behövs för att identifiera defekter som inte hittades effektivt under olika testprocesser. Det blir viktigt att analysera programvaran när hårdvaru- och mjukvaruresurser ändras. Det görs för att analysera systemets effektivitet och prestanda.
Det krävs tidig implementering av denna testtyp eftersom projekt innebär höga kostnader för infrastruktur. Därför krävs god kunskap om denna testning för att minimera kostnaderna för projektrisker. För att undvika fel behövs denna testning som en industristandard.
Vad är fördelarna med att testa infrastruktur?
Det planerade och uttömmande tillvägagångssättet för infrastrukturtestning ger många fördelar för såväl en mjukvaruprodukt som organisationer.
Få fördelar listas nedan:
- Minskning av produktionsfel.
- Förbättring av felidentifiering före produktionskörning. Uppgradera infrastrukturens kvalitet med noll defektglidning till produktion.
- Snabbare testkörning, vilket ger tidigt liv.
- Det hjälper till årliga kostnadsbesparingar i verksamheten såväl som i affärer.
- Bekräfta att programvaran fungerar i ett systematiskt och kontrollerat förfarande.
- Minskning av stilleståndstid.
- Förbättring av servicekvaliteten.
- Tillgänglighet för stabila miljöer.
- Minskning av kostnaderna för risker.
- Bättre användarupplevelse.
Utmaningar med infrastrukturprovning
Låt oss titta på några utmaningar som företag står inför när de försöker anta infrastrukturtestning.
# 1) Fjärrmiljö
Testmiljöer eller resurser är placerade på topografiskt avlägsna platser, vilket gör testteamen beroende av supportgrupper i området för att hantera utmaningar relaterade till utrustning, hårdvarukomponenter, programvarukomponenter, nätverk etc. Detta kräver ofta en del investeringar med avseende på tid och orsaker förseningar, särskilt där lagen är belägna i olika tidszoner.
# 2) Frånvaro av ett dedikerat team
Brist på kunskap bland teamet är en stor utmaning för att utföra denna testning. Ett dedikerat team krävs för att hålla information relaterad till alla aktiviteter inklusive scheman, planer, täckning, statusrapporter.
# 3) Undersökning av testmiljöfrågor
Många gånger kunde problem med testmiljön inte lösas och behöver undersökas. Samordning med berörda team krävs tills problemet är löst.
# 4) Underhålla miljöer på ett ställe
Att upprätthålla ett gemensamt förråd av testmiljöer, deras gamla kompatibilitet, liksom de senaste versionerna, utgör en stor utmaning när du utför denna testning. Anslutningsdetaljer och konfigurationer för alla versioner bibehålls inte.
# 5) Manuellt arbete
Få aktiviteter involverade i denna testning kräver manuellt arbete eftersom inga verktyg finns tillgängliga. Detta leder till mänskliga fel och förseningar i processen.
# 6) Brist på standarddefinition för testning av infrastruktur
De flesta är fortfarande inte medvetna om implementeringen och processerna. Felaktig kunskap och förståelse leder ofta till svårigheter i genomförandet. Många nya problem uppstår som kan påverka processen för att vara stabil.
# 7) Isolerade lag
Det finns ett stort gap mellan lagplatser. Detta leder vanligtvis till brist på transparens och dåligt lagarbete.
Vem kan utföra infrastrukturprovning?
Olika team är inblandade i denna testtyp. Dessa förklaras nedan:
# 1) Testteam för infrastruktur
Infrastrukturtestteamet har en bra massa kunskap relaterade till denna testning. De är också involverade i kvalitetssäkringsteamet. Detta team vet hur man testar IT-infrastruktur. Detta team vet hur man utformar testfall för denna typ av testning.
# 2) Systemadministratörsteam
Systemadministratörsteamet testar ofta infrastruktur på nätverksnivå. Team design och dokumentera testfall baserat på deras erfarenhet. De är ansvariga för att se till att applikationerna inte påverkas efter någon förändring i nätverket.
# 3) Underhållsteam för infrastruktur
Detta lag spelar en mycket viktig roll. De är involverade i ett tidigt skede och ansvarar för att ställa in testmiljöer enligt kraven. De deltar i testplanering och underhåll av infrastrukturmiljöer.
# 4) Kvalitetssäkringsteam
QA-teamet ansvarar för att köra regressionstest. De är också involverade i integrationstester. De utför testning på olika testmiljöer som skapas enligt olika infrastrukturer.
# 5) Projektledare
Projektledaren är ansvarig för att hantera projektet. De är involverade i planering, design, dokumentation av testfall som krävs för denna testtyp. En projektledare är synkroniserad med alla team.
När ska man utföra infrastrukturprovning?
Det finns ett brådskande behov av att utföra denna testning varje gång infrastrukturrelaterade förändringar införs.
Exempel på sådana förändringar är:
- Varje ny patch i systemet utvecklas.
- Nya systemuppdateringar upplevs.
- Alla uppdateringar i operativsystemet.
- Databasversionen / strukturen uppgraderas.
- När det finns minnesuppgradering för servrar.
- Implementering av det nya verktyget.
- Säkerhetsfixar.
- Programuppdatering.
Ibland blir denna testtyp viktigare när migrering av databas eller datacenter påträffas. Mer fokus behövs när det finns olika och snabba förändringar i applikationen och när infrastrukturmigrationer är inblandade.
Det utförs också när stöd för nya enheter för programvara introduceras.
Exempel:
- Nya bärbara datorer / stationära datorer
- Nya mobila enheter
- Nya verktyg från tredje part
Metoder för testning av infrastruktur
Vi har olika moduler i detta. Få av dem listas nedan:
- Server / klientinfrastruktur
- Datamigrering
- Infrastrukturprovning i moln
- Testning på nätverksnivå
- Installation / avinstallation / distribution
- Testa miljöinfrastruktur
- TDD-tillvägagångssätt
# 1) Server / klientinfrastruktur
Servrar inkluderar webbservrar, filservrar, e-postservrar, proxyservrar, virtuella servrar och fysiska servrar på hårdvara. Klienten inkluderar OS, applikationer, användarinställningar etc. Servrar kör olika tjänster och dessa tjänster kan användas av klienterna.
Huvudsyftet är att testa kvaliteten på servrar, stationära datorer, operativsystem och hårdvara. Server / klientkomponenter testas för att säkerställa att infrastrukturens prestanda förbättras i produktionsmiljön. Det inkluderar även test av installation eller avinstallation av applikationer, webbläsarkompatibilitetstest, integrationstestning med olika versioner av OS och användarinställningar.
Procedur:
- Det främsta är att samla in kraven från intressenter.
- Utforma en testplan enligt förståelsen för den nödvändiga infrastrukturen.
- Testfall designas sedan för operativsystemstöd, uppgraderingsscenarier, omfattningen av server / klientinfrastrukturtestning och även funktionstestning.
- Efter godkännande av testfall utför QA Team varje scenario och motsvarande testfall.
Alla server / klientrelaterade ändringar som uppgradering, konfigurationsändringar har redan testats på QA-inställningar, så detta säkerställer att det blir mindre påverkan i produktionsmiljön. Olika OS-versioner kommer också att testas innan de distribueras i produktion. Dessutom, om något misslyckades i produktionen testas reservförfaranden i förväg för att säkerställa säkerhetskopiering.
# 2) Datamigrering
Datamigrering inkluderar data som migrerats från gammal version till ny version, data migrerad från en server till en annan och även data som migrerats till olika konfigurationer.
Huvudsyftet med testning av datamigrering är att testa datamigreringarna på olika versioner, servrar, nybyggnader. Testa applikationen för att intyga att det inte påverkas på grund av migration. Test av datamigrering utförs också för att verifiera prestanda och latens i applikationen.
Procedur:
- Testa applikationen före och efter migreringen.
- Testa servrarna före och efter datamigrering för att säkerställa att inga förändringar observeras.
- Testa att inga förändringar observeras i applikationens prestanda efter datamigrering.
- Testa applikationen med olika versioner av databasen
- Testa att den nya versionen är kompatibel med alla versioner av databasen.
- Testa olika konfigurationsinställningar på servern med olika databasversioner
Med hjälp av datamigreringstestning kan serverkompassade konfigurationer upptäckas. Eventuella problem med serverbyggnad om det finns när du utför datamigrering kan lösas innan produktionsdistributionen. Datamigreringstest förbättrar produktens kvalitet och stabilitet. Denna testning hjälper senare vid installationstestning medan applikationen distribueras i produktionsmiljön.
# 3) Test av infrastruktur i moln
Information och data lagras mestadels på virtuella servrar och dessa servrar sparas och hanteras av Cloud Computing-leverantörer som AWS.
Huvudsyftet är att certifiera molntjänsterna för olika versioner av applikationer. Testa applikationsarkitekturen på molnet. En riktig applikation simuleras på Cloud och prestanda och skalbarhet för applikationer testas.
Procedur:
- Testa belastningen på applikationen med olika konfigurationer.
- Utför regressionstestning och se till att applikationen inte påverkar belastningstestningen.
- Testa om ett program är en webbläsarkompatibel i en molnmiljö.
- Testa installationen av applikationen i molnet.
- Testa om applikationen fungerar som förväntat i olika molnmiljöer.
Infrastrukturtestning i molnet säkerställer felfri implementering av applikationen i produktionsmiljön. Det hjälper dig att känna till programmets prestanda, skalbarhet och stabilitet. Det hjälper till att använda de resurser som finns i molnet, såsom hårdvara, programvara och infrastruktur.
# 4) Testning på nätverksnivå
Nätverket är den viktigaste delen av applikationens infrastruktur. Nätverket hjälper till att kommunicera mellan servrar, klienter och andra nätverk. Nätverk har olika moduler som proxyservrar, infrastruktur för internetanslutning.
Huvudsyftet är att kontrollera och hantera eventuella problem på nätverksnivå, såsom överdriven resursanvändning, serverstopp, systemkonfiguration, infrastruktur som krävs för operationer, operativsystemkorrigeringar.
Procedur:
- Testa nätverkslagret för framtida uppdateringar av applikationen.
- Testa för reservförfaranden vid fel i produktionsmiljön.
- Utför systemtestning, UAT-testning, säkerhetstestning.
- Designa testfall och förbered testdata.
- Se till att tjänster på server / nätverksnivå inte påverkas efter någon ny version.
- Testa för det isolerade nätverket.
- Testa påverkan på applikationens prestanda på olika nätverk som VPN, Wi-Fi, LAN, etc.
Infrastrukturtestning på nätverksnivå förbättrar återhämtningstiden. Det säkerställer säkerhetskopiering och återställer mekanismer. Det hjälper också till med applikationssäkerheten.
# 5) Installation / avinstallation / distribution
Huvudsyftet med att testa infrastruktur under installationen är att se till att när en ny klient använder applikationen, uppstår inga problem när applikationen installeras för första gången. Avinstallation av applikationen utförs för att testa avslutningsprocessen för applikationen.
Procedur:
- Testa de installationspaket som krävs för att installera programmet.
- Testa ytterligare bibliotek, bygg paket.
- Testa den tid som krävs för att installera och avinstallera programmet.
- Installera applikationen på olika operativsystem.
- Test för diskutrymme krävs.
- Testa om alla filer tas bort efter avinstallationen av programmet.
Att testa infrastruktur vid installation / avinstallation / distribution säkerställer att applikationen kan installeras över nätverket vid en viss tidpunkt. Det ser till att valfri patch kan installeras senare eller inte. Hjälper till att förbättra den lagring som krävs av applikationen.
# 6) Testa miljöinfrastruktur
En testmiljö är en samling hårdvara, programvara, verktyg och processer. För att utföra testningen exakt och effektivt är testmiljön nödvändig. Testmiljön inkluderar också arbetsplatsen där bra nätverk, PC och strömförsörjning tillhandahålls testare för att utföra sitt jobb.
Huvudsyftet är att kontrollera programvaruinstallationen, konfigurationer av applikationskonfigurationer, välja rätt testverktyg som stöder testplanering, testutförande. Det säkerställer också kontinuiteten i testutförandet.
Procedur:
- Skapa en testmiljö för regelbundna utgåvor av projektet.
- Skapa en testmiljö för snabbkorrigeringar.
- Skapa lösningar för att hantera server- och klientmiljöfrågor.
- Slutför testverktyg för testplanering, testdesign och utförande.
- Bestäm verktyg för felsökning och rapportering av buggarna.
- Skapa ett dokument för att ställa in testmiljön.
Användningen av verktyg och testmiljöer har flera fördelar. Högre kvalitet observeras. Produktiviteten ökar med hjälp av verktyg. Testaktiviteter utförs på ett bearbetat sätt. Dokumentation av testmiljön hjälper nya medlemmar i teamet att förstå bättre.
# 7) TDD-tillvägagångssätt
Testdriven utveckling eller TDD-ramverk är en metod för att först skriva testfall baserat på kravdokumenten och sedan implementera funktionaliteten enligt testet.
Huvudmålet är att känna till de infrastrukturresurser som krävs för projektet. Syftet är att definiera och organisera infrastrukturen för säkerhet, drift och produktion.
Procedur:
- Designdokument för infrastrukturkrav.
- Utforma testplan som täcker infrastruktur som krävs för applikationen.
- Utforma testfall med infrastrukturprov.
- Testa för olika konfigurationer.
TDD-tillvägagångssätt hjälper till att förbättra projektets komplexitet. Eventuella förändringar av infrastrukturen testas innan de går till produktion. Olika möjliga konfigurationer kan implementeras eftersom tester redan är utformade.
Verktyg för testning av infrastruktur
Kock, docka, och Ansible är olika verktyg som tjänar samma syfte. Dessa verktyg används för att distribuera och konfigurera olika servrar som krävs för en applikation. Dessa verktyg tjänar stor hjälp när det finns komplexa uppgifter relaterade till infrastruktur. Det blir lätt för teamet att utföra uppgifter på flera servrar tillsammans med dessa verktyg.
Teamet som använder dessa verktyg distribuerar snabbt flera applikationer, beroenden och bibliotek. Andra aktiviteter inkluderar servrar, binärer, loggfiler, återställningsmekanismer, version uppgradering, databashantering.
# 1) Kock
Funktioner: Chef stöder Ruby Domain-Specific Languages. Därför blir det svårt för icke-utvecklare att lära sig detta verktyg. Trots att det är svårt för språkstöd är det här verktyget mycket tillgängligt. Chef följer master-slave-konfigurationen. I master-slave-mekanismen kan den primära servern, dvs chef-servern, ersättas av reservservern om det i något fall uppstår fel.
Vi kan distribuera applikationer, konfigurera infrastruktur och även konfigurera nätverket med Chef. Det är inte särskilt säkert.
Pris: Det är billigare än Puppet men dyrare än Ansible. Priset är ungefär $ 13,5 000 / år upp till 100 noder.
Hemsida: Chef
# 2) Docka
Funktioner: Puppet är byggd med Ruby och stöder DSL och Embedded Ruby. En programmerare kan bara hantera konfigurationen om dockan är vald att användas. Systemadministratörsteamet är också medveten om konfigurationen av detta verktyg. Det följer master-master-arkitektur. Om en aktiv master upplever misslyckande kan en annan master ersätta den.
Puppet är användbart i skalbarhet hos maskiner, vid inställning av olika konfigurationer för varje värd. Om någon ändring görs i konfigurationen hjälper det här verktyget att göra ändringar globalt. Det är inte heller så mycket säkert verktyg.
SQL-intervjufrågor för erfarna
Pris: Priset är det högsta på cirka $ 11 000 - $ 20 000 / år för upp till 100 noder.
Hemsida: Marionett
# 3) Ansible
Funktioner: Ansible är skrivet på Python och stöder även YAML-kommandoskript. Python är läsbart för människor och därför är detta verktyg perfekt för systemadministratörer. Den körs med en enda aktiv nod men i händelse av fel har den också en sekundär nod.
Ansible är mycket skalbart, dvs det kan hantera ett stort antal noder utan problem. Jämfört med Puppet är Ansible bekvämare när det gäller skalbarhet. Till skillnad från Chef and Puppet är det ett mycket säkert verktyg med SSH.
Pris: Priset är mycket lägre än Puppet and Chef cirka $ 10 000 / år för upp till 100 noder.
Hemsida: Ansible
Slutsats
Infrastrukturtestning är nödvändig för programvaruutvecklingens livscykel eftersom företag har höga kostnader för infrastruktur. Olika ämnen som fördelar, utmaningar, tekniker och personer som är involverade i denna testtyp behandlas i denna handledning. En glimt av testverktyg för infrastruktur täcks också.
Rekommenderad läsning
- Övervakning av applikations- och IT-infrastruktur med hjälp av eG Enterprise Tool (praktisk översyn)
- Typer av programvarutestning: Olika testtyper med detaljer
- Applikationstestning - till grunderna för programvarutestning!
- Vad är gammatestning? Det sista testetappen
- Vad är Compliance Testing (Conformance testing)?
- Prestandatestning mot belastningstestning vs stresstestning (skillnad)
- Exploratory Testing vs Scripted Testing: Who Wins?
- Vad är skalbarhetstestning? Hur man testar skalbarheten för en applikation