Testpyramiden

Testautomatisering gennem brugergrænsefladen (UI) er ofte meget langsomt og skrøbeligt. En lille ændring i systemet/applikationen kan meget nemt ødelægge disse test, og vedligeholdelsen bliver meget omfattende og dyr. Skrøbeligheden gør også, at tilliden til testresultaterne kan blive undermineret.

Testpyramiden argumenterer for at vi skal lave meget mere automatiseret test gennem unittest end gennem brugergrænsefladetest.

Testpyramiden - Mike Cohn

Testpyramiden – Mike Cohn

Det var Mike Cohn, der “opfandt” testpyramide-koncept i hans bog “Succeeding with Agile”.

Mike Cohn’s originale testpyramide indeholder tre lag, som vores testsuite skal/bør indeholde:

1. Unittest
2. Servicetest
3. Brugergrænsefladetest (User Interface Tests)

Disse tre lag skal tages som en tommelfingerregel for hvor vi skal lægge vores testindsats:

Jo højre i lagene vi når, des færre test skal vi have.

Fordelene ved at automatisere på unit-niveau er, at vi kan skrive testene meget tidligt i udviklingsforløbet.

Når vi tester på brugergrænsefladen (toppen af pyramiden) er det ofte længere flow, vi tester, og det gør, at vi får meget redundant test.

Hvorfor har vi en teststrategi

Formålet med en teststrategi er at skabe en fælles forståelse af de overordnede mål, tilgang, værktøjer og timing af de testaktiviteter, projektet/teamet skal udføre.

En god teststrategi skal være let at forstå, praktisk anvendelig og have opnåelige mål.

Teststrategidokumentet er også med til at give en formel beskrivelse af, hvordan et givent softwareprodukt er/forventes testet.

Teststrategien bør beskive alle niveauer af test:

  • unit/komponent,
  • integration,
  • system,
  • accepttest,
  • performance,
  • automatisering/manuel,
  • exploratory testing/udforskende test,
  • m.m.

Det gør at gerne skulle udrydde eventuelle konflikter/forvirringer, der måtte opstå, når projektet/teamet skal kvalitetssikre produktet inden release.