Som testfaglige taler vi ofte om værdien af struktureret test. Men er vi egentlig klare i spyttet, når vi skal sætte ord på, hvilken forskel det gør for vores interessenter, at vi har en struktureret tilgang til test? Hvad betyder det for de testaktiviteter, vi laver, og hvad betyder det for vores kunder?
Start med kundens behov
Egentlig starter det med en dialog med vores interessenter: Hvorfor er det, de synes, vi skal teste? Hvad er det, de gerne vil have ud af det? Som oftest finder vi ud af, at kunden ønsker:
- Kendt kvalitet inden idriftsættelse – transparens over løsningens kvalitet
- Overblik over risici – hvor har vi bekymringer i forhold til kvaliteten?
- At test skal være effektiv – der ønskes mest mulig test for færrest muligt penge
- At test ikke er en flaskehals
Kend svaret på de 6 H’er
For at vi kan imødekomme kundens ønsker, er det min erfaring, at vi er nødt til at have en struktureret tilgang til test i al almindelighed. Vi skal kende svaret på de 6 H’er:
- Hvad skal vi teste?
- Hvordan skal vi teste løsningen?
- Hvem tester?
- Hvor tester vi?
- Hvornår tester vi?
- Hvordan skal vi kommunikere om resultatet?
Brug testdesignteknikker
Struktureret test handler om at finde den gode arbejdsgang eller proces, have den rigtige strategi for projektet, toget, teamet – eller hvad vi nu organiserer os i. Men også nede i den konkrete testopgave, er det essentielt, at vi er strukturerede:
- Hvilke risici er der ved den feature, vi sidder med?
- Hvordan håndterer vi de risici bedst muligt med test?
- Hvordan sikrer vi, at den test, vi skal lave for en feature, giver værdi så hurtigt som muligt?
- Hvordan sikrer vi i virkeligheden, at vi ikke tester FOR MEGET?
Et af de værktøjer, som ethvert agilt team bør kunne grave frem for at sikre dette, er en struktureret tilgang til testdesign – og med det også en forståelse og brug af testdesignteknikker (Læs mere om testdesignteknikker i denne artikel). – Og nej, testdesignteknikkerne døde ikke med vandfaldet og v-modellen. De giver mere værdi end nogensinde, hvis de bliver brugt rigtigt! Og hvad er så rigtigt? Det hurtige svar er; så tidligt som muligt og så interaktivt som muligt.
Testdesignteknikkerne skal bruges…
- til at afklare, hvad det er, en given feature skal kunne
- til at detaljere og visualisere acceptkriterier på en måde, der kræver minimal dokumentation
- i samarbejdet i teamet (three amigos)
- til at forme grundlaget for det, vi gør, når vi implementerer testen; uanset om det er den test, som laves som en integreret del af udviklingen (unittest og unit-integration test), om det er en del af den regressionstest, der kører løbende, eller om det er en del af den udforskende test, vi laver på de enkelte user stories.
Værdien af testdesignteknikker
Og hvad er det så, de kan give af værdi, de der testdesignteknikker? Ikke så lidt, vil jeg mene:
-
- Øget dækning og effektivitet
Testdesignteknikker hjælper med at identificere det sæt af testcases, der sikrer den ønskede testdækning, og som sikrer, at softwaren bliver testet fra forskellige perspektiver. Samtidig optimerer vi vores ressourcer, da vi tester med det mest effektive sæt i forhold til den dækning, vi ønsker. - Tidlig fejlidentifikation
Når vi bruger strukturerede testdesignteknikker proaktivt ved identifikation af acceptkriterier for user stories og features, identificerer vi potentielle fejl og mangler i softwaren tidligt i udviklingsprocessen. Altså hurtig feedback som muliggør hurtigere rettelser og reducerer de omkostninger, der er forbundet med at løse problemer, der opdages sent i processen. - Bedre kvalitet af softwaren
Testdesignteknikker bidrager til at øge kvaliteten af den udviklede software ved at sikre, at den opfylder kravene og fungerer som forventet. - Forbedret rapportering og kommunikation
Brug af testdesignteknikker fører til klare og veldefinerede testcases, og implementeret med den rette værktøjsdækning kan det skabe et bedre overblik over dækningen af testen. Dette forbedrer kommunikationen mellem teamet og dets interessenter. - Øget kundetillid
En struktureret tilgang, der anvender testdesignteknikker, resulterer i en mere pålidelig og robust software. Dette øger kundens tillid til det endelige produkt, da de kan være sikre på, at det er blevet gennemgribende testet for at sikre dets funktionalitet og kvalitet. - Udforskende test
Endelig kan testdesignteknikkerne bruges som et indspark til udforskende test og hjælpe med at strukturere de testideer, vi får, når vi analyserer den opgave, vi står overfor. Her kan vi vælge at tage den viden, vi får fra teknikkerne med videre til en dokumenteret test case, eller vi kan bruge dem som testideer i udforskende test.Så der er mange gode grunde til at fokusere på, hvordan vi i teamet og organisationen får et større fokus på en mere struktureret og effektiv tilgang til testdesign; både når det gælder økonomi, effektivitet og kvalitet af løsningen:- Vi får mere effektiv test – bedre test for færre penge
- Vi får færrest muligt test cases for at dække bedst muligt
- Vi laver løsningen rigtigt, og vi laver det rigtige
- Øget dækning og effektivitet
Bed om hjælp, hvis det virker uoverskueligt
Alt dette er noget, som vi arbejder med på vores kursus i Grundlæggende struktureret test, som er målrettet dig, der er ny i rollen som tester, eller som bare gerne vil have opdateret din testfaglige værktøjskasse uden at skulle tage en egentlig testcertificering.
Har du spørgsmål eller kommentarer til artiklen – eller har du brug for hjælp til at komme i gang med struktureret test – er du velkommen til at kontakte ekspert testkonsulent og underviser Gitte Ottosen på gitte@key2quality.dk eller telefon 4940 8552.