Inynieria oprogramowania II Kontrola jakoci Jerzy Nawrocki jerzy

  • Slides: 36
Download presentation
Inżynieria oprogramowania II Kontrola jakości Jerzy Nawrocki jerzy. nawrocki@put. poznan. pl Kontrola jakości płytki

Inżynieria oprogramowania II Kontrola jakości Jerzy Nawrocki jerzy. nawrocki@put. poznan. pl Kontrola jakości płytki krzemu w świetle

Inżynieria oprogramowania II Jakość oprogramowania Jakość = zgodność z wymaganiam Philip Crosby (1926 –

Inżynieria oprogramowania II Jakość oprogramowania Jakość = zgodność z wymaganiam Philip Crosby (1926 – 2001) Kontrola jakości (2)

Inżynieria oprogramowania II Koszt naprawy błędu Względny czas identyfikacji błędu (IBM ): • w

Inżynieria oprogramowania II 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 Kontrola jakości (3)

Inżynieria oprogramowania II Zasady skutecznego działania Ostrz piłę Dbaj o synergię Najpierw staraj się

Inżynieria oprogramowania II Zasady skutecznego działania Ostrz piłę Dbaj o synergię Najpierw staraj się zrozumieć Myśl o obopólnej korzyści Aby rzeczy pierwsze były pierwsze Zaczynaj mając koniec na względzie Bądź proaktywny Kontrola jakości (4)

Inżynieria oprogramowania II Cztery filary zapewniania jakości Jakość oprogramowania Refaktoryzacja Przeglądy Testowanie Zarz. konfiguracją

Inżynieria oprogramowania II Cztery filary zapewniania jakości Jakość oprogramowania Refaktoryzacja Przeglądy Testowanie Zarz. konfiguracją Kontrola jakości (5)

Inżynieria oprogramowania II Przetargi dot. kontroli jakości • SI Platforma Wyborcza: ok. 1 mln

Inżynieria oprogramowania II Przetargi dot. kontroli jakości • SI Platforma Wyborcza: ok. 1 mln zł • SI GIIF (MF): kilkaset tysięcy złotych • System Zintegrowanej Taryfy Celnej ISZTAR 2: 600 godz. x 300 zł/godz. 200 tys. zł Kontrola jakości (6)

Inżynieria oprogramowania II Cele testowania wg Glena Myersa (1979) Testowanie : wykonanie programu celem

Inżynieria oprogramowania II Cele testowania wg Glena Myersa (1979) Testowanie : wykonanie programu celem znalezienia błędu. Udany test : taki, który wykrywa jeszcze nie wykryty błąd. Jakość przypadku testowego: prawdopodob. znalezienia jeszcze nie wykrytego błędu. Kontrola jakości (7)

Inżynieria oprogramowania II Pracochłonność testowania Testowanie: ~ 30 % - 40 % całkowitej pracochłonności.

Inżynieria oprogramowania II Pracochłonność testowania Testowanie: ~ 30 % - 40 % całkowitej pracochłonności. Roger S. Pressman Testowanie systemów krytycznych: 70% - 80% całkowitej pracochłonności (!) Kontrola jakości (8)

Inżynieria oprogramowania II Rodzaje testowania Testy Wykonanie automat. Dane ręczne XP Wykonanie ręczne Kontrola

Inżynieria oprogramowania II Rodzaje testowania Testy Wykonanie automat. Dane ręczne XP Wykonanie ręczne Kontrola jakości (9)

Inżynieria oprogramowania II Anomalia = Sytuacja różna od oczekiwanej, wynikającej ze specyfikacji, standardów lub

Inżynieria oprogramowania II Anomalia = Sytuacja różna od oczekiwanej, wynikającej ze specyfikacji, standardów lub czyjegoś doświadczenia. Normalne Serce z anomalią http: //www. mayoclinic. org/ebsteinsserce Ebsteina anomaly/abnormalities. html Kontrola jakości (10)

Inżynieria oprogramowania II Przegląd Artefakt • Przegląd (review) = Ocena artefaktu (np. kodu) realizowana

Inżynieria oprogramowania II Przegląd Artefakt • 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. Kontrola jakości (11)

Inżynieria oprogramowania II Rola przeglądów • Zapewnianie jakości • Przekazywanie informacji Kontrola jakości (12)

Inżynieria oprogramowania II Rola przeglądów • Zapewnianie jakości • Przekazywanie informacji Kontrola jakości (12)

Inżynieria oprogramowania II Inspekcje zgodne z IEEE 1028 er nt ze at er re

Inżynieria oprogramowania II Inspekcje zgodne z IEEE 1028 er nt ze at er re rz ta M od k Se or or kt Pr e pe s In or ut A Spotkan ie Kontrola jakości (13)

Inżynieria oprogramowania II en t M z r ta e kr Se od er

Inżynieria oprogramowania II en t M z r ta e kr Se od er at o r r to Pr k pe ez s In r to Spotkan ie Au er Inspekcje zgodne z IEEE 1028 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) • Pełna akceptacja • Akceptacja warunkowa • Powtórna inspekcja Kontrola jakości (14)

Inżynieria oprogramowania II en t z M 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie)

Inżynieria oprogramowania II en t z M 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) 4. Naprawa 5. Sprawdzenie r ta e kr Se od er at o r r to Pr k pe ez s In r to Spotkan ie Au er Inspekcje zgodne z IEEE 1028 Kontrola jakości (15)

Inżynieria oprogramowania II Inspekcje Fagana Projekt Specyfikacje zewnętrzne (funkcje) Specyfikacje wewnętrzne (moduł) - I

Inżynieria oprogramowania II Inspekcje Fagana Projekt 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 Test Cykl życia Test funkcji (zewn. ), składnika, systemu Kontrola jakości (16)

Inżynieria oprogramowania II Inspekcje Fagana Design I 1 Code I 2 Unit test I

Inżynieria oprogramowania II Inspekcje Fagana Design I 1 Code I 2 Unit test I 3 Oszczędności (godz/KLOC): I 1: 94 I 2 : 51 I 3 : -20 Kontrola jakości (17)

Inżynieria oprogramowania II Inspekcje Fagana Prędkość (loc/h) I 1 1. 2. 3. 4. 5.

Inżynieria oprogramowania II Inspekcje Fagana Prędkość (loc/h) I 1 1. 2. 3. 4. 5. Omówienie (zespół) Przygotowanie (indyw. ) Inspekcja (zespół) Naprawa Sprawdzenie 500 130 50 - I 2 niepotrzebne 125 150 60 - • Spotkanie inspekcyjne <= 2 godz • 1 - 2 spotkania na dzień Kontrola jakości (18)

Inżynieria oprogramowania II Inspekcje Fagana Ex Wr Missing Lista kontrolna dla inspekcji projektu •

Inżynieria oprogramowania II Inspekcje Fagana Ex Wr Missing Lista kontrolna dla inspekcji projektu • 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ą Kontrola jakości (19)

Inżynieria oprogramowania II Szacowanie liczby nie wykrytych defektów Wstrzykiwanie defektów 2 -krotne łowienie Kontrola

Inżynieria oprogramowania II Szacowanie liczby nie wykrytych defektów Wstrzykiwanie defektów 2 -krotne łowienie Kontrola jakości (20)

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. . u k

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. . u k o kr Kontrola jakości (21)

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak spreparowany artefakt do kontroli jakości. . u k o kr Kontrola jakości (22)

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak spreparowany artefakt do kontroli jakości. : y t k e f De a w a t s 1 ó okó r k 2 3 Dostajemy raport. Wykryto m + k defektów: k defektów przez nas dodanych, m defektów nowych. Kontrola jakości (23)

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak

Inżynieria oprogramowania II Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak spreparowany artefakt do kontroli jakości. : y t k e f De a w a t s 1 ó okó r k 2 3 Dostajemy raport. Wykryto m + k defektów: k defektów przez nas dodanych, m defektów nowych. Liczba defektów m n /k Kontrola jakości (24)

Inżynieria oprogramowania II Szacowanie liczby nie wykrytych defektów Wstrzykiwanie defektów 2 -krotne łowienie Kontrola

Inżynieria oprogramowania II Szacowanie liczby nie wykrytych defektów Wstrzykiwanie defektów 2 -krotne łowienie Kontrola jakości (25)

Inżynieria oprogramowania II 2 -krotne łowienie Ile ryb jest w stawie? Kontrola jakości (26)

Inżynieria oprogramowania II 2 -krotne łowienie Ile ryb jest w stawie? Kontrola jakości (26)

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb Kontrola jakości (27)

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb Kontrola jakości (27)

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je Kontrola

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je Kontrola jakości (28)

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je Kontrola jakości (29)

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę Kontrola jakości (30)

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych? Kontrola jakości (31)

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3

Inżynieria oprogramowania II 2 -krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych? Kontrola jakości (32)

Inżynieria oprogramowania II 2 -krotne łowienie Total = 20 * 30 / 5 =

Inżynieria oprogramowania II 2 -krotne łowienie Total = 20 * 30 / 5 = 120 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych? Kontrola jakości (33)

Inżynieria oprogramowania II 2 -krotne łowienie Artefakt A C B Liczba defektów A *

Inżynieria oprogramowania II 2 -krotne łowienie Artefakt A C B Liczba defektów A * B/C Kontrola jakości (34)

Inżynieria oprogramowania II 2 -krotne łowienie Artefakt A C B Liczba defektów A *

Inżynieria oprogramowania II 2 -krotne łowienie Artefakt A C B Liczba defektów A * If CB=/ 0 C. . . Kontrola jakości (35)

Inżynieria oprogramowania II 2 -krotne łowienie Więcej niż 2 recenzentów A B Znalazł najwięcej

Inżynieria oprogramowania II 2 -krotne łowienie Więcej niż 2 recenzentów A B Znalazł najwięcej unikatowych Pozostali defektów Liczba defektów = A * B/C Kontrola jakości (36)