01.09.2013 Views

OnTime nr 1 2003 - Combitech.se

OnTime nr 1 2003 - Combitech.se

OnTime nr 1 2003 - Combitech.se

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

den behöver man inte testa, därför att den är<br />

så liten.” En ändring som verkar liten <strong>se</strong>dd<br />

från kravsynpunkt kan få långtgående kon<strong>se</strong>kven<strong>se</strong>r,<br />

speciellt i testarbetet. Anta att ett<br />

tillägg av två tecken i ett fält innebär att databa<strong>se</strong>n<br />

i vilken fältet är definierat måste omorgani<strong>se</strong>ras.<br />

Vad händer om detta fält överensstämmer<br />

med liknande information som<br />

finns på annat ställe i systemet? Vad händer<br />

om rutinerna som kontrollerar detta fält även<br />

kontrollerar andra fält som inte har ökat i<br />

längd? Kommer man då att behöva två<br />

kontrollrutiner?<br />

Du måste testa alla sådana ändringar för<br />

att vara säker på att systemet nu gör rätt sak i<br />

varje situation som påverkats av ändringen.<br />

Dessutom kan oväntade följdeffekter uppstå,<br />

så du måste även göra regressionstester för<br />

att vara säker på att systemet inte har förfallit<br />

på andra områden. Hur mycket testning du<br />

måste göra beror på i vilken utsträckning en<br />

ändring kan ha både kända och okända effekter<br />

på systemet. Testning kan också hjälpa till<br />

att minska risken med en ändring, genom att<br />

ge trovärdighet åt att effekten är liten.<br />

Myt 6:Testarna behöver<br />

egentligen inte kraven<br />

”Jag vet att vi inte har en bra kravspecifikation<br />

för det här systemet, men testa så gott<br />

det går – bara kolla vad systemet gör.” En<br />

testares jobb är att bedöma vad systemet gör<br />

och vad det borde göra. Systemet ska hjälpa<br />

till att uppnå affärsmål, så vad systemet gör<br />

ska jämföras med dessa mål. Det finns ett<br />

antagande av orakeltyp (vilket inte har något<br />

med databa<strong>se</strong>r eller företagen som säljer dem<br />

att göra – istället är det fråga om Oraklet i<br />

Delfi, som kunde förutsäga framtiden på ett<br />

ofelbart sätt). Detta orakelmässiga antagande<br />

säger att testaren regelmässigt vet vilket det<br />

korrekta svaret ska vara, en förutsättning för<br />

testning. Ett test består av indata, förutsättningar<br />

och förväntat resultat. Hur kan man<br />

veta vad det förväntade resultatet ska vara?<br />

En kravspecifikation utgör testba<strong>se</strong>n – oraklet.<br />

Så testarna behöver verkligen kraven, i<br />

Nr 1 mars <strong>2003</strong><br />

<strong>Combitech</strong> Systems AB<br />

annat fall kan man påstå att det inte har<br />

gjorts något riktigt test.<br />

Myt 7:Testare kan<br />

inte testa utan krav<br />

”Eftersom kraven utgör grunden för testerna,<br />

så kan vi uppenbarligen inte göra några tester<br />

innan vi har ordentliga krav.” Detta är<br />

också ett vanligt missförstånd. Ibland görs<br />

ändringar av systemet där kraven är otillräckliga<br />

eller obefintliga. Det gör testarbetet<br />

svårare, men ryck inte bara på axlarna och<br />

säg att du inte kan göra det.<br />

Utan krav behöver testarna i alla fall någon<br />

typ av orakel – kanske användare som känner<br />

till hur systemet fungerar, det gamla systemet,<br />

manualer eller testarens egen uppfattning.<br />

Vad händer om testoraklet är testaren?<br />

Istället för att bara jämföra systemet med en<br />

dokumentation kommer testaren att bedöma<br />

systemet med utgångspunkt från sin personliga<br />

uppfattning av vad det bör göra. (I själva<br />

verket bör testare alltid göra detta i viss mån,<br />

men det är en annan historia).<br />

En del säger att utan en specifikation gör<br />

du egentligen ingen testning, du bara undersöker<br />

systemet. Detta finns formali<strong>se</strong>rat i vad<br />

som kallas undersökande testning (exploratory<br />

testing), som är utformad för situationer<br />

med otillräckliga krav och stor tidspress. När<br />

du till slut har en bra uppsättning testprogram,<br />

testplanering, testspecifikationer och så<br />

vidare, blir testvaran den enda kravdokumentationen<br />

i projektet. Så behövs kravspecifikationerna<br />

alls om man har tillräckligt bra<br />

tester? Blir testarna kravutformare? Är detta<br />

en bra idé?<br />

När kraven är dåliga eller obefintliga<br />

måste testarna göra så gott de kan under de<br />

mindre ideala omständigheterna. Testningen<br />

blir betydligt mera noggrann om den ba<strong>se</strong>ras<br />

på en bra kravspecifikation och en stor fördel<br />

är om testarna får delta i ett tidigt stadium.<br />

Praktiska tips<br />

Jag hoppas att jag har övertygat er om att<br />

testpersonal har mycket att erbjuda vid<br />

STRATEGIER FÖR EFFEKTIV TEST<br />

Figur 2.Vad är ”testning”?<br />

Policy och strategier<br />

Testplanering (på varje nivå)<br />

Identifiera förutsättningar<br />

Utforma testfall<br />

Konstruera tester<br />

Kör tester<br />

Kontrollera resultat<br />

Kontrollera utdata-kriterier,<br />

testrapporter<br />

Testproces<strong>se</strong>n<br />

Processförbättring<br />

utformningen av bättre krav. Så här åstadkoms<br />

detta i praktiken:<br />

• Inbjud testare att delta i granskning av kraven.<br />

• Påbörja testning parallellt med kravanaly<strong>se</strong>n.<br />

• Be om prov på testförutsättningar och testfall<br />

för att användas som exempel i kravspecifikationen.<br />

• Ta i kravdokumentet med de specifika fall<br />

du hade i åtanke när kraven analy<strong>se</strong>rades.<br />

• Använd affärsscenarier och användarfall<br />

för att ge specifika exempel på hur systemet<br />

bör fungera.<br />

• Skapa mätbara kriterier för både funktionella<br />

och icke-funktionella krav.<br />

Testning är en utmaning på två sätt: det är en<br />

stimulerande intellektuell aktivitet, men det<br />

utmanar också allt som testerna ba<strong>se</strong>ras på.<br />

Skapa länken mellan krav och testning. Om<br />

du accepterar och uppmuntrar att testarna<br />

utmanar dina krav kan du undvika missuppfattningar,<br />

och får i slutänden både betydligt<br />

bättre krav och tester. ■<br />

Dorothy Graham är grundare av Grove<br />

Consultants, som erbjuder tjänster och<br />

utbildning inom områdena mjukvarutest,<br />

testverktyg och granskning. Dorothy har skrivit<br />

flera böcker inom området och är även<br />

en av grundarna till ISEB Software Testing<br />

Board. På EuroSTAR Conference 1999 fick<br />

Dorothy Graham mottaga pri<strong>se</strong>t ”European<br />

Excellence Award in Software Testing”<br />

25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!