Kontrola jakości Inżynieria oprogramowania II

Slides:



Advertisements
Podobne prezentacje
Programowanie Ekstemalne
Advertisements

Jakość w procesie wytwarzania oprogramowania
Modelowanie przypadków użycia
Jakość w procesie wytwarzania oprogramowania
Nowoczesne narzędzia wykorzystywane w cyklu polityk publicznych
Programowanie Ekstremalne
Analiza ryzyka projektu
Zarządzanie projektem informatycznym
Zarządzanie przedsięwzięciami i PRINCE2
Inżynieria Oprogramowania 8. Weryfikacja i zatwierdzanie
Wydział Zastosowań Informatyki i Matematyki SGGW
Audity Opracował: Tomasz Greber
Na Etapie Inżynierii Wymagań
Lekkie metodyki programowania: Szansa czy zagrożenie?
Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03
ISO 9001:2000 z perspektywy CMMI a poznańska rzeczywistość
Dokumentowanie wymagań w języku XML
Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
(c) Jerzy Nawrocki Jerzy Nawrocki
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Model dojrzałości CMMI
Copyright © Jerzy R. Nawrocki Standardy serii ISO Inżynieria oprogramowania II Wykład.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Inżynieria Oprogramowania Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Analiza i walidacja wymagań
Copyright © Jerzy R. Nawrocki Zbieranie wymagań Analiza systemów informatycznych Wykład.
Copyright © Jerzy R. Nawrocki Wprowadzenie Analiza systemów informatycznych Wykład.
Inżynieria oprogramowania II Wykład 10 PRINCE2 i TSP
Testy akceptacyjne Analiza systemów informatycznych Wykład 9
Dyscyplina i zwinność w projektach informatycznych (cz. 2)
Komputerowe systemy sterowania Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Testowanie oprogramowania
Zarządzanie przedsięwzięciami i PRINCE2
Kontrola jakości.
Tomasz Pieciukiewicz Rafał Hryniów
Cykle życia oprogramowania
Jak pisać pracę dyplomową?
Jarosław Kuchta Jakość Systemów Informatycznych
Pomiary w inżynierii oprogramowania
Pomiary w inżynierii oprogramowania
Rational Unified Process
Projektowanie i programowanie obiektowe II - Wykład IV
Dalsze elementy metodologii projektowania. Naszym celem jest...
Wykład 2 Cykl życia systemu informacyjnego
Podstawy programowania
Protokół Komunikacyjny
Microsoft Solution Framework
Zarządzanie jakością projektu
Menadżer Programów Wewnętrznych, Pion Banków Komercyjnych
Metodyki zarządzania projektami
Zasady skutecznego działania
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Dr Karolina Muszyńska Na podst.:
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Zarządzanie zagrożeniami
Podstawy zarządzania projektami Karta projektu
(c) Jerzy Nawrocki Jerzy Nawrocki
Agile Manifesto Manifest Zwinnego Wytwarzania Oprogramowania
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Innowacyjne metody zarządzania jakością oprogramowania, Zarządzanie ryzykiem w metodyce PRINCE2 Jerzy Nawrocki
Copyright © Jerzy R. Nawrocki Innowacyjność: Szanse i zagrożenia Seminarium Programu InMoST.
Uruchomienie systemu kdpw_otc - rozwiązania techniczne 20 września 2012 r.
Innowacyjne metody zarządzania jakością oprogramowania Przeglądy oprogramowania i standard IEEE 1028 Bartosz Michalik
(c) InMoST 2006 Plan szkolenia ▪ Wprowadzenie (9:00-10:30): Czym jest szacowanie? (MO) Systematyczne podejście do planowania (ŁO) Planowanie, a kalendarz.
Inżynieria oprogramowania
Zarządzanie projektami informatycznymi
[Nazwa projektu] Analiza zamknięcia
Zapis prezentacji:

Kontrola jakości Inżynieria oprogramowania II (c) Jerzy Nawrocki Wykład 2 Inżynieria oprogramowania II Kontrola jakości Jerzy.Nawrocki@put.poznan.pl Adam.Wojciechowski@put.poznan.pl Copyright, 2004 © Jerzy R. Nawrocki Inżynieria oprogramowania II

Jakość oprogramowania (c) Jerzy Nawrocki Wykład 2 Jakość oprogramowania Philip Crosby’83: zgodność z wymaganiami Jakość projektu (wymagania a projekt) Jakość wykonania (projekt a implementacja) Copyright (c) 2004 by J. Nawrocki Inżynieria oprogramowania II

Osiem wymiarów jakości D.A. Garvin, Competing in the Eight Dimensions of Quality, Harvard Business Review, Sept.-Oct. 1987. A gdzie cena? 1. Wydajność (szybkość, ..) 2. Niezawodność (częst. błędów) 3. Wytrzymałość (jak długo) 4. Łatwość naprawy 5. Estetyka 6. Cechy funkcjonalne 7. Reputacja 8. Zgodność ze standardami i wymaganiami Copyright (c) 2004 by J. Nawrocki

Pracochłonność testowania Testowanie: ~ % - % całkowitej pracochłonności. 30 40 Testowanie systemów krytycznych: 70% - 80% całkowitej pracochłonności (!) -- Roger Pressman’97 Copyright (c) 2004 by J. Nawrocki

Cztery filary zapewniania jakości (c) Jerzy Nawrocki Wykład 2 Wprowadzenie Cztery filary zapewniania jakości Jakość oprogramowania Zarz. konfiguracją Testowanie Przeglądy Refaktoryzacja Copyright (c) 2004 by J. Nawrocki Inżynieria oprogramowania II

Copyright (c) 2004 by J. Nawrocki (c) Jerzy Nawrocki Wykład 2 Wprowadzenie 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 Copyright (c) 2004 by J. Nawrocki 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 ISZTAR2: 600 godz. x 300 zł/godz.  200 tys. zł Copyright (c) 2004 by J. Nawrocki

Nawyki skutecznego działania .. a sprawa testowania 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 Copyright (c) 2004 by J. Nawrocki

Wprowadzenie do testowania Cele testowania Testowanie = wykonanie programu celem znalezienia błędu. Jakość przypadku testowego: prawdopodobieństwo znalezienia jeszcze nie wykrytego błędu. Udany test to taki, który wykrywa jeszcze nie wykryty błąd. -- Glen Myers’79 Copyright (c) 2004 by J. Nawrocki

Wprowadzenie do testowania Powiedzenie Dijkstry Testowaniem nie można wykazać braku błędów, można w ten sposób jedynie wykazać ich obecność. -- E.W. ............... Dijkstra Copyright (c) 2004 by J. Nawrocki

Jakość oprogramowania Testowanie Testy systemowe Testy akceptacyjne Testy integracyjne Testy jednostkowe { n+=NF; } END { print n; } Copyright (c) 2004 by J. Nawrocki

Wprowadzenie do testowania Zasady testowania Wszystkie testy powinny być powiązane z wymaganiami użytkownika. Testowanie należy planować na długo przed jego rozpoczęciem. W przypadku testowania obowiązuje zasada Pareto (80 /20). Copyright (c) 2004 by J. Nawrocki

Wprowadzenie do testowania Zasady testowania Testowanie należy przeprowadzać “od dołu do góry”. Testowanie wyczerpujące nie jest możliwe. Pewne testy powinny być wykonane przez niezależną trzecią stronę. Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Wprowadzenie Przegląd Przegląd (review) = Analiza artefaktu (np.kodu, dokumentu) realizowana przez grupę osób. Inspekcja (inspection) = Najbardziej sformalizowana postać przeglądu Artefakt Copyright (c) 2004 by J. Nawrocki

Modele doskonalenia procesów CMM: Capability Maturity Model Zarządzanie wymaganiami Planowanie przedsięwzięcia Śledzenie postępów Zarządzanie podzleceniami Zapewnianie jakości Zarządzanie konfiguracją Pomiary i analiza 5. Optymalizujący 4. Zarządzany ilościowo 3. Zdefiniowany 2. Zarządzany (powtarzalny) 1. Początkowy Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki (c) Jerzy Nawrocki Wykład 2 Zapewnianie jakości Zdolność 1. Istnieje grupa SQA odpowiedzialna za koordynację i implementację zapewniania jakości oprogramowania w przedsięwzięciu. Copyright (c) 2004 by J. Nawrocki Inżynieria oprogramowania II

Copyright (c) 2004 by J. Nawrocki Zapewnianie jakości Działanie 4. Grupa SQA realizuje przeglądy działań dot. inżynierii oprogramowania celem weryfikacji ich zgodności z SDP, wybranymi standardami i procedurami. QA Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Zapewnianie jakości Działanie 5. Grupa SQA realizuje audyty wybranych produktów oprogramowania aby zweryfikować ich zgodność z przyjętymi standardami i wymaganiami zawartymi w kontrakcie. QA if (a < b) a+= b; Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Wprowadzenie Rola przeglądów Zapewnianie jakości Przekazywanie informacji Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki (c) Jerzy Nawrocki Wykład 2 Plan wykładu Wprowadzenie Analiza przypadku Formalny przegląd techniczny Inspekcje Fagana Przeglądy aktywne i inspekcje fazowe Copyright (c) 2004 by J. Nawrocki Inżynieria oprogramowania II

Copyright (c) 2004 by J. Nawrocki Procedura FTR Wprowadzenie FTR = Formal Technical Review (Formalny przegląd techniczny) Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Procedura FTR Osoby Producent Kierownik projektu Kierownik przeglądu Recenzent (recenzenci) Sekretarz Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Procedura FTR Kroki (I) Producent informuje kierownika projektu + kierownika przeglądu, że produkt jest gotowy i śle im jego kopię Kierownik przeglądu ustala, w porozumieniu ze wszystkimi uczestnikami przeglądu datę spotkania (najlepiej w ciągu 3 dni). Przesyła też recenzentom kopie produktu. Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Procedura FTR Kroki (II) Kierownik przeglądu opracowuje agendę spotkania. Spotkanie FTR Sekretarz przygotowuje raport przeglądu i wysyła go do uczestników spotkania. Jego kopia idzie też do kierownika projektu. Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Spotkanie FTR Propozycja agendy (I) Kierownik przeglądu: Przedstawienie agendy. Uczestnicy mogą proponować zmiany. Sekretarz: Zbieranie kopii formularzy przygotowawczych. Producent: Prezentacja produktu. Recenzenci mogą zadawać pytania. Sekretarz notuje problemy i wykryte błędy. Copyright (c) 2004 by J. Nawrocki

Propozycja agendy (II) Spotkanie FTR Propozycja agendy (II) Sekretarz: Podsumowuje problemy i błędy. Wszyscy uczestnicy oprócz producenta: Tajne głosowanie wstępne. Sekretarz: Zbiera głosy i prezentuje wyniki. Producent: “Ostatnie słowo” Wszyscy uczestnicy oprócz pro-ducenta: Ostateczne głosowanie Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Spotkanie FTR Decyzja Akceptacja. Żadne modyfikacje nie są konieczne. Akceptacja warunkowa. Są drobne błędy ale dodatkowy przegląd nie jest konieczny (kierownik projektu sprawdzi wersję końcową). Odrzucenie. Są istotne błędy i dodatkowy przegląd jest konieczny. Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Spotkanie FTR Decyzja Jeśli decyzja recenzentów nie jest jasna (niektórzy proponują Akceptację a inni Odrzucenie), ostateczna decyzja należy do . . . . . . . . . . . . . Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Formularz recenzji Nagłówek Nazwa produktu i jego wersja: .......... Producent: ........................................... Recenzent: ........................................... Produkt otrzymano: ............................ Spodziewany czas przygot.: .............. Faktyczny czas przygot.: ................... Termin spotkania: ............................... Wstępna decyzja: ................................ Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Formularz recenzji Część zasadnicza Poważne błędy i problemy (np. ukryte problemy, niejednoznacz-ność, niezrozumienie) Opis problemu (rodzaj) Drobne problemy (np. ortografia, gramatyka, format) Opis problemu (rodzaj) Copyright (c) 2004 by J. Nawrocki

Rodzaje - Główne przyczyny błędów Formularz recenzji Rodzaje - Główne przyczyny błędów “Two” or “too”? Edukacja: brak rozumienia Komunikacja: brak poinformowanie Przeoczenie: wiedziałem, że mam zrobić ale zapomniałem Transkrypcja: wiedziałem, ale pomyliłem się Proces: winna jest procedura Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki (c) Jerzy Nawrocki Wykład 2 Plan wykładu Wprowadzenie Analiza przypadku Formalny przegląd techniczny Inspekcje Fagana Przeglądy aktywne i inspekcje fazowe Copyright (c) 2004 by J. Nawrocki Inżynieria oprogramowania II

Copyright (c) 2004 by J. Nawrocki 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 Test funkcji (zewn.), składnika, systemu Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Inspekcje Fagana Implementator Sesja przeglądu Projektant Moderator Tester Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Inspekcje Fagana Proktant Implem. Moderator Tester Review session 1. Omówienie (cały zespół) 2. Przygot. (indywidualnie) 3. Inspekcja (cały zespół) 4. Naprawa 5. Sprawdzenie Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Inspekcje Fagana Prędkość (loc/h) I1 I2 Omówienie (zespół) 500 niepotrzebne Przygotowanie (indyw.) 100 125 Inspekcja (zespół) 130 150 Naprawa 50 60 Sprawdzenie - - Spotkanie inspekcyjne <= 2 godz 1 - 2 spotkania na dzień Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki 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 Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki (c) Jerzy Nawrocki Wykład 2 Plan wykładu Wprowadzenie Analiza przypadku Formalny przegląd techniczny Inspekcje Fagana Przeglądy aktywne i inspekcje fazowe Copyright (c) 2004 by J. Nawrocki Inżynieria oprogramowania II

Copyright (c) 2004 by J. Nawrocki Przeglądy aktywne Parnas i Weiss, 1985 Pytania formułowane przez autorów - zachęta do dokładnej recenzji Kilka krótkich przeglądów skupiających się na części produktu (dokumentu) Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Inspekcje fazowe 1 Zgodność ze standardem dokumentu. Także sprawdzenie ortografii i gramatyki. 2. Struktura kodu źródłowego. 3. Czytelność. 4. Dobre praktyki programistyczne (skoki, globalne zmienne, ..). 5. Właściwe użycie konstrukcji programistycznych (aktualizacja zmiennych sterujących pętli, zamykanie plików, ...). 6. Poprawność funkcjonalna. Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Podsumowanie Inspekcja = przegląd + lista kontrolna Problemy z listami kontrolnymi Inspekcja i przegląd może ale nie musi zawierać prezentacji (różne zdania) Może być przegląd bez recenzji (ale z prezentacją) Czasochłonność inspekcji: ok. 20 godz. / KLOC na osobę Szacowanie liczby błędów Wreszcie! Copyright (c) 2004 by J. Nawrocki

Copyright (c) 2004 by J. Nawrocki Zapewnianie jakości Ostrzeżenie Pewien dyrektor w Sopocie Pracując w PZJ-cie Chcąc robić coś w robocie Wymyślał standardy na krocie Za co dostanie w XXXX po robocie. -- Anonim Copyright (c) 2004 by J. Nawrocki