behov for mere indsigt i softwaretest? anvend testmetrikker! af ole chr. hansen, sogeti
DESCRIPTION
Oplægget blev holdt ved et seminar i InfinIT-interessegruppen Softwaretest afholdt den 15. april 2011. Læs mere om interessegruppen på http://www.infinit.dk/dk/interessegrupper/softwaretest/softwaretest.htmTRANSCRIPT
Behov for mere indsigt i softwaretest?
Anvend testmetrikker!
Ole Chr. Hansen
April 2011
Hvem er jeg?
Ole Chr. HansenTraining Delivery Manager & Managing Consultant
Blog - http://ochansen.blogspot.com
• ISTQB Accredited Trainer in Software Testing
• ISEB Practitioner Certificate in Software Testing
• ISTQB Foundation Certificate in Software Testing
• PRINCE2 Foundation Certificate
• Certified Scrum Master
• Certified Lead Assessor (ISO 9000)
• Civiløkonom (ASB) og Datanom
• Sogeti, ATP, Nordea, BRFkredit, WM-data, CRI, LEC
• 10 år Test Manager, 10 år Project Manager
2
Sogeti – Bedst til test
• Ophav til de globalt anerkendte metoder TMap® og TPI®
• Alle konsulenter trænes i TMap® og bliver ISTQB certificeret!
• Det største og mest specialiserede konsulenthus på software test i Europa.
• 8200+ test professionelle i Europa, Indien & USA
• Veletableret samarbejde med bl.a. HP, IBM, Microsoft og Oracle
3
Seminarer
Århus
17. juni – Softwaretest bare lidt smartere!
Omhandler testdesignteknikker
Hvordan effektiviserer vi den tid, vi bruger på
softwaretest? Hvordan kan vi teste smartere = bedre,
hurtigere og mere? En af løsningerne er
anvendelsen af de rigtige testdesignteknikker!
På dette seminar vil vi fokusere på, hvordan man
designer softwaretest. Altså anvende
testdesignteknikker til at optimere software testopgaven.
4
Tilmelding via:
www.sogeti.dk
1. Definition af metrikker
2. Hvorfor testmetrikker
3. En metode til fastlæggelse af testmetrikker
4. Eksempler på testmetrikker
5. Generisk metrikkatalog
6. Dashboard
7. Tips og gode råd
8. Referencer
Indhold
5
6
ISTQB Definition: Metrik
En målingsskala og metoden anvendt til måling.
[ISO 14598]
* * * * *
ISO 14598 – Information Technology – Software Product Evaluation
ISTQB
Metrik: En definition
IEEE 610
(Standard Glossary of Software Engineering Terminology)
Metric. A quantitative measure of the degree to which a system, component, or
process possesses a given attribute. See also: quality metric
Quality metric. (1) A quantitative measure of the degree to which an item
possesses a given quality attribute. (2) A function whose inputs are software data
and whose output is a single numerical value that can be interpreted as the degree
to which the software possesses a given quality attribute.
7
Metr
ikker
ISTQB Grundlæggende Testproces
8
Hvornår skal testen
stoppe?
Er kvaliteten som kunden forventer?
Hvor langt er vi med testen?
Hvad er trenden?
Er systemet klar til
release?
Hvad er effekten af vore proces forbedringer
?
Hvor meget tid resterer
der?
Har vi fundet ’fejlene’?
Er testen effektiv?
Tester vi rigtigt?
Hvorfor dit og hvorfor dat?
9
Under testprojektets forløb har testmetrikkerne 4 formål:
1. Vise Test Manageren hvor testprojektet er i forhold til planen og
færdiggørelsen
2. Levere information som grundlag for beslutninger
3. Levere information som grundlag for estimering af fremtidige projekter
4. Levere information til ledelsen om produktets kvalitet
10
Hvorfor testmetrikker?
Besvarelse af disse typer af spørgsmål er ikke nem.
Test Manageren skal opsamle et antal målinger for at kunne
sikre sig en korrekt og tilstrækkelig indsigt i både kvaliteten af
testobjektet og i selve testprocessen
11
........en udfordring for Test Manageren
"To measure is to know.“
"If you can not measure it, you can not improve it.“
"The more you understand what is wrong with afigure, the more valuable that figure becomes.“
Kilde: http://zapatopi.net/kelvin/quotes/
Lord Kelvin (1824 – 1907)
12
Hvordan finder
jeg de
testmetrikker,
som jeg har
behov for ?
Hvordan.........
13
G Q M
Goal – Question - Metric
Metode
14
Pla
nlæ
gnin
g Mål
Spørgsmål
Måling Analyse
Svar
Målopfyldelse
Indsamlede data
GQM Fremgangsmåde
15
Trin 1: Fastlæg mål
Trin 2: Stil spørgsmål til målene
Trin 3: Fra spørgsmål til testmetrikker
Trin 4: Dataindsamling og analyse
Trin 5: Præsentation og kommunikation af testmetrikdata
Trin 6: Evaluering af testmetrikdata mod spørgsmål og mål
GQM i 6 trin
Pla
nlæ
gnin
g
Mål
Spørgs-mål
Måling Analyse
Svar
Målopfyl-delse
Indsamlede data
16
Trin 1: Fastlæg mål
Mål
Spørgs-mål
Svar
Målopfyl-delse
Indsamlede data
Måling Analyse
GQM – trin 1
17
Trin 2: Stil spørgsmål til målene
Mål
Spørgs-mål
Svar
Målopfyl-delse
Indsamlede data
Måling Analyse
GQM – trin 2
18
Trin 3: Fra spørgsmål til testmetrikker
Mål
Spørgs-mål
Svar
Målopfyl-delse
Indsamlede data
Måling Analyse
GQM – trin 3
19
Trin 4: Dataindsamling og analyse
• Hvilke testmetrikker har samme datagrundlag
• Validitet – hvor nemt er det at kontrollere, at data
er komplette og korrekte
• Sporbarhed mod kilden sammen med dato, projekt,
konfigurationsstyringsdata, indsamler m.m. data skal måske fastholdes i længere tid
• Mulighederne for ‘automatisk’ indsamling
• Vær opmærksom på fejlkilder (F.eks. forkerte aktivitetskoder i tidsregistreringen)
• Når data er indsamlet bør analysen igangsættes med det samme det er stadig muligt at foretage
korrektioner lang ventetid reducerer muligheden for at genskabe data
Mål
Spørgs-mål
Svar
Målopfyl-delse
Indsamlede data
Måling Analyse
GQM – trin 4
20
Trin 5: Præsentation og kommunikation af metrikdata
• Anvendelse af testmetrikkerne sker via
• Testfremdriftsrapporter
• Testresultatrapporter
• Releasenote
• Tag hensyn til feedback fra interessenter
Mål
Spørgs-mål
Svar
Målopfyl-delse
Indsamlede data
Måling Analyse
GQM – trin 5
21
Trin 6: Evaluering af metrikdata mod spørgsmål og mål
• Evaluering af om målingerne (‘svarene’ på ‘spørgsmålene’) giver den indsigt som
skal sikre, at vi kan vurdere om målene er opfyldt
• Dette trin kan være ‘starten’ på en ny GQM cyklus
Mål
Spørgs-mål
Svar
Målopfyl-delse
Indsamlede data
Måling Analyse
GQM – trin 6
22
Test Proces
Produkt Kvalitet
Test Styring
Metrikker – En gruperring (Kategorier)
23
Testanalyse & -design
• Testdækning
• Andelen af krav dækket af test
• Eventuelt fordelt på risiko
• Andelen af designelementer dækket af test
• Fremdriften af testdesign
• Antal specificerede testcases i forhold til antal planlagte
• Eventuelt fordelt på testcasens status (under udarbejdelse / klar til review /
reviewet / klar til afvikling)
• Antal specificerede testcases i forhold til anvendt tid
Testmetrik-eksempler
24
Testimplementering & -afvikling
• Antal afviklede testcases i forhold til planlagte antal testcases
• Fordelt efter testcasens afviklingsstatus (passed, failed, blocked, not run…..)
• Fordelingen af defekters fejlretningstid (timer, dage uger…….) og efter alvorlighed
(kritisk, høj)
• Antal åbne defekter fordelt på alvorlighed
• Antal fundne defekter i forhold til antal af testcases
• Antal fundne defekter fundet pr. funktionsområde – eventuelt efter risikoområder
• Total fundne defekter fordelt efter status (åben, lukket…..) over tid
• Antal afviklede testcases i forhold til faktiske testtimer
• Gennemsnitstid mellem fejl (MTBF)
• Antal faktiske testtimer i forhold til planlagte
• Tillidsmetrikker (subjektiv vurdering - )
Testmetrik-eksempler
25
Testprocessen
• Aktuelle omkostninger (timer / kr.) i forhold til budget
• Testprocessen samlede tidsforbrug i forhold til projektets samlede tidsestimat
• Fordelingen af tid mellem testprocessens enkelte faser
• Antal afviklede testcases i forhold til faktisk tid til testafvikling
• Ventetid i forhold til den samlede testtid
• Ventetid fordelt på årsag (testmiljø, blokerende fejl……..)
• Testens effektivitet (antal fejl fundet i testen / sum af fejl i testen og første 3
måneders produktion) – eventuelt kun dem med alvorlighed kritisk og høj
Testmetrik-eksempler
26
Reviewprocessen (Statisk test)
• Tid forbrugt på review
• Reviewede antal sider pr. time
• Antal defekter (efter alvorlighed) pr. forbrugt time
• Antal defekter (efter alvorlighed) pr. side
• Reviewtid i forhold til projektets samlede tidsforbrug
• Fordelingen af tid på reviewprocessens enkelte faser
Testmetrik-eksempler
27
Procesområde Produktkvalitet <> Teststyring <> Testproces
Testmetrik (Navn) Navn og/eller ID på metrikken
Formål Hvilken formål er der med metrikken
Beregningsformel Evt. formel til beregningen
Værdiskabelse Hvilken indsigt giver metrikken, og hvilke beslutninger træffes der
Basisdata Hvilke data indgår
Værktøjer Hvilke værktøjer anvendes
Præsentation Hvordan præsenteres metrikken – diagramtyper m.m.
Frekvens Hvor ofte skal metrikken måles
Analysemetode Hvilke statistiske metoder må anvendes
Lagring Hvor skal metrikken opdateres
Distribution Hvem må få adgang til den
Udfaldsrum Hvilket interval kan metrikken være i
Eksempler
Indhold i et generisk metrikkatalog
28
Test Managerens Dashboard - Eksempel
29
30
.....eller et cockpit
• Ledelsesopbakning (commitment)
• Top-down fremgangsmåde
• Behov for sponsor
• Forankring af udførelsen (champion)
• Målinger – for meget – for tidligt – for lidt – for sent
• Definer testprocessen med tilhørende testniveauer
• Map metrikkerne til testprocessen
• Definer hvornår, hvad og med et entydigt hvorfor
Tips og gode råd (1/4)
31
• Kvalitetssikring af testmetrikker
• Foretag målinger ofte (minimum ugebasis)
• Brug en god og effektiv reviewproces
• Trendanalyser
• Metrikker skal være mapped mod mål
• Metrikdata til vurdering af personlig performance
• Undgå dette
• Brug metrikker til at motivere
• Hjælp testteamet til at analysere og forstå metrikdata
• Brug metrikkerne til at gøre en tester til en god tester
Tips og gode råd (2/4)
32
• Værktøjstøtte til dataindsamling
• Gør indsamlingen af data til testmetrikkerne simpel
• Data skal være konsistente
• Forsøg at gøre brug af et værktøj
• Kommunikation og uddannelse
• Forklar ’hvorfor’
• Del resultaterne
• Definer testmetrikkerne og procedurer
• Opnå ’accept’
Tips og gode råd (3/4)
33
• Praktik
• Start med et begrænset antal af testmetrikker
• Udvid antallet af testmetrikker langsomt og ’kontrolleret’
• Fasthold at testmetrikkerne skal være ’simple’ – både i indsamling, analyse, fortolkning
• Dataindsamling skal være så ’automatisk’ som muligt – brug eksisterende værktøjer
(teststyringsværktøjer, tidsregistreringssystemer, økonomisystemer m.m.)
•Tidsregistrering – sikre korrekt og dækkende brug
• Undgå komplicerede statistiske teknikker og modeller
• Sørg for hurtig feedback til dit testteam – vis dem hvad du gør med informationerne
Tips og gode råd (4/4)
34
“When you can measure what you are speaking about and express it in numbers,
you know something about it; but when you cannot measure it, when you cannot
express it in numbers, your knowledge is of the meager and unsatisfactory kind.”
- Lord Kelvin
* * * * *
Nu havde Lord Kelvin ikke ret i alt, hvad han sagde. Han forudså eksempelvis,
at det ikke var muligt at få ting, der var tungere end luft, til at flyve……..
MEN om målinger – der havde han ret !!!
...mere om ”Testeren” Lord Kelvin
35
Storm P
’…det er med statistik som
med gadelygter – de er gode at
læne sig op ad, men oplyser meget
lidt…….’
Anbefalinger........or not
36
TMap Next
- for result-driven testing
Leo van der Aalst et al
UTN Publishers, 2006
TPI NEXT
Business Driven Test Process Improvement
Rik Marselis et al
UTN Publishers, 2009
testing experience
The Magazine for Professional Testers
No 11 – September 2010
Referencer
37