Metriky softwarov´e kvality Radek Maˇr´ık CA CZ, s.r.o.
September 14, 2007
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
1 / 31
Obsah
1
Softwarov´e metriky Definice Metriky kvality produktu Metriky kvality bˇehu procesu Metriky kvality u ´drˇzby
2
Spolehlivost Definice Statick´e modely Dynamick´e modely
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
2 / 31
Softwarov´ e metriky
Metriky kvality softwaru
Definice
[Kan95]
Metriky produktu popisuj´ı charakteristiky produktu jako je velikost, komplexity, navrhov´e vlastnosti, v´ykonnost, u ´roveˇ n kvality, apod. Procesn´ı metriky mohou b´yt vyuˇzity pˇri zlepˇsov´an´ı v´yvoje softwaru a procesu u ´drˇzby. efektivita odstraˇ nov´an´ı defekt˚ u bˇehem v´yvoje, vzor pˇr´ırustk˚ u defekt˚ u bˇehem testov´an´ı, doba odezvy procesu oprav. Metriky projektu popisuj´ı charakteristiky projektu jeho proveden´ı. poˇcet v´yvojaˇr˚ u softwaru, v´yvoj person´alu bˇehem ˇzivotn´ıho cyklu softwaru, cena, rozvrh, produktivita. Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
4 / 31
Softwarov´ e metriky
Metriky kvality softwaru
Definice
[Kan95]
jsou podmnoˇzinou softwarov´ych metrik. zamˇeˇruj´ı se na aspekty kvality produktu, procesu a projektu. metriky fin´aln´ıho produktu, metriky pr˚ ubˇehu procesu.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
5 / 31
Softwarov´ e metriky
Metriky kvality produktu
Metriky kvality produktu - orientovan´e na z´akazn´ıka
[Kan95]
Stˇredn´ı doba k selh´an´ı(MTTF - mean time to failure) ˇcasto se pouˇz´ıv´a v bezpeˇcnostnˇe kritick´ych syst´emech jakou jsou syst´emy ˇr´ızen´ı letov´eho provozu, leteck´a elektrotechnika a zbranˇe. implementaˇcnˇe velmi drah´e. Intensita defekt˚ u Obecn´y koncept rychlosti defekt˚ u vych´az´ı z poˇctu defekt˚ u vzhledem k moˇznosti vzniku chyb v urˇcit´em ˇcasov´em r´amci. Ve jmenovateli vystupuje velikost softwaru: KLOC (thousand lines of code) . . . tis´ıce ˇr´adek k´ odu, SSI (shipped source instructions) . . . pˇredan´e zdrojov´e instrukce, CSI (changed source instructions) . . . zmˇenˇen´e zdrojov´e instrukce, probl´emy s vlastn´ım poˇc´ıt´an´ım Poˇc´ıtej Poˇc´ıtej Poˇc´ıtej Poˇc´ıtej
pouze provediteln´e ˇr´ adky. provediteln´e ˇr´ adky a definice dat. provediteln´e ˇr´ adky, definice dat a koment´ aˇre. provediteln´e ˇr´ adky, definice dat, koment´ aˇre a pˇr´ıkazy ˇr´ızen´ı d´ avek.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
7 / 31
Softwarov´ e metriky
Metriky kvality produktu
Metriky kvality produktu z pohledu z´akazn´ıka
[Kan95]
Probl´ emy hl´ aˇsen´ e z´ akazn´ıkem mˇeˇr´ı pot´ıˇze z´akazn´ıka pouˇz´ıvaj´ıc´ıho produkt. Metrika probl´ em˚ u se obvykle vyjadˇruje pomoc´ı probl´em˚ u vztaˇzen´ych na uˇzivatele a mˇes´ıc (PUM - per user month). Celkov´y poˇcet probl´em˚ u, kter´e ohl´asili z´akazn´ıci (skuteˇcn´e defekty a pot´ıˇze nevztahuj´ıc´ı se k defekt˚ um) za danou ˇcasovou jednotku PUM = Celkov´y poˇcet licencovan´ych mˇes´ıc˚ u pro dan´y software za danou ˇcasovou jednotku Mˇel by se rovnˇeˇz monitorovat celkov´y poˇcet probl´em˚ u z´akazn´ıka.
Spokojenost z´ akazn´ıka se ˇcasto mˇeˇr´ı pomoc´ı pr˚ uzkum˚ u pouˇzit´ım pˇetibodov´e ˇsk´aly: Velmi spokojen Spokojen Neutr´aln´ı Nespokojen Velmi nespokojen Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
8 / 31
Softwarov´ e metriky
Metriky kvality bˇ ehu procesu
Metriky kvality pr˚ ubˇehu procesu
[Kan95]
Metriky kvality pr˚ ubˇehu procesu jsou m´enˇe form´alnˇe definovan´e. jednoduˇse znamenaj´ı zaznamen´av´an´ı pˇr´ırustk˚ u defekt˚ u bˇehem form´aln´ıho testov´an´ı.
Hustota defekt˚ u bˇ ehem form´ aln´ıho testov´ an´ı vyˇsˇs´ı rychlosti defekt˚ u nalezen´ych bˇehem testov´an´ı indikuj´ı vyˇsˇs´ı hladinu injektov´an´ı chyb do softwaru bˇehem jeho v´yvoje. defekty na KLOC
Vzor pˇr´ırustk˚ u defekt˚ u bˇ ehem form´ aln´ıho testov´ an´ı m˚ uˇze indikovat, ˇze testov´an´ı zaˇcalo pozdˇe, ˇze testovac´ı sada nebyla dostateˇcn´a, nebo ˇze testov´an´ı skonˇcilo pˇredˇcasnˇe.
Profil odstraˇ nov´ an´ı defekt˚ u podle f´ az´ı vyˇzaduje trasov´an´ı defekt˚ u ve vˇsech f´az´ıch v´yvojov´eho cyklu. Efektivnost odstraˇ nov´ an´ı defekt˚ u Defekty odstranˇen´e bˇehem v´yvojov´e f´aze DRE = × 100% Defekty setrv´avaj´ıc´ı v produktu Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
10 / 31
Softwarov´ e metriky
Metriky kvality u´drˇzby I
Metriky kvality u ´drˇzby
[Kan95]
Oprava nevyˇr´ızen´ ych vˇ ec´ı vyjadˇruje n´aroky na pracovn´ı z´atˇeˇz v´azanou na u ´drˇzbu softwaru. Poˇcet ohl´aˇsen´ych probl´em˚ u, kter´e z˚ ust´avaj´ı otevˇren´e na konci kaˇzd´eho mˇes´ıce ˇci t´ydne.
ˇ ıdic´ı index nevyˇr´ızen´ R´ ych vˇ ec´ı (BMI - backlog management index) BMI =
Poˇcet probl´em˚ u uzavˇren´ych probl´em˚ u bˇehem dan´eho mˇes´ıce ×100% Poˇcet pˇr´ırustk˚ u probl´em˚ u bˇehem mˇes´ıce
ˇ odezvy opravy se obvykle poˇc´ıt´a jak pro vˇsechny probl´emy tak i Cas pro probl´emy rozdˇelen´e podle u ´rovnˇe v´aˇznosti: stˇredn´ı doba ˇzivota probl´emu od otevˇren´ı po uzavˇren´ı
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
12 / 31
Softwarov´ e metriky
Metriky kvality u´drˇzby II
Metriky kvality u ´drˇzby
[Kan95]
Procento delikventn´ıch oprav: Jestliˇze doba opravy pˇrekroˇc´ı ˇcasov´e limity vzhledem k v´aˇznosti, je klasifikov´ana jako delikvent.
Procento delikventn´ıch oprav = Poˇcet oprav, kter´e pˇrekroˇcily ˇcasov´y limit vzhledem k v´aˇznosti × 100% Celkov´y poˇcet oprav odveden´ych ve specifikovan´em ˇcase Metrika vadn´ e opravy, kvalita opravy mˇeˇr´ı procento vadn´ych oprav z celkov´eho poˇctu za nˇejak´y ˇcasov´y interval.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
13 / 31
Spolehlivost
Spolehlivost softwaru
Definice
[Kan95]
Spolehlivost je ˇcasto definov´ana jako pravdˇepodobnost, ˇze syst´em vozidlo, stroj, zaˇr´ızen´ı, atd. bude vykon´avat svou zam´yˇslenou funkci v dan´ych operaˇcn´ıch podm´ınk´ach po specifikovou dobu. Modely spolehlivosti softwaru se pouˇz´ıvaj´ı k odhadu spolehlivosti nebo poˇctu zb´yvaj´ıc´ıch defekt˚ u softwarov´eho produktu, kter´y byl uvolnˇen mezi z´akazn´ıky. D˚ uvody: 1 2
objektivn´ı vyj´adˇren´ı kvality produktu, pl´anov´an´ı zdroj˚ u pro f´azi u ´drˇzby softwaru.
Sledovanou promˇ ennou studovan´ych krit´eri´ı je poˇcet defekt˚ u (nebo rychlost defekt˚ u normalizavan´a poˇctem ˇr´adku k´odu) za dan´y ˇcasov´y interval (t´ydny, mˇes´ıce, atd.), nebo doba mezi dvˇema selh´an´ımi.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
15 / 31
Spolehlivost
Spolehlivost softwaru
Definice
[Kan95]
Statick´ y model pouˇz´ıv´a atributy projektu nebo programov´ych modul˚ u k odhadu poˇctu defekt˚ u v softwaru. Parametry model˚ u jsou odhadov´any na z´akladˇe ˇrady pˇredchoz´ıch projekt˚ u.
Dynamick´ y model pouˇz´ıv´a pr˚ ubˇeˇzn´eho v´yvoje vzor˚ u defekt˚ uk odhadu spolehlivosti fin´aln´ıho produktu. Parametry dynamick´ych model˚ u jsou odhadov´any na z´akladˇe mnoha u ´daj˚ u zaznamenan´ych o hodnocen´em produktu k dan´emu datu. Kategorie: Modeluje se cel´y v´yvojov´y proces. Model vych´ az´ı s Rayleighova modelu. Modeluje se f´ aze form´ aln´ıho testov´ an´ı. Model vych´ az´ı z exponenci´ aln´ıho modelu a jin´ych model˚ u r˚ ustu spolehlivosti.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
16 / 31
Spolehlivost
Weibullova distribuce
Statick´ e modely
[Kan95]
jedna ze tˇr´ı zn´am´ych distribuc´ı extrem´aln´ıch hodnot, konce hustory pravdˇepodnosti se bl´ıˇz´ı asymptoticky k nule, ale nikdy ji nedos´ahnou. kumulativn´ı distribuˇcn´ı funkce (CDF): F (t) = 1 − e −(t/c)
m
funkce hustoty pravdˇepodobnosti (PDF): m t m −(t/c)m f (t) = e t c kde m je tvarov´y parametr, c je parametr mˇeˇr´ıtka, t je ˇcas.
Pokud se aplikuje v softwaru, pak PDF typicky znamen´a hustotu defekt˚ u (rychlosti) v dobˇe pˇr´ırustkov´eho vzoru defekt˚ u (platn´e defekty) a CDF znamen´a kumulativn´ı vzor pˇr´ırustku defekt˚ u. Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
18 / 31
Spolehlivost
Statick´ e modely
Tvar Weibullovy distribuce 1.5
m=10 m=0.5
PDF
1
m=4 0.5 m=2 m=1 0
0
2
4
6
t
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
19 / 31
Spolehlivost
Rayleigh˚ uv model
Statick´ e modely
[Kan95]
patˇr´ı do rodiny Weibullov´ych distribuc´ı. m=2 kumulativn´ı distribuˇcn´ı funkce (CDF): F (t) = 1 − e −(t/c)
2
pravdˇepodnost hustoty (PDF): f (t) =
2 t 2 −(t/c)2 e t c
tm je okamˇzik, ve kter´em kˇrivka dosahuje sv´eha maxima. c tm = √ 2 Jakmile je odhadnut tm , m˚ uˇze b´yt urˇcen tvar cel´e kˇrivky. Plocha pod kˇrivkou do tm je 39.35% celkov´e plochy. Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
20 / 31
Statick´ e modely
Spolehlivost
Rayleigh˚ uv model v praxi
[Kan95]
Pˇri praktick´ych aplikac´ıch se vzorec n´asob´ı konstantou K (K je celkov´y poˇcet defekt˚ u nebo celkov´a kumulativn´ı rychlost defekt˚ u). √ c = tm 2 h i 2 2 F (t) = K 1 − e −(1/2tm )t " f (t) = K
1 tm
#
2 te
2 )t 2 −(1/2tm
Softwarov´e projekty sleduj´ı vzor ˇzivotn´ıho cyklu popsan´y kˇrivkou Rayleighovy hustoty. Vzor odstraˇ nov´an´ı z´avad tak´e sleduje Rayleigh˚ uv vzor. Celkov´y skuteˇcn´y poˇcet defekt˚ u se liˇs´ı do 5% aˇz 10% od poˇctu defekt˚ u predikovan´y modelem. Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
21 / 31
Spolehlivost
Z´akladn´ı pˇredpoklady
Statick´ e modely
[Kan95]
Rychlost defekt˚ u pozorovan´ych bˇehem v´yvojov´eho procesu je positivnˇe korelovan´a s rychlost´ı defekt˚ u v poli nasazen´ı Za pˇredpokladu stejn´e rychlosti injekt´aˇze chyb, ˇc´ım v´ıce defekt˚ u je objeveno a odstranˇeno dˇr´ıve, t´ım m´enˇe jich z˚ ustane na pozdˇejˇs´ı f´aze. Princip “Udˇ elej to spr´ avnˇ e hned napoprv´ e”: jestliˇze kaˇzd´y krok v´yvojov´eho procesu se provede s minim´aln´ım vznikem chyb, pak fin´aln´ı produkt bude dobr´y. Rovnˇeˇz znamen´a, ˇze vznikl´e chyby se maj´ı odstraˇ novat co nejdˇr´ıve.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
22 / 31
Spolehlivost
Statick´ e modely
Z´akladn´ı pˇredpoklady v grafech: korelace
[Kan95]
30
Defect Rate
20
10
0
0
Radek Maˇr´ık (
[email protected])
5
10 Development Phase
Metriky softwarov´ e kvality
15
20
September 14, 2007
23 / 31
Spolehlivost
Statick´ e modely
Z´akladn´ı pˇredpoklady v grafech: odstraˇnov´an´ı defekt˚ u [Kan95] 20
Defect Rate
15
10
5
0
0
Radek Maˇr´ık (
[email protected])
20 40 Development Phase
Metriky softwarov´ e kvality
60
September 14, 2007
24 / 31
Spolehlivost
Statick´ e modely
Spolehlivost a validace predikce
[Kan95]
Spolehlivost vyjadˇruje stupeˇ n zmˇeny v´ystupu modelu vzhledem moˇznostem fluktuac´ı ve vstupn´ıch datech. ˇ ım uˇzˇs´ı je konfidenˇcn´ı interval, t´ım je odhad spolehlivˇejˇs´ı. C´ Vˇetˇs´ı vzorky vedou na uˇzˇs´ı konfidenˇcn´ı intervaly. Pouˇz´ıvejte pokud moˇzno v´ıce model˚ u a spol´ehejte se na jejich spoleˇcn´e hodnocen´ı. Z´akladn´ı podm´ınkou dosaˇzen´ı platnosti predikce je zajiˇstˇen´ı pˇresnosti a spolehlivosti vstupn´ıch dat. Platnost se hodnot´ı porovn´an´ım odhad˚ u z model˚ u a jejich skuteˇcn´ych hodnot.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
25 / 31
Spolehlivost
Dynamick´ e modely
Model zaloˇzen´e na exponenci´aln´ım rozloˇzen´ı a r˚ ustu [Kan95] spolehlivosti
Modely r˚ ustu spolehlivosti se obvykle odvozuj´ı z dat f´aze form´aln´ıho testov´an´ı. Od˚ uvodnˇen´ı v´ych´az´ı z toho, ˇze vzory procesu pˇr´ırustk˚ u defekt˚ u t´eto ˇ f´aze jsou vhodn´ym indik´atorem spolehlivosti produktu pocitovanou z´akazn´ıky. Bˇehem tohoto testov´an´ı po f´azi v´yvoje, kdy se objevuj´ı selh´an´ı, identifikuj´ı a opravuj´ı defekty, se softwarov´y produkt st´av´a stabilnˇejˇs´ı a jeho spolehlivost roste s ˇcasem. Tyto modely se proto naz´yvaj´ı modely r˚ ustu spolehlivosti.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
27 / 31
Dynamick´ e modely
Spolehlivost
Exponenci´aln´ı model
[Kan95]
dalˇs´ı speci´aln´ı pˇr´ıpad Weibullovy rodiny, m = 1 kumulativn´ı distribuˇcn´ı funkce (CDF): F (t) = 1 − e −(t/c) = 1 − e −λt hustota pravdˇepodobnosti (PDF): f (t) =
1 −(t/c) e = λe −λt c
kde c je parametr mˇeˇr´ıtka, t je ˇcas, λ = 1/c
λ se naz´yv´a rychlost detekce chyby nebo okamˇ zit´ a rychlost selh´ an´ı (ve statistice tak´e rychlost hazardu). V praktick´ych aplikac´ıch se vzorce pˇren´asobuj´ı celkov´ym poˇctem defekt˚ u nebo celkovou kumulativn´ı rychlost defekt˚ u K. Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
28 / 31
Spolehlivost
Dynamick´ e modely
Exponenci´aln´ı model - distribuce hustoty 100
Defects per KCSI
80
60
40
20
0
0
20
40
60
Week
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
29 / 31
Spolehlivost
Modely r˚ ustu spolehlivosti
Dynamick´ e modely
[Kan95]
Ne mnoho model˚ u je ovˇeˇreno praktick´ym nasazen´ım s re´aln´ymi daty. Model doby mezi selh´ an´ım: Oˇcek´av´a se, ˇze doby n´asledn´ych selh´an´ı se prodluˇzuj´ı po kaˇzd´em odstranˇen´ı defektu produktu. ˇ Casto se pˇredpokl´ad´a, ˇze se doba mezi selh´an´ım (i − 1) a i ˇr´ıd´ı rozloˇzen´ım, jehoˇz parametry maj´ı vztah k poˇctu skryt´ych defekt˚ u setrv´avaj´ıc´ıch v produktu po (i − 1) selh´an´ı.
Modely poˇ ctu vad: poˇcet vad ˇci selh´an´ı (nebo normalizovan´e rychlosti) ve specifikovan´em ˇcasov´em intervalu. ˇ Casov´ y interval je pevn´y apriori. Poˇcet defekt˚ u nebo selh´an´ı pozorovan´ych bˇehem intervalu se povaˇzuje za n´ahodnou promˇennou. Oˇcek´av´a se, ˇze se poˇcet pozorovan´ych selhan´ı za jednotku ˇcasu bude zmenˇsovat. Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
30 / 31
Spolehlivost
Dynamick´ e modely
Literatura I
Stephen H. Kan. Metrics and Models in Software Quality Engineering. Addison-Wesley, 1995.
Radek Maˇr´ık (
[email protected])
Metriky softwarov´ e kvality
September 14, 2007
31 / 31