Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podsumowanie Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03.

Podobne prezentacje


Prezentacja na temat: "Podsumowanie Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03."— Zapis prezentacji:

1 Podsumowanie Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03

2 Plan wykładu Struktura pracy inżynierskiej Ocena wykładów Uwagi i pytania do wykładów Testowanie oprogramowania

3 Plan wykładu Struktura pracy inżynierskiej Ocena wykładów Uwagi i pytania do wykładów Testowanie oprogramowania

4

5

6 Struktura pracy inżynierskiej (cd.) 4. Specyfikacja wymagań 4.1. Problemy i wizje klienta 4.2. Wymagania funkcjonalne 4.3. Wymagania pozafunkcjonalne 4.4. Interfejs użytkownika 4.5. Testy akceptacyjne 5. Projekt systemu 5.1. Architektura systemu diagramy obiektów, komponentów, rozmieszczenia 5.2. Komunikacja między elementami systemu diagramy współpracy, stanów, sekwencji, czynności 5.3. Budowa systemu diagramy klas, komponentów, rozmieszczenia

7 Struktura pracy inżynierskiej (cd.) 6. Implementacja systemu 6.1. Moduł A Opis interfesju Testy jednostkowe Algorytmy i struktury danych 6.2. Moduł B 7. Zebrane doświadczenia 8. Plan oceny przedsięwzięcia 9. Zakończenie (pomiary produktu, co dalej z produktem) Literatura Dodatki A. Słownik terminów i skrótów B. Opinia przedstawiciela klienta C. Standard kodowania D. Kod źródłowy systemu

8 Plan wykładu Struktura pracy inżynierskiej Ocena wykładów Uwagi i pytania do wykładów Testowanie oprogramowania

9 Ocena wykładów Wszystko zawsze można zrobić lepiej niż się to robi obecnie. (-) Henry Ford

10 Ocena wykładów

11 Oceny wykładów02

12 Plan wykładu Struktura pracy inżynierskiej Ocena wykładów Uwagi i pytania do wykładów Testowanie oprogramowania

13 Programowanie Ekstremalne (4,91) Dlaczego ten przedmiot nie jest realizowany od razu po przedmiocie Inżynieria oprogramowania? Stary program studiów na to nie pozwalał. W nowym programie zagadnienia te będą prezentowane na Inż. oprogramowania II. Bardzo ciekawa organizacja przedmiotu jako krótkiego kursu. Nie było to łatwe, ale trzeba eksperymentować z nowymi sposobami kształcenia. Przez dwa semestry uczyłem się rzeczy niepotrzebnych Mogą się jeszcze okazać potrzebne! (przynajmniej niektóre)

14 Programowanie Ekstremalne (4,91) Przedmiot ten powinien być ogólny dla całego roku. Będzie obowiązkowy od przyszłego roku, chociaż jestem zwolennikiem przedmiotów obieralnych. Zasady skutecznego działania

15 Programowanie Ekstremalne (4,91) Dlaczego metodykę XP uznaje się za najlepszą, przedmiot kultu (tak sądzę z wykładu). Małe przedsięwzięcia programistyczne (do 10 osób). Podstawowe czynniki ryzyka: brak dokumentacji – pielęgnacja produktu, problemy z dostępnością klienta, tylko 1 przedstawiciel klienta. Tom DeMarco "XP is the most important movement in our field today."

16 Zasady skutecznego działania (5,07) Szkoda, że na początku lub na końcu nie ma literatury. Stephen R. Covey, 7 nawyków skutecznego działania, Diogenes, Warszawa, Lothar J. Seiwert, Zarządzanie czasem, Placet, Warszawa Joseph Murphy, Potęga podświadomości, Świat Książki, Warszawa, Jose Silva, Philip Miele, Samokontrola umysłu metodą Silvy, Ravi, Łódź, Daniel Gross i inni, Forbes o największych sukcesach w świecie biznesu, WNT, Warszawa, 1999.

17 Zarządzanie zmianami (4,10) Jak często w praktyce dokonuje się zmian? Zmiany swobodne – Baseline – Zmiany kontrolowane Zmiana wymagań Zmiana interfejsu Zmiana implementacji Podstawowy problem: aktualizacja artefaktów Specyfikacja wymagań Projekt Kod Przypadki testowe Dokumentacja użytkownika

18 Plan wykładu Struktura pracy inżynierskiej Ocena wykładów Uwagi i pytania do wykładów Testowanie oprogramowania

19 Testowanie oprogramowania (4,15) Może trochę bardziej szczegółowo o planowaniu testów, przygotowywaniu przypadków, przykłady użycia narzędzi. Przykłady użycia narzędzi były na ćw. laboratoryjnych. Omówić narzędzia do testowania oprogramowania. Trochę więcej!

20 Wprowadzenie do 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 Myers79 Cele testowania

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

22 Wprowadzenie do testowania Testowanie należy planować na długo przed jego rozpoczęciem. W przypadku testowania obowiązuje zasada Pareto (80 /20). Zasady testowania Testowanie należy przeprowadzać od dołu do góry.

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

24 Testowanie białej skrzynki Graf przepływu Liczba niezależnych ścieżek (złożoność cyklomatyczna - McCabe76): V(G) = 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. P + 1

25 Testowanie białej skrzynki void PrintGraph(int n){ int r, c; for(r=0; r

26 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);

27 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

28 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

29 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

30 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

31 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 - C - D - E - B - F - A - G A - G A - B - F - A - G A - B - C - E - B - F - A - G

32 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

33 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 and 0 >= n

34 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 Test dla: 0 1 n = 2 A-B-C-E-B-C-D-E-B-F-A-..-A-G

35 Testowanie czarnej skrzynki Niepoprawne lub brakujące funkcje Błędy interfesju Błędy w strukturach danych Błędy dotyczące wydajności Błędy inicjowania i kończenia Cele Testowanie w oparciu o wymagania Analiza wartości granicznych

36 Testowanie czarnej skrzynki 01 n = 2 n = 0 n = n = 2 n = void PrintGraph( int n )

37 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

38 Rational TestStudio Rational Robot nagrywanie i odtwarzanie przypadków testowych; raporty o wykrytych awariach Rational TestFactory Generacja skryptów dla przypadków testowych (maksymalizacja ilości wykonanego kodu i minimalizacja liczby kroków). TestRobot wykonuje skrypty TestFactory. Rational PureCoverage Rational LoadTest

39 Podsumowanie Zasady skutecznego działania Zasady skutecznego działania Programowanie Ekstremalne Programowanie Ekstremalne Testowanie Testowanie Zarządzanie zmianami Zarządzanie zmianami Projektowanie oprogramowania Projektowanie oprogramowania Aplikacje internetowe Aplikacje internetowe Struktura pracy inżynierskiej Struktura pracy inżynierskiej

40 Sprawdzian - plany 19.III.03 Sala :45 grupy I1 + I2 12:30 grupy I3 + I4 Szczegóły na stronie:

41 Prośba Adres owy całego roku?

42 Pytania?

43 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 "Podsumowanie Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03."

Podobne prezentacje


Reklamy Google