I en värld av alltmer komplexa system, mer funktionalitet och tätare uppdateringar är transparens och kommunikation avgörande för effektiv mjukvarutestning. Det menar Eva Holmquist, författare till boken Praktisk mjukvarutestning och själv med många års erfarenhet av testverksamhet. I den här slidesharen pratar Eva om de mänskliga aspekterna vid mjukvarutestning.
2. Samarbete och kommunikation
► I en värld av alltmer komplexa system, mer funktionalitet och tätare
uppdateringar är transparens och kommunikation avgörande för effektiv
mjukvarutestning
► Effektiv systemutveckling handlar minst lika mycket om mänskligt
beteende som teknik
► Mjukvarutestaren har en avgörande roll att fylla som brygga mellan
utvecklare och användare
► Effektiv mjukvarutestning kräver m.a.o. samarbete och kommunikation
3. Effektiv mjukvarutestning
► Tar reda på hur situationen egentligen ser ut och …
► Vilka handlingsalternativ som finns …
► För att kunna agera för att verksamheten ska få det värde som behövs
► M.a.o. handlar test om beslutsstöd
3
4. Effektiv test
► Planera
• Rätt kvalitet är enklare med rätt planering
► Arbetssätt
• Hur ska vi arbeta för att systemet ska ge värde till verksamheten?
► Hitta felen?
• Förutse vad som kan gå fel
► Status
• Hur är situationen egentligen?
► Handlingsalternativ
• Hur kan/bör vi agera?
► Rekommendera
• Hur förmedlar vi vad vi vet för att bra faktabaserade beslut kan tas?
4
5. Effektiv test - Planera
► Rätt kvalitet är enklare med rätt planering
► Testplaneringen ska påbörjas så tidigt som möjligt för att säkerställa
systemets kvalitet
► Vilken kvalitetsnivå som är tillräcklig beror på hur och var systemet ska
användas
► Grunden läggs för hur effektivt testerna kommer att kunna genomföras
► Därför måste testledaren vara med i planeringen redan från dag 1
► Tänka igenom frågeställningar
► Fatta beslut om hur testarbetet ska genomföras
5
6. Effektiv test – Arbetssätt
► Att utveckla ett IT-system är en teamaktivitet där alla gemensamt
ansvarar för slutprodukten
► Olika perspektiv krävs för att identifiera tillräckligt med fel
► Vem testar vad effektivast?
► Samarbete krävs mellan olika perspektiv
► Exempel:
• Samarbete kring definition och nedbrytning av krav
• Samarbete kring vad som ska testas och hur
• Vem testar vad?
• Vilka fel finns och vad kan testas?
• Partestning
6
7. Effektiv test - Hitta felen?
► Hitta felen?
• Förutse vad som kan gå fel
• Vilka misstag kan vi ha begått och vad kan ha gått fel?
• Hur ska vi bära oss åt för att hitta felen?
• Det kräver att vi förstår
• Användarna och verksamheten
• Människorna som tar fram lösningen
7
8. Effektiv test - Status
► Status
• Hur är situationen egentligen?
• Systemets kvalitet
• Vilka fel vet vi om och vilka konsekvenser har de?
• Vad har vi inte testat?
• Antal hittade fel säger inget om status om du inte vet hur väl vi testat
• Ger en bedömning av vilka okända fel som kan finnas
• Vad är den subjektiva bedömningen av kvaliteten?
• Vilket värde levererar systemet i dag?
• Vad hindrar?
• Status på testarbetet
• Hur långt har vi kommit?
• Vad återstår?
• Kommer vi att hinna?
• Vad är situationens konsekvens för verksamheten?
• Information som man får från olika individer måste tolkas
8
9. Effektiv test - Handlingsalternativ
► Handlingsalternativ
• Hur kan/bör vi agera?
• Hitta framkomliga vägar framåt
► När en driftsättning närmar sig är en av testarens viktiga arbetsuppgifter
att förmedla läget och diskutera möjliga lösningar på olika problem med
berörda aktörer
► Möjliga handlingsalternativ kan exempelvis vara:
• Skjuta fram driftsättningen
• Åtgärda problemet
• Informera om problemet
• Införa manuella rutiner
• Stänga av funktion
• Stoppa funktion
9
10. Effektiv test - Rekommendera
► Rekommendera
• Hur förmedlar vi vad vi vet för att bra faktabaserade beslut kan tas?
► Förmedla hur situationen egentligen är
• Trots att den inte är som man önskar
• Lägga sig på rätt nivå för att kommunicera konsekvenser för verksamheten
• Tekniska problem behöver “översättas” till verksamhetstermer
► Följande behöver informeras om:
• Systemets kvalitet
• Identifierade fel och eventuella konsekvenser för verksamheten
• Genomfört och återstående arbete
• Återstående kalendertid och arbetsinsats
• Om systemet kan driftsättas som planerat
► Det kan vara svårt att fatta beslut som medför stora konsekvenser för
verksamheten
► Bedömningen av huruvida systemet kan driftsättas eller ej måste därför
kommuniceras extra tydligt
10
11. Testledarens roll
► Är att ge beslutsfattare, faktabaserat beslutsunderlag
► Det innebär att vifta med röda flaggan vid behov
► Viktigt att inte skrika vargen kommer om ingen varg på väg
► Samtidigt viktigt att lyssna när röda flaggan lyfts
11
12. Allt handlar om människor
► Det är människor som utvecklar systemen
► Det är människor som ska använda systemen
► Det är människor måste arbeta tillsammans för att lösa problemet
► Och det är människor som måste förstå situationen för att kunna agera
rätt
Därför handlar
► Mjukvarutestning om människor och inte bara om kod
12
13. Praktisk mjukvarutestning
13
► Med ökande komplexitet och
funktionsinnehåll i mjukvarusystem
växer behovet av kunniga testare
samtidigt som övriga roller behöver
en större förståelse för test och hur
det påverkar utvecklingen.
► Praktisk mjukvarutestning fokuserar
på de frågeställningar man möter vid
mjukvarutestning i praktiken och
innehåller många exempel från olika
typer av system. Fokus ligger på IT-
system, bland annat behandlas
arbete med test i stora, komplexa
IT-system med många beroenden.
► Bokus:
https://www.bokus.com/bok/9789144117775/praktisk-
mjukvarutestning/
► Adlibris: https://www.adlibris.com/se/bok/praktisk-
mjukvarutestning-9789144117775
14. +46 (0) 725 02 83 93
Eva.holmquist@sogeti.com
evaholmquist
Eva Holmquist
14
Senior Test Specialist
Praktisk mjukvarutestning
Författare:
Eva Holmquist
ISBN 9789144117775