Hvad er sortbokstest?

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Dyk ned i denne vigtige kvalitetssikringsteknik, hvor de interne funktioner er skjult, mens fejl bliver afsløret.

Sort boks-testning er en type softwaretest, hvor man undersøger et programs funktionalitet uden at kende dets interne funktioner. Tænk på det som at forsøge at løse et puslespil uden at vide, hvordan det blev samlet. 

Som tester med næsten 10 års erfaring er jeg begejstret for at dele min viden om sort boks-testning med dig. I denne artikel dykker jeg ned i, hvad sort boks-testning er, hvordan det fungerer, og hvorfor det er vigtigt i softwareudviklingsprocessen. Så spænd sikkerhedsselen, og lad os komme i gang!

Hvad er sort boks-testning?

en infografik, der forklarer, hvad sort boks-testning er inden for softwaretest

Sort boks-testning er en testtilgang, hvor testen udføres uden kendskab til den interne struktur i den applikation, der testes (AUT). I modsætning hertil står hvid boks-testning, som bygger på en indgående forståelse af applikationens kildekode og udføres af udviklingsteamet.

Sort boks-testning udføres typisk af kvalitetssikringsteamet og fokuserer på applikationens input og output. Testere bruger gyldige og ugyldige input og observerer resultaterne. Det kaldes nogle gange adfærdstestning, fordi testen udføres fra slutbrugerens perspektiv.

Sort boks-testning kan anvendes på alle testniveauer: enhedstest, integrationstest, systemtest og brugeraccepttest. Der findes også et væld af værktøjer til sort boks-testning, som gør det nemt at anvende denne softwaretesttilgang.

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Typer af sort boks-testning 

Funktionel testning: henviser til en type test, hvor vi tester, HVAD applikationen gør. Testtilfælde kan skrives ud fra de funktionelle krav. Funktionelle tests af en loginskærm kan for eksempel omfatte:

  • At logge ind med gyldige legitimationsoplysninger og kontrollere linket “Glemt adgangskode?”.
  • At kontrollere funktionen “Husk mig”.
  • Negative tests, såsom at logge ind med ugyldige legitimationsoplysninger og forsøge at logge ind uden obligatoriske data.

Ikke-funktionel testning: henviser til HVORDAN applikationen gør det, den gør. Vi kan også have ikke-funktionelle softwarekrav. For eksempel hvor hurtigt en side skal indlæses, hvor mange samtidige brugere den skal kunne håndtere,  eller hvilke retningslinjer for tilgængelighed den skal opfylde. Der er flere undertyper af ikke-funktionel testning, som vi kan overveje under testprocessen (afhængigt af kravspecifikationerne):

  • Brugervenlighedstest: fokuserer normalt på, hvor nemt slutbrugeren kan få adgang til applikationens funktioner.
  • Tilgængelighedstest: her tester vi, at applikationen er tilgængelig for alle brugere, herunder personer med handicap. 
  • Ydelsestest: test af applikationens ydeevne. Det er en type test, der egner sig bedre til automatisering, hvor testværktøjer indgår. Ved belastningstest kan vi for eksempel forsøge at teste applikationen med et stort antal samtidige brugere, hvilket ikke er noget, vi kan opnå manuelt.
  • Sikkerhedstest: hvor vi tester applikationens sikkerhed, og hvor godt følsomme data er beskyttet. Det omfatter testmetoder såsom penetrationstest.

Regressionstest: dette er en type test, hvor vi kontrollerer, at eksisterende funktionalitet ikke er blevet ødelagt af nytilføjet kode.

Gentest: en type test, hvor vi kontrollerer, at en funktionalitet, der tidligere ikke fungerede, er blevet rettet.

Sort boks-testning sammenlignet med hvid boks-testning

“Modsætningen” til sort boks er typen hvid boks-testning – også kendt som gennemsigtig boks-testning. Hvid boks-testning udføres normalt af teamets udviklere, og den fokuserer på at teste kildekoden i den applikation, der testes.

Lad os se på de vigtigste forskelle mellem de to:

  • Sortboks-tests udføres uden kendskab til applikationens interne funktion, mens hvidboks-test involverer kendskab til kildekoden.
  • Ved sortboks-test er der ikke behov for programmeringskendskab; hvidboks-test involverer normalt skrivning af automatiserede tests for at opnå testdækning.
  • Sortboks-test er QA-teamets ansvar, mens hvidboks-test udføres af udviklingsteamet.
  • Sortboks-test anvender teknikker som ækvivalenspartitionering, grænseværdianalyse, beslutningstabel og tilstandsovergang (mere om dette nedenfor). Hvidboks-testteknikker omfatter sætningsdækning, forgreningsdækning og betingelsesdækning.
  • I modsætning til hvidboks-test, som ofte kræver et dybtgående kendskab til kodebasen, giver sortboks-test testere mulighed for at fokusere på applikationens funktion. Begge tilgange kræver dog brug af pålidelige værktøjer til databasehåndtering for at opnå optimale resultater
  • Hvidboks-test udføres bedst på lavere testniveauer (såsom enheds- eller integrationstest), mens sortboks-tests udføres på højere niveauer (system- og ende-til-ende-test samt brugeraccepttest).

En hybrid af de to er gråboks-testtypen, hvor testere har adgang til nogle oplysninger om softwarens interne funktion, såsom dens arkitektur eller databasestruktur, men ikke hele kodebasen. Dette giver dem mulighed for at teste softwaren mere grundigt end med sortboks-test, men uden den fulde viden om og kontrol over systemet, som følger med hvidboks-test.

More Articles

Teknikker til sortboks-test

For at opnå god testdækning er der flere teknikker til sortboks-test, der kan anvendes ved oprettelse af testtilfælde:

Grænseværdianalyse: Ved hjælp af denne teknik identificeres de ekstreme inputværdier, og testscenarierne dækker kun disse værdier. Statistisk set er der større sandsynlighed for, at disse “grænseværdier” opdager fejl.

Ækvivalenspartitionering: Med denne teknik opdeles de mulige inputværdier i ækvivalensklasser. Hver værdi i en ækvivalensklasse forventes at have samme resultat, så én testcase for hver klasse vil være tilstrækkelig til fuld dækning. Vi bør dække både gyldige og ugyldige input.

Beslutningstabeltest: En testmetode, hvor anvendelsestilfælde udledes fra regler, der benytter kombinationer af input og deres forventede output.

Tilstandsovergangstest:  en softwaretestteknik, der fokuserer på at teste en softwareapplikations funktion, når den skifter mellem forskellige tilstande.

Fejlgætning: En erfaringsbaseret teknik, hvor testere bruger deres intuition og erfaring til at forudse og afdække fejl i systemet baseret på deres tidligere viden om og forståelse af potentielle fejlområder.

Konklusion 

Sortboks-test er en vigtig del af softwaretest, der hjælper med at sikre kvaliteten og funktionaliteten af software. Ved at teste applikationen fra en slutbrugers perspektiv kan sortboks-test hjælpe med at finde problemer, som ellers måske ikke ville blive opdaget.

Sortboks-test er et praktisk værktøj til at identificere funktionelle fejl i software. Ved at teste systemets input og output og kontrollere, at det fungerer som forventet, kan testere opnå en bedre forståelse af, hvordan softwaren fungerer, og identificere områder, hvor der kan foretages forbedringer. Overordnet set bør sortboks-test være en integreret del af enhver omfattende softwareteststrategi for at sikre, at softwaren er brugervenlig, pålidelig og fri for funktionelle fejl.


Hvis du kan lide artikler om softwaretest, vil jeg anbefale, at du abonnerer på QA Lead-nyhedsbrevet!

Andreea Draniceanu
Hi there! My name is Andreea, I’m a software test engineer based in Romania. I’ve been in the software industry for over 10 years. Currently my main focus is UI test automation with C#, but I love exploring all QA-related areas 😊

You may also like