Innowacyjne metody zarządzania jakością oprogramowania Przeglądy oprogramowania i standard IEEE 1028 Bartosz Michalik
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
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (4) Jakość oprogramowania Philip Crosby (1926 – 2001)
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (5) Zarz. konfiguracją TestowaniePrzeglądyRefaktoryzacja Cztery filary zapewniania jakości Jakość oprogramowania
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (7) Jakość oprogramowania 1.Metody formalne 2.Przeglądy 3.Testowanie
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (8) Metody formalne Wolfgang Reif Program Specyfikacja LOC LOC
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (9) Jakość oprogramowania 1.Metody formalne 2.Przeglądy 3.Testowanie
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (11) Pracochłonność testowania Testowanie: ~ % - % całkowitej pracochłonności Roger S. Pressman Testowanie systemów krytycznych: 70 % - 80 % całkowitej pracochłonności (!)
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (12) Jakość oprogramowania 1.Metody formalne 2.Przeglądy 3.Testowanie
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (14) Michael Fagan Zarządzanie projektem Zbieranie danych Minimalizacja kosztów
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (16) Inspekcje Fagana Design Code Unit test Unit test I1I1 I2I2 I3I3
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
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
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (20) Inspekcje Fagana 1.Omówienie (zespół) 500 niepotrzebne 2.Przygotowanie (indyw.) Inspekcja (zespół) Naprawa Sprawdzenie - - I1I1 I2I2 Prędkość (loc/h) Spotkanie inspekcyjne <= 2 godz spotkania na dzień
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
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.
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.
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (24) IEEE Kategorie Przegląd menadżerski (management review) Przegląd techniczny (technical review) Prezentacja (walkthrough) Audyt (audit)
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (25) Rola przeglądów Zapewnianie jakości Przekazywanie informacji
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (26) Spotkanie Inspekcje zgodne z IEEE 1028 Moderator
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (27) Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Moderator
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (28) Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (29) Inspektor Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (30) Inspektor Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator Sekretarz
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (31) Inspektor Spotkanie Prezenter Inspekcje zgodne z IEEE 1028 Autor Moderator Sekretarz
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (32) Inspekcje zgodne z IEEE Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) 4. Naprawa 5. Sprawdzenie Inspektor Prezenter Autor Moderator Sekretarz Spotkanie
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
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (35) N-fold
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (36) Przegląd fazowy
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (37) Walkthrough Autor
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (38) Pair programming
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
Innowacyjne metody zarządzania jakością oprogramowania Warunek zakończenia fazy Dane historyczne Określenie zakresów Szacowanie liczby defektów
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (42) Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów.... kroku
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
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ó
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ó
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (47) 2-krotne łowienie
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (48) 2-krotne łowienie Ile ryb jest w stawie?
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (49) 2-krotne łowienie 1 Złap próbkę ryb
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
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
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ę
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?
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?
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (56) 2-krotne łowienie Artefakt
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (57) 2-krotne łowienie A Artefakt
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (58) 2-krotne łowienie A B Artefakt
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (59) 2-krotne łowienie A B C Artefakt
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
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
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
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
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
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (65) Przeglądy asynchroniczne - motywy oszczędność czasu i pieniędzy
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (66) Proces przeglądów
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (67) Proces przeglądów
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (68) Proces przeglądów
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (69) Proces przeglądów
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (70) Proces przeglądów
Innowacyjne metody zarządzania jakością oprogramowania Kontrola jakości artefaktów (71) Dziękuję za uwagę