Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Testowanie oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie procesów.

Podobne prezentacje


Prezentacja na temat: "Testowanie oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie procesów."— Zapis prezentacji:

1 Testowanie oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie procesów programowych Wykład 3 Doskonalenie procesów programowych Wykład 3

2 J. Nawrocki, Wprowadzenie Z pierwszego wykładu.. LOOPLOOP Syndrom LOOP ate (późno) oor quality (kiepska jakość) ver budget (przekroczony budżet) vertime (nadgodziny) + niechęć do zmian Loop

3 J. Nawrocki, Wprowadzenie Z pierwszego wykładu.. Nie ważne Ważne PilneNie pilne I Gaszenie pożarów, walka z czasem, robienie rzeczy na wczoraj III Przerwania, telefony, niektóre spotkania,... II Zapobieganie, planowanie, szkolenia, penetracja możliwości IV Oglądanie stron www, niektóre listy dyskusyjne, gazety, programy TV.. Aby rzeczy pierwsze były pierwsze

4 J. Nawrocki, Wprowadzenie Z pierwszego wykładu.. CMM: Capability Maturity Model 1. Początkowy 2. Zarządzany (powtarzalny) 3. Zdefiniowany 4. Zarządzany ilościowo 5. Optymalizujący Zarządzanie wymaganiami Planowanie przedsięwzięcia Śledzenie postępów Zarządzanie podzleceniami Zapewnienie jakości Zarządzanie konfiguracją

5 J. Nawrocki, Wprowadzenie Z pierwszego wykładu.. Estymacja rozmiaru Raporty testowania Planowanie zadań Planowanie harmonogramu PSP 1

6 J. Nawrocki, Wprowadzenie Z pierwszego wykładu.. Testowanie przypadkowe Testy automatyczne Przeglądy artefaktów Metody formalne Chaos i anarchia Konfiguracje w katalogach Zarządz. zmianami Narzędzia zarz. konfig Wykrywanie defektówZarządzanie zmianami Doskonalenie wytwarzania

7 J. Nawrocki, Wprowadzenie Plan wykładu Z pierwszego wykładu.. Jakość oprogramowania Wprowadzenie do testowania Testowanie białej skrzynki Testowanie czarnej skrzynki Raporty testowania

8 J. Nawrocki, PSP, Lecture 7 Jakość oprogramowania Philip Crosby83: zgodność z wymaganiami Jakość projektu (wymagania a projekt) Jakość wykonania (projekt a implementacja)

9 J. Nawrocki, Wprowadzenie Jakość oprogramowania Rodzaje wymagań TechniczneNie-techniczne Funkcjonalne Poza- funkcjonalne

10 J. Nawrocki, Wprowadzenie Jakość oprogramowania Przeglądy Metody zapewniania jakości { n+=NF; } { n+=NF; } END { print n; } Testowanie

11 J. Nawrocki, Wprowadzenie Jakość oprogramowania Inspekcje Prezentacje Recenzje { n+=NF; } { n+=NF; } END { print n; } Przeglądy

12 J. Nawrocki, Wprowadzenie Jakość oprogramowania { n+=NF; } { n+=NF; } END { print n; } Testowanie Testy akceptacyjne Testy systemowe Testy integracyjne Testy jednostkowe

13 J. Nawrocki, Wprowadzenie Plan wykładu Z pierwszego wykładu.. Jakość oprogramowania Wprowadzenie do testowania Testowanie białej skrzynki Testowanie czarnej skrzynki Raporty testowania

14 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania Testowanie oprogramowania jest zasadniczym elementem systemu zapewnienia jakości i stanowi ostateczny przegląd specyfikacji, projektu i kodowania. -- Roger Pressman97 Rola testowania

15 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania Testowanie = wykonanie programu celem znalezienia błędu. Jakość przypadku testowego: prawdopodobieństwo znalezienie jeszcze nie wykrytego błędu. Udany test to taki, który wykrywa jeszcze nie wykryty błąd. -- Glen Myers79 Cele testowania

16 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania Testowaniem nie można wykazać brak błędów, można w ten sposób jedynie wykazać ich obecność. -- E.W. Dijkstra Powiedzenie Dijkstry

17 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania Testowanie: ~ 30% - 40% całkowitej pracochłonności. Testowanie systemów krytycznych: 70% - 80% całkowitej pracochłonności (!) -- Roger Pressman97 Pracochłonność testowania

18 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania.. ma duże prawdopodobieństwo znalezienia błędu,.. nie jest nadmiarowy,.. powinien być najlepszy w swoim rodzaju,.. nie powinien być ani zbyt prosty ani zbyt skomplikowany. Dobry test..

19 J. Nawrocki, Wprowadzenie Wprowadzenie do 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) Zasady testowania

20 J. Nawrocki, Wprowadzenie Wprowadzenie do 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ę. Zasady testowania

21 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania Bądź proaktywny Zaczynaj mając koniec na względzie Aby rzeczy pierwsze były pierwsze Nawyki skutecznego działania

22 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania Opracuj przypadki testowe możliwie jak najwcześniej Stosuj testowanie automatyczne Praktyki XP A ja tam lubię ręcznie potestować!

23 J. Nawrocki, Wprowadzenie Wprowadzenie do testowania Wielokrotne implementacje Czasami filtry interfejsu mogą być pomocne (dwa moduły implementują nie te same ale bardzo podobne funkcje) Testowanie porównawcze

24 J. Nawrocki, Wprowadzenie Plan wykładu Z pierwszego wykładu.. Jakość oprogramowania Wprowadzenie do testowania Testowanie białej skrzynki Testowanie czarnej skrzynki Raporty testowania

25 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki Graf przepływu Liczba niezależnych ścieżek (złożoność cyklomatyczna - McCabe76): V(G) = P + 1 P: liczba węzłów decyzyjnych Utwórz zbiór podstawowy niezależnych ścieżek Przygotuj przypadki testowe: każdą ścieżkę ze zbioru podstawowego należy przejść przynajmniej raz.

26 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki void PrintGraph(int n){ int r, c; for(r=0; r

27 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki void PrintGraph(int n){ int r, c; for(r=0; r=n goto.. printf(, r); c=0; if c>=n goto.. if not Connected goto.. printf(, c) c++; r++; printf(\n);

28 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if not Connected goto.. printf(, c) c++; r++; printf(\n); V(G) = = 4 void PrintGraph(int n){ int r, c; for(r=0; r

29 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F A - G

30 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F A - G A - B - F - A - G

31 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F A - G A - B - F - A - G A - B - C - E - B - F - A - G

32 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F A - G A - B - F - A - G A - B - C - E - B - F - A - G A - B - C - D - E - B - F - A - G

33 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F A - G n = 0

34 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F A - B - F - A - G 0 = n ???

35 J. Nawrocki, Wprowadzenie Testowanie białej skrzynki r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F A - B - F - A - G A test case for: 0 1 n = 2 A-B-C-E-B-C-D-E-B-F-A-..-A-G

36 J. Nawrocki, Wprowadzenie Plan wykładu Z pierwszego wykładu.. Jakość oprogramowania Wprowadzenie do testowania Testowanie białej skrzynki Testowanie czarnej skrzynki Raporty testowania

37 J. Nawrocki, Wprowadzenie Testowanie czarnej skrzynki niepoprawne lub brakujące funkcje błędy interfesju błędy w strukturach danych błędy dotyczące wydajności błedy inicjowania i kończenia Cele

38 J. Nawrocki, Wprowadzenie Testowanie czarnej skrzynki 01 n = 2 n = 0 n = n = 2 n = void PrintGraph( int n )

39 J. Nawrocki, Wprowadzenie Testowanie czarnej skrzynki 01 n = 2 n = 0 n = n = 2 n = Zupełność McCabea r=0; if r>=n goto.. printf(, r); c=0; if c>=n goto.. if !Connected goto.. printf(, c) c++; r++; printf(\n); A A G G B B C C D D E E F F

40 J. Nawrocki, Wprowadzenie Plan wykładu Z pierwszego wykładu.. Jakość oprogramowania Wprowadzenie do testowania Testowanie białej skrzynki Testowanie czarnej skrzynki Raporty testowania

41 J. Nawrocki, Wprowadzenie Raporty testowania Tester: Data: Program: Symbol testu: Cel testu: Warunki testowania: WejścieOczekiwane wyjFaktyczne wyj

42 J. Nawrocki, Wprowadzenie Raporty testowania Tester: J. Nawrocki Data: Program: GraphCol Symbol testu: N2Full Cel testu: Sprawdzić program dla grafu składającego się z 2 węzłów. Warunki testowania: - WejścieOczekiwane wyj 0: 1 1: 0 Faktyczne wyj 0: 1 1: 0

43 J. Nawrocki, Wprowadzenie PodsumowaniePodsumowanie Testowanie jest działalnością destrukcyjną. Testowanie nie może wykazać braku błędów. Testowanie > 30% całkowitego nakładu pracy. Wszystkie testy powinny być powiązane z wymaganiami użytkownika. Testowanie na zasadzie białej i czarnej skrzynki.

44 J. Nawrocki, Wprowadzenie LiteraturaLiteratura W.S. Humphrey, A Discipline for Software Engineering, Addison-Wesley, Reading, R.S. Pressman, Software Engineering. A Practitioners Approach, McGraw-Hill, New York, J. Nawrocki, W. Complak, Wprowadzenie do przetwarzania tekstów w języku AWK, Pro Dialog 2 (1994),

45 J. Nawrocki, Wprowadzenie Zadania domowe Wybierz 5 najważniejszych z Twojego punktu widzenia zasad zarządzania czasem i spróbuj je wdrożyć. Zredaguj afirmację dotyczącą Twoich studiów. Napisz swoją misję.

46 J. Nawrocki, Wprowadzenie Ocena wykładu 1. Wrażenie ogólne (1 - 6) 2. Za szybko czy za wolno? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co i jak poprawić?


Pobierz ppt "Testowanie oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie procesów."

Podobne prezentacje


Reklamy Google