4.5 Podejścia do testowania oparte na współpracy Flashcards
Wszystkie techniki testowe skupiają się na wykrywaniu defektów. Co odróżnia podejścia oparte na współpracy?
- Podejścia kolaboracyjne skupiają się również na zapobieganiu defektom (defect avoidance) poprzez komunikację i dzielenie się wiedzą.
- Dzięki temu zespół unika kosztownych błędów jeszcze przed ich powstaniem.
Jaki jest najbardziej popularny format zapisu historii użytkownika (User Story)?
- „Jako [rola], chcę [cel do osiągnięcia], aby [uzyskać wartość biznesową].”
- Po tym formacie często następują kryteria akceptacji (acceptance criteria).
Jakie są trzy kluczowe aspekty historii użytkownika?
- Card – forma zapisu (np. fiszka, narzędzie do rejestracji user story),
- Conversation – dyskusja na temat sposobu użytkowania oprogramowania,
- Confirmation – kryteria akceptacji (acceptance criteria).
Co reprezentuje historia użytkownika?
- Funkcjonalność (feature) istotną dla użytkownika lub nabywcy systemu.
- Opisuje wartość, jaką dana funkcja ma dostarczyć interesariuszowi.
Jaką korzyść daje pisanie user stories w trybie kolaboracji?
Zespół może uzyskać wspólną wizję tego, co należy dostarczyć, biorąc pod uwagę trzy perspektywy:
* biznes (właściciel produktu, interesariusze),
* rozwój (programiści),
* testowanie (testerzy).
Jaki akronim służy do opisu dobrej historii użytkownika?
INVEST:
* Independent (niezależna),
* Negotiable (podlegająca negocjacjom),
* Valuable (wartościowa),
* Estimable (możliwa do oszacowania),
* Small (niewielkich rozmiarów),
* Testable (testowalna).
Czym są kryteria akceptacji (acceptance criteria)?
- Warunki, które implementacja user story musi spełnić, by została zaakceptowana przez interesariuszy.
- W praktyce stanowią testowe (lub testowalne) aspekty, które należy zweryfikować.
W jaki sposób używa się kryteriów akceptacji?
- Definiują zakres historii (co jest, a co nie jest zawarte),
- Pozwalają osiągnąć porozumienie wśród interesariuszy,
- Opisują scenariusze pozytywne i negatywne,
- Są podstawą do testów akceptacyjnych,
- Umożliwiają bardziej dokładne planowanie i szacowanie.**
Jakie są najpopularniejsze formaty zapisu kryteriów akceptacji w user stories?
1. Format scenariuszowy: „Given/When/Then” (podobnie jak w BDD – Behavior-Driven Development),
2. Format reguł: punktowana lista weryfikacyjna (bullet points) lub zestawienie wejść/wyjść w formie tabelarycznej.
Czym jest ATDD? (Acceptance Test Driven Development)
- To podejście „najpierw test” (test-first), w którym przypadki testowe powstają przed implementacją user story.
- Tworzone są przez członków zespołu, reprezentujących różne perspektywy: użytkownicy, deweloperzy, testerzy, i opisują oczekiwane zachowanie funkcji.
Jakie są kroki w podejściu ATDD?
1. Warsztat specyfikacyjny (specification workshop), gdzie user stories i kryteria akceptacji są analizowane, omawiane, spisywane przez zespół. W tym momencie należy wyjaśnić wszelkie niejasności i usunąć defekty w wymaganiach.
2. Pisanie przypadków testowych (Write Test Cases). Są one oparte na kryteriach akceptacji i stanowią przykłady pokazujące, jak oprogramowanie ma działać.
Czy pierwsze pisane i wykonywane przypadki testowe są zazwyczaj pozytywne czy negatywne? Na czym polega różnica?
- Zwykle pozytywne przypadki jako pierwsze, potem negatywne, a następnie testy innych charakterystyk niefunkcjonalnych.
- Testy pozytywne weryfikują oczekiwaną funkcjonalność bez wyjątku (tzw. golden path).
- Testy negatywne sprawdzają sytuacje błędne, wyjątki i nietypowe zdarzenia (to, co nie jest „złotą ścieżką”).
Czy wiele przypadków testowych powinno dotyczyć tych samych cech historii użytkownika?
- Nie. Żaden test nie powinien dublować innego w zakresie dokładnie tych samych aspektów historii.
- Każdy przypadek testowy powinien wnosić odrębną wartość i sprawdzać inny wariant/scenariusz/kryterium.
Jaki zakres powinny zapewnić przypadki testowe dla danej user story?
- Testy muszą obejmować wszystkie cechy historii i nie powinny wykraczać poza nią.
- Jednakże kryteria akceptacji mogą szczegółowo opisywać niektóre zagadnienia (np. scenariusze błędów).
- Pamiętajmy: żaden test nie powinien opisywać dokładnie tych samych aspektów co inny.
Jaką korzyść daje zapisywanie przypadków testowych w formacie obsługiwanym przez framework do automatyzacji?
- Deweloperzy mogą automatyzować te testy, implementując funkcje zgodne z user story.
- Testy akceptacyjne stają się wówczas „wykonywalnymi wymaganiami” — można je uruchamiać wielokrotnie w trakcie rozwoju, co wspiera ciągłą weryfikację.