38
Behov for mere indsigt i softwaretest? Anvend testmetrikker! Ole Chr. Hansen April 2011

Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Embed Size (px)

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.htm

Citation preview

Page 1: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Behov for mere indsigt i softwaretest?

Anvend testmetrikker!

Ole Chr. Hansen

April 2011

Page 2: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 3: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 4: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 5: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 6: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

6

ISTQB Definition: Metrik

En målingsskala og metoden anvendt til måling.

[ISO 14598]

* * * * *

ISO 14598 – Information Technology – Software Product Evaluation

ISTQB

Page 7: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 8: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Metr

ikker

ISTQB Grundlæggende Testproces

8

Page 9: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 10: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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?

Page 11: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 12: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

"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

Page 13: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Hvordan finder

jeg de

testmetrikker,

som jeg har

behov for ?

Hvordan.........

13

Page 14: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

G Q M

Goal – Question - Metric

Metode

14

Page 15: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Pla

nlæ

gnin

g Mål

Spørgsmål

Måling Analyse

Svar

Målopfyldelse

Indsamlede data

GQM Fremgangsmåde

15

Page 16: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 17: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 18: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 19: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 20: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 21: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 22: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 23: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Test Proces

Produkt Kvalitet

Test Styring

Metrikker – En gruperring (Kategorier)

23

Page 24: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 25: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 26: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 27: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 28: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 29: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Test Managerens Dashboard - Eksempel

29

Page 30: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

30

.....eller et cockpit

Page 31: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

• 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

Page 32: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

• 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

Page 33: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

• 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

Page 34: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

• 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

Page 35: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

“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

Page 36: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 37: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

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

Page 38: Behov for mere indsigt i softwaretest? Anvend testmetrikker! af Ole Chr. Hansen, Sogeti

Spørgsmål!

[email protected]

38