360 likes | 545 Views
Kontrola jakości. Jerzy Nawrocki jerzy.nawrocki@put.poznan.pl. 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 ):
E N D
Kontrola jakości Jerzy Nawrocki jerzy.nawrocki@put.poznan.pl 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 ): • w trakcie przeglądu projektu: 1 • w trakcie inspekcji kodu: 20 • w trakcie testów maszynowych: 82
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
Cztery filary zapewniania jakości Jakość oprogramowania Testowanie Przeglądy Refaktoryzacja Zarz. konfiguracją
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ł
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.
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
Rodzaje testowania Testy Dane automat. Dane ręczne Wykonanie automat. XP Wykonanie ręczne
Anomalia Anomalia = Sytuacja różna od oczekiwanej, wynikającej ze specyfikacji, standardów lub czyjegoś doświadczenia. Normalne serce Serce z anomalią Ebsteina http://www.mayoclinic.org/ebsteins-anomaly/abnormalities.html
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. Artefakt
Rola przeglądów • Zapewnianie jakości • Przekazywanie informacji
Inspekcje zgodne z IEEE 1028 Spotkanie Autor Prezenter Inspektor Moderator Sekretarz
Prezenter Moderator Sekretarz Inspekcje zgodne z IEEE 1028 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) Spotkanie Autor Inspektor • Pełna akceptacja • Akceptacja warunkowa • Powtórna inspekcja
Prezenter Moderator Sekretarz Inspekcje zgodne z IEEE 1028 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) 4. Naprawa 5. Sprawdzenie Spotkanie Autor Inspektor
Inspekcje Fagana Cykl życia Specyfikacje zewnętrzne (funkcje) Specyfikacje wewnętrzne (moduł) -I0 Specyfikacje logiki przetw - I1 inspek projek Projekt Kodowanie (logika) - I2 inspek kodu Testowanie jednostkowe Kod Test funkcji (zewn.), składnika, systemu Test
Design I1 Code I2 Unit test I3 Inspekcje Fagana Oszczędności (godz/KLOC): I1: 94 I2 : 51 I3 :-20
Inspekcje Fagana Prędkość (loc/h) • Omówienie (zespół) 500 niepotrzebne • Przygotowanie (indyw.) 100 125 • Inspekcja (zespół) 130 150 • Naprawa 50 60 • Sprawdzenie - - I1 I2 • Spotkanie inspekcyjne <= 2 godz • 1 - 2 spotkania na dzień
Inspekcje Fagana 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ą potrzebne Missing Wr Ex
Szacowanie liczby nie wykrytych defektów 2-krotne łowienie Wstrzykiwanie defektów
... kroku Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów.
... kroku Wstrzykiwanie defektów 1 Do artefaktu dodajemy n defektów. 2 Przekazujemy tak spreparowany artefakt do kontroli jakości.
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ó
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ó Liczba defektów m n / k
Szacowanie liczby nie wykrytych defektów 2-krotne łowienie Wstrzykiwanie defektów
2-krotne łowienie Ile ryb jest w stawie?
2-krotne łowienie 1 Złap próbkę ryb
2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je
2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je
2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę
2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych?
2-krotne łowienie 1 Złap próbkę ryb 2 Oznacz je 3 Wypuść je 4 Złap jeszcze jedną grupę 5 Ile oznakowanych? 20 30 5
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? 20 30 5
Artefakt 2-krotne łowienie B C A Liczba defektów A * B / C
Artefakt 2-krotne łowienie B C A Liczba defektów A * B / C If C = 0 ...
2-krotne łowienie Więcej niż 2 recenzentów B A Znalazł najwięcej unikatowych defektów Pozostali Liczba defektów = A * B / C