Testspecifikation

From CCT - Vidensdeling
Jump to navigation Jump to search

Udviklingslog (Status & Planer)

01 KM 30/10-2016 Første udkast (baseret på forløbsbeskrivelsessabelonen). 80 % færdig - klar til review Helt færdig efter review - medio november?

Introduktion

En testspecifikation er et dokument forklarer kunden og projektgruppe hvilke test der skal foretages i forbindelse med et produkt afleveres. Formålet med dette kapitel er at give en kort introduktion til en testspecifikation. Intensionen er at forklare hvor simpelt en testspecifikation laves - at afmystificerer dokumentation ved at give nogle praktiske tips. En testspecikation hører uløseligt sammen med Kravspecifikationen og anvende mest i den første del af udviklingsprocessen (men skal løbene opdateres) Faglige mål dette emne berører:

  • anvende konkrete arkitekturer ved udarbejdelse af simple it-produkter
  • realisere udvalgte modeller i et konkret it-produkt
  • realisere udvalgte interaktionsdesign i et konkret it-produkt

Kravspecifikationen vil typisk blive introduceret i Informatik C (orienterende), og vil være en fast del af større projekter i Informatik B.

Forudsætninger

  • Det er en fordel (men ikke et krav) at have gennemført kapitlet om Kravspecifikation inden dette kapitlet.

Materiale

I større projekter anvendes kravspecifikationen som udgangspunkt for en test af produktet. Det er en fordel at lave et testdokument inden man går i gang med at udvikle appen.

Et krav som fx "Byg et hus så højt som muligt" er ikke entydig og det er ikke målbart. Fordi, hvor højt er "så højt som muligt"?

Fordelen ved at lave testspecifikationen inden projektudviklingen begynder er, at man derved fanger dårligt formulerede krav. Man kan ikke teste "så højt som muligt". Så i det øjeblik man beskriver en test som skal det, vil man opdage at det ikke er muligt. Det er nemt at teste om et hus er over eller under 16 meter. Så kravet skal ændres til "Byg et hus der er mindst 16 m højt"

Hvis kravspecifikationen ændres, kan det være at kunden ikke vil godkende den. Kunden siger; "16 meter er ikke højt nok - huset skal være mindst 50 meter højt". Men dette forhold er umådelig vigtigt. Hvis projektgruppen havde bygget et 16 m højt hus, men kunden forventede et 50 meter hus, opstår der problemer. Kunden regnede med et 50 m højt hus og vil ikke betale for et 16 meters hus.

Det kan være projektgruppen ikke kan lave et hus der er 50 meter højt. Æv, men sådan er det. Der spares mange kræfter og ærgrelser ved at få det fastlagt inden projektarbejdet påbegyndes. Pointen er at ved at skrive testspecifikationen med det samme afprøves kravspecifikationen og alle bliver mere skarpe på hvad det er der udvikles - også kunden.

Foruden at være et godt oversigtsdokument for projektgruppen, anvendes kravspecifikationen i industrien som en slags afleveringsdokument. Populær sagt, så betaler kunden for at få leveret det der står i kravspecifikationen . Omvendt har projektgruppen leveret produktet og skal derfor have sine penge når produktet/appen har bestået testspecifikationen.

Refleksioner og tips til underviseren

  • Det kan være en fordel at gemme dette kapitel indtil det er relevant for eleverne. Fx umiddelbart efter en brainstorm session (når eleverne har en klar holdning til hvilket produkt de vil udvikle).
  • Når emnet "Krevspecifikation" gennemgås, kan det gøres med udgangspunkt i et pseudo-produkt (fx Postmand Per eksemplet) og komme med et par eksempler på, hvordan et krav skal formuleres. Derved gøres emnet mere konkret for eleverne. En god test på om et krav er ordentlig formuleret, er, om kravet er målbart.
  • Der er god mulighed for at evaluere elevernes forståelse af emnet, ved at lade dem udarbejde en kravspecifikation i forbindelse med et projekt. Kravspecifikationen (med tilhørende testspecifikation) kan normalt være på én A4 side.
  • Kravspecifikation kan indgå som et delelement af et eksamensspørgsmål. Her er et eksempel:
  • Dokumentationen skal indeholde elementer af:
      • Kravspecifikation.
      • Beskrivelse af App'ens virkemåde (set med en brugers øjne).
      • App'ens opbygning - beskrivelse af hovedfunktionerne (set med en programmørs øjne).
      • Testspecifikation.
  • Det er et stort emne, så det er vigtigt at kolde fast i de overordnede linjer for en kravspecifikation. Det er godt at lade eleverne arbejde 20 minutter med at udarbejde (formulere) tre specifikke (og testbare) krav til et produkt.