L.08.a. Testowanie - STUD -...

32
Testowanie oprogramowania © Piotr Ciskowski

Transcript of L.08.a. Testowanie - STUD -...

Page 1: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

Testowanie

oprogramowania

© Piotr Ciskowski

Page 2: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

TESTOWANIE

Page 3: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie

o proces eksperymentalnego badania programu lub jego komponentu

o próbne wykonanie w znanych warunkach

o rejestrowanie wyników

o ocena właściwości

o sprawdzenie pełne → wybrane wartości wejściowe

Page 4: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie

PRZYPADEK TESTOWYDANE

AKCJAWYNIK

TEST CASE

Page 5: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie

o proces eksperymentalnego badania programu lub jego komponentu

o próbne wykonanie w znanych warunkach

o rejestrowanie wyników

o ocena właściwości

o sprawdzenie pełne → wybrane wartości wejściowe

o projektowanie testów:

o liczba przypadków testowych

o wartości danychjakość, wiarygodność

Page 6: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

PRZYPADEK TESTOWYDANE

AKCJAWYNIK

TEST CASE

POPRAWKI

BŁĘDY

TESTY REGRESYJNE

- po każdej zmianie

Page 7: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

TESTY REGRESYJNE

- po każdej zmianie

podstawowe działania:

przygotowanieplanu testów

zaprojektowanie przypadków testowych

przygotowanieśrodowiska testowego

TESTOWANIE

ocena wyników

usuniecie błędów

Page 8: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

POZIOMY TESTOWANIA

Page 9: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

poziomy testowania

o błąd → defekt

o model V:

Page 10: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

TESTOWANIE JEDNOSTKOWE

Poziomy testowania

Page 11: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie jednostkowe

• unit testing, module testing

• podstawowe jednostki programu:

– podprogramy – procedury, funkcje

– metody lub klasy

– skrypty SQL

• sprawdzenie zgodności działaniaz ich specyfikacją projekcie

• pod koniec fazy projektowania

• niezależny zespół – deweloperzy

• środowisko testowania:

• oprogramowanie wspomagające

• sterowniki testowe - wywołujące

• namiastki - wywoływane

Page 12: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

TESTOWANIE INTEGRACYJNE

Poziomy testowania

Page 13: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie integracyjne

• interface testing

• łączenie jednostekw coraz większe komponenty

• sprawdzenie zgodnościdziałania interfejsów:

– przekazywanie argumentów

– zwracane rezultaty

– zgodność jednostek miar

– wyjątki

• architektura oprogramowania – faza projektowania

• zespół testujący – deweloperzy

• wielki wybuch - stopniowa integracja

wstępująca vs. zstępująca

Page 14: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

TESTOWANIE SYSTEMOWE

Poziomy testowania

Page 15: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie systemowe

• system testing

• całość oprogramowaniazintegrowana i zainstalowanaw środowisku wykonawczym

• sprawdzenie zgodności działania funkcji- wymagania funkcjonalne

• określenie innych własności systemu- wymagania niefunkcjonalne

• specyfikacja oprogramowania – faza analizy

• osobny etap

• bez szczegółów konstrukcyjnych

• specyfikacja funkcji – model przypadków użycia

• zespół testujący

Page 16: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie systemowe

• system testing

• Zakres:

• testy funkcjonalne – functional testing

• testy wydajnościowe – performance testing

• testy przeciążeniowe – stress testing

• testy bezpieczeństwa – security testing

• testy odporności – recovery testing

• testy zgodności – compatbility testing

• testy dokumentacji – documentation testing

Page 17: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

TESTOWANIE AKCEPTACYJNE

Poziomy testowania

Page 18: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie systemowe

• acceptance testing

• oprogramowanie- przedmiot dostawy dla użytkownika

• zainstalowane w docelowym miejscu

• sprawdzenie zgodności działaniaz wymaganiami i potrzebami użytkownika

• zademonstrowanie – zatwierdzenie – dostrojenie

• użytkownik – wykonawca (z użytkownikiem)

• testy alfa - beta

• scenariusze testowania - raport problemów

Page 19: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

ORGANIZACJA PROCESU TESTOWANIA

Page 20: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

ZARZĄDZENIE PROJEKTEM

ZARZĄDZENIE TESTOWANIEM

PLANOWANIE PROJEKTOWANIE WYKONANIE

plany specyfikacje raporty

Page 21: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

planowanie

• plan testów – test plan:

o zakres testów

� identyfikacja testowanych produktów

� określenie wymagań / właściwości, które będą testowane

� jawne wskazanie wymagań, które testowane nie będą

o strategia testowania i raportowania błędów

� wskazanie działań i metod testowania

� określenie kryteriów oceny - metryki - co sprawdzono

awarie - ile dopuszczalnych

- błędy poważne - ile dopuszczalnych

drobne - ile dopuszczalnych

- wartość oczekiwanaczasu pomiędzy dwoma kolejnymi błędami

o niezbędne zasoby i harmonogram działania

Page 22: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

projektowanie

• specyfikacja testów – test specification:

o lista przypadków testowych

� wymagania

� ograniczenia

� scenariusz przypadku testowego

• procedura testowania – test procedure:

o stan systemu w chwili rozpoczęcia testowania

o lista zestawów testów do wykonania:

� lista scenariuszy przypadków testowych + kolejność

� lista zbiorów danych testowych

Page 23: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

projektowanie

Page 24: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie – usuwanie defektów

• testowanie w zespole:

Page 25: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

testowanie – usuwanie defektów

• testowanie w zespole:

• testowanie w czasie:

Page 26: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

METRYKI

Page 27: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

metryki

o pomiar jakości testów

o pomiar postępów prac METRYKI - ilościowe miary

Page 28: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

metryki – ile sprawdzono:

o metryki pokrycia kodu:

• pokrycie bloków instrukcji

• pokrycie decyzji

• pokrycie ścieżek

o metryki pokrycia wymagań:

• pokrycie wymagań

• pokrycie błędów

• pokrycie biznesowych przypadków użycia

• pokrycie systemowych przypadków użycia

Page 29: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

metryki – ile schrzaniono:

o liczba wykrytych defektów

o częstość defektów

Page 30: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

metryki – ile poprawiono:

o liczba wykrytych defektów

o częstość defektów

o procent defektów poprawionych

Page 31: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

SPOSOBY TESTOWANIA

Page 32: L.08.a. Testowanie - STUD - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/.../W.08.Testowanie-STUD.pdf · testowanie o proces eksperymentalnego badania programu lub jego komponentu

sposoby testowania

o metoda białej skrzynki – white box

o metoda czarnej skrzynki – black box