Wprowadzenie do testowania Prowadzący: Mariusz Rutkowski Paweł Kazienko 1 Agenda 1. Podstawowe definicje 2. Co to jest testowanie 3. Zasady testowania 4. Podstawowy proces testowy 5. Cechy dobrego testera 6. Poziomy testów 7. Cele testów 8. Typy testów 2 1
Gdy zabraknie czasu na testy Przypadek Ariane 5: Kiedy: 4 czerwca 1996 Czas przygotowań: 28 miesięcy BudŜet: 7 miliardów USD Czas lotu: 40 sekund 3 Podstawowe definicje Pomyłka, błąd (error): Działanie człowieka powodujące powstanie nieprawidłowego wyniku. Defekt, usterka, pluskwa (defect, fault, bug): Skutek błędu twórcy oprogramowania. Usterka moŝe, ale nie musi spowodować awarii. Awaria (failure): Odchylenie od spodziewanego zachowania albo wyniku działania oprogramowania. Pomyłka + Usterka => Awaria 4 2
Pierwszy w historii komputerowy bug 5 Co to jest testowanie? Podstawowe cele testowania Czynności związane z testowaniem RóŜne rodzaje testów słuŝą róŝnym celom Testowanie a debugowanie 6 3
Podstawowe zasady testowania Testowanie ujawnia błędy Testowanie gruntowne jest niemoŝliwe Zalety wczesnego testowania Kumulowanie się błędów 7 Podstawowy proces testowy Proces testowy składa się z następujących aktywności: planowanie i nadzór analiza i projektowanie implementacja i wykonanie raportowanie 8 4
Cechy dobrego testera Ciekawość Profesjonalny pesymizm Krytyczne spojrzenia Przywiązywanie wagi do szczegółów Doświadczenie, na którym moŝna oprzeć zgadywanie błędów Znajomość podstaw psychologii: dobra komunikacja z programistami 9 Poziomy testów - parametry Ogólne cele Przedmiot testowania (co będzie testowane) Odnośniki do tworzenia przypadków testowych Wsparcie narzędziowe Specyficzne podejście WaŜność testowania 10 5
Poziomy testów - rodzaje Modułowe Integracyjne Systemowe Akceptacyjne Poziomy testów moŝna łączyć ze sobą lub organizować na róŝne sposoby zaleŝnie od specyfiki projektu lub architektury systemu. 11 Testy modułowe Testowanie na najniŝszym poziomie, podczas którego fragmenty kodu (moduły) testowane są pojedynczo, w oderwaniu od reszty aplikacji. UmoŜliwiają jednoznaczne określenie miejsca wystąpienia błędu, a takŝe wskazanie nieefektywnych linijek kodu programu na poziomie poszczególnych modułów. UniemoŜliwiają przykrycie błędów w jednym module przez działanie innego modułu. Modułowe Integracyjne Systemowe Akceptacyjne 12 6
Testy integracyjne Testowanie wykonywane w celu wykrycia błędów w interfejsach i interakcjach pomiędzy integrowanymi elementami. Wykonywane na wielu poziomach, a ich przedmiotem mogą być części rozmaitej wielkości: Testy integracyjne małe integracja modułów - po zakończeniu testów modułów. Testy integracyjne duŝe integracja systemów po zakończeniu testów systemowych. Modułowe Integracyjne Systemowe Akceptacyjne 13 Testy systemowe Proces sprawdzający, czy zintegrowany system spełnia wyspecyfikowane wymagania Walidacja systemu pod względem kompletności i spełnienia wymagań klienta w środowisku podobnym do środowiska docelowego/produkcyjnego Przygotowanie, przeprowadzenie i zarejestrowanie wyników zwykle spoczywa na niezaleŝnym zespole testującym Modułowe Integracyjne Systemowe Akceptacyjne 14 7
Testy akceptacyjne Sprawdzenie niezawodności systemu, części systemu lub specjalnych niefunkcjonalnych parametrów systemu Weryfikacja zgodności oprogramowania z zawartym kontraktem między producentem a odbiorcą oprogramowania Modułowe Integracyjne Systemowe Akceptacyjne 15 Cele testów Testy naleŝące do jednej kategorii mają jeden, określony, wspólny cel: Przetestowanie danej funkcjonalności Przetestowanie właściwości Wykonywanie testów struktury systemu Testowanie związane ze zmianami 16 8
Typy testów 1/4 Funkcjonalne testy funkcji, wymagań funkcjonalnych Wymagania funkcjonalne zawierają opis zachowania systemu, opisują co system powinien wykonać. Funkcjonalne Niefunkcjonalne Strukturalne Regresywne 17 Typy testów 2/4 Niefunkcjonalne określenie jak system działa Rodzaje wykonywanych testów: Wydajnościowe ObciąŜające UŜyteczności Bezpieczeństwa Jakość dokumentacji Łatwość instalacji oprogramowania Funkcjonalne Niefunkcjonalne Strukturalne Regresywne 18 9
Typy testów 3/4 Strukturalne testy architektury systemu Wykonywane na wszystkich poziomach testów Niezbędna jest znajomość: a) Kodu b) Architektury c) Zasad komunikacji modułów/systemów Funkcjonalne Niefunkcjonalne Strukturalne Regresywne 19 Typy testów 4/4 Regresywne związane ze zmianami Po dokonaniu zmian, naleŝy testy powtórzyć Upewnienie się, Ŝe w wyniku zmian nie powstały nowe błędy lub nie ujawniły się wcześniej nie znalezione. Funkcjonalne Niefunkcjonalne Strukturalne Regresywne 20 10
Podsumowanie Podstawowe definicje związane z testowaniem Proces testowy Poziomy testów Cele testów Typy testów 21 Przydatne linki http://www.istqb.org/ http://www.sjsi.org/ http://www.testinglessons.com/ http://www.google.pl/ 22 11
Zadanie Zakład ad stolarski otrzymał zlecenie na wykonanie zestawu do jadalni składaj adającego się ze stołu u i krzeseł.. Zgodnie z procedurami obowiązuj zującymi w zakładzie adzie wykonaniem stołów w zajmuje się brygada 1, a wykonaniem krzeseł brygada 2. Po konsultacjach z działem sprzedaŝy y klient przedstawił następuj pujące wymagania dotyczące ce zamówienia: Stół do jadalni: Ilość - 8 sztuk Blat z płyty p wiórowej (melaminowana( melaminowana) ) o grubości 25mm Szerokość blatu 80 cm Długość blatu 130 cm Wysokość nogi od blatu 76 cm Nogi drewniane 7x7 cm rozszerzane przy blacie Nogi i blat (płyta MDF melaminowana) ) w kolorze olcha Krzesło o do jadalni: Ilość - 52 sztuki Wysokość - 85 cm Szerokość - 43 cm Długość - 37 cm Wysokość do siedziska - 68 cm Rama i oparcia metalowe Siedziska tapicerowane ze skaju Elementy metalowe metal satyna, Siedziska skaj w kolorze beŝowym ObciąŜ ąŝenie maksymalne (nacisk na siedzisko) 90kg Dodatkowe wymagania: - przy stole powinno wygodnie usiąść 6 osób -blat powinien być odporny na ścieranie Termin realizacji: 20 grudnia 2007 Zatwierdzone przez dział sprzedaŝy y zamówienie trafiło o do działu u produkcji. 23 Pytania do zadania 1. Dokonaj analizy specyfikacji zamówienia i wskaŝ elementy (o ile takie istnieją), które wg Ciebie powinny zostać wyjaśnione przed rozpoczęciem ciem produkcji. Uzasadnij swoją odpowiedź. Czy uwaŝasz, asz, Ŝe e kontrola jakości podczas procesu realizacji zamówienia jest potrzebna? 2. WskaŜ czynności ci testowe (pogrupowane w fazy), w które, podczas realizacji zamówienia, powinni być zaangaŝowani pracownicy kontroli jakości. Postaraj się scharakteryzować te fazy. 24 12
Koniec 25 No 10 : No 9 : No 8 : No 7 : No 6 : No 5 : No 4 : No 3 : No 2 : "That's weird..." Have you tried running regclean or reinstall? "You must have the wrong version." "It's never done that before." "It must be your environment." "I haven't touched that module in weeks!" Users won t do that "Yes I know about that "It worked yesterday." No 1: "It works on my machine. " 26 13
10. Tragedy 9. I will survive (Gloria Gaynor) 8. Another one bites the dust (Queen) 7. Help (I need somebody) 6. All by myself 5. Here we go again 4. Hey Hey we re the monkey testers 3. That don t impress me much (Shania Twain) 2. I feel good (James Brown) 1. I still haven t found what I am looking for (U2) 27 14