36
Inżynieria oprogramowania II Kontrola jakości Jerzy Nawrocki [email protected] .pl Kontrola jakości płytki krzemu w świetle zielonym

Kontrola jakości

  • Upload
    odeda

  • View
    66

  • Download
    1

Embed Size (px)

DESCRIPTION

Kontrola jakości. Jerzy Nawrocki [email protected].  Kontrola jakości płytki krzemu w świetle zielonym. Jakość oprogramowania. Jakość = zgodność z wymaganiami. Philip Crosby (1926 – 2001). Koszt naprawy błędu. Względny czas identyfikacji błędu ( IBM ): - PowerPoint PPT Presentation

Citation preview

Page 1: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości

Jerzy [email protected]

Kontrola jakości płytki krzemu w świetle zielonym

Page 2: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (2)

Jakość oprogramowania

Jakość = zgodność z wymaganiami

Philip Crosby (1926 – 2001)

Page 3: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (3)

Koszt naprawy błędu

Względny czas identyfikacji błędu (IBM ):• w trakcie przeglądu projektu: 1• w trakcie inspekcji kodu: 20• w trakcie testów maszynowych: 82

Page 4: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (4)

Zasady skutecznego działania

Bądź proaktywny Bądź proaktywny

Zaczynaj mając koniec na względzieZaczynaj mając koniec na względzie

Aby rzeczy pierwsze były pierwszeAby rzeczy pierwsze były pierwsze

Myśl o obopólnej korzyściMyśl o obopólnej korzyści

Najpierw staraj się zrozumiećNajpierw staraj się zrozumieć

Dbaj o synergięDbaj o synergię

Ostrz piłęOstrz piłę

Page 5: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (5)

Zarz. konfiguracją

Testowanie

Przeglądy

Refaktoryzacja

Cztery filary zapewniania jakości

Jakość oprogramowania

Page 6: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (6)

Przetargi dot. kontroli jakości

• SI Platforma Wyborcza: ok. 1 mln zł

• SI GIIF (MF): kilkaset tysięcy złotych

• System Zintegrowanej Taryfy Celnej ISZTAR2: 600 godz. x 300 zł/godz. 200 tys. zł

Page 7: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (7)

Cele testowania wg Glena Myersa (1979)

Testowanie :

Jakość przypadku testowego:

Udany test :

wykonanie programu celem znalezienia błędu.

prawdopodob. znalezienia jeszcze nie wykrytego błędu.

taki, który wykrywa jeszcze nie wykryty błąd.

Page 8: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (8)

Pracochłonność testowania

Testowanie: ~ % - % całkowitej pracochłonności.

30 40

Testowanie systemów krytycznych: 70% - 80% całkowitej pracochłonności (!)

Roger S. Pressman

Page 9: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (9)

Rodzaje testowania

Wykonanie ręczne

Wykonanie automat.

Dane ręczneDane automat.TestyTesty

XP

Page 10: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (10)

Anomalia

http://www.mayoclinic.org/ebsteins-anomaly/abnormalities.htmlSerce z anomalią EbsteinaNormalne serce

Anomalia = Sytuacja różna od oczekiwanej, wynikającej ze specyfikacji, standardów lub czyjegoś doświadczenia.

Page 11: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (11)

ArtefaktArtefakt

Przegląd

• Przegląd (review) = Ocena artefaktu (np.kodu) realizowana przez grupę osób.

• Inspekcja (inspection) = Ocena artefaktu przeprowadzana przez współpracowników i kierowana przez moderatora.

Page 12: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (12)

Rola przeglądów

• Zapewnianie jakości• Przekazywanie informacji

Page 13: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (13)

Inspektor

Spotkanie

Prezen

ter

Inspekcje zgodne z IEEE 1028

Autor

Moderator Sekretarz

Page 14: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (14)

Inspekcje zgodne z IEEE 1028

1. Omówienie (cały zespół)

2. Przygot. (indywidualnie)

3. Inspekcja (cały zespół)

Inspektor Pre

zent

erAutor

Mod

erat

or Sekretarz

Spotkanie

• Pełna akceptacja• Akceptacja warunkowa• Powtórna inspekcja

Page 15: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (15)

Inspekcje zgodne z IEEE 1028

1. Omówienie (cały zespół)

2. Przygot. (indywidualnie)

3. Inspekcja (cały zespół)

4. Naprawa

5. Sprawdzenie

Inspektor Pre

zent

erAutor

Mod

erat

or Sekretarz

Spotkanie

Page 16: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (16)

Inspekcje FaganaP

roje

ktK

odT

est

Specyfikacje zewnętrzne (funkcje)

Specyfikacje wewnętrzne (moduł) - I0

Specyfikacje logiki przetw - I1 inspek projek

Kodowanie (logika) - I2 inspek kodu

Testowanie jednostkowe

Cykl życiaCykl życia

Test funkcji (zewn.), składnika, systemu

Page 17: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (17)

Inspekcje Fagana

DesignDesign CodeCodeUnit

testUnit

testI1 I2 I3

Oszczędności (godz/KLOC):

I1: 94

I2 : 51

I3 : -20

Page 18: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (18)

Inspekcje Fagana

1. Omówienie (zespół) 500 niepotrzebne

2. Przygotowanie (indyw.) 100 125

3. Inspekcja (zespół) 130 150

4. Naprawa 50 60

5. Sprawdzenie - -

I1 I2

Prędkość (loc/h)

• Spotkanie inspekcyjne <= 2 godz• 1 - 2 spotkania na dzień

Page 19: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (19)

Inspekcje Fagana

• Czy wszystkie stałe są zdefiniowane?• Czy w trakcie manipulacji kolejką może wystąpić

przerwanie? Jeśli tak, to czy kolejka jest ujęta w rejon krytyczny?

• Czy rejestry są odtwarzane przy wyjściu?• Czy wszystkie liczniki są odpowiednio inicjowane

(0 lub 1)?• Czy są literały numeryczne, które powinny być

zastąpione stałymi symbolicznymi?• Czy wszystkie bloki na schemacie są potrzebne

Lista kontrolna dla inspekcji projektu

Ex

Wr

Mis

sing

Page 20: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (20)

Szacowanie liczby nie wykrytych defektów

Wstrzykiwanie defektów 2-krotne łowienie

Page 21: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (21)

Wstrzykiwanie defektów

1 Do artefaktu dodajemy n defektów.

...

kroku

Page 22: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (22)

Wstrzykiwanie defektów

1 Do artefaktu dodajemy n defektów.

2 Przekazujemy tak spreparowany artefakt do kontroli jakości.

...

kroku

Page 23: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (23)

Wstrzykiwanie defektów

1 Do artefaktu dodajemy n defektów.

2 Przekazujemy tak spreparowany artefakt do kontroli jakości.

3 Dostajemy raport. Wykryto m + k defektów:

k defektów przez nas dodanych, m defektów nowych.

Defekty:

1 óstawa

2 krokó

Page 24: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (24)

Wstrzykiwanie defektów

1 Do artefaktu dodajemy n defektów.

2 Przekazujemy tak spreparowany artefakt do kontroli jakości.

3 Dostajemy raport. Wykryto m + k defektów:

k defektów przez nas dodanych, m defektów nowych.

Liczba defektów m n / k

Defekty:

1 óstawa

2 krokó

Page 25: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (25)

Szacowanie liczby nie wykrytych defektów

Wstrzykiwanie defektów 2-krotne łowienie

Page 26: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (26)

2-krotne łowienie

Ile ryb jest w stawie?

Page 27: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (27)

2-krotne łowienie

1 Złap próbkę ryb

Page 28: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (28)

2-krotne łowienie

1 Złap próbkę ryb2 Oznacz je

Page 29: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (29)

2-krotne łowienie

1 Złap próbkę ryb2 Oznacz je3 Wypuść je

Page 30: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (30)

2-krotne łowienie

1 Złap próbkę ryb2 Oznacz je3 Wypuść je4 Złap jeszcze jedną grupę

Page 31: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (31)

2-krotne łowienie

1 Złap próbkę ryb2 Oznacz je3 Wypuść je4 Złap jeszcze jedną grupę5 Ile oznakowanych?

Page 32: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (32)

2-krotne łowienie

1 Złap próbkę ryb2 Oznacz je3 Wypuść je4 Złap jeszcze jedną grupę5 Ile oznakowanych?

Page 33: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (33)

2-krotne łowienie

1 Złap próbkę ryb2 Oznacz je3 Wypuść je4 Złap jeszcze jedną grupę5 Ile oznakowanych?

Total =20 * 30 / 5 =

120

Page 34: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (34)

2-krotne łowienie

A BC

Liczba defektów A * B / C

Artefakt

Page 35: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (35)

2-krotne łowienie

A BC

Liczba defektów A * B / CIf C = 0 ...

Artefakt

Page 36: Kontrola jakości

Inżynieria oprogramowania II

Kontrola jakości (36)

2-krotne łowienie

Więcej niż 2 recenzentów

A B

Znalazł najwięcej unikatowych defektów

Pozostali

Liczba defektów = A * B / C