1 Innowacyjne metody zarządzania jakością oprogramowania Przeglądy oprogramowania i standard IEEE 1028 Bartosz Michalik [email protected]
2 Innowacyjne metody zarządzania jakością oprogramowania Plan wykładu Jakość oprogramowania Inspekcje Fagana IEEE 1028 Typy przeglądów Kryterium zakończenia Przeglądy asynchroniczne
3 Innowacyjne metody zarządzania jakością oprogramowania Plan wykładu Jakość oprogramowania Inspekcje Fagana IEEE 1028 Typy przeglądów Kryterium zakończenia Przeglądy asynchroniczne
4 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (4) Jakość oprogramowania Philip Crosby (1926 – 2001)
5 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (5) Zarz. konfiguracją TestowaniePrzeglądyRefaktoryzacja Cztery filary zapewniania jakości Jakość oprogramowania
6 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (6) 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
7 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (7) Jakość oprogramowania 1.Metody formalne 2.Przeglądy 3.Testowanie
8 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (8) Metody formalne Wolfgang Reif Program Specyfikacja 7 000 LOC 5 000 LOC
9 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (9) Jakość oprogramowania 1.Metody formalne 2.Przeglądy 3.Testowanie
10 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (10) Testowanie Testowaniem można wykazać, że błędy są, ale nie można w ten sposób pokazać, że ich nie ma. E.W. Dijkstra
11 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (11) Pracochłonność testowania Testowanie: ~ % - % całkowitej pracochłonności. 30 40 Roger S. Pressman Testowanie systemów krytycznych: 70 % - 80 % całkowitej pracochłonności (!)
12 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (12) Jakość oprogramowania 1.Metody formalne 2.Przeglądy 3.Testowanie
13 Innowacyjne metody zarządzania jakością oprogramowania Plan wykładu Jakość oprogramowania Inspekcje Fagana IEEE 1028 Typy przeglądów Kryterium zakończenia Przeglądy asynchroniczne
14 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (14) Michael Fagan Zarządzanie projektem Zbieranie danych Minimalizacja kosztów
15 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (15) Inspekcje Fagana Projekt Kod Test Specyfikacje zewnętrzne (funkcje) Specyfikacje wewnętrzne (moduł) - I 0 Specyfikacje logiki przetw - I 1 inspek projek Kodowanie (logika) - I 2 inspek kodu Testowanie jednostkowe Cykl życia Test funkcji (zewn.), składnika, systemu
16 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (16) Inspekcje Fagana Design Code Unit test Unit test I1I1 I2I2 I3I3
17 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (17) Inspekcje Fagana Design Code Unit test Unit test I1I1 I2I2 I3I3 Oszczędności (godz/KLOC): I 1 : 94 I 2 : 51 I 3 : -20
18 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (18) Fazy przeglądu Planowanie Omówienie Indywidualne przygotowanie Inspekcja Naprawa Dalsze działania
19 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (19) Fazy przeglądu Planowanie Omówienie Indywidualne przygotowanie Inspekcja Akceptacja Warunkowa akceptacja Ponowny przegląd Naprawa Dalsze działania
20 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (20) Inspekcje Fagana 1.Omówienie (zespół) 500 niepotrzebne 2.Przygotowanie (indyw.) 100 125 3.Inspekcja (zespół) 130 150 4.Naprawa 50 60 5.Sprawdzenie - - I1I1 I2I2 Prędkość (loc/h) Spotkanie inspekcyjne
21 Innowacyjne metody zarządzania jakością oprogramowania Plan wykładu Jakość oprogramowania Inspekcje Fagana IEEE 1028 Typy przeglądów Kryterium zakończenia Przeglądy asynchroniczne
22 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (22) Artefakt Przegląd Przegląd (review) = Ocena artefaktu (np.kodu) realizowana przez grupę osób.
23 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (23) Artefakt 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.
24 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (24) IEEE 1028 - Kategorie Przegląd menadżerski (management review) Przegląd techniczny (technical review) Prezentacja (walkthrough) Audyt (audit)
25 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (25) Rola przeglądów Zapewnianie jakości Przekazywanie informacji
26 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (26) Spotkanie Inspekcje zgodne z IEEE 1028 Moderator
27 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (27) Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Moderator
28 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (28) Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator
29 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (29) Inspektor Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator
30 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (30) Inspektor Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator Sekretarz
31 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (31) Inspektor Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator Sekretarz
32 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (32) Inspekcje zgodne z IEEE 1028 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) 4. Naprawa 5. Sprawdzenie Inspektor Prezenter Autor Moderator Sekretarz Spotkanie
33 Innowacyjne metody zarządzania jakością oprogramowania Plan wykładu Jakość oprogramowania Inspekcje Fagana IEEE 1028 Typy przeglądów Kryterium zakończenia Przeglądy asynchroniczne
34 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (34) Typy przeglądów Formalne Nieformalne listy kontrolne zarządzane doświadczenie wymiana informacji
35 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (35) N-fold
36 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (36) Przegląd fazowy
37 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (37) Walkthrough Autor
38 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (38) Pair programming
39 Innowacyjne metody zarządzania jakością oprogramowania Plan wykładu Jakość oprogramowania Inspekcje Fagana IEEE 1028 Typy przeglądów Kryterium zakończenia Przeglądy asynchroniczne
40 Innowacyjne metody zarządzania jakością oprogramowania Warunek zakończenia fazy Dane historyczne Określenie zakresów Szacowanie liczby defektów
41 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (41) Szacowanie liczby nie wykrytych defektów Wstrzykiwanie defektów 2-krotne łowienie
42 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (42) Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów.... kroku
43 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (43) Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak spreparowany artefakt do kontroli jakości.... kroku
44 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (44) 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ó
45 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (45) 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ó
46 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (46) Szacowanie liczby nie wykrytych defektów Wstrzykiwanie defektów 2-krotne łowienie
47 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (47) 2-krotne łowienie
48 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (48) 2-krotne łowienie Ile ryb jest w stawie?
49 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (49) 2-krotne łowienie 1 Złap próbkę ryb
50 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (50) 2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je
51 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (51) 2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je
52 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (52) 2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę
53 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (53) 2-krotne łowienie... 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych?
54 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (54) 2-krotne łowienie 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych?
55 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (55) 2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych? Total = 20 * 30 / 5 = 120
56 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (56) 2-krotne łowienie Artefakt
57 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (57) 2-krotne łowienie A Artefakt
58 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (58) 2-krotne łowienie A B Artefakt
59 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (59) 2-krotne łowienie A B C Artefakt
60 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (60) 2-krotne łowienie A B C Liczba defektów A * B / C Artefakt
61 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (61) 2-krotne łowienie A B C Liczba defektów A * B / C If C = 0... Artefakt
62 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (62) Modele zaawansowane inspektorzy mają różne zdolności są błędy trudno wykrywalne i łatwo wykrywalne liczba inspektorów > 2
63 Innowacyjne metody zarządzania jakością oprogramowania Plan wykładu Jakość oprogramowania Inspekcje Fagana IEEE 1028 Typy przeglądów Kryterium zakończenia Przeglądy asynchroniczne
64 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (64) Przeglądy asynchroniczne - motywy wsparcie dla zespołów rozproszonych zaangażowanie klienta zbieranie danych możliwość estymacji liczby defektów utrata efektu synergii
65 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (65) Przeglądy asynchroniczne - motywy oszczędność czasu i pieniędzy
66 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (66) Proces przeglądów
67 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (67) Proces przeglądów
68 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (68) Proces przeglądów
69 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (69) Proces przeglądów
70 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (70) Proces przeglądów
71 Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (71) Dziękuję za uwagę