Svartboks-testing er en type programvaretesting der du undersøker funksjonaliteten til et program uten å kjenne til hvordan det fungerer internt. Tenk på det som å prøve å løse et puslespill uten å vite hvordan det ble satt sammen.
Som tester med nesten 10 års erfaring er jeg glad for å kunne dele kunnskapen min om svartboks-testing med deg. I denne artikkelen skal jeg gå gjennom hva svartboks-testing er, hvordan det fungerer, og hvorfor det er viktig i programvareutviklingsprosessen. Så spenn deg fast, og la oss komme i gang!
Hva er svartboks-testing?

Svartboks-testing er en testtilnærming der testingen utføres uten kjennskap til den interne strukturen i applikasjonen som testes (AUT). I motsetning til hvitboks-testing, som dreier seg om en grundig forståelse av applikasjonens kildekode og utføres av utviklingsteamet.
Svartboks-testing utføres vanligvis av kvalitetssikringsteamet og fokuserer på applikasjonens inndata og utdata. Testere bruker gyldige og ugyldige inndata og observerer resultatene. Det kalles noen ganger atferdstesting fordi testingen utføres fra sluttbrukerens perspektiv.
Svartboks-testing kan brukes på alle testnivåer: enhetstesting, integrasjonstesting, systemtesting og brukerakseptansetesting. Det finnes også en rekke verktøy for svartboks-testing som gjør det enkelt å benytte denne tilnærmingen til programvaretesting.
Have an account? Log In
Typer svartboks-testing
Funksjonell testing: viser til en type testing der vi tester HVA applikasjonen gjør. Testtilfellene kan skrives basert på de funksjonelle kravene. Funksjonelle tester for et innloggingsskjermbilde kan for eksempel omfatte:
- Innlogging med gyldig påloggingsinformasjon og kontroll av lenken «Glemt passord?».
- Kontroll av funksjonen «Husk meg».
- Negative tester, for eksempel innlogging med ugyldig påloggingsinformasjon og forsøk på å logge inn uten obligatoriske data.
Ikke-funksjonell testing: viser til HVORDAN applikasjonen gjør det den gjør. Vi kan også ha ikke-funksjonelle programvarekrav. For eksempel hvor raskt en side skal lastes inn, hvor mange samtidige brukere den skal kunne håndtere, eller hvilke retningslinjer for tilgjengelighet den skal oppfylle. Det finnes flere undertyper av ikke-funksjonell testing som vi kan ta hensyn til under testprosessen (og avhengig av kravspesifikasjonene):
- Brukervennlighetstesting: fokuserer vanligvis på hvor enkelt sluttbrukeren kan få tilgang til funksjonene i applikasjonen.
- Tilgjengelighetstesting: her tester vi at applikasjonen er tilgjengelig for alle brukere, inkludert personer med funksjonsnedsettelser.
- Ytelsestesting: testing av applikasjonens ytelse. Dette er en type testing som egner seg bedre for automatisering, der testverktøy benyttes. Ved belastningstesting kan vi for eksempel prøve å teste applikasjonen med et stort antall samtidige brukere, noe vi ikke kan oppnå manuelt.
- Sikkerhetstesting: testing av applikasjonens sikkerhet og hvor godt sensitive data er beskyttet. Dette omfatter testmetoder som penetrasjonstesting.
Regresjonstesting: en type testing der vi kontrollerer at eksisterende funksjonalitet ikke ble ødelagt av nylig lagt til kode.
Omtesting: en type testing der vi verifiserer at funksjonalitet som tidligere ikke fungerte, er blitt rettet.
Svartboks-testing kontra hvitboks-testing
Det «motsatte» av svartboks-testing er typen hvitboks-testing – også kjent som klarboks-testing. Hvitboks-testing utføres vanligvis av utviklerne i teamet, og fokuserer på kildekoden til applikasjonen som testes.
La oss se på de viktigste forskjellene mellom de to:
- Svartboks-tester utføres uten kunnskap om appens interne virkemåte, mens hvitboks-testing innebærer kunnskap om kildekoden.
- Ved svartboks-testing er det ikke nødvendig med programmeringskunnskaper; hvitboks-testing innebærer vanligvis å skrive automatiserte tester for å oppnå testdekning.
- Svartboks-testing er QA-teamets ansvar, mens hvitboks-testing utføres av utviklingsteamet.
- Svartboks-testing bruker teknikker som ekvivalensklassing, analyse av grenseverdier, beslutningstabell og tilstandsoverganger (mer om dette nedenfor). Hvitboks-testingsteknikker omfatter setningsdekning, grendekning og betingelsesdekning.
- I motsetning til hvitboks-testing, som ofte krever inngående kunnskap om kodebasen, lar svartboks-testing testere fokusere på applikasjonens atferd. Begge tilnærmingene krever imidlertid bruk av pålitelige verktøy for databaseadministrasjon for å oppnå optimale resultater
- Hvitboks-testing utføres best på lavere testnivåer (for eksempel enhets- eller integrasjonstesting), mens svartboks-tester utføres på høyere nivåer (system- og ende-til-ende-testing samt brukerakseptansetesting).
En kombinasjon av de to er gråboks-testing, der testere har tilgang til noe informasjon om programvarens interne virkemåte, for eksempel arkitekturen eller databasestrukturen, men ikke hele kodebasen. Dette gjør det mulig å teste programvaren mer grundig enn med svartboks-testing, men uten den fulle kunnskapen om og kontrollen over systemet som følger med hvitboks-testing.
More Articles
Teknikker for svartboks-testing
For å oppnå god testdekning finnes det flere teknikker for svartboks-testing som kan brukes når man oppretter testtilfeller:
Analyse av grenseverdier: Ved hjelp av denne teknikken identifiseres de mest ekstreme inndataverdiene, og testscenarioene dekker bare disse verdiene. Statistisk sett er det større sannsynlighet for at disse «grenseverdiene» oppdager feil.
Ekvivalensklassing: Med denne teknikken deles de mulige inndataverdiene inn i ekvivalensklasser. Hver verdi i en ekvivalensklasse forventes å gi samme resultat, så ett testtilfelle for hver klasse vil være tilstrekkelig for full dekning. Vi bør dekke både gyldige og ugyldige inndata.
Testing med beslutningstabeller: En testmetode der brukstilfellene utledes fra regler som bruker kombinasjoner av inndata og de forventede resultatene.
Testing av tilstandsoverganger: en programvaretestingsteknikk som fokuserer på å teste atferden til en programvareapplikasjon når den går mellom ulike tilstander.
Feilgjetting: En erfaringsbasert teknikk der testere bruker intuisjonen og erfaringen sin til å forutse og avdekke feil i systemet, basert på tidligere kunnskap om og forståelse av potensielle feilkilder.
Konklusjon
Svartboks-testing er en viktig del av programvaretesting som bidrar til å sikre kvaliteten og funksjonaliteten til programvare. Ved å teste appen fra et sluttbrukerperspektiv kan svartboks-testing bidra til å finne problemer som ellers kanskje ikke ville blitt oppdaget.
Svartboks-testing er et praktisk verktøy for å identifisere funksjonelle feil i programvare. Ved å teste systemets inndata og utdata og kontrollere at det oppfører seg som forventet, kan testere få en bedre forståelse av hvordan programvaren fungerer, og identifisere områder der det kan gjøres forbedringer. Alt i alt bør svartboks-testing være en integrert del av enhver omfattende strategi for programvaretesting for å sikre at programvaren er brukervennlig, pålitelig og fri for funksjonelle feil.
Hvis du liker artikler om programvaretesting, bør du vurdere å abonnere på nyhetsbrevet for QA-ledere!



