L.08.a. Testowanie - STUD -...
Transcript of L.08.a. Testowanie - STUD -...
Testowanie
oprogramowania
© Piotr Ciskowski
TESTOWANIE
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
testowanie
PRZYPADEK TESTOWYDANE
AKCJAWYNIK
TEST CASE
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ść
PRZYPADEK TESTOWYDANE
AKCJAWYNIK
TEST CASE
POPRAWKI
BŁĘDY
TESTY REGRESYJNE
- po każdej zmianie
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
POZIOMY TESTOWANIA
poziomy testowania
o błąd → defekt
o model V:
TESTOWANIE JEDNOSTKOWE
Poziomy testowania
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
TESTOWANIE INTEGRACYJNE
Poziomy testowania
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
TESTOWANIE SYSTEMOWE
Poziomy testowania
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
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
TESTOWANIE AKCEPTACYJNE
Poziomy testowania
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
ORGANIZACJA PROCESU TESTOWANIA
ZARZĄDZENIE PROJEKTEM
ZARZĄDZENIE TESTOWANIEM
PLANOWANIE PROJEKTOWANIE WYKONANIE
plany specyfikacje raporty
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
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
projektowanie
testowanie – usuwanie defektów
• testowanie w zespole:
testowanie – usuwanie defektów
• testowanie w zespole:
• testowanie w czasie:
METRYKI
metryki
o pomiar jakości testów
o pomiar postępów prac METRYKI - ilościowe miary
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
metryki – ile schrzaniono:
o liczba wykrytych defektów
o częstość defektów
metryki – ile poprawiono:
o liczba wykrytych defektów
o częstość defektów
o procent defektów poprawionych
SPOSOBY TESTOWANIA
sposoby testowania
o metoda białej skrzynki – white box
o metoda czarnej skrzynki – black box