black box testing an depth tutorial with examples
I denna handledning, med min industriella erfarenhet av Software Testing, låt oss bekanta oss med typerna och teknikerna för Black-Box Testing tillsammans med dess process, fördelar, nackdelar och några automatiseringsverktyg för att testa det annat än manuell testning.
Vi kommer också att lära oss om skillnaderna mellan White Box Testing och Black Box Testing.
Lista över 'Black Box Test Techniques' -handledning:
Handledning nr 1: Vad är Black Box Testing
Handledning nr 2: Vad är White Box Testing
Handledning nr 3: Funktionell testning förenklad
Handledning nr 4: Vad är användningsfallstestning
Handledning nr 5 : Orthogonal Array Testing Technique
Tekniker
Självstudie nr 6: Gränsvärde-analys och ekvivalenspartitionering
Självstudie 7: Test av beslutstabell
Handledning # 8: Test av statlig övergång
Handledning nr 9 : Fel gissning
Handledning nr 10: Grafbaserade testmetoder
Nästan alla av oss utför Black Box Testing varje dag!
Oavsett om vi har lärt oss eller inte har vi alla gjort och utfört Black Box Testing många gånger i vårt dagliga liv !!
Från själva namnet kan du förmodligen förstå att det innebär att interagera med systemet, att du testar som en mysterium. Det betyder att du inte är tillräckligt kunnig om systemets interna funktion, men du vet hur det ska fungera.
Om vi tar en exempel för att testa vår bil eller cykel kör vi alltid den för att se till att den inte beter sig på ett ovanligt sätt. Ser? Vi har redan gjort Black Box Testing.
Vad du kommer att lära dig:
- Vad är Black Box Testing?
- Typer av Black Box Testing
- Black Box-testverktyg
- Black Box-testtekniker
- Hur gör man stegvis?
- Fördelar och nackdelar
- Skillnaden mellan White Box Testing och Black Box Testing
- Slutsats
- Rekommenderad läsning
Vad är Black Box Testing?
Black Box Testing är också känt som beteende, ogenomskinlig låda, sluten låda, specifikationsbaserad eller öga mot öga-testning.
Det är en mjukvarutestningsmetod som analyserar funktionaliteten hos en programvara / applikation utan att veta mycket om den interna strukturen / designen för det objekt som testas och jämför ingångsvärdet med utgångsvärdet.
gratis DVD-ripper för Windows 8.1
Huvudfokus i Black Box Testing är på systemets funktion som helhet. Termen ”Behavioral Testing” används också för Black Box Testing. Beteendestestdesign är något annorlunda än testet för svart rutan eftersom användningen av intern kunskap inte är strängt förbjuden, men den är fortfarande avskräckt.
Varje testmetod har sina egna fördelar och nackdelar. Det finns några buggar som inte kan hittas med den enda svarta rutan eller endast vit rutan teknik.
Majoriteten av applikationerna testas med Black Box-metoden. Vi måste täcka de flesta testfall så att de flesta buggarna upptäcks av en Svart låda metod.
Denna testning sker under programvaruutvecklingen och testningens livscykel, dvs i steg för enhet, integration, system, acceptans och regressionstest.
Detta kan vara både funktionellt eller icke-funktionellt.
Typer av Black Box Testing
I praktiken finns det flera typer av Black Box-testning som är möjliga, men om vi betraktar den stora varianten av den är de två grundläggande nedan.
# 1) Funktionstestning
Denna typ handlar om funktionskrav eller specifikationer för en applikation. Här testas olika åtgärder eller funktioner i systemet genom att tillhandahålla ingången och jämföra den faktiska utgången med den förväntade utgången.
Till exempel ,när vi testar en rullgardinslista klickar vi på den och verifierar att den expanderar och att alla förväntade värden visas i listan.
Få huvudtyper av funktionstestning är:
- Rökprovning
- Sanity Testing
- Integrationstestning
- Systemtestning
- Regressionstestning
- Test av användaracceptans
=> Läs mer om Funktionell testning .
# 2) Icke-funktionell testning
Förutom kraven på funktionerna finns det också flera icke-funktionella aspekter som måste testas för att förbättra applikationens kvalitet och prestanda.
Få huvudtyper av icke-funktionell testning inkluderar:
- Användbarhetstestning
- Lasttestning
- Prestandatester
- Kompatibilitetstestning
- Stresstestning
- Test av skalbarhet
=> Läs mer om Icke-funktionell testning .
Black Box-testverktyg
Black Box Testing-verktyg är främst inspelnings- och uppspelningsverktyg. Dessa verktyg används för regressionstestning för att kontrollera om nybyggnad har skapat något fel i tidigare fungerande applikationsfunktionalitet.
Dessa inspelnings- och uppspelningsverktyg spelar in testfall i form av vissa skript som TSL, VB-skript, Javascript, Perl, etc.
Black Box-testtekniker
För att systematiskt testa en uppsättning funktioner är det nödvändigt att utforma testfall. Testare kan skapa testfall från kravspecifikationsdokumentet med följande Black Box Testing-tekniker.
- Partitionering av ekvivalens
- Gränsvärde-analys
- Test av beslutstabell
- Test av statlig övergång
- Fel gissning
- Grafbaserade testmetoder
- Jämförelsetestning
Låt oss förstå varje teknik i detalj.
# 1) Partitionering av ekvivalens
Denna teknik är också känd som ECP (Equivalence Class Partitioning). I denna teknik delas ingångsvärden till systemet eller applikationen i olika klasser eller grupper baserat på dess likhet i resultatet.
Därför, istället för att använda varje ingångsvärde kan vi nu använda valfritt värde från gruppen / klassen för att testa resultatet. På det här sättet kan vi bibehålla testtäckningen samtidigt som vi kan minska mycket omarbetning och viktigast av tiden.
Till exempel:
Som förekommer i bilden ovan accepterar ett “ÅLDER” textfält endast siffrorna 18 till 60. Det kommer att finnas tre uppsättningar klasser eller grupper.
Två ogiltiga klasser kommer att vara:
a) Mindre än eller lika med 17.
b) Större än eller lika med 61.
En giltig klass kommer att vara allt mellan 18 och 60.
Vi har alltså reducerat testfallet till endast 3 testfall baserat på de bildade klasserna och därmed täckt alla möjligheter. Så det är tillräckligt att testa med valfritt värde från varje uppsättning i klassen för att testa ovanstående scenario.
=> Rekommenderad läsning - Vad är ekvivalenspartitionering?
# 2) Analys av gränsvärde
Från själva namnet kan vi förstå att vi i den här tekniken fokuserar på värdena vid gränserna eftersom det visar sig att många applikationer har en stor mängd problem på gränserna.
Gränsvärde betyder värdena nära gränsen där systemets beteende förändras. Vid analys av gränsvärden testas både giltiga ingångar och ogiltiga ingångar för att verifiera problemen.
Till exempel:
gratis mp3 nedladdningsapp för android
Om vi vill testa ett fält där värden från 1 till 100 ska accepteras väljer vi gränsvärdena: 1-1, 1, 1 + 1, 100-1, 100 och 100 + 1. Istället för att använda alla värden från 1 till 100 använder vi bara 0, 1, 2, 99, 100 och 101.
# 3) Test av beslutstabell
Som namnet själv antyder, varhelst det finns logiska förhållanden som:
Om
{
(Skick = sant)
därefter action1;
}
annars action2; / * (villkor = falskt) * /
Då identifierar en testare två utgångar (action1 och action2) för två villkor (True and False). Så baserat på de troliga scenarierna ristas en beslutstabell för att förbereda en uppsättning testfall.
Till exempel:
Ta ett exempel på XYZ-bank som ger räntesatsen för den manliga äldre medborgaren som 10% och för resten av befolkningen 9%.
I detta exempelvillkor har C1 två värden som sant och falskt, villkor C2 har också två värden som sant och falskt. Antalet totala möjliga kombinationer skulle då vara fyra. På så sätt kan vi härleda testfall med hjälp av en beslutstabell.
c ++ inbyggda funktioner
# 4) State Transition Testing
State Transition Testing är en teknik som används för att testa de olika tillstånden i systemet som testas. Systemets tillstånd ändras beroende på förhållanden eller händelser. Händelserna utlöser tillstånd som blir scenarier och en testare måste testa dem.
Ett systematiskt tillståndsövergångsdiagram ger en tydlig bild av tillståndsförändringarna men det är effektivt för enklare applikationer. Mer komplexa projekt kan leda till mer komplexa övergångsdiagram och därmed göra det mindre effektivt.
Till exempel:
# 5) Fel gissning
Detta är ett klassiskt exempel på erfarenhetsbaserad testning.
I denna teknik kan testaren använda sin erfarenhet av applikationsbeteende och funktioner för att gissa de felbenägna områdena. Många defekter kan hittas med hjälp av felgissningar där de flesta utvecklare vanligtvis gör misstag.
Få vanliga misstag som utvecklare vanligtvis glömmer att hantera:
- Dela med noll.
- Hantera nollvärden i textfält.
- Acceptera knappen Skicka utan något värde.
- Filöverföring utan bilaga.
- Filöverföring med mindre än eller mer än gränsstorleken.
# 6) Grafbaserade testmetoder
Varje applikation är en uppbyggnad av vissa objekt. Alla sådana objekt identifieras och grafen förbereds. Från detta objektdiagram identifieras varje objektrelation och testfall skrivs för att upptäcka felen.
# 7) Jämförelsetestning
Olika oberoende versioner av samma programvara används för att jämföra med varandra för testning i denna metod.
Hur gör man stegvis?
I allmänhet, när en systematisk process följs för att testa ett projekt / en applikation, bibehålls kvaliteten och är användbar på lång sikt för ytterligare testomgångar.
- Det främsta steget är att förstå kravspecifikationen för en applikation. En korrekt dokumenterad SRS (Software Requirement Specification) bör finnas på plats.
- Med hjälp av ovan nämnda Black Box-testtekniker som gränsvärde-analys, ekvivalenspartitionering etc uppsättningar giltiga och ogiltiga ingångar identifieras med deras önskade utgångar och testfall designas utifrån det.
- De designade testfallet utförs för att kontrollera om de klarar eller misslyckas genom att verifiera de faktiska resultaten med förväntade resultat.
- De misslyckade testfallet tas upp som defekter / buggar och adresseras till utvecklingsteamet för att få det rättat.
- Ytterligare baserat på defekterna som fixas testar testaren defekterna igen för att verifiera om de återkommer eller inte.
Fördelar och nackdelar
Fördelar
- Testaren behöver inte ha en teknisk bakgrund. Det är viktigt att testa genom att vara i användarens skor och tänka ur användarens synvinkel.
- Testning kan startas när utvecklingen av projektet / applikationen är klar. Både testarna och utvecklarna arbetar självständigt utan att störa varandras utrymme.
- Det är mer effektivt för stora och komplexa applikationer.
- Fel och inkonsekvenser kan identifieras i ett tidigt skede av testningen.
Nackdelar
- Utan teknisk eller programmeringskunskap finns det chanser att ignorera möjliga förhållanden i det scenario som ska testas.
- Under en bestämd tid finns det möjligheter att testa mindre och hoppa över alla möjliga ingångar och deras utmatningstest.
- En komplett testtäckning är inte möjlig för stora och komplexa projekt.
Skillnaden mellan White Box Testing och Black Box Testing
Nedan följer några skillnader mellan dem båda:
Black Box Testing | White Box Testing |
---|---|
Det är en testmetod utan att ha kunskap om applikationens faktiska kod eller interna struktur | Det är en testmetod som har kunskap om applikationens faktiska kod och interna struktur |
Detta är en högre nivå testning som funktionell testning. | Denna typ av testning utförs på en lägre testnivå, t.ex. enhetstestning, integrationstestning |
Den koncentrerar sig på det testade systemets funktionalitet | Den koncentrerar sig på själva kodprogrammet och dess syntax |
Black box-testning kräver kravspecifikation för att testa | White Box-testning kräver designdokument med dataflödesdiagram, flödesscheman etc. |
Blackbox-testning görs av testarna | White box-testning görs av utvecklare eller testare med programmeringskunskap. |
Slutsats
Det här är några av de grundläggande punkterna för Black Box-testning och översikten över dess tekniker och metoder.
Eftersom det inte är möjligt att testa allt med mänskligt engagemang med 100 procents noggrannhet, kommer de ovannämnda teknikerna och metoderna att effektivt förbättra kvaliteten på systemet.
Avslutningsvis är detta en mycket användbar metod för att verifiera systemets funktionalitet och identifiera de flesta av bristerna.
Hoppas att du skulle ha fått en djupgående kunskap om Black Box Testing-teknik.
Rekommenderad läsning
- Viktiga skillnader mellan Black Box Testing och White Box Testing
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Funktionell testning mot icke-funktionell testning
- Parvis testning eller testning av alla par testhandledning med verktyg och exempel
- White Box Testing: En komplett guide med tekniker, exempel och verktyg
- Volymtesthandledning: Exempel och volymtestverktyg
- Konfigurationstesthandledning med exempel
- Testing Primer eBook Download