Testspecifikation

From CCT - Vidensdeling
Revision as of 15:36, 20 June 2017 by Mr.mathiasen (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 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"?

Dilemma.jpg

Et krav skal være entydig og målbart

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.

I industrien anvendes kravspecifikationen 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 de test der er listet i testspecifikationen.

Refleksioner og tips til underviseren

  • Dette kapitel kan med fordel gennemgås umiddelbart efter "Kravspecifikation" - well, faktisk samtidig. Der ligger en god pointe i, at et krav ikke er målbart hvis det ikke kan testes.
  • Der er god mulighed for at evaluere elevernes forståelse af emnet, ved at lade dem udarbejde en testspecifikation i forbindelse med et projekt. I et C-projekt bør Kravspecifikationen (med tilhørende testspecifikation) kunne klemmes ned på én A4 side.
  • Testspecifikation 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.
  • En god måde at lave et review af testespecifikationen er at lade grupperne læse/kommentere de andre gruppers kravspecifikation og testspecifikation.