1.4 Czynności testowe, testalia i role związane z testami Flashcards
Kiedy decydujemy, które aktywności testowe uwzględnić, w jaki sposób je zaimplementować i kiedy mają się odbywać?
Na etapie planowania testów (Test Planning).
Jakie jest 7 aktywności testowych (mnemonik: PMAPIWZ)?
- planowanie
- monitorowanie i kontrola
- analiza
- projektowanie
- implementacja
- wykonanie
- zakończenie
Czym jest planowanie testów (Test Planning)?
To określenie celów testów i wybranie podejścia, które najlepiej osiągnie te cele, biorąc pod uwagę ograniczenia i kontekst całego projektu.
Na czym polega monitorowanie i kontrola testów (Test Monitoring and Control)?
- Monitorowanie testów: bieżące sprawdzanie wszystkich aktywności testowych i porównywanie rzeczywistego postępu z planem.
- Kontrola testów: podejmowanie niezbędnych działań, aby zrealizować założone cele testów (np. zmiana harmonogramu, zmiana priorytetów).
Czym jest analiza testów (Test Analysis)?
Analiza testów obejmuje m.in.:
- analizę bazy testów (test basis) w celu zidentyfikowania testowalnych cech,
- definiowanie i priorytetyzację warunków testowych,
- określanie ryzyk i poziomów ryzyka,
- ocenę dokumentów bazowych i obiektów testowych pod kątem istniejących defektów,
- ocenę testowalności (testability).
W skrócie, analiza testów odpowiada na pytanie: „Co testować?” (z uwzględnieniem mierzalnych kryteriów pokrycia).
Na czym polega projektowanie testów (Test Design)?
Projektowanie testów przekształca warunki testowe (cechy, funkcje itd. podlegające testom) w przypadki testowe oraz inne elementy testowe, np. karty testowe (test charters).
Może być wspomagane przez odpowiednie techniki projektowania testów.
Obejmuje także:
- identyfikowanie elementów pokrycia,
- definiowanie wymagań na dane testowe,
- projektowanie środowiska testowego,
- ustalenie potrzebnej infrastruktury i narzędzi.
Odpowiada na pytanie: „Jak testować?”
Czym jest implementacja testów (Test Implementation)?
- Tworzenie lub pozyskiwanie potrzebnych produktów testowych (np. danych testowych).
- Organizacja przypadków testowych w procedury i zestawy testowe.
- Tworzenie skryptów testowych (manualnych lub zautomatyzowanych).
- Priorytetyzacja i harmonogramowanie procedur testowych.
- Przygotowanie, konfiguracja i weryfikacja środowisk testowych.
Na czym polega wykonanie testów (Test Execution)?
- Uruchamianie testów zgodnie z harmonogramem (ręcznie i/lub automatycznie).
- Porównywanie rzeczywistych wyników testów z oczekiwanymi.
- Analiza anomalii w celu ustalenia ich prawdopodobnych przyczyn, co umożliwia zgłaszanie ich w kontekście zaobserwowanych awarii.
Jakie działania obejmuje zakończenie testów (Test Completion)?
- Identyfikacja i archiwizacja (lub przekazanie właściwym zespołom) produktów testowych, które mogą się przydać w przyszłości.
- Wyłączenie środowiska testowego (zgodnie z ustalonym stanem).
- Analiza przeprowadzonych aktywności testowych w celu wyciągnięcia wniosków i usprawnień na przyszłe iteracje, wydania czy projekty.
- Przygotowanie raportu z zakończenia testów i przekazanie go interesariuszom.
Kiedy mają miejsce czynności związane z zakończeniem testów (Test Completion activities)?
Zwykle pojawiają się po kluczowych kamieniach milowych projektu (np. publikacja wersji, koniec iteracji, zakończenie testów na danym poziomie) i dotyczą wszystkich niewyjaśnionych defektów, zgłoszeń o zmianę czy elementów backlogu, które powstały w trakcie testów.
Jakie czynniki wpływają na sposób przeprowadzania testów?
- Interesariusze (stakeholders)
- Członkowie zespołu (team members)
- Domena biznesowa (business domain)
- Czynniki techniczne (technical factors)
- Ograniczenia projektowe (project constraints)
- Czynniki organizacyjne (organizational factors)
- Cykl wytwarzania (SDLC)
- Narzędzia (tools)
Jakie produkty pracy (testware) powstają w trakcie planowania testów (Test Planning)?
- plan testów (test plan)
- harmonogram testów (test schedule)
- rejestr ryzyk (risk register)
- kryteria wejścia i wyjścia (entry and exit criteria)
Co zawiera rejestr ryzyk (Risk Register)?
Lista ryzyk zawierająca informacje o:
- prawdopodobieństwie (likelihood),
- wpływie (impact),
- działaniach łagodzących (info about mitigation).
Co obejmują produkty pracy (testware) związane z monitorowaniem i kontrolą testów (Test monitoring and control)?
- raporty z postępu testów (test progress reports)
- dokumentacja zawierająca dyrektywy kontrolne (doc of control directives)
- informacje o ryzyku (risk info)
Jakie produkty pracy (testware) powstają w trakcie analizy testów (Test Analysis)?
- priorytetyzowane warunki testowe (test conditions) / kryteria akceptacji (acceptance criteria)
- otwarte raporty o defektach dotyczące bazy testów (np. znalezione nieścisłości lub błędy w dokumentacji)
Jakie produkty pracy (testware) powstają w trakcie projektowania testów (Test Design)?
- priorytetyzowane przypadki testowe (prioritized test cases)
- opracowane karty testowe (test charters) — np. do testów eksploracyjnych
- elementy pokrycia (coverage items) — opis obszarów do przetestowania
- wymagania na dane testowe (test data requirements)
- wymagania na środowisko testowe (test environment requirements)
Jakie produkty pracy (testware) powstają w trakcie implementacji testów (Test Implementation)?
- procedury testowe (test procedures) — sekwencje wykonywania przypadków testowych
- zautomatyzowane skrypty testowe (automated test scripts)
- kod testowy (test code) — np. w przypadku testów jednostkowych czy frameworków automatyzacji
- dane testowe (test data) — przygotowane do wykonania testów
- rozwiązania do wykonania testów (test execution solutions) — np. konfiguracja narzędzi CI/CD, ustawienia środowiska
Jakie produkty pracy (testware) powstają w trakcie wykonywania testów (Test Execution)?
- Dziennik testów (test log) — zapis przebiegu wykonanych testów, np. sekwencji uruchomień i ich wyników
- Raporty defektów (defect reports) — dokumentacja zgłoszonych błędów, zawierająca ich opisy, priorytet, status itp.
Jakie produkty pracy (testware) powstają przy zakończeniu testów (Test Completion)?
- Raport z zakończenia testów (test completion report)
- „Action items” na przyszłość (elementy do wykonania w kolejnych iteracjach/projektach)
- Udokumentowane wnioski (lessons learned) z przeprowadzonych testów
- Zgłoszenia dotyczące zmian (change requests) lub elementy backlogu produktu (product backlog items), jeśli pracuje się zwinnie
Jakie są dwa ważne typy śledzenia powiązań (traceability)?
- Śledzenie testów względem wymagań: pozwala sprawdzić, czy wymagania zostały pokryte przez odpowiednie przypadki testowe.
- Śledzenie wyników testów względem ryzyk (lub kluczowych elementów): pozwala ocenić, w jakim stopniu zredukowano poszczególne ryzyka albo pokryto najważniejsze obszary.
W jaki sposób utrzymywanie śledzenia powiązań (traceability) może być pomocne?
- Dostarcza informacji do oceny jakości produktu, sprawdzenia zgodności z celami biznesowymi i weryfikacji postępów.
- Ułatwia komunikację ze stronami technicznymi i biznesowymi dzięki obiektywnym raportom (np. pokazując które wymagania nie są jeszcze zrealizowane/testowane).
- Pomaga określić wpływ zmian (np. kiedy zmienia się wymaganie, można łatwo zidentyfikować testy do zaktualizowania).
- Zwiększa kontrolę nad zakresem testowania i pozwala sprawniej monitorować kryteria akceptacji.
Jakie są dwie główne role w testowaniu?
- Rola zarządzania testami (Test Management) — często określana jako Test Manager lub Test Leader.
- Rola testera (Testing / Tester Role).
Za co odpowiada osoba pełniąca rolę zarządzania testami (Test Management)?
- Całościowy proces testowy (test process).
- Zespół testowy (test team) — rekrutacja, alokacja zasobów, organizacja pracy.
- Kierowanie aktywnościami testowymi — wyznaczanie priorytetów, kolejności, celów.
- Planowanie testów — tworzenie planu testów, harmonogramu, przydziału zadań.
- Monitorowanie i kontrola testów — zapewnienie zgodności z planem i wprowadzanie korekt.
- Zakończenie testów— raport końcowy, podsumowanie wyników i wniosków.
Za co odpowiada osoba pełniąca rolę testera (Testing / Tester Role)?
- Techniczne i inżynierskie aspekty testowania — przygotowanie i realizacja testów.
- Analiza testów — zrozumienie bazy testów, wyodrębnianie warunków testowych.
- Projektowanie testów — tworzenie przypadków testowych, scenariuszy, technik testowania.
- Implementacja testów — przygotowywanie skryptów, danych testowych, konfiguracji środowiska.
- Wykonywanie testów — uruchamianie i rejestrowanie wyników, zgłaszanie defektów, retesty i testy regresyjne.