types software testing
Vilka är de olika typerna av programvarutestning?
Vi som testare är medvetna om de olika typerna av programvarutestning som funktionstestning, icke-funktionell testning, automatiseringstest, smidig testning och deras undertyper etc.
Var och en av oss skulle ha stött på flera typer av tester under vår testresa. Vi kanske har hört några och vi kanske har arbetat med några, men inte alla har kunskap om alla testtyper.
Varje typ av test har dessutom sina egna funktioner, fördelar och nackdelar. Men i den här artikeln har jag täckt mestadels varje typ av programvarutestning som vi vanligtvis använder i vårt dagliga testliv.
Låt oss ta en titt på dem.
Vad du kommer att lära dig:
- Olika typer av programvarutestning
- # 1) Alpha Testing
- # 2) Godkännande testning
- # 3) Ad-hoc-testning
- # 4) Testning av tillgänglighet
- # 5) Betatestning
- # 6) Back-end-testning
- # 7) Testning av webbläsarkompatibilitet
- # 8) Testning av bakåtkompatibilitet
- # 9) Black Box Testing
- # 10) Test av gränsvärden
- # 11) Branch Testing
- # 12) Jämförelsetestning
- # 13) Testning av kompatibilitet
- # 14) Komponenttestning
- # 15) Testning från slut till slut
- # 16) Partitionering av ekvivalens
- # 17) Exempel på testning
- # 18) Exploratory Testing
- # 20) Funktionstestning
- # 21) Testning av grafiskt användargränssnitt (GUI)
- # 22) Gorilla Testing
- # 23) Happy Path Testing
- # 24) Incremental Integration Testing
- # 25) Installera / avinstallera testning
- # 26) Integrationstestning
- # 27) Lasttestning
- # 28) Monkey Testing
- # 29) Mutationstestning
- # 30) Negativ testning
- # 31) Icke-funktionell testning
- # 32) Prestandatestning
- # 33) Återställningstest
- # 34) Regressionstestning
- # 35) Riskbaserad testning (RBT)
- # 36) Sanity Testing
- # 37) Säkerhetstestning
- # 38) Rökprovning
- # 39) Statisk testning
- # 40) Stresstestning
- # 41) Systemtestning
- # 42) Enhetstestning
- # 43) Testning av användbarhet
- # 44) Test av sårbarhet
- # 45) Volymtestning
- # 46) White Box Testing
- Slutsats
- Rekommenderad läsning
Olika typer av programvarutestning
Nedan följer listan över några vanliga typer av programvarutestning:
Funktionella testtyper inkluderar:
- Enhetstestning
- Integrationstestning
- Systemtestning
- Sanity Testing
- Rökprovning
- Gränssnitttestning
- Regressionstestning
- Beta / acceptantestning
Icke-funktionella testtyper inkluderar:
- Prestandatester
- Lasttestning
- Stresstestning
- Volymtestning
- Säkerhetstestning
- Kompatibilitetstestning
- Installera testning
- Återhämtningstestning
- Tillförlitlighetstestning
- Testning av användbarhet
- Test av efterlevnad
- Lokaliseringstestning
Låt oss se mer information om dessa testtyper.
hur man öppnar .json-filer
# 1) Alpha Testing
Det är den vanligaste typen av tester som används i programvaruindustrin. Syftet med denna testning är att identifiera alla möjliga problem eller defekter innan de släpps ut på marknaden eller till användaren.
Alpha Testing utförs i slutet av programutvecklingsfasen men före Beta Testing. Ändå kan mindre designändringar göras till följd av sådan testning.
Alpha Testing utförs på utvecklarens webbplats. Intern virtuell användarmiljö kan skapas för denna typ av testning.
# 2) Godkännande testning
En Godkännande test utförs av klienten och verifierar huruvida slutet för att flödet i systemet är enligt företagets krav eller inte och om det är enligt slutanvändarens behov. Kunden accepterar endast programvaran när alla funktioner och funktioner fungerar som förväntat.
Det är den sista fasen av testningen, varefter programvaran går i produktion. Detta kallas också UAT (User Acceptance Testing).
# 3) Ad-hoc-testning
Själva namnet antyder att denna testning utförs den en ad-hoc grund, dvs utan hänvisning till testfallet och utan någon plan eller dokumentation på plats för sådan typ av testning.
Målet med denna testning är att hitta bristerna och bryta applikationen genom att utföra alla applikationsflöden eller någon slumpmässig funktionalitet.
Ad-hoc-testning är ett informellt sätt att hitta defekter och kan utföras av vem som helst i projektet. Det är svårt att identifiera defekter utan ett testfall men ibland är det möjligt att defekter som hittats under ad hoc-test kanske inte har identifierats med hjälp av befintliga testfall.
# 4) Testning av tillgänglighet
Målet med Testning av tillgänglighet är att avgöra om programvaran eller applikationen är tillgänglig för funktionshindrade eller inte.
Här betyder funktionshinder döva, färgblinda, psykiskt funktionshindrade, blinda, ålderdom och andra funktionshindrade grupper. Olika kontroller utförs såsom teckenstorlek för visuellt funktionshindrade, färg och kontrast för färgblindhet etc.
# 5) Betatestning
Betatestning är en formell typ av programvarutestning som utförs av kunden. Det utförs i den verkliga miljön innan produkten släpps ut på marknaden för de faktiska slutanvändarna.
Betatestning utförs för att säkerställa att det inte finns några större fel i programvaran eller produkten och att den uppfyller företagets krav ur ett slutanvändarperspektiv. Betatestning lyckas när kunden accepterar programvaran.
Vanligtvis utförs denna testning av slutanvändare eller andra. Det är den slutliga testningen som görs innan en ansökan släpps för kommersiellt syfte. Vanligtvis är betaversionen av den släppta programvaran eller produkten begränsad till ett visst antal användare i ett visst område.
Så slutanvändaren använder faktiskt programvaran och delar feedbacken till företaget. Företaget vidtar sedan nödvändiga åtgärder innan de släpper programvaran till hela världen.
# 6) Back-end-testning
Närhelst en inmatning eller data matas in i front-end-applikationen lagras den i databasen och testningen av sådan databas är känd som databastestning eller backendtestning.
Det finns olika databaser som SQL Server, MySQL och Oracle, etc. Databastestning innefattar testning av tabellstruktur, schema, lagrad procedur, datastruktur och så vidare.
I Back-end Testing GUI är inte inblandat, testare är direkt anslutna till databasen med rätt åtkomst och testare kan enkelt verifiera data genom att köra några frågor i databasen.
Det kan finnas problem identifierade som dataförlust, dödläge, datakorruption etc under denna back-end-testning och dessa frågor är avgörande för att fixa innan systemet går live i produktionsmiljön
# 7) Testning av webbläsarkompatibilitet
Det är en undertyp av kompatibilitetstest (som förklaras nedan) och utförs av testteamet.
Testning av webbläsarkompatibilitet utförs för webbapplikationer och det säkerställer att programvaran kan köras med en kombination av olika webbläsare och operativsystem. Denna typ av testning validerar också om webbapplikationen körs i alla versioner av alla webbläsare eller inte.
# 8) Testning av bakåtkompatibilitet
Det är en typ av testning som validerar om den nyutvecklade programvaran eller den uppdaterade programvaran fungerar bra med den äldre versionen av miljön eller inte.
Backward Compatibility Testing kontrollerar om den nya versionen av programvaran fungerar korrekt med filformat som skapats av en äldre version av programvaran. det fungerar också bra med datatabeller, datafiler, datastruktur skapad av den äldre versionen av den programvaran.
Om någon av programvaran uppdateras bör den fungera bra ovanpå den tidigare versionen av den programvaran.
# 9) Black Box Testing
Intern systemdesign beaktas inte i denna typ av testning. Tester baseras på kraven och funktionaliteten.
Detaljerad information om fördelar, nackdelar och typer av Black Box Testing kan ses här .
# 10) Test av gränsvärden
Denna typ av test kontrollerar applikationens beteende på gränsnivån.
Gränsvärdestestning utförs för att kontrollera om defekter finns vid gränsvärden. Gränsvärde-testning används för att testa ett annat antal siffror. Det finns en övre och nedre gräns för varje intervall och testning utförs på dessa gränsvärden.
Om testning kräver ett testintervall med siffror från 1 till 500 utförs gränsvärde-testning på värden vid 0, 1, 2, 499, 500 och 501.
# 11) Branch Testing
Det är en typ av vitlåda-testning och utförs under enhetstestning. Branch Testing, namnet i sig föreslår att koden testas grundligt genom att korsa i varje gren.
# 12) Jämförelsetestning
Jämförelse av en produkts styrka och svagheter med dess tidigare versioner eller andra liknande produkter kallas jämförelsetestning.
# 13) Testning av kompatibilitet
Det är en testtyp där den validerar hur programvara beter sig och körs i en annan miljö, webbservrar, hårdvara och nätverksmiljö.
Kompatibilitetstest säkerställer att programvara kan köras i en annan konfiguration, annan databas, olika webbläsare och deras versioner. Kompatibilitetstest utförs av testteamet.
# 14) Komponenttestning
Det utförs mestadels av utvecklare efter genomförd enhetstestning. Komponenttestning involverar testning av flera funktioner som en enda kod och dess mål är att identifiera om någon defekt existerar efter att dessa multipla funktioner har kopplats till varandra.
# 15) Testning från slut till slut
Liknar systemtestning, Testning från slut till slut innebär testning av en fullständig applikationsmiljö i en situation som efterliknar verklig användning, såsom interaktion med en databas, användning av nätverkskommunikation eller interaktion med annan hårdvara, applikationer eller system om det är lämpligt.
# 16) Partitionering av ekvivalens
Det är en testteknik och en typ av Black Box-testning. Under detta Partitionering av ekvivalens , väljs en uppsättning av gruppen och några värden eller siffror plockas upp för testning. Det är underförstått att alla värden från den gruppen genererar samma utdata.
Syftet med denna testning är att ta bort överflödiga testfall inom en specifik grupp som genererar samma output men inte någon defekt.
Antag att applikationen accepterar värden mellan -10 och +10 så att med ekvivalenspartitionering är värdena som plockats upp för testning noll, ett positivt värde, ett negativt värde. Så ekvivalenspartitioneringen för denna testning är -10 till -1, 0 och 1 till 10.
# 17) Exempel på testning
Det betyder testning i realtid. Exempel på testning inkluderar realtidsscenariot, det involverar också scenarierna baserat på testarnas erfarenhet.
# 18) Exploratory Testing
Exploratory Testing är informell testning utförd av testteamet. Målet med denna testning är att utforska applikationen och leta efter defekter som finns i applikationen.
Ibland kan det hända att större defekter som upptäcks under denna testning till och med kan orsaka ett systemfel.
Under Exploratory Testing rekommenderas att hålla reda på vilket flöde du har testat och vilken aktivitet du gjorde innan det specifika flödet startade.
En utforskande testteknik utförs utan dokumentation och testfall.
# 20) Funktionstestning
Denna typ av testning ignorerar de interna delarna och fokuserar bara på utgången för att kontrollera om det är enligt kravet eller inte. Det är en Black-box-typtest anpassad till funktionens krav för en applikation. För detaljerad information om funktionstestning klicka här .
# 21) Testning av grafiskt användargränssnitt (GUI)
Målet med denna GUI-testning är att validera GUI enligt företagets krav. Den förväntade användargränssnittet för applikationen nämns i detaljerade designdokument och GUI mockup-skärmar.
GUI Testing inkluderar storleken på knapparna och inmatningsfältet som finns på skärmen, justering av all text, tabeller och innehåll i tabellerna.
Det validerar också programmets meny, efter att ha valt olika meny- och menyalternativ, validerar det att sidan inte fluktuerar och justeringen förblir densamma efter att ha svävat med musen på menyn eller undermenyn.
# 22) Gorilla Testing
Gorilla Testing är en testtyp som utförs av en testare och ibland också av utvecklaren. I Gorilla Testing testas en modul eller funktionaliteten i modulen grundligt och kraftigt. Målet med denna testning är att kontrollera applikationens robusthet.
# 23) Happy Path Testing
Målet med Happy Path Testing är att testa en applikation framgångsrikt på ett positivt flöde. Det ser inte efter negativa eller felförhållanden. Fokus ligger bara på de giltiga och positiva ingångarna genom vilka applikationen genererar den förväntade utdata.
# 24) Incremental Integration Testing
Incremental Integration Testing är en nedifrån och upp-metod för testning dvs kontinuerlig testning av en applikation när ny funktionalitet läggs till. Applikationsfunktionalitet och moduler bör vara tillräckligt oberoende för att testa separat. Detta görs av programmerare eller av testare.
# 25) Installera / avinstallera testning
Installation och avinstallationstestning görs på fullständiga, partiella eller uppgradera installations- / avinstallationsprocesser på olika operativsystem under olika hårdvaru- eller programvarumiljöer.
# 26) Integrationstestning
Testning av alla integrerade moduler för att verifiera den kombinerade funktionaliteten efter integrationen kallas som Integrationstestning .
Moduler är vanligtvis kodmoduler, enskilda applikationer, klient- och serverapplikationer i ett nätverk etc. Denna typ av testning är särskilt relevant för klient / server och distribuerade system.
# 27) Lasttestning
Det är en typ av icke-funktionell testning och målet med belastningstestning är att kontrollera hur mycket belastning eller maximal arbetsbelastning ett system kan hantera utan någon prestandaförsämring.
Lasttestning hjälper för att hitta systemets maximala kapacitet under specifik belastning och eventuella problem som orsakar försämring av programvarans prestanda. Lasttestning utförs med verktyg som JMeter , LoadRunner, WebLoad, Silk performer, etc.
# 28) Monkey Testing
Monkey Testing utförs av en testare som antar att om apan använder applikationen, hur slumpmässiga inmatningar, kommer värden att matas in av apan utan någon kunskap eller förståelse för applikationen.
Målet med Monkey Testing är att kontrollera om ett program eller ett system kraschar genom att tillhandahålla slumpmässiga inmatningsvärden / data. Monkey Testing utförs slumpmässigt och inga testfall skrivs och det är inte nödvändigt
Monkey Testing utförs slumpmässigt och inga testfall skrivs ut och det är inte nödvändigt att vara medveten om systemets fullständiga funktionalitet.
# 29) Mutationstestning
Mutationstestning är en typ av vitlåda-test där källkoden för ett av programmet ändras och verifierar om de befintliga testfallet kan identifiera dessa defekter i systemet.
Förändringen av programkällkoden är mycket minimal så att den inte påverkar hela applikationen, bara det specifika området som påverkar och relaterade testfall skulle kunna identifiera dessa fel i systemet.
# 30) Negativ testning
Testare som tänker ”attityd att bryta” och använder Negativ testning bekräftar de att om systemet eller applikationen går sönder. En negativ testteknik utförs med felaktiga data, ogiltiga data eller inmatningar. Det validerar att om systemet kastar ett fel med ogiltig inmatning och beter sig som förväntat.
# 31) Icke-funktionell testning
Det är en typ av testning för vilken varje organisation har ett separat team som vanligtvis kallas NFT-team (Non-Functional Test) eller Performance-team.
Icke-funktionell testning innefattar testning av icke-funktionella krav såsom belastningstest, stresstestning, säkerhet, volym, återställningstest etc. Målet med NFT-testning är att säkerställa om svarstiden för programvara eller applikation är tillräckligt snabb enligt företagets krav.
Det bör inte ta mycket tid att ladda någon sida eller ett system och ska fortsätta under toppbelastning.
skapa en makefile c ++
# 32) Prestandatestning
Denna term används ofta omväxlande med 'stress' och 'belastning' testning. Prestandatester görs för att kontrollera om systemet uppfyller prestandakraven. Olika prestanda- och belastningsverktyg används för att göra denna testning.
# 33) Återställningstest
Det är en typ av testning som validerar hur väl programmet eller systemet återhämtar sig efter kraschar eller katastrofer.
Recovery Testing avgör om systemet kan fortsätta driften efter en katastrof. Antag att applikationen tar emot data via nätverkskabeln och plötsligt har nätverkskabeln kopplats ur.
Någon gång senare ansluter du nätverkskabeln; då bör systemet börja ta emot data varifrån det tappade anslutningen på grund av att nätverkskabeln var urkopplad.
# 34) Regressionstestning
Att testa en applikation som helhet för modifiering i vilken modul eller funktion som helst kallas Regression Testing. Det är svårt att täcka hela systemet Regressionstestning , så typiskt Verktyg för automatiseringstestning används för dessa typer av test.
# 35) Riskbaserad testning (RBT)
I Riskbaserad testning , testas funktionerna eller kraven utifrån deras prioritet. Riskbaserad testning innefattar testning av mycket kritisk funktionalitet, som har störst inverkan på verksamheten och där sannolikheten för misslyckande är mycket hög.
Prioriteringsbeslutet baseras på affärsbehovet, så när prioritet har ställts in för alla funktioner så utförs högprioritetsfunktionalitet eller testfall först följt av medelstora och sedan lågprioritetsfunktioner.
Funktionen med låg prioritet kan testas eller inte testas baserat på tillgänglig tid.
Den riskbaserade testningen utförs om det inte finns tillräckligt med tid för att testa hela programvaran och programvaran behöver implementeras i tid utan dröjsmål. Detta tillvägagångssätt följs endast av diskussion och godkännande av klienten och företagsledningen i organisationen.
# 36) Sanity Testing
Sanity Testing görs för att avgöra om en ny programvaruversion presterar tillräckligt bra för att acceptera den för en större testinsats eller inte. Om en applikation kraschar för den första användningen är systemet inte tillräckligt stabilt för ytterligare testning. Därför tilldelas en build eller en applikation för att fixa den.
# 37) Säkerhetstestning
Det är en typ av testning som utförs av ett specialtest av testare. Ett system kan trängas in på vilket sätt som helst.
Säkerhetstestning görs för att kontrollera hur programvaran eller applikationen eller webbplatsen är säker från interna och externa hot. Denna testning inkluderar hur mycket programvara som är säker från det skadliga programmet, virus och hur säker och stark auktoriserings- och autentiseringsprocesserna är.
Den kontrollerar också hur programvara beter sig för hackare och skadliga program och hur programvara upprätthålls för datasäkerhet efter en sådan hackarattack.
# 38) Rökprovning
När en ny version tillhandahålls av utvecklingsteamet validerar testteamet Software testet och ser till att det inte finns något större problem.
Testteamet ser till att byggnaden är stabil och en detaljerad testnivå utförs vidare. Rökprovning kontrollerar att det inte finns någon defektpropp i byggnaden som förhindrar testteamet att testa applikationen i detalj.
Om testare upptäcker att de viktigaste kritiska funktionerna är uppdelade i själva inledningsskedet kan testteamet avvisa byggnaden och informera om detta till utvecklingsgruppen. Rökprovning utförs till en detaljerad nivå av alla funktionella eller regressionstester.
# 39) Statisk testning
Statisk testning är en typ av testning som utförs utan någon kod. Körningen utförs på dokumentationen under testfasen.
Det innefattar granskningar, genomgång och inspektion av projektets resultat. Statisk testning utför inte koden istället för kodesyntaxen, namngivningskonventioner kontrolleras.
Statisk testning gäller även för testfall, testplan, designdokument. Det är nödvändigt att utföra statisk testning av testteamet eftersom de defekter som identifierats under denna typ av testning är kostnadseffektiva ur projektperspektivet.
# 40) Stresstestning
Denna testning görs när ett system är stressat bortom dess specifikationer för att kontrollera hur och när det misslyckas. Detta utförs under tung belastning som att lägga ett stort antal utöver lagringskapacitet, komplexa databasfrågor, kontinuerlig inmatning till systemet eller databasbelastning.
# 41) Systemtestning
Under Systemtestteknik testas hela systemet enligt kraven. Det är en Blackbox-typtestning som baseras på övergripande kravspecifikationer och täcker alla de kombinerade delarna i ett system.
# 42) Enhetstestning
Test av en enskild programvarukomponent eller -modul benämns Enhetstestning . Det görs vanligtvis av programmeraren och inte av testare, eftersom det kräver detaljerad kunskap om den interna programdesignen och koden. Det kan också kräva utveckling av testdrivrutinsmoduler eller testkablar.
# 43) Testning av användbarhet
Under Testning av användbarhet , Användarvänlighetskontroll är klar. Applikationsflödet testas för att veta om en ny användare lätt kan förstå applikationen eller inte, korrekt hjälp dokumenterad om en användare fastnar någon gång. I grund och botten kontrolleras systemnavigering i denna testning.
# 44) Test av sårbarhet
Testningen som innefattar att identifiera svaghet i programvaran, hårdvaran och nätverket kallas sårbarhetstestning. Skadliga program kan hackaren ta kontroll över systemet om det är sårbart för sådana slags attacker, virus och maskar.
Så det är nödvändigt att kontrollera om dessa system genomgår sårbarhetsprovning före produktion. Det kan identifiera kritiska defekter, brister i säkerheten.
# 45) Volymtestning
Volymtestning är en typ av icke-funktionell testning som utförs av Performance Testing-teamet.
Programvaran eller applikationen genomgår en enorm mängd data och Volymtestning kontrollerar applikationssystemets beteende och responstid när systemet stötte på en så hög datamängd. Denna höga datamängd kan påverka systemets prestanda och hastighet på behandlingstiden.
# 46) White Box Testing
White Box Testing baseras på kunskapen om den interna logiken i en applikations kod.
Det är också känt som Glass box Testing. Intern programvara och kod fungerar bör vara kända för att utföra denna typ av testning. Under dessa tester baseras på täckningen av koduttalanden, grenar, banor, villkor etc.
Slutsats
Ovan nämnda programvarutestningstyper är bara en del av testningen. Det finns dock fortfarande en lista med mer än 100+ typer av test, men alla testtyper används inte i alla typer av projekt. Så jag har täckt några vanliga typer av programvarutestning som oftast används i testets livscykel.
Det finns också alternativa definitioner eller processer som används i olika organisationer, men grundkonceptet är detsamma överallt. Dessa testtyper, processer och deras implementeringsmetoder ändras när och när projektet, kraven och omfattningen ändras.
Rekommenderad läsning
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Alfatestning och betatestning (En komplett guide)
- Programvarutestning QA-assistentjobb
- Kurs för programvarutestning: Vilket program för testning av programvara ska jag gå med?
- Välja programvarutestning som din karriär
- Programvarutestning Tekniskt innehåll Writer Freelancer Jobb
- Typer av risker i programvaruprojekt
- Bästa QA Software Testing Services från SoftwareTestingHelp