functional testing vs non functional testing
Lär känna skillnaden mellan funktionstestning mot icke-funktionell testning med exempel:
Mjukvarutestning kategoriseras i stort sett i funktionell och icke-funktionell testning.
Låt oss diskutera i detalj om dessa testtyper tillsammans med de exakta skillnaderna mellan både funktionella och icke-funktionella test.
Vad du kommer att lära dig:
- Vad är funktionstestning?
- Typer av funktionstestning
- Vad är icke-funktionell testning?
- Typer av icke-funktionell testning
- Skillnaden mellan funktionell och icke-funktionell testning
- Slutsats
- Rekommenderad läsning
Vad är funktionstestning?
Funktionell testning testar ”funktionaliteten” för en programvara eller en applikation som testas.
Det testar beteendet hos programvaran som testas. Baserat på kundens krav används ett dokument som kallas en programvaruspecifikation eller kravspecifikation som en guide för att testa applikationen.
En testdata skapas utifrån den och en uppsättning testfall bereds. Programvaran testas sedan i en verklig miljö för att kontrollera om det faktiska resultatet är synkroniserat med det förväntade resultatet. Denna teknik kallas som Black Box-teknik och utförs mest manuellt och är också mycket effektivt för att hitta fel.
Vidare läsning=> Vad är funktionstestning - en komplett guide
Låt oss utforska vilka typer av funktionstester nu !!
Typer av funktionstestning
Nedan listas de olika typerna av funktionstester.
Rökprovning:
Denna typ av testning utförs före själva systemtestningen för att kontrollera om de kritiska funktionerna fungerar bra för att utföra ytterligare omfattande testning.
Detta sparar i sin tur tid att installera den nya byggnaden igen och undviker ytterligare test om de kritiska funktionerna inte fungerar. Det är ett generaliserat sätt att testa applikationen.
(bild källa )
Sanity Testing:
Det är en typ av testning där endast en specifik funktionalitet eller ett fel som fixas testas för att kontrollera om funktionaliteten fungerar bra och se om det inte finns några andra problem på grund av förändringarna i de relaterade komponenterna. Det är ett specifikt sätt att testa applikationen.
Integrationstestning:
Integrationstestning utförs när två eller flera funktioner eller komponenter i programvaran är integrerade för att bilda ett system. Det kontrollerar i princip att programvaran fungerar korrekt när komponenterna slås samman för att fungera som en enda enhet.
Regressionstestning:
Regressionstestning utförs efter att ha tagit emot programvaran efter att ha fixat de buggar som hittades i den första testomgången. Det verifierar om buggarna är fixade och kontrollerar om hela programvaran fungerar bra med ändringarna.
Lokaliseringstestning:
Det är en testprocess för att kontrollera programvarans funktion när den förvandlas till en applikation med ett annat språk som krävs av klienten.
Exempel: Anta att en webbplats fungerar bra i engelskspråkig installation och nu är den lokaliserad till spansk språkinställning. Ändringarna i språket kan också påverka det övergripande användargränssnittet och funktionaliteten. Testning för att kontrollera dessa ändringar är känd som Lokaliseringstestning .
lägg till element i array-java-exempel
Test av användaracceptans
I Test av användaracceptans applikationen testas utifrån användarens komfort och acceptans genom att överväga deras användarvänlighet.
De faktiska slutanvändarna eller klienterna får en testversion som ska användas i deras kontorsinställningar för att kontrollera om programvaran fungerar enligt deras krav i en verklig miljö. Denna testning utförs före den slutliga lanseringen och kallas också betatestning eller slutanvändartestning.
Vad är icke-funktionell testning?
Det finns några aspekter som är komplexa, t.ex. prestanda för en applikation osv. Och denna testning kontrollerar kvaliteten på programvaran som ska testas. Kvalitet beror huvudsakligen på produktens tid, noggrannhet, stabilitet, korrekthet och hållbarhet under olika ogynnsamma omständigheter.
När det gäller programvara, när ett program fungerar enligt användarens förväntningar, smidigt och effektivt under alla förhållanden, anges det som en tillförlitlig applikation. Baserat på dessa kvalitetsaspekter är det mycket viktigt att testa under dessa parametrar. Denna typ av testning kallas icke-funktionell testning.
Det är inte möjligt att testa denna typ manuellt, därför används vissa speciella automatiserade verktyg för att testa den.
Exempel på verktyg: LoadRunner, JMeter etc.
Vidare läsning=> Vad är icke-funktionell testning - en komplett guide
Typer av icke-funktionell testning
Nedan följer de olika typerna av icke-funktionell testning.
Prestandatester:
# 1) Lasttestning: En applikation som förväntas hantera en viss arbetsbelastning testas för dess svarstid i en verklig miljö som visar en viss arbetsbelastning. Den testas för sin förmåga att fungera korrekt under en bestämd tid och klarar av lasten.
# 2) Stresstestning: I Stresstestning , applikationen är stressad med en extra arbetsbelastning för att kontrollera om den fungerar effektivt och kan hantera spänningen enligt kravet.
Exempel: Tänk på en webbplats som testas för att kontrollera dess beteende när användaren går in på sitt högsta. Det kan finnas en situation där arbetsbelastningen går utöver specifikationen. I det här fallet kan webbplatsen misslyckas, sakta ner eller till och med krascha.
Stresstestning är att kontrollera dessa situationer med hjälp av automatiseringsverktyg för att skapa en arbetsbelastning i realtid och hitta brister.
# 3) Volymtestning: Under Volymtestning applikationens förmåga att hantera data i volymen testas genom att tillhandahålla en realtidsmiljö. Applikationen testas för dess korrekthet och tillförlitlighet under ogynnsamma förhållanden.
# 4) Uthållighetsprovning: I Uthållighetsprovning programvarans hållbarhet testas med ett upprepat och jämnt belastningsflöde i ett skalbart mönster. Den kontrollerar programvarans uthållighet när den laddas med en jämn arbetsbelastning.
Alla dessa testtyper används för att få programvaran att fungera felfritt och kraschfritt under alla situationer i realtid genom att ta itu med problemen och hitta lösningar för en kvalitetsprodukt.
Användbarhetstestning:
I denna typ av testning testas användargränssnittet för att det är enkelt att använda och se hur användarvänligt det är.
Säkerhetstestning:
Säkerhetstestning är att kontrollera hur säker programvaran är angående data över nätverket från skadlig attack. De viktigaste områdena som ska testas i denna testning inkluderar behörighet, autentisering av användare och deras tillgång till data baserat på roller som admin, moderator, kompositör och användarnivå.
Efter att ha känt definitionerna kan man således få en klar uppfattning om skillnaden mellan funktionell och icke-funktionell testning.
Skillnaden mellan funktionell och icke-funktionell testning
Funktionell testning | Icke funktionell testning |
---|---|
Det testar programvarans funktionalitet. | Det testar programvarans funktionalitet. |
Det testar ”Vad” produkten gör. Den kontrollerar funktionerna och åtgärderna för en applikation. | Den kontrollerar beteendet hos en applikation. |
Funktionell testning görs baserat på affärskravet. | Icke-funktionell testning görs baserat på kundernas förväntningar och prestationskrav. |
Den testar om det faktiska resultatet fungerar enligt det förväntade resultatet. | Den kontrollerar programvarans svarstid och hastighet under specifika förhållanden. |
Det utförs manuellt. Exempel: Testmetod för svart låda. | Det är mer möjligt att testa med automatiska verktyg. Exempel: Loadrunner. |
Det testar enligt kundens krav. | Det testar enligt kundernas förväntningar. |
Kundfeedback hjälper till att minska produktens riskfaktorer. | Kundåterkoppling är mer värdefull för icke-funktionell testning eftersom den hjälper till att förbättra och låter testaren få veta kundens förväntningar. |
Funktionstestning har följande typer: • Enhetstestning • Integrationstest • Systemtestning • Acceptantestning | Icke funktionell testning inkluderar: •Prestandatester • Lasttestning • Stresstestning • Volymtestning • Säkerhetstestning • Installationstest • Återhämtningstest |
Exempel: En inloggningssida måste visa textrutor för att ange användarnamn och lösenord. | Exempel: Testa om en inloggningssida laddas på 5 sekunder. |
Slutsats
Hoppas att du skulle ha fått en grundläggande förståelse för både funktionell och icke-funktionell testning.
Vi har också undersökt typerna och skillnaderna mellan funktionell och icke-funktionell testning.
Glad läsning!!
Rekommenderad läsning
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Alfatestning och betatestning (En komplett guide)
- Komplett funktionell testguide med dess typer och exempel
- Skillnaderna mellan enhetstestning, integrationstestning och funktionstestning
- Funktionstestning mot prestandatestning: Bör det göras samtidigt?
- Testing Primer eBook Download
- En komplett icke-funktionell testguide för nybörjare
- Spock för integration och funktionstestning med selen