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

 

Lösning

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.