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

Podobne dokumenty