bli vän med din bugg
TRANSCRIPT
SNART BÖRJAR
DET!
BLI VÄN MED DIN BUGGFrukostseminarium
Göteborg 2014-02-07
AGENDA
• Introduktion• Vad är en bugg?• Vad innebär kvalitet i mjukvara?• Buggutställning• Att rapportera buggar• En riktigt bra buggrapport• Bli vän med din bugg
DAGENS FÖRELÄSARE
Freddy Gustavsson
SYSTEM VERIFICATION• Vi är Sveriges ledande QA-bolag och experter inom
kvalitetssäkring av mjukvara. Vi erbjuder konsulttjänster för analys, kravhantering, testning, utveckling och implementation av verktyg. Vi har dessutom utbildningar inom krav och test.
• Vi är drygt 185 medarbetare på kontoren i Malmö, Göteborg, Stockholm, Köpenhamn och Sarajevo.
• Vår viktigaste tillgång är våra medarbetare. Vi letar efter personer med social kompetens, hög ambitionsnivå, och med en vilja att lära sig nya saker.
IBLAND BLIR DET FEL...
Image courtesy of Stuart Miles / FreeDigitalPhotos.net
MISSTAG (MÄNSKLIGT FEL)
• En handling som någon utför• Vanliga orsaker till att
människor gör fel ibland:– Tidspress– Missförstånd– Komplexitet– Nya teknologier
Images courtesy of Stuart Miles and AKARAKINGDOMS/ FreeDigitalPhotos.net
DEFEKT (BUGG)
• Resultatet av ett misstag• Kan finnas i modeller,
textdokument, mjukvarukod m.m.
• Kan orsaka problem för användare
• 100% buggfri kod?
Images courtesy of Master isolated images and AKARAKINGDOMS/ FreeDigitalPhotos.net
FELSYMPTOM
• Defekter kan leda till att ett system fallerar:– inte gör vad det ska– gör sådant det inte ska
• Kan också orsakas av hårdvarufel eller yttre påverkan
• Indikerar kvalitetsproblem
KVALITETSSÄKRING
Korrigeraproblem
Förebyggaproblem
Upptäckaproblem
AnalyserTeststrategi
TestplaneringTestdesign
TestutförandeFelhantering
UtbildningStandarderProcesserVerktyg
AnalyserTeknikerVerktyg
EXTERNA KVALITETSEGENSKAPER
Förmågor
Pålitlighet
Användbarhet
Karisma
Säkerhet
Prestanda
IT-vänlighet
Kompatibilitet
För en bra sammanstälning av kvalitetsegenskaper för programvara se http://thetesteye.com/posters/TheTestEye_KvalitetsegenskaperForProgramvara.pdf
SPELA KVALITETSBINGO
Förmågor Pålitlighet Användbarhet
Karisma * Säkerhet
Prestanda IT-vänlighet Kompatibilitet
VAD ÄR EN BUGGRAPPORT?
• Kärt barn har många namn: buggrapport, felrapport, defektrapport, incidentrapport...
• Teknisk dokumentation som beskriver ett problem i produkten som testats
• Primärt syfte: underlätta identifikation och korrigering av problemet
• Behöver ingå i ett definierat flöde
VANLIGA PROBLEM MED BUGGRAPPORTER
Svårbegripliga, kräver tolkning För allmän eller begränsad information Överflödig eller irrelevant information Otydlig information Problemet kan inte återskapas Beskriver flera olika problem Beskriver något som inte är ett problem Beskriver problem som redan är kända Beskriver inte allvarlighet eller prioritet Använder olämpligt språk eller opassande ton
Image courtesy of Stuart Miles / FreeDigitalPhotos.net
CHECKLISTA FÖR ATT SKRIVA RIKTIGT BRA BUGGRAPPORTER
Strukturera: Testa noggrant Återskapa: Testa en gång till Isolera: Hitta essensen Samla ihop: Leta efter liknande fel Jämför: Kika på tidigare versioner Rubricera: Gör rapporten lätt att hitta Reducera: Ta bort överflödig information Förtydliga: Undvik missförstånd Klassificera: Allvarlighet och prioritet Neutralisera: Presentera skonsamt Granska: Kontrollera hela rapporten
STRUKTURERA
• Riktigt bra buggrapporter är ett resultat av strukturerad testning– Utgå från målen med testarbetet– Använd ett strukturerat arbetssätt– Ta många anteckningar
• Test innebär kontrollerade experiment
Imag
e co
urte
sy o
f sto
ckim
ages
/ Fr
eeD
igita
lPho
tos.
net
ÅTERSKAPA
• Kontrollera att felet går att återskapa
• Vilket är det enklaste sättet att få problemet att inträffa?
• Hur bör man hantera intermittenta fel? Im
age
cour
tesy
of d
igita
lart
/ Fr
eeD
igita
lPho
tos.
net
Image courtesy of Stuart Miles / FreeDigitalPhotos.net
ISOLERA
• Pröva olika variabler– Ändra en åt gången
• Ställer krav på testaren– Domänkunskap– Tid och tålamod
• Be om hjälp och arbeta tillsammans
SAMLA IHOP
• Leta efter liknande problem• Undvik dubbletter– Skapar onödigt arbete– Ger felaktig statistik
• Lägg hellre till informationi en befintlig rapport
• Men se upp: två skilda defekter kan ibland uppvisa samma felsymptom
Image courtesy of creativedoxfoto / FreeDigitalPhotos.net
Imag
e co
urte
sy o
f Stu
art M
iles
/ Fr
eeD
igita
lPho
tos.
net
JÄMFÖR
• Regressionstester kan upptäcka fel– Problem orsakade av uppdateringar– Tidigare fungerande tester kan fallera
• Jämför resultat från andra tester– Samma test i tidigare versioner– Liknande tester i samma version
• Förutsätter att funktionen fanns och testades i tidigare version
RUBRICERA
• Varje buggrapport behöver en titel– Kort och kärnfull– Ska tala för sig själv– Bör visa på allvarlighet och prioritet
• Varför är detta så viktigt?– Fångar mottagarens uppmärksamhet– Förklarar vad problemet är– Underlättar prioritering
• Knepigare än man kan tro
Imag
e co
urte
sy o
f pod
pad
/ Fr
eeD
igita
lPho
tos.
net
REDUCERA
• Ta bort onödiga ord och steg– Läs om beskrivningen noggrant– Undvik långa utsvävningar– Håll rapporten ren• Bättre att använda bilagor för
loggar och långa felmeddelanden
• Anpassa nivån till mottagarna• Respektera mottagarnas tid
Imag
e co
urte
sy o
f win
nond
/ F
reeD
igita
lPho
tos.
net
Imag
e co
urte
sy o
f pho
tost
ock
/ Fr
eeD
igita
lPho
tos.
net
FÖRTYDLIGA
• Ta bort, omformulera eller utöka formuleringar som kan anses vara – vaga– missvisande– subjektiva
• Korrekt grammatik och stavning• Tydliga, objektiva
faktabeskrivningar
Image courtesy of Stuart Miles / FreeDigitalPhotos.net
KLASSIFICERA
• Allvarlighetsgrad– Ur teknisk synpunkt
• Prioritet– Ur projektets eller
verksamhetens synpunkt• Båda klassificeringarna är
förslag; kan ändras senare
NEUTRALISERA
• Leverera dåliga nyheter skonsamt
• Hitta en lämplig ton• Undvik att kritisera någon• Humor, ironi och sarkasm kan
slå fel• Sträva efter objektivitet• Tänk på att många personer kan
läsa dina rapporter
Image courtesy of digitalart/ FreeDigitalPhotos.net
GRANSKA
• Om möjligt låt någon titta på din rapport innan du skickar iväg den
• Att tänka på vid granskning:– Är rapporten relevant?– Finns det saker att förbättra?– Ställ frågor om något är oklart
• Osäker på om rapporten beskriver ett verkligt problem? Fråga någon som vet!
Image courtesy of sweetcrisis / FreeDigitalPhotos.net
BLI VÄN MED DIN BUGG
• Våra vanligaste husdjur i IT-projekt• Testare och utvecklare behöver
lära känna och förstå buggarna väl• Med kunskap om dem blir de ofta
mindre skrämmande• Vi kan hålla dem borta från ställen
där de ställer till problem
Images courtesy of AKARAKINGDOMS/ FreeDigitalPhotos.net
SAMMANFATTNING
• Introduktion• Vad är en bugg?• Vad innebär kvalitet i mjukvara?• Buggutställning• Att rapportera buggar• En riktigt bra buggrapport• Bli vän med din bugg
TACK FÖR IDAG!