Per Erik Strandberg /cv /kurser /blog

Jag beskriver här en idé till en Agil Testprocess utifrån V-modellen.

Vad är en testprocess?

Enligt SSTB: [...] testprocess[en] innehåller planering, specificering, exekvering, loggning och avslut.

Vad är V-modellen

Enligt SSTB: V-modellen är ett ramverk som beskriver aktiviteterna inom programvaruutveckling. V-modellen beskriver ur ett testperspektiv hur testaktiviteter kan integreras i varje fas av livscykeln [...].

http://www.pererikstrandberg.se/blog/software-testing/process-1-v-model-700.png

En översikt av V-modellen innehåller fyra nivåer:

Utöver fördelen att arbete med kravspecifikationer (A-D) och testspecifikationer (E-H) kan utföras samtidigt gör V-modellen ett par antaganden som typiskt kritiseras av förespråkare för agila metoder:

  1. När kravspecifikationen (A) är klar kommer inga nya krav.
  2. Utvecklingen sker efter kravspecifikationen.
  3. Testning sker efter utveckling (eller i alla fall efter kravspecifikation).

Om man i in utveckling använder sig av Riskbaserad Testning kan det vara lämpligt att parallellt med specifikationerna (kanske A-C) samtidigt gör en risk-analys.

Agil Testprocess utifrån V-modellen

Testprocessen som presenteras här bygger på V-modellen med inslag av agil utveckling och agil testning. Speciellt används element från Boken Agile Testing av Crispin & Gregory som är ett referensverk inom den agila testsfären.

http://www.pererikstrandberg.se/blog/software-testing/process-2-iterative-and-v-model-700.png

Den agila utvecklingsfasen

I varje iteration är det viktigt att få till testaktiviteter enligt principen om Agila Testkvadranter. De agila testkvadranterna delar upp testaktiviteter med hjälp av två axlar:

http://www.pererikstrandberg.se/blog/software-testing/process-3-quadrants-700.png

Med detta tänk får vi fyra olika klasser av testaktiviteter. I varje iteration är det viktigt att kontrollera att testningen täcker dessa efter behov. En vanlig tankevurpa är att man i iterationen ska testa dessa i tur och ordning – målet är inte missa viktig testning av den funktionalitet som implementeras.

Vart energin skall läggas beror på typ av funktionalitet som skall implementeras i iterationen. Några exempel:

Utökningar

Man skulle kunna tänka sig att specificera denna testprocess vidare för att täcka hela systemets livscykel. Man kan då tänka sig fyra faser.

http://www.pererikstrandberg.se/blog/software-testing/process-four-phases.png


Tillhör Kategori Test
Tillhör Kategori Mjukvara
Se också Riskbaserad Testning
Se också Lean Utveckling