Behov for mere indsigt i softwaretest? Anvend testmetrikker! Ole Chr. Hansen April 2011
2 Hvem er jeg? Ole Chr. Hansen Training 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
3 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
4 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. Tilmelding via: www.sogeti.dk
5 Indhold 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
6 ISTQB ISTQB Definition: Metrik En målingsskala og metoden anvendt til måling. [ISO 14598] * * * * * ISO 14598 Information Technology Software Product Evaluation
7 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.
Metrikker 8 ISTQB Grundlæggende Testproces
9 Hvorfor dit og hvorfor dat? Er kvaliteten som kunden forventer? Hvor langt er vi med testen? Tester vi rigtigt? Hvornår skal testen stoppe? Er testen effektiv? Hvad er trenden? Er systemet klar til release? Hvad er effekten af vore proces forbedringer? Hvor meget tid resterer der? Har vi fundet fejlene?
10 Hvorfor testmetrikker? 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
11...en udfordring for Test Manageren 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
12 Lord Kelvin (1824 1907) "To measure is to know. "If you can not measure it, you can not improve it. "The more you understand what is wrong with a figure, the more valuable that figure becomes. Kilde: http://zapatopi.net/kelvin/quotes/
13 Hvordan... Hvordan finder jeg de testmetrikker, som jeg har behov for?
14 Metode G Q M Goal Question - Metric
Planlægning 15 GQM Fremgangsmåde Mål Målopfyldelse Spørgsmål Svar Måling Analyse Indsamlede data
Planlægning 16 GQM i 6 trin Mål Spørgsmål Målopfyldelse Svar 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 Måling Indsamlede data Analyse Trin 5: Præsentation og kommunikation af testmetrikdata Trin 6: Evaluering af testmetrikdata mod spørgsmål og mål
17 GQM trin 1 Trin 1: Fastlæg mål Mål Spørgsmål Målopfyldelse Svar Måling Analyse Indsamlede data
18 GQM trin 2 Trin 2: Stil spørgsmål til målene Mål Spørgsmål Målopfyldelse Svar Måling Analyse Indsamlede data
19 GQM trin 3 Trin 3: Fra spørgsmål til testmetrikker Mål Spørgsmål Målopfyldelse Svar Måling Analyse Indsamlede data
20 GQM trin 4 Trin 4: Dataindsamling og analyse Hvilke testmetrikker har samme datagrundlag Validitet hvor nemt er det at kontrollere, at data Mål Måling Spørgsmål Målopfyldelse Svar Analyse er komplette og korrekte Sporbarhed mod kilden sammen med dato, projekt, Indsamlede data 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
21 GQM trin 5 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ørgsmål Målopfyldelse Svar Måling Analyse Indsamlede data
22 GQM trin 6 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ørgsmål Målopfyldelse Svar Måling Analyse Indsamlede data
23 Metrikker En gruperring (Kategorier) Test Proces Test Styring Produkt Kvalitet
24 Testmetrik-eksempler 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
25 Testmetrik-eksempler 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 - )
26 Testmetrik-eksempler 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
27 Testmetrik-eksempler 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
28 Indhold i et generisk metrikkatalog Procesområde Testmetrik (Navn) Formål Beregningsformel Produktkvalitet <> Teststyring <> Testproces Navn og/eller ID på metrikken Hvilken formål er der med metrikken Evt. formel til beregningen Værdiskabelse Basisdata Værktøjer Præsentation Frekvens Analysemetode Lagring Distribution Udfaldsrum Eksempler Hvilken indsigt giver metrikken, og hvilke beslutninger træffes der Hvilke data indgår Hvilke værktøjer anvendes Hvordan præsenteres metrikken diagramtyper m.m. Hvor ofte skal metrikken måles Hvilke statistiske metoder må anvendes Hvor skal metrikken opdateres Hvem må få adgang til den Hvilket interval kan metrikken være i
Test Managerens Dashboard - Eksempel 29
...eller et cockpit 30
31 Tips og gode råd (1/4) 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
32 Tips og gode råd (2/4) 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
33 Tips og gode råd (3/4) 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
34 Tips og gode råd (4/4) 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
35...mere om Testeren Lord Kelvin 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!!!
36 Anbefalinger...or not Storm P det er med statistik som med gadelygter de er gode at læne sig op ad, men oplyser meget lidt.
37 Referencer 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
38 Spørgsmål! ole.hansen@sogeti.dk