Denna uppgift
berör testning vid validering av krav. Alla svar skall motiveras för poäng!
a) När är det lämpligt
att använda testning i valideringsprocessen? Ange för- och nackdelar med denna
valideringsmetod (2p)
Ge ett exempel på
ett krav som kan testas med…
b) …Simulering
(1p)
c)
…Walk-through (1p)
d) förklara
innebörden av dessa metoder. (2p)
Utvärdera
följande två testmetoder med faktorerna kostnad och risk i åtanke. I vilket
stadium av produktutvecklingen används de? (4p)
d) Prototyptest
e) Pilottest
a)
”Testning är det bästa sättet att testa de krav
man har, men kräver att det finns en färdig kravspecifikation med antingen
designkrav eller datakrav (nackdel). Krav på högre nivå går förvisso att
validera med testning, men för att kunna skapa testet behövs detaljerad
information om systemets framtida utseende. Testning görs alltså lämpligast i
slutskedet av kravspecificeringen, antingen efter att utvecklingen av produkten
påbörjats, eller precis innan.
Fördelen med testningen är att du får en exakt validering på dina krav, och det
är stor chans att hitta eventuella luckor i kravspecifikationen.”
Ett halvt poäng var för en godtagbar för- respektive nackdel. Ett poäng för
visad förståelse när testning ska användas.
b)
”’R1: När användaren trycker på OK skall
informationen i fält 3 lagras i databasen.’
Simuleringen innebär att all data i systemet tas i åtanke. Detta kan ske genom
att man skriver ner den på lappar, eller använder simuleringsprogram,
MSC-grafer etc.”
Ett poäng för godtagbart krav med motivering.
c)
”’R2:
När användaren trycker på OK skall en bekräftelse på att systemet mottagit informationen
visas, alternativt ett felmeddelande.’
Walk-through innebär att man enbart tittar på vad användaren ser när denne
använder systemet. Detta test görs helst med en blivande användare, som får ge
kommentarer på vad som är rätt och fel. Detta krav kan alltså testas med
simulering också.”
Ett poäng med godtagbart krav med motivering.
d)
Insprängt i d och c. Ger ett poäng för visad
förståelse för var och en av testmetoderna.
e)
”Att utföra ett prototyptest innebär i princip att
man utvecklar ett litet system som kan användas för att se om de krav man
ställt upp är rätt. Man måste alltså vara i ett stadium där man har en god bild
av hur systemet ska se ut och man måste vara färdig att börja med själva
implementeringen.
Att utveckla ett system enbart till för kravvalidering är dyrt, men eftersom
detta senare kan användas i det riktiga systemet kan denna kostnad bli
förtjänst i längden. Risken med detta är dock att man inte är alls nöjd med
resultatet, vilket då innebär att man måste börja om från början igen.
Det rekommenderas alltså att man har en mycket god bild av systemets design, så
att man enbart behöver göra små förändringar i prototypen, ifall kraven skulle
ändras vid testningen.”
Visad förståelse för testmetoden och när den ska
användas ger 1 poäng. Vad riskerna och priset kan innebära ger 1 poäng.
f)
”Ett pilottest innebär att man installerar delar
av, eller hela systemet som ska utvecklas, och testkör det i en skarp miljö.
Den uppenbara risken med detta är att någonting kan gå snett antingen i arbetsmiljön
eller med befintliga datasystem och teknik etc. Detta kan innebära höga
kostnader i form av åtgärdande av problemen.
Man måste alltså ha i princip till 100% fungerande (del)system som man vet
fungerar, men kan tänka sig göra vissa ändringar i efter hand. (helst endast på
designnivå). Ett pilotprojekt kan därför ibland göras när man är redo för
release, för att se om det man har åstadkommit är tillfredställande.
Ett totalt tillfredställande pilotprojekt kan innebära en stor ekonomisk vinst,
eftersom onödigt ”finslipande” innan leverans kan undvikas.”
Visad förståelse för testmetoden och när den ska
användas ger 1 poäng. Vad riskerna och priset kan innebära ger 1 poäng.