Lekcja 5.1: Planowanie Testów

Witaj w piątym rozdziale naszego kursu!

Po zgłębieniu technik projektowania testów, przechodzimy teraz do kluczowego aspektu zarządzania całym procesem – planowania testów.

Bez solidnego planu, nawet najlepsze techniki mogą okazać się chaotyczne i nieefektywne.

Planowanie to fundament, który nadaje strukturę, kierunek i kontrolę nad wszystkimi czynnościami testowymi w projekcie.

Wyobraź sobie budowę domu bez projektu architektonicznego. Byłoby to niezwykle ryzykowne, prawda?

Podobnie jest z testowaniem oprogramowania. Plan testów to nasz projekt, mapa drogowa, która prowadzi nas przez złożony proces zapewniania jakości.

Definiuje on, co, jak, kiedy i przez kogo ma być testowane, jakie zasoby są potrzebne i jakie ryzyka należy wziąć pod uwagę.

W tej lekcji, opierając się na sylabusie ISTQB Foundation Level v4.0 (sekcje FL-5.1.1 K2 do FL-5.1.7 K2), omówimy kompleksowo zagadnienia związane z planowaniem testów:

  • Cel i treść planu testów: Po co tworzymy plan i co powinien zawierać?
  • Wkład testera w planowanie iteracji i wydań: Jak testerzy uczestniczą w planowaniu w metodykach zwinnych?
  • Kryteria wejścia i kryteria wyjścia: Kiedy możemy rozpocząć, a kiedy zakończyć daną czynność testową?
  • Techniki szacowania pracochłonności: Jak przewidzieć, ile czasu i wysiłku zajmą testy?
  • Priorytetyzacja przypadków testowych: W jakiej kolejności wykonywać testy, aby zmaksymalizować ich wartość?
  • Piramida testów: Jak zrównoważyć różne poziomy testów, zwłaszcza automatycznych?
  • Kwadranty testowe: Jak sklasyfikować różne rodzaje testów w kontekście biznesowym i technicznym?

Zrozumienie tych koncepcji pozwoli Ci nie tylko efektywnie planować własne działania testowe, ale także skutecznie komunikować się z resztą zespołu projektowego i interesariuszami na temat strategii i postępów w zapewnianiu jakości.

1. Cel i Treść Planu Testów (FL-5.1.1 K2)

Po co nam plan testów? Plan testów nie jest tylko formalnym dokumentem. To narzędzie komunikacji, zarządzania i kontroli.

Jego główne cele to:

  • Dokumentowanie strategii: Opisuje, jak zamierzamy osiągnąć cele testowe w ramach dostępnych zasobów i ograniczeń.
  • Zapewnienie zgodności: Pomaga upewnić się, że działania testowe spełniają określone kryteria (np. pokrycia wymagań, standardów jakości).
  • Komunikacja: Służy jako punkt odniesienia dla całego zespołu projektowego i interesariuszy, informując o zakresie, podejściu, zasobach i harmonogramie testów.
  • Zgodność z polityką/strategią: Pokazuje, jak planowane testy wpisują się w ogólną politykę i strategię testów organizacji (lub uzasadnia ewentualne odstępstwa).
  • Ukierunkowanie myślenia: Proces tworzenia planu zmusza do przemyślenia potencjalnych wyzwań, ryzyk, potrzebnych zasobów i harmonogramu.

Co powinien zawierać plan testów? Chociaż szczegółowa zawartość może się różnić w zależności od projektu, kontekstu i standardów organizacji (np. ISO/IEC/IEEE 29119-3), typowe elementy planu testów obejmują:

  • Kontekst testowania:
    • Zakres: Co będzie testowane (funkcjonalności, moduły, cechy jakościowe), a co jest poza zakresem.
    • Cele testów: Co chcemy osiągnąć poprzez testowanie (np. znalezienie defektów, ocena jakości, budowanie zaufania, spełnienie wymagań).
    • Ograniczenia: Czynniki, które mogą wpłynąć na proces testowy (np. budżet, czas, dostępne zasoby, narzędzia).
    • Podstawa testów: Dokumenty lub artefakty, na podstawie których projektowane są testy (np. wymagania, historyjki użytkownika, specyfikacje, kod).
  • Założenia i zależności: Czynniki, które przyjmujemy za prawdziwe (np. dostępność środowiska) oraz zależności od innych zespołów lub zadań.
  • Interesariusze: Kto jest zaangażowany w proces testowy (role, obowiązki), jakie są potrzeby rekrutacyjne i szkoleniowe.
  • Komunikacja: Jak, kiedy i do kogo będą raportowane postępy, problemy i wyniki testów (np. spotkania, raporty, narzędzia).
  • Rejestr ryzyk: Identyfikacja i ocena ryzyk produktowych (związanych z jakością produktu) i projektowych (związanych z procesem testowym). Omówimy to szerzej w lekcji 5.2.
  • Podejście do testowania:
    • Poziomy testów: Jakie poziomy testów będą realizowane (np. komponentowe, integracyjne, systemowe, akceptacyjne).
    • Typy testów: Jakie typy testów będą przeprowadzane (np. funkcjonalne, niefunkcjonalne, strukturalne, związane ze zmianami).
    • Techniki testowania: Jakie techniki projektowania testów zostaną użyte.
    • Testware: Jakie produkty pracy testowej zostaną stworzone (np. przypadki testowe, skrypty, dane testowe).
    • Kryteria wejścia i wyjścia: Warunki rozpoczęcia i zakończenia poszczególnych czynności testowych.
    • Niezależność testowania: Jaki poziom niezależności będzie stosowany.
    • Metryki: Jakie wskaźniki będą zbierane do monitorowania postępów i jakości.
    • Dane testowe: Jakie są wymagania dotyczące danych testowych i jak będą zarządzane.
    • Środowiska testowe: Jakie środowiska są potrzebne i jak będą zarządzane.
  • Harmonogram: Kluczowe kamienie milowe, terminy i powiązania z ogólnym harmonogramem projektu.
  • Budżet: Szacowane koszty związane z zasobami, narzędziami i innymi potrzebami.

Ważne jest, aby plan testów był dokumentem żywym, aktualizowanym w miarę postępów projektu i pojawiania się nowych informacji.

2. Wkład Testera w Planowanie Iteracji i Wydań (FL-5.1.2 K2)

W metodykach zwinnych (Agile) planowanie odbywa się na różnych poziomach, głównie podczas planowania wydania (Release Planning) i planowania iteracji/sprintu (Iteration/Sprint Planning).

Testerzy odgrywają kluczową rolę w obu tych procesach.

Planowanie wydania:

  • Cel: Określenie ogólnego zakresu i harmonogramu dla nadchodzącego wydania produktu (obejmującego zazwyczaj kilka iteracji).
  • Wkład testera:
    • Definiowanie testowalnych historyjek: Pomoc w tworzeniu historyjek użytkownika i kryteriów akceptacji, które są jasne, kompletne i testowalne (zgodnie z podejściami opartymi na współpracy, lekcja 4.5).
    • Identyfikacja ryzyk: Wskazywanie potencjalnych ryzyk związanych z jakością dla planowanych funkcjonalności.
    • Szacowanie pracochłonności testów: Udział w szacowaniu wysiłku potrzebnego na przetestowanie poszczególnych historyjek lub grup funkcjonalności.
    • Definiowanie strategii testów dla wydania: Określenie ogólnego podejścia do testowania w ramach wydania (np. jakie poziomy i typy testów będą kluczowe, jakie narzędzia zostaną użyte).
    • Planowanie infrastruktury: Identyfikacja potrzeb dotyczących środowisk testowych i danych.

Planowanie iteracji/sprintu:

  • Cel: Wybranie historyjek użytkownika z backlogu produktu do realizacji w nadchodzącej iteracji i zdekomponowanie ich na konkretne zadania.
  • Wkład testera:
    • Analiza historyjek: Dogłębne zrozumienie historyjek wybranych do sprintu, zadawanie pytań, doprecyzowywanie kryteriów akceptacji.
    • Identyfikacja zadań testowych: Określenie konkretnych zadań związanych z testowaniem danej historyjki (np. projektowanie testów, przygotowanie danych, automatyzacja, wykonanie testów eksploracyjnych).
    • Szacowanie zadań testowych: Oszacowanie pracochłonności poszczególnych zadań testowych.
    • Planowanie testów w ramach iteracji: Ustalenie, jak i kiedy poszczególne historyjki będą testowane w trakcie sprintu (często równolegle z developmentem).
    • Współpraca z programistami: Ustalenie sposobu współpracy przy testowaniu (np. testy jednostkowe, testy integracyjne, przeglądy kodu).

Aktywny udział testerów w planowaniu na obu poziomach jest kluczowy dla wczesnego wykrywania problemów, zapewnienia testowalności i budowania jakości od samego początku.

3. Kryteria Wejścia i Kryteria Wyjścia (FL-5.1.3 K2)

Kryteria wejścia (Entry Criteria): Definiują warunki, które muszą być spełnione, aby można było rozpocząć daną czynność testową (np. poziom testów, konkretne zadanie testowe).

Określają one gotowość do rozpoczęcia testów.

Przykłady kryteriów wejścia dla testów systemowych:

  • Dostępność środowiska testowego.
  • Dostępność podstawy testów (np. zatwierdzone wymagania, historyjki użytkownika).
  • Dostępność testware (np. przygotowane przypadki testowe, dane testowe).
  • Dostępność testowanego obiektu (np. skompilowana i wdrożona wersja aplikacji).
  • Spełnienie kryteriów wyjścia dla wcześniejszego poziomu testów (np. testów integracyjnych).

Kryteria wyjścia (Exit Criteria) / Definicja Ukończenia (Definition of Done - DoD): Definiują warunki, które muszą być spełnione, aby można było uznać daną czynność testową za zakończoną.

Określają one, kiedy osiągnęliśmy wystarczający poziom pewności co do jakości.

W metodykach zwinnych często używa się terminu Definition of Done (DoD), który jest wspólnie uzgodnionym przez zespół zestawem kryteriów określających, kiedy historyjka użytkownika lub inny element pracy jest faktycznie ukończony (nie tylko zakodowany, ale też przetestowany, zintegrowany, udokumentowany itp.).

Przykłady kryteriów wyjścia / DoD:

  • Wykonanie wszystkich zaplanowanych przypadków testowych.
  • Osiągnięcie wymaganego poziomu pokrycia (np. pokrycia wymagań, pokrycia kodu).
  • Brak znanych krytycznych defektów.
  • Liczba pozostałych defektów o niższym priorytecie poniżej ustalonego progu.
  • Spełnienie wymagań dotyczących wydajności, bezpieczeństwa itp.
  • Zatwierdzenie wyników testów przez interesariuszy.

Definiowanie i monitorowanie kryteriów wejścia i wyjścia pomaga w zarządzaniu procesem testowym, podejmowaniu decyzji o rozpoczęciu i zakończeniu testów oraz komunikowaniu statusu i poziomu zaufania do jakości produktu.

4. Techniki Szacowania Pracochłonności Testów (FL-5.1.4 K2)

Szacowanie pracochłonności testów to proces przewidywania, ile czasu i wysiłku będzie potrzebne na wykonanie zaplanowanych czynności testowych.

Jest to kluczowy element planowania, wpływający na harmonogram, budżet i alokację zasobów.

Szacowanie jest z natury niepewne, ale istnieją techniki, które pomagają uzyskać bardziej wiarygodne wyniki.

Czynniki wpływające na pracochłonność testów:

  • Cechy produktu: Złożoność, rozmiar, wymagania jakościowe, dostępna dokumentacja, ryzyka produktowe.
  • Cechy procesu wytwórczego: Stabilność procesu, stosowane narzędzia, model cyklu życia, presja czasu.
  • Cechy zespołu: Doświadczenie i umiejętności testerów oraz innych członków zespołu, komunikacja w zespole.
  • Wyniki testowania: Liczba i dotkliwość znalezionych defektów, ilość potrzebnych re-testów.

Popularne techniki szacowania:

  • Techniki oparte na metrykach (Metrics-based): Wykorzystują dane historyczne z poprzednich projektów lub iteracji (np. średni czas testowania podobnej funkcjonalności, liczba przypadków testowych na punkt funkcyjny). Wymagają posiadania wiarygodnych danych historycznych.
  • Techniki oparte na opinii ekspertów (Expert-based): Polegają na zebraniu opinii doświadczonych testerów, programistów lub menedżerów. Przykłady:
    • Wideband Delphi: Ustrukturyzowana technika grupowej estymacji, mająca na celu osiągnięcie konsensusu poprzez kilka rund anonimowych szacunków i dyskusji.
    • Planning Poker: Popularna w Agile technika, gdzie członkowie zespołu jednocześnie pokazują karty z wartościami reprezentującymi szacowany wysiłek (często w punktach historyjek - Story Points), a następnie dyskutują różnice, aż do osiągnięcia konsensusu.

W praktyce często stosuje się kombinację różnych technik, aby uzyskać bardziej wiarygodne szacunki.

Ważne jest również regularne aktualizowanie szacunków w miarę postępów projektu i pojawiania się nowych informacji.

5. Priorytetyzacja Przypadków Testowych (FL-5.1.5 K2)

W większości projektów nie ma wystarczająco dużo czasu ani zasobów, aby wykonać wszystkie możliwe testy.

Dlatego kluczowe jest priorytetyzowanie przypadków testowych – ustalenie kolejności ich wykonywania, tak aby najważniejsze testy zostały przeprowadzone jako pierwsze.

Pozwala to zmaksymalizować wartość testowania w ograniczonym czasie i skupić się na najbardziej krytycznych obszarach.

Czynniki wpływające na priorytetyzację:

  • Ryzyko: Testy dotyczące obszarów o najwyższym ryzyku (największe prawdopodobieństwo wystąpienia defektu i/lub największy wpływ biznesowy awarii) powinny mieć najwyższy priorytet.
  • Wymagania: Priorytety wymagań biznesowych (np. kluczowe funkcjonalności dla klienta).
  • Zależności: Przypadki testowe, od których zależą inne testy, mogą wymagać wcześniejszego wykonania.
  • Złożoność: Bardziej złożone obszary mogą wymagać wcześniejszego lub bardziej intensywnego testowania.
  • Historia defektów: Obszary, w których wcześniej znajdowano dużo błędów, mogą wymagać wyższego priorytetu.

Jak priorytetyzować?

Priorytetyzacja powinna być wynikiem współpracy zespołu i uwzględniać perspektywę biznesową.

Można stosować różne skale priorytetów (np. Wysoki/Średni/Niski, P1/P2/P3/P4) i przypisywać je do poszczególnych przypadków testowych lub grup testów.

Ważne jest, aby priorytety były jasno zdefiniowane i komunikowane.

6. Piramida Testów (FL-5.1.6 K2)

Piramida testów to model wizualizujący zalecane proporcje między różnymi poziomami testów automatycznych w projekcie.

Została spopularyzowana przez Mike'a Cohna i jest szczególnie istotna w kontekście zwinnego wytwarzania oprogramowania i ciągłej integracji/ciągłego dostarczania (CI/CD).

Struktura piramidy:

  • Podstawa (najszersza): Testy jednostkowe (Unit Tests):
    • Testują małe, izolowane fragmenty kodu (np. pojedyncze funkcje, metody, klasy).
    • Pisane zazwyczaj przez programistów.
    • Są szybkie w wykonaniu, stabilne i dają precyzyjną informację zwrotną o lokalizacji błędu.
    • Powinno ich być najwięcej.
  • Środek: Testy integracyjne / usług (Integration / Service / API Tests):
    • Testują interakcje między różnymi komponentami, modułami lub usługami (np. komunikację między API, interakcję z bazą danych).
    • Mogą być pisane przez programistów lub testerów automatyzujących.
    • Są wolniejsze i mniej stabilne niż testy jednostkowe, ale weryfikują współpracę części systemu.
    • Powinno ich być mniej niż testów jednostkowych.
  • Szczyt (najwęższy): Testy interfejsu użytkownika (UI / End-to-End Tests):
    • Testują system jako całość z perspektywy użytkownika końcowego, poprzez interakcję z interfejsem graficznym (GUI).
    • Pisane zazwyczaj przez testerów automatyzujących.
    • Są najwolniejsze, najbardziej kruche (podatne na zmiany w UI) i najtrudniejsze w utrzymaniu.
    • Powinno ich być najmniej, skupiając się na kluczowych przepływach biznesowych.

Dlaczego piramida? Model piramidy sugeruje, że powinniśmy dążyć do posiadania dużej liczby szybkich i tanich testów jednostkowych u podstawy, mniejszej liczby nieco wolniejszych testów integracyjnych pośrodku i tylko niewielkiej liczby najwolniejszych i najdroższych testów UI na szczycie.

Odwrócenie tej proporcji (tzw. "stożek lodowy" lub "odwrócona piramida") prowadzi do długiego czasu oczekiwania na wyniki testów, niestabilności i wysokich kosztów utrzymania automatyzacji.

Piramida testów pomaga zespołom podejmować świadome decyzje dotyczące strategii automatyzacji testów.

7. Kwadranty Testowe (FL-5.1.7 K2)

Kwadranty testowe (Agile Testing Quadrants) to model spopularyzowany przez Briana Maricka, który pomaga zespołom zwinnym myśleć o różnych rodzajach testów potrzebnych do zbudowania wysokiej jakości produktu.

Model dzieli testy na cztery kwadranty w oparciu o dwie osie:

  • Oś pozioma: Wspierające zespół (Supporting the Team) vs. Krytykujące produkt (Critiquing the Product).
  • Oś pionowa: Zorientowane na biznes (Business Facing) vs. Zorientowane na technologię (Technology Facing).

Opis kwadrantów:

  • Q1 (Górny lewy): Zorientowane na technologię, Wspierające zespół:
    • Cel: Wspieranie programistów w tworzeniu kodu wysokiej jakości.
    • Przykłady: Testy jednostkowe, testy komponentowe, testy API (często zautomatyzowane, związane z TDD).
  • Q2 (Górny prawy): Zorientowane na biznes, Wspierające zespół:
    • Cel: Wspieranie zespołu w zrozumieniu i implementacji wymagań biznesowych.
    • Przykłady: Testy funkcjonalne, testy historyjek użytkownika, prototypowanie, symulacje (często zautomatyzowane, związane z ATDD/BDD, ale też manualne testy eksploracyjne).
  • Q3 (Dolny lewy): Zorientowane na technologię, Krytykujące produkt:
    • Cel: Ocena wewnętrznych aspektów jakościowych produktu.
    • Przykłady: Testy wydajności, testy obciążeniowe, testy bezpieczeństwa, testy niezawodności, testy eksploracyjne skupione na technologii (często wymagają specjalistycznych narzędzi i wiedzy).
  • Q4 (Dolny prawy): Zorientowane na biznes, Krytykujące produkt:
    • Cel: Ocena produktu z perspektywy użytkownika końcowego i biznesu.
    • Przykłady: Testy eksploracyjne (scenariusze użytkownika), testy użyteczności, testy akceptacyjne użytkownika (UAT), testy alfa/beta (głównie manualne).

Jak używać kwadrantów? Model kwadrantów nie jest sztywną regułą, ale narzędziem do myślenia i dyskusji w zespole.

Pomaga upewnić się, że zespół uwzględnia różne perspektywy i rodzaje testów potrzebne do zapewnienia kompleksowej jakości.

Zachęca do myślenia o tym, kto powinien być zaangażowany w dany rodzaj testów i jakie narzędzia lub techniki mogą być odpowiednie.

Podsumowanie

Planowanie testów to nieodłączny element profesjonalnego podejścia do zapewniania jakości.

Niezależnie od stosowanej metodyki, zrozumienie celu i treści planu testów, roli testera w planowaniu, znaczenia kryteriów wejścia/wyjścia, technik szacowania i priorytetyzacji jest kluczowe.

Modele takie jak piramida testów i kwadranty testowe dostarczają cennych ram koncepcyjnych, pomagających zespołom w podejmowaniu świadomych decyzji dotyczących strategii testowania i automatyzacji.

Pamiętaj, że planowanie to proces ciągły, wymagający adaptacji i współpracy całego zespołu.

Najczęściej Zadawane Pytania (FAQ)

Czy w Agile zawsze tworzy się formalny plan testów?
Nie zawsze w formie jednego, obszernego dokumentu. W Agile planowanie jest bardziej rozproszone i ciągłe. Elementy planowania (strategia, ryzyka, kryteria) mogą być zawarte w backlogu, Definition of Done, kartach historyjek, wiki projektu lub omawiane podczas spotkań planistycznych. Kluczowe jest wspólne zrozumienie, a nie sam dokument.
Co to jest Definition of Done (DoD)?
Definition of Done to wspólnie uzgodniona przez zespół zwinny lista kryteriów, które muszą być spełnione, aby historyjka użytkownika lub inny element pracy mógł zostać uznany za ukończony. Zazwyczaj obejmuje aspekty kodowania, testowania (różne poziomy), integracji, dokumentacji i akceptacji.
Czym różnią się kryteria wyjścia od Definition of Done?
Kryteria wyjścia to ogólniejszy termin określający warunki zakończenia dowolnej czynności testowej lub poziomu testów. Definition of Done to specyficzny dla Agile zestaw kryteriów ukończenia dla elementu pracy (np. historyjki), obejmujący często więcej niż tylko testowanie (np. przegląd kodu, wdrożenie).
Która technika szacowania jest najlepsza?
Nie ma jednej "najlepszej" techniki. Wybór zależy od kontekstu projektu, dostępności danych historycznych, doświadczenia zespołu i preferencji. Często najlepsze wyniki daje połączenie różnych podejść (np. Planning Poker jako technika ekspercka wspierana analizą danych historycznych).
Czy priorytetyzacja oznacza, że testy o niskim priorytecie można pominąć?
Niekoniecznie. Priorytetyzacja określa kolejność wykonywania. Testy o niższym priorytecie mogą zostać wykonane później, jeśli czas pozwoli, lub mogą zostać odłożone na kolejną iterację/wydanie. Decyzja o całkowitym pominięciu testów powinna być świadoma i oparta na analizie ryzyka.
Czy piramida testów dotyczy tylko testów automatycznych?
Model piramidy koncentruje się głównie na strategii automatyzacji, ponieważ koszty i czas wykonania są kluczowymi czynnikami różnicującymi poziomy testów automatycznych. Jednak koncepcja różnych poziomów testów (jednostkowe, integracyjne, systemowe) dotyczy również testów manualnych.
Czy testy manualne mają miejsce w piramidzie testów?
Piramida testów skupia się na proporcjach testów automatycznych. Testy manualne, zwłaszcza eksploracyjne, są nadal bardzo ważne i często uzupełniają automatyzację, szczególnie na wyższych poziomach (np. testy UI, testy użyteczności, UAT), gdzie ludzka ocena i eksploracja są kluczowe.
Czy każdy projekt musi realizować testy ze wszystkich czterech kwadrantów?
Model kwadrantów jest narzędziem do myślenia i zapewnienia kompleksowego podejścia. W zależności od projektu, kontekstu i ryzyk, nacisk na poszczególne kwadranty może być różny. Jednak pominięcie któregoś kwadrantu całkowicie może prowadzić do luk w zapewnianiu jakości.
Kto jest odpowiedzialny za testy w poszczególnych kwadrantach?
Odpowiedzialność jest często rozłożona. Q1 (techniczne, wspierające) to głównie domena programistów. Q2 (biznesowe, wspierające) wymaga ścisłej współpracy biznesu, programistów i testerów. Q3 (techniczne, krytykujące) często wymaga specjalistów (np. od wydajności, bezpieczeństwa). Q4 (biznesowe, krytykujące) to obszar, gdzie kluczową rolę odgrywają testerzy (eksploracja) i użytkownicy końcowi (UAT).
Jak często należy aktualizować plan testów?
Plan testów powinien być dokumentem żywym. Należy go przeglądać i aktualizować regularnie, zwłaszcza gdy pojawiają się istotne zmiany w zakresie projektu, harmonogramie, zasobach, ryzykach lub gdy wyniki testowania wskazują na potrzebę zmiany strategii. W Agile planowanie jest ciągłe na poziomie iteracji.

Przykładowe Pytania Egzaminacyjne

Pytanie 1 (K1): Który z poniższych elementów jest typowo zawarty w planie testów?

  • a) Szczegółowe wyniki wykonania przypadków testowych.
  • b) Kryteria wejścia i kryteria wyjścia.
  • c) Kod źródłowy testowanej aplikacji.
  • d) Lista wszystkich znalezionych defektów.

Poprawna odpowiedź: b (Kryteria wejścia i wyjścia definiują warunki rozpoczęcia i zakończenia czynności testowych i są standardowym elementem planu testów.)

Pytanie 2 (K2): Podczas planowania sprintu w zespole zwinnym, jaki jest typowy wkład testera?

  • a) Wyłącznie wykonywanie testów regresji.
  • b) Definiowanie architektury systemu.
  • c) Analiza historyjek, identyfikacja zadań testowych i ich szacowanie.
  • d) Zatwierdzanie budżetu projektu.

Poprawna odpowiedź: c (Testerzy w Agile aktywnie uczestniczą w planowaniu sprintu, analizując historyjki pod kątem testowalności, definiując potrzebne zadania testowe i szacując ich pracochłonność.)

Pytanie 3 (K1): Który poziom testów znajduje się u podstawy piramidy testów i powinien stanowić największą część testów automatycznych?

  • a) Testy interfejsu użytkownika (UI)
  • b) Testy integracyjne
  • c) Testy jednostkowe
  • d) Testy akceptacyjne użytkownika (UAT)

Poprawna odpowiedź: c (Piramida testów zaleca, aby najwięcej było szybkich i tanich testów jednostkowych, które stanowią jej podstawę.)

Pytanie 4 (K2): Do którego kwadrantu testowego należą testy wydajności i bezpieczeństwa?

  • a) Q1 (Techniczne, Wspierające)
  • b) Q2 (Biznesowe, Wspierające)
  • c) Q3 (Techniczne, Krytykujące)
  • d) Q4 (Biznesowe, Krytykujące)

Poprawna odpowiedź: c (Testy wydajności i bezpieczeństwa są zorientowane na technologię i służą do krytycznej oceny wewnętrznych aspektów jakościowych produktu, dlatego należą do Q3.)