Zarządzanie Testowaniem Oprogramowania

Podobne dokumenty
Zarządzanie testowaniem wspierane narzędziem HP Quality Center

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Strategia testów mająca doprowadzić do osiągnięcia pożądanych celów

PLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Testowanie oprogramowania

Maciej Oleksy Zenon Matuszyk

Szablon Planu Testów Akceptacyjnych

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Tworzenie przypadków testowych

Testowanie oprogramowania. Piotr Ciskowski

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Usługa: Testowanie wydajności oprogramowania

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Zarządzanie konfiguracją produktu w całym cyklu Ŝycia. Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

Załącznik nr 19 do Umowy nr... z dnia... Plan Testów Systemu. Projekt ZEFIR 2

Zasady organizacji projektów informatycznych

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Nazwa Projektu. Plan testów. Wersja N.NN

Testy poziom po poziomie

Najwyżej ocenione raporty dla Mr Buggy 4

Zarządzanie Projektami zgodnie z PRINCE2

Usługa: Audyt kodu źródłowego

Praktyka testowania dla początkujących testerów

Sukces vs porażka. Sukces. Porażka

Szczegółowy plan szkolenia

Inżynieria oprogramowania II

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

ECDL ZARZĄDZANIE PROJEKTAMI

Testujemy dedykowanymi zasobami (ang. agile testers)

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Testowanie i walidacja oprogramowania

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

PLAN WDROśENIA SYSTEMU PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Dlaczego testowanie jest ważne?

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Leszek Dziubiński Damian Joniec Elżbieta Gęborek. Computer Plus Kraków S.A.

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Metodyka wdrożenia. Bartosz Szczęch. Starszy Konsultant MS Dynamics NAV

Etapy życia oprogramowania

Zarządzanie zadaniami w projektach informatycznych na przykładzie systemu Trac. Integracja z Eclipse.

Plan Testów Systemu SOS

TESTER OPROGRAMOWANIA STUDIA PODYPLOMOWE

Zawód tester, czyli na czym polega testowanie. Katarzyna Łabinska Justyna Sacha - Gawlik

AL 1302 ZARZĄDZANIE PROJEKTAMI W OPARCIU O METODYKĘ PRINCE2

Projekt. Prince2 PRoject. IN Controlled Environments PROCESY KOMPONENTY TECHNIKI

Dwuwymiarowy sposób na podróbki > 34

PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

MSF. Microsoft Solution Framework

Wstęp do zarządzania projektami

Zapewnij sukces swym projektom

Plan zarządzania projektem

Osiągnięte cele w sferze postaw, wiedzy i umiejętności

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Osiągnięte cele w sferze postaw, wiedzy i umiejętności

Program kursu w ramach Projektu. Postaw na rozwój - szkolenia dla osób dorosłych z województwa mazowieckiego

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Konwerter Plan testów. Jakub Rauch Tomasz Gołębiowski Adam Busch Bartosz Franaszek 1 czerwca 2008

Feature Driven Development

ZARZĄDZANIE PROCESEM TESTOWYM (SQAM Test Manager) 7-8 luty 2008, Warszawa Zdobądź z nami certyfikat SQAM Test Manager.

Certyfikowany tester Pytania przykładowe do poziomu podstawowego

Kontrola jakości artefaktów

Overlord - Software Development Plan

Specyfikacja usług. 1. Zakup usług informatycznych dla realizacji dostępu do systemu dla obsługi relacji B2B.

REFERAT PRACY DYPLOMOWEJ

Programowanie zespołowe

Praktyczne zarządzanie projektami według metodyki PRINCE2

Zarządzanie projektem wdrożeniowym systemu klasy ERP autorska metodyka

Wsparcie narzędziowe zarządzania ryzykiem w projektach

Opis metodyki i procesu produkcji oprogramowania

Projekty zespołowe. - biznesowy z analizą strategiczną - przedsięwzięcia: opis ogólny produktu. 2. Zakres

DYPLOM POST-MBA: STRATEGICZNE ZARZĄDZANIE PROJEKTAMI

dr inŝ. Michał Tomaszewski Wydział Elektrotechniki, Automatyki i Informatyki Politechnika Opolska

Zespół: Agata Chrobak Kornel Jakubczyk Tomek Klukowski Przemek Kosiak. Projekt SZOP Plan testów

PRINCE2 czy PMI? Czyli o wyŝszości Świąt Wielkanocnych, nad Świętami BoŜego Narodzenia 11 maja Autor: Jolanta Łabędzka-Benisz.

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

PRZEWODNIK PO PRZEDMIOCIE

Charakterystyka oprogramowania obiektowego

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Fuzzing OWASP The OWASP Foundation Piotr Łaskawiec J2EE Developer/Pentester

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

FORMULARZ OFERTOWY. 8. Społeczeństwo informacyjne zwiększanie innowacyjności gospodarki

Galileo - encyklopedia internetowa Plan testów

Metodyka Sure Step. Agenda:

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Dokument Detaliczny Projektu

Szczegółowy opis przedmiotu zamówienia

1/ Nazwa zadania: Dostawa, wdrożenie i serwis informatycznego systemu zarządzania projektami dla Urzędu Miejskiego Wrocławia wraz ze szkoleniem.

Projektowanie zorientowane na uŝytkownika

Zarządzanie projektami w otoczeniu uczelnianym. Piotr Ogonowski

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.

SLA ORAZ ZASADY ŚWIADCZENIA WSPARCIA I HELPDESK. Wykonawca zobowiązuje się do świadczenia Usług Wsparcia i Helpdesk w odniesieniu do Systemu.

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Transkrypt:

Zarządzanie Testowaniem Oprogramowania Prowadzący: Remigiusz Gadecki Rafał Potocki Agenda 1. Planowanie zadań Plan testów Podział zadań Planowanie zasobów Harmonogram Produkty w procesie testowania 2. Przeprowadzanie testów 3. Kontrola postępu prac 4. Zarządzanie zgłoszeniami defektów 5. Zarządzanie środowiskami 6. Szef testów 7. Testalia 1

Cel planowania testów Określenie zakresu, metodyki, zasobów i harmonogramu testowania Zidentyfikowanie przedmiotów testowania, funkcji do przetestowania, czynności, które trzeba wykonać oraz osób odpowiedzialnych za kaŝdą z nich Zidentyfikowanie ryzyka związanego z planem IEEE 829 (Standard for Software Test Documentation) Plan testów Plan testów to waŝny dokument kształtujący proces testowania w projekcie stanowi podstawę do organizacji testowania w projekcie Jest to dokument podrzędny wobec Planu projektu oraz informacji dotyczących jakości Nie moŝe być dokumentem oderwanym od rzeczywistości 2

Podział zadań Przygotowanie Test Planu Projektowanie testów Przygotowanie środowiska testowego Wykonanie testów Wykonanie retestów Zarządzanie defektami Przygotowanie raportu z testów Przykład: wykonanie testów Testy integracyjne Testy integracyjne modułu SprzedaŜ i Zarządzanie klientami Testy integracyjne modułu Magazyn i SprzedaŜ Testy funkcjonalne Testy modułu Zarządzanie klientami testy funkcji dodawanie klienta testy funkcji edycja klienta Testy modułu SprzedaŜ Testy niefunkcjonalne testy wydajnościowe przegląd interfejsu uŝytkownika 3

Szacowanie pracochłonności testowania Testy stanowią 10 30% pracochłonności całego projektu informatycznego Średnio stanowią 50% pracochłonności etapu implementacji pracochłonność = czas * ilość zasobów jednostka: osobogodzina, osobomiesiąc, Przykład: budŝet projektu: 800 osobogodzin maksymalny czas wykonywania testów: 1 miesiąc (176 godzin) pracochłonność testowania: 352 osobogodziny Wymagane zasoby = pracochłonność / czas = 352 / 176 = 2 Planowanie potrzebnych zasobów Do planowania zasobów wykorzystuje się jedną z metod szacowania kosztów wytwarzania oprogramowania. Najbardziej popularne metody: metoda delficka nazywana panelem ekspertów, bazuje na wiedzy i doświadczeniu osób, które zetknęły się juŝ z danym problemem metoda punktów funkcyjnych - oparta na szacowaniu pracochłonności testowania róŝnych elementów projektowanej aplikacji 4

Planowanie czasu / harmonogram Tworzenie harmonogramu: Polega na określeniu dat podstawowych działań w ramach czasowych projektu NaleŜy pamiętać o określeniu kamieni milowych: Przykład: rozpoczęcie i zakończenie etapu testowania, testy akceptacyjne, itp.. Harmonogram testów Harmonogram w postaci wykresu Gantta powinien mieć trend liniowy. 5

Harmonogram testów Dobrze przygotowany harmonogram testów powinien być zbliŝony do wodospadu: Na początku leniwy W środkowym okresie gwałtowny Na końcu powinien się uspokajać W praktyce ostatnie z etapów testów wymagają (w około 95% przypadków) zaangaŝowania maksymalnej liczby zasobów. Produkty procesu testowania Testowanie jako proces Produkty wejściowe wyjściowe Proces testowania 6

Produkty wejściowe ZaleŜne od cyklu produkcyjnego Stanowią podstawę do oceny jakości Przykłady: Specyfikacja wymagań Modele i diagramy wg stosownych metodyk (strukturalnych, obiektowych) Specyfikacje i opisy Kod oprogramowania Środowisko testowe Produkty wyjściowe Zarządcze Plan testów Protokoły Merytoryczne Projekty testów Dane testowe Dzienniki Raporty 7

Cel: organizacja testów Plan testów Zakres: Struktura organizacyjna zespołu testów Wymagane kompetencje członków zespołu Rodzaje testów Zadania testowe Harmonogram Środowisko testowe Zarządzanie błędami Standardy i normy Techniki i Narzędzia MoŜliwe ryzyka Kryteria i Metryki IEEE 829 (Standard for Software Test Documentation) Projekt testów Cel: uporządkowane przygotowanie testów Projekt testów zawartość: Cel i zakres testów Rodzaje testów Metody i kryteria oceny testów Procedury i przypadki testowe Procedury i przypadki testowe: Cel procedury Parametry środowiska testowego Scenariusz testowy Sprawdzenie wyników Przypadki testowe Dane testowe IEEE 829 (Standard for Software Test Documentation) 8

Dziennik testów Cel: zapis prac i wyników Zawartość: Testowany produkt Osoby przeprowadzające test Data i miejsce przeprowadzenia testu Zapis zdarzeń (Numer procedury i przypadku testowego, wynik testu, informacje o znalezionych błędach, załączniki) Protokół testów Cel: Podsumowanie wyników testów / zakończenie etapu testowania w projekcie Zawartość: Testowany produkt Końcowy raport z testów Wynik testów (pozytywny/negatywny, błędy) Decyzja: Odbiór Odbiór warunkowy Niedopuszczenie produktu IEEE 829 (Standard for Software Test Documentation) 9

Przeprowadzenie testów Motto: Testowanie jest procesem wykonywania oprogramowania z intencją znalezienia błędów. Proces wykonania testów Wykonanie przypadków testowych weryfikacja/ustawienie warunków początkowych wykonanie testu weryfikacja wyników testu zaraportowanie ewentualnych defektów zapisanie wykonania testu w dzienniku testów ustawienie środowiska testowego do stanu z przed warunków początkowych Przygotowanie raportu z testów Przygotowanie protokołu z testów 10

W skład wyniku testów wchodzą: Znalezione i zgłoszone defekty Wypełniony dziennik testów Przygotowany raport z testów Przygotowany protokół z testów Kontrola postępu prac - cel Sprawdzenie stanu wykonania zaplanowanych prac Sprawdzenie stanu zasobów 11

Kroki kontroli postępu prac Zgromadzenie informacji o stanie wykonania i jakości prowadzonych prac Oszacowanie zaangaŝowania zasobów podczas analizowanego okresu Sprawdzenie czy zaplanowane prace mogą być zakończone na czas i w zaplanowanym budŝecie Uaktualnienie planu testów (planu projektu) Zidentyfikowanie spraw, które wymagają szczególnej uwagi Jak dobrze kontrolować? Dostosować poziom i częstotliwość kontroli do faz projektu i wykonywanych prac Dostosować formę kontroli do złoŝoności projektu Sprawdzić, czy posiadane informacje są aktualne, uŝyteczne i dokładne Obiektywnie oceniać ilość czasu i pracy jaka została do zakończenia zadania Nie raportować więcej niŝ faktycznie jest wykonane 12

Zarządzanie zgłoszeniami problemów (defektów) Pomyłka (błąd człowieka, maszyny) Usterka, Defekt (wadliwy kawałek kodu źródłowego lub sprzętu) Awaria (wadliwy kawałek kodu jest wykonany i prowadzi do niepoprawnego działania systemu) 13

Zainteresowani zgłoszeniami defektów Testerzy Programiści Kierownik/Szef testów Kierownik projektu Klient Po co śledzenie defektów? Przekazywanie informacji Podstawa do podejmowania decyzji Informacja o stanie projektu/produktu Wczesna identyfikacja zagroŝeń Dane do analizy projektowej Dane do udoskonalania funkcjonalności 14

Zarządzanie defektami Skuteczne zarządzania defektami zaleŝy od: Decyzji jakiego narzędzia uŝywamy śledzenie przy uŝyciu papieru i ołówka istniejącego w firmie (czy pasuje?) zakupionego (dostrojonego do potrzeb) wyprodukowanego w ramach projektu Odpowiedzialności kierownika projektu czy szefa testów Typowe problemy Brak procedur: ogólny chaos Czy Testerzy są łowcami programistów? Niejasny status: Co teraz z tym błędem? Brak wsparcia dla potrzebnych statystyk Nieznajomość narzędzi lub procedur Procedury/narzędzia niedostosowane do potrzeb i wielkości projektu Brak odpowiedniego forum decyzyjnego Problemy na styku produktu środowiska 15

Cykl Ŝycia zgłoszenia defektu Odrzucony Znaleziony Przydzielony Naprawiony Zamknięty OdłoŜony Krytyczność defektu 1/3 Definicja krytyczności defektu: Jest to klasyfikacja defektu na podstawie oceny stopnia wpływu tego defektu na działanie SUT (Software Under Testing Aplikacja w fazie testów). IEEE Std 729 W wielu opisach pokrywa się to z pojęciem dokuczliwości defektu. 16

Krytyczność defektu 2/3 Określenie poziomu krytyczności defektu dokonuje się na podstawie odpowiedzi na kilka pytań: Czy moŝna ominąć defekt i kontynuować testowanie? Czy aplikacja moŝe pracować niezawodnie z defektem? Który fragment aplikacji jest odpowiedzialny za wystąpienie defektu? JeŜeli defekt został usunięty, co zmieniono podczas jego usuwania? Krytyczność defektu 3/3 Określa się następujące poziomy defektu: Krytyczny (dokuczliwość skrajna) PowaŜny (dokuczliwość duŝa) Średni (dokuczliwość średnia) Mały (dokuczliwość niewielka) Uwaga (dokuczliwość nieznana) 17

Krytyczność defektu (opis) Krytyczny defekt powoduje niewłaściwe działanie całego systemu lub uniemoŝliwia jego działanie. UŜytkownik nie moŝe go wykorzystać, PowaŜny defekt nie właściwego działania aplikacji, ale powoduje podawanie przez system błędnych, niekompletnych lub niespójnych wyników, albo utrudnia wykorzystywanie/testowanie aplikacji. UŜytkownik moŝe wykonywać niektóre funkcje, Średni pewien fragment całego systemu nie działa w ogóle lub nie działa prawidłowo. UŜytkownik nie moŝe wykonywać niektórych funkcji, Mały defekt nie powoduje niewłaściwego działania całego systemu ale utrudnia wykorzystanie/testowanie. PoŜądane wyniki działania są łatwo uzyskiwane w inny sposób. MoŜna wykonywać większość operacji. Uwaga defekt jest wynikiem nie zastosowania się do standardu, albo jest związany z estetyka systemu lub jest Ŝądaniem ulepszenia systemu itp. Priorytet defektu 1/2 Z klasyfikacji poziomu dokuczliwości (krytyczności) defektu powinien wynikać priorytet defektu (poziom odpowiedzialności) w celu określenia terminu poprawy. Istnieją jednak uzasadnione wyjątki, dlatego teŝ priorytet powinien być określany osobno, podczas analizy powstałych defektów. 18

Priorytet defektu 2/2 Poszczególne poziomy priorytetów: Natychmiast dalsze testowanie nie jest moŝliwe bez usunięcia błędu. Systemu nie moŝna uŝywać bez usunięcia błędu. NaleŜy wykonać nową wersję, Jak najszybciej błąd musi zostać usunięty jak najszybciej poniewaŝ utrudnia budowę i/lub testowanie. Testowanie aplikacji będzie znacznie utrudnione dopóki błąd nie zostanie usunięty. Błąd powinien być usunięty w najbliŝszej wersji, Normalny błąd naleŝy usunąć w zwykłym trybie podczas dalszej budowy. MoŜe on zostać usunięty w następnej wersji, Niski błąd utrudnia pracę i powinien zostać usunięty w miarę moŝliwości, OdłoŜony poprawa błędu moŝe zostać odłoŝona w czasie. Typowe raporty Lista defektów Według statusów Według krytyczności Według priorytetów Według produktów Według testerów Raporty czasowe 19

Narzędzia do zarządzania defektami Podstawowe funkcje: Śledzenie defektów Klasyfikacja Filtrowanie/Grupowanie Raporty Śledzenie zmian w oprogramowaniu Funkcje dodatkowe Notyfikacje e-mailowe Dołączanie zrzutów ekranowych Dołączanie plików Profilowany dostęp dla uŝytkownika Podstawowe elementy zgłoszenia Id Krótki opis DłuŜszy opis Moduł/Wersja oprogramowania Autor zgłoszenia Aktualny właściciel zgłoszenia Status Historia zmian Załącznik Powiązania z innymi błędami inne 20

Przykładowe narzędzia Najbardziej znane i najczęściej uŝywane narzędzia do zarządzania zgłoszeniami: BUGZILLA www.bugzilla.org GFORGE www.gforge.org Komercyjne: IBM Rational Clear Quest HP Test Director HP Quality Center - Test Director 21

Zarządzanie środowiskami RóŜnice między środowiskami Środowisko produkcyjne Celem istnienia środowiska produkcyjnego jest uruchomienie i udostępnienie na nim aplikacji z rzeczywistymi danymi oraz obsługa uŝytkowników. Środowisko rozwojowe/testowe Celem istnienia środowiska rozwojowego jest produkcja oprogramowania oraz naprawianie defektów. Środowisko programistyczne Celem istnienia środowiska programistycznego jest prowadzanie na nim róŝnego typu testów oraz prac prowadzonych przez programistów. 22

Utrzymanie środowisk Sprzęt Podobieństwo do środowiska produkcyjnego BudŜet, odpowiedzialność, utrzymanie między projektami Utrzymanie Zarządzanie konfiguracją Instalowanie narzędzi, sterowników Prawa dostępu, dostęp do danych (wiele projektów) Bezpośredni dostęp Programiści, testerzy co i na jakich zasadach ( logi )? Szef testów Kierownik Testów, Test Manager 23

Szef testów Szef testów to człowiek odpowiedzialny nie tylko za obsługę problemów testowych Często szef testów jest równorzędnym partnerem dla szefa projektu, a nie tylko jego pomocnikiem Powinien on mieć autonomię w zakresie swoich zadań Szef testów spojrzenie z zewnątrz Opiekun jakości Ktoś kto pilnuje, Ŝeby testy przeprowadzone były na czas, ograniczonymi zasobami i aby były wykryte wszystkie błędy W konsekwencji eliminuje kryzysy, opóźnienia itd. Zadania szefa testów W uproszczeniu jego zadania i zakres odpowiedzialności to: Planowanie testów Pozyskiwanie właściwych zasobów Ocena skuteczności wykonania testów Jest rzecznikiem konieczności testowania Będąc kierownikiem testów jesteśmy partnerem Project Managera, dlatego powinniśmy: Dobrze rozumieć podstawowy cel projektu Mieć dobrą komunikację wewnątrz i poza zespołem Być elastycznym wobec róŝnych aspektów procesu projektowego Mieć umiejętności techniczne, interepersonalne, koncepcyjne, analityczne, polityczne 24

Testalia Dokumentacja (plany, specyfikacje, raporty, logi, zgłoszenia) Dane testowe (wejściowe i oczekiwane poprawne wyniki) Pliki konfiguracyjne Programy do testów automatycznych Platforma testowa (sprzęt, inne oprogramowanie, sieć) Literatura The Art of Software Testing Glenford J. Meyers Metodyka wprowadzania oprogramowania na rynek Michael E. Bays http://en.wikipedia.org/wiki/test_management_approach Metoda punktów funkcyjnych: www.ploug.org.pl/konf_01/materialy/pdf/magiera.pdf SJSI: www.sjsi.org 25

Dziękujemy 26