Wprowadzenie do testowania Agenda
Transkrypt
Wprowadzenie do testowania Agenda
Wprowadzenie do testowania Prowadzący: Mariusz Rutkowski Paweł Kazienko 1 Agenda 1. 2. 3. 4. 5. 6. 7. 8. Podstawowe definicje Co to jest testowanie Zasady testowania Podstawowy proces testowy Cechy dobrego testera Poziomy testów Cele testów 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ł Zakład stolarski otrzymał otrzymał zlecenie na wykonanie zestawu do jadalni skł składają adającego się się ze stoł stołu i krzeseł krzeseł. Zgodnie z procedurami obowią obowiązują zującymi w zakł zakładzie wykonaniem stoł stołów zajmuje się się brygada 1, a wykonaniem krzeseł krzeseł brygada 2. Po konsultacjach z dział działem sprzedaŜ sprzedaŜy klient przedstawił przedstawił nastę następują pujące wymagania dotyczą dotyczące zamó zamówienia: Stó Stół do jadalni: Ilość Ilość - 8 sztuk Blat z pł płyty wió wiórowej (melaminowana (melaminowana)) o gruboś grubości 25mm Szerokość Szerokość blatu – 80 cm Długość ugość blatu – 130 cm Wysokość Wysokość nogi od blatu– blatu– 76 cm Nogi drewniane 7x7 cm rozszerzane przy blacie Nogi i blat (pł (płyta MDF melaminowana) melaminowana) w kolorze olcha Krzesł Krzesło do jadalni: Ilość Ilość - 52 sztuki Wysokość Wysokość - 85 cm Szerokość Szerokość - 43 cm Długość ugość - 37 cm Wysokość Wysokość do siedziska - 68 cm Rama i oparcia metalowe Siedziska tapicerowane ze skaju Elementy metalowe – metal satyna, Siedziska skaj w kolorze beŜ beŜowym ObciąŜ enie maksymalne (nacisk na siedzisko) – 90kg ObciąŜenie Dodatkowe wymagania: - przy stole powinno wygodnie usiąść usiąść 6 osó osób -blat powinien być być odporny na ścieranie Termin realizacji: 20 grudnia 2007 Zatwierdzone przez dział dział sprzedaŜ sprzedaŜy zamó zamówienie trafił trafiło do dział działu produkcji. 23 Pytania do zadania 1. Dokonaj analizy specyfikacji zamó zamówienia i wskaŜ wskaŜ elementy (o ile takie istnieją istnieją), któ które wg Ciebie powinny zostać zostać wyjaś wyjaśnione przed rozpoczę rozpoczęciem produkcji. Uzasadnij swoją swoją odpowiedź odpowiedź. Czy uwaŜ uwaŜasz, Ŝe kontrola jakoś jakości podczas procesu realizacji zamó zamówienia jest potrzebna? 2. WskaŜ WskaŜ czynnoś czynności testowe (pogrupowane w fazy), w któ które, podczas realizacji zamó zamówienia, powinni być być zaangaŜ zaangaŜowani pracownicy kontroli jakoś jakości. Postaraj się się scharakteryzować scharakteryzować te fazy. 24 12 Koniec 25 No 10 : No 9 : No No No No No No No 8: 7: 6: 5: 4: 3: 2: No 1: "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." "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