black box testing an depth tutorial with examples
I denne opplæringen, ved hjelp av min industrielle erfaring innen Software Testing, la oss bli kjent med typene og teknikkene til Black-Box Testing sammen med prosessen, fordelene, ulempene og noen automatiseringsverktøy for å teste det annet enn manuell testing.
Vi vil også lære om forskjellene mellom White Box Testing og Black Box Testing.
Liste over 'Black Box Test Techniques' -veiledninger:
Opplæring # 1: Hva er Black Box Testing
Opplæring nr. 2: Hva er White Box Testing
Opplæring # 3: Funksjonstesting forenklet
Opplæring # 4: Hva er bruksteststesting
Opplæring # 5 : Orthogonal Array Testing Technique
Teknikker
Opplæring # 6: Grenseverdianalyse og ekvivalenspartisjonering
Opplæring # 7: Testing av beslutningstabell
Opplæring # 8: State Transition Testing
Opplæring 9 : Feil gjetting
Opplæring # 10: Grafbaserte testmetoder
Nesten alle av oss utfører Black Box Testing hver dag!
Enten vi har lært eller ikke, har vi alle utført Black Box Testing mange ganger i vårt daglige liv !!
Fra selve navnet kan du sannsynligvis forstå at det innebærer å samhandle med systemet, at du tester som en mysteriumboks. Det betyr at du ikke er kunnskapsrik nok om systemets interne funksjoner, men du vet hvordan det skal oppføre seg.
Hvis vi tar en eksempel for å teste bilen eller sykkelen vår, kjører vi alltid den for å sikre at den ikke oppfører seg på en uvanlig måte. Se? Vi har allerede gjort Black Box Testing.
Hva du vil lære:
- Hva er Black Box Testing?
- Typer Black Box Testing
- Black Box Testing Tools
- Black Box Testing Techniques
- Hvordan gjøre trinnvis?
- Fordeler og ulemper
- Forskjellen mellom test av hvit boks og svart boks
- Konklusjon
- Anbefalt lesing
Hva er Black Box Testing?
Black Box Testing er også kjent som atferdsmessig, ugjennomsiktig boks, lukket boks, spesifikasjonsbasert eller øye-til-øye-testing.
Det er en programvaretestmetode som analyserer funksjonaliteten til en programvare / applikasjon uten å vite mye om den interne strukturen / utformingen av elementet som testes, og sammenligner inngangsverdien med utgangsverdien.
hva er alfa- og betatesting
Hovedfokuset i Black Box Testing er på funksjonaliteten til systemet som helhet. Begrepet ‘Behavioral Testing’ brukes også til Black Box Testing. Behavioral test design er litt forskjellig fra black-box test design fordi bruk av intern kunnskap ikke er strengt forbudt, men det er fortsatt motløs.
Hver testmetode har sine egne fordeler og ulemper. Det er noen feil som ikke kan bli funnet med den eneste sorte boksen eller bare hvite boksen.
Flertallet av applikasjonene er testet etter Black Box-metoden. Vi må dekke de fleste testtilfeller slik at de fleste feilene blir oppdaget av en Svart boks metode.
Denne testingen skjer gjennom programvareutvikling og testing av livssyklusen, dvs. i trinn for enhet, integrasjon, system, aksept og regresjonstesting.
Dette kan være både funksjonelt eller ikke-funksjonelt.
Typer Black Box Testing
Praktisk sett er det flere typer Black Box-tester som er mulige, men hvis vi vurderer den viktigste varianten av den, er de to grunnleggende.
# 1) Funksjonstesting
Denne typen omhandler funksjonelle krav eller spesifikasjoner for en applikasjon. Her testes forskjellige handlinger eller funksjoner i systemet ved å levere inngangen og sammenligne den faktiske utgangen med den forventede utgangen.
For eksempel ,når vi tester en rullegardinliste, klikker vi på den og verifiserer at den utvides og at alle forventede verdier vises i listen.
Få hovedtyper av funksjonstesting er:
- Røykprøving
- Sanity Testing
- Integrasjonstesting
- Systemtesting
- Regresjonstesting
- Testing av brukeraksept
=> Les mer om Funksjonell testing .
# 2) Ikke-funksjonell testing
Bortsett fra funksjonaliteten til kravene, er det også flere ikke-funksjonelle aspekter som må testes for å forbedre kvaliteten og ytelsen til applikasjonen.
Få hovedtyper av ikke-funksjonell testing inkluderer:
- Brukervennlighetstesting
- Lastetesting
- Ytelsestesting
- Kompatibilitetstesting
- Stresstesting
- Skalerbarhetstesting
=> Les mer om Ikke-funksjonell testing .
Black Box Testing Tools
Black Box Testing-verktøy er hovedsakelig plate- og avspillingsverktøy. Disse verktøyene brukes til regresjonstesting for å kontrollere om nybygg har skapt noen feil i tidligere fungerende applikasjonsfunksjonalitet.
Disse plate- og avspillingsverktøyene registrerer testtilfeller i form av noen skript som TSL, VB-skript, Javascript, Perl, etc.
Black Box Testing Techniques
For å systematisk teste et sett med funksjoner, er det nødvendig å utforme testsaker. Testere kan lage testsaker fra kravspesifikasjonsdokumentet ved hjelp av følgende Black Box Testing-teknikker.
- Ekvivalenspartisjonering
- Grenseverdianalyse
- Testing av beslutningstabell
- State Transition Testing
- Feil gjetting
- Grafbaserte testmetoder
- Sammenligningstesting
La oss forstå hver teknikk i detalj.
# 1) Ekvivalenspartisjonering
Denne teknikken er også kjent som Equivalence Class Partitioning (ECP). I denne teknikken er inngangsverdier til systemet eller applikasjonen delt inn i forskjellige klasser eller grupper basert på dens likhet i utfallet.
Derfor, i stedet for å bruke hver inngangsverdi, kan vi nå bruke en hvilken som helst verdi fra gruppen / klassen for å teste resultatet. På denne måten kan vi opprettholde testdekningen mens vi kan redusere mye omarbeid og viktigst av tiden brukt.
For eksempel:
Som vist i bildet ovenfor, aksepterer et 'AGE' tekstfelt bare tallene fra 18 til 60. Det vil være tre sett med klasser eller grupper.
To ugyldige klasser vil være:
a) Mindre enn eller lik 17.
b) Større enn eller lik 61.
En gyldig klasse vil være alt mellom 18 og 60.
Vi har dermed redusert testsakene til bare 3 testsaker basert på de dannede klassene, og dekker dermed alle mulighetene. Så det er tilstrekkelig å teste med hvilken som helst verdi fra hvert sett i klassen for å teste scenarioet ovenfor.
=> Anbefalt lese - Hva er ekvivalenspartisjonering?
# 2) Grenseverdianalyse
Fra selve navnet kan vi forstå at vi i denne teknikken fokuserer på verdiene ved grensene, ettersom det er funnet at mange applikasjoner har mange problemer med grensene.
beste gratis e-postsporing for gmail
Grense betyr verdiene nær grensen der oppførselen til systemet endres. I analyse av grenseverdier testes både gyldige innganger og ugyldige innganger for å verifisere problemene.
For eksempel:
Hvis vi vil teste et felt der verdier fra 1 til 100 skal aksepteres, velger vi grenseverdiene: 1-1, 1, 1 + 1, 100-1, 100 og 100 + 1. I stedet for å bruke alle verdiene fra 1 til 100, bruker vi bare 0, 1, 2, 99, 100 og 101.
# 3) Testing av beslutningstabell
Som navnet selv antyder, uansett hvor det er logiske forhold som:
Hvis
{
(Tilstand = Sann)
deretter handling1;
}
annet handling2; / * (tilstand = usann) * /
Deretter vil en tester identifisere to utganger (handling1 og handling2) for to forhold (sant og usant). Så basert på de sannsynlige scenariene blir det skåret ut en beslutningstabell for å utarbeide et sett med testtilfeller.
For eksempel:
Ta et eksempel på XYZ-banken som gir rente for den mannlige pensjonisten som 10% og for resten av befolkningen 9%.
I dette eksempelbetingelsen har C1 to verdier som sant og usant, tilstand C2 har også to verdier som sant og usant. Antallet totale mulige kombinasjoner vil da være fire. På denne måten kan vi utlede testsaker ved hjelp av en beslutningstabell.
c ++ udefinert referanse til funksjon i topptekstfilen
# 4) Test av statlig overgang
State Transition Testing er en teknikk som brukes til å teste de forskjellige tilstandene til systemet som testes. Systemets tilstand endres avhengig av forholdene eller hendelsene. Hendelsene utløser tilstander som blir scenarier, og en tester må teste dem.
Et systematisk tilstandsovergangsdiagram gir et klart bilde av tilstandsendringene, men det er effektivt for enklere applikasjoner. Mer komplekse prosjekter kan føre til mer komplekse overgangsdiagrammer og dermed gjøre det mindre effektivt.
For eksempel:
# 5) Feilsetting
Dette er et klassisk eksempel på erfaringsbasert testing.
I denne teknikken kan testeren bruke sin erfaring om applikasjonsatferd og funksjonalitet til å gjette de feilutsatte områdene. Mange feil kan bli funnet ved å gjette feil der de fleste av utviklerne vanligvis gjør feil.
Få vanlige feil som utviklere vanligvis glemmer å håndtere:
- Del med null.
- Håndtering av nullverdier i tekstfelt.
- Godta Submit-knappen uten verdi.
- Filopplasting uten vedlegg.
- Filopplasting med mindre enn eller mer enn grensestørrelsen.
# 6) Grafbaserte testmetoder
Hver applikasjon er en oppbygging av noen objekter. Alle slike objekter identifiseres og grafen utarbeides. Fra denne objektgrafen identifiseres hvert objektforhold, og testtilfeller skrives tilsvarende for å oppdage feilene.
# 7) Sammenligningstesting
Forskjellige uavhengige versjoner av samme programvare brukes til å sammenligne med hverandre for testing i denne metoden.
Hvordan gjøre trinnvis?
Generelt, når en systematisk prosess følges for å teste et prosjekt / applikasjon, opprettholdes kvaliteten og er nyttig i det lange løp for ytterligere testerunder.
- Det fremste trinnet er å forstå kravspesifikasjonen til en applikasjon. En riktig dokumentert SRS (Software Requirement Specification) bør være på plass.
- Ved hjelp av ovennevnte Black Box-testteknikker som grenseverdianalyse, ekvivalenspartisjonering osv. Sett med gyldige og ugyldige innganger identifiseres med ønsket utgang, og testtilfeller er utformet ut fra det.
- De testede testtilfellene blir utført for å sjekke om de består eller mislykkes ved å verifisere de faktiske resultatene med forventede resultater.
- De mislykkede testsakene blir reist som defekter / feil og adressert til utviklingsteamet for å få det løst.
- Videre basert på feilene som er løst, tester testeren feilene på nytt for å verifisere om de er gjentakende eller ikke.
Fordeler og ulemper
Fordeler
- Testeren trenger ikke ha teknisk bakgrunn. Det er viktig å teste ved å være i brukerens sko og tenke fra brukerens synspunkt.
- Testing kan startes når utviklingen av prosjektet / applikasjonen er gjort. Både testere og utviklere jobber uavhengig uten å forstyrre hverandres rom.
- Det er mer effektivt for store og komplekse applikasjoner.
- Mangler og inkonsekvenser kan identifiseres på et tidlig stadium av testingen.
Ulemper
- Uten teknisk eller programmeringskunnskap er det sjanser for å ignorere mulige forhold i scenariet som skal testes.
- I en bestemt tid er det muligheter for å teste mindre og hoppe over alle mulige innganger og deres utgangstesting.
- En komplett testdekning er ikke mulig for store og komplekse prosjekter.
Forskjellen mellom test av hvit boks og svart boks
Nedenfor er noen forskjeller mellom dem begge:
Black Box Testing | Testing av hvit boks |
---|---|
Det er en testmetode uten å ha kunnskap om den faktiske koden eller interne strukturen til applikasjonen | Det er en testmetode som har kunnskap om den faktiske koden og den interne strukturen til applikasjonen |
Dette er et høyere nivå testing som funksjonstesting. | Denne typen testing utføres på et lavere nivå av testing, for eksempel Unit Testing, Integration Testing |
Den konsentrerer seg om funksjonaliteten til systemet som testes | Den konsentrerer seg om selve koden - programmet og syntaksen |
Black box testing krever kravspesifikasjon for å teste | White Box-testing krever designdokumenter med dataflytdiagrammer, flytskjemaer etc. |
Black box testing gjøres av testerne | Hvitboksetesting utføres av utviklere eller testere med programmeringskunnskap. |
Konklusjon
Dette er noen av de grunnleggende punktene angående Black Box-testing og oversikt over teknikker og metoder.
Siden det ikke er mulig å teste alt med menneskelig involvering med 100 prosent nøyaktighet, vil de ovennevnte teknikkene og metodene brukes effektivt, definitivt forbedre kvaliteten på systemet.
For å konkludere er dette en veldig nyttig metode for å verifisere funksjonaliteten til systemet og identifisere de fleste feilene.
Håper du ville ha fått en grundig kunnskap om Black Box Testing teknikk.
Anbefalt lesing
- Viktige forskjeller mellom Black Box Testing og White Box Testing
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Funksjonstesting mot ikke-funksjonell testing
- Pairwise Testing eller All-Pair Testing Tutorial med verktøy og eksempler
- White Box Testing: En komplett guide med teknikker, eksempler og verktøy
- Volumtestopplæring: Eksempler og volumtestverktøy
- Konfigurasjonstestveiledning med eksempler
- Testing Primer eBook Download