Czym jest testowanie w parach, a czym testowanie w tłumie?

Czym jest testowanie w parach, a czym testowanie w tłumie?
Jeśli nie spotkaliście się jeszcze z pojęciem testowania przez tłum (ang. mob), to na pewno spotkaliście się z pojęciem testowania w parach. Można więc się domyśleć, że w mob testing zamiast dwóch osób, testuje cały zespół.

Pair testing - testowanie w parach

Programowanie ekstremalne, czyli XP, zostało opracowane przez Kenta Becka pod koniec lat 90. Jedną z praktyk zawartych w XP jest programowanie w parach. W podejściu tym, dwóch programistów pracuje razem na tym samym komputerze. Jednym z nich jest „kierowca” (lub pilot), mający kontrolę nad klawiaturą i piszący kod. Drugi to „nawigator” (lub drugi pilot), który przegląda kod napisany przez kierowcę, rzuca mu wyzwania, sugeruje alternatywy i ulepszenia. Role są często zmieniane tak, aby jedna osoba nie przejmowała całej sesji, podczas gdy druga zbyt komfortowo rozsiada się na miejscu pasażera. Podobne podejście pojawiło się w przypadku testowania. Dwóch testerów lub być może tester i programista, pracują przy jednej klawiaturze, przyjmując rolę kierowcy i nawigatora. Podobnie jak w przypadku programowania w parach, role są często zamieniane podczas każdej, trwającej 60 do 90 minut, sesji testowania w parach.

Kiedy dwie osoby pracują razem, generują więcej pomysłów, co sprawia, że testowanie w parach świetnie nadaje się do testowania eksploracyjnego. Może być używane zarówno w testach funkcjonalnych, testach wydajnościowych, testach bezpieczeństwa, jak i w innych typach testów.

Gdy jedna osoba wyjaśnia swoje założenia oraz konfrontuje je z drugą, każdy uczestnik lepiej rozumie własne pomysły i wpada na nowe. 

Mob testing – testowanie przez tłum

Mob programming przenosi programowanie w parach na wyższy poziom. Programowanie przez tłum po raz pierwszy udokumentowane zostało przez Woody'ego Zuilla i rozszerzyło współpracę między parą na cały zespół, który wspólnie pracuje nad opracowaniem funkcji. Podobnie jak w przypadku parowania, jedna osoba steruje klawiaturą, ale reszta zespołu siedzi w tym samym pomieszczeniu, pełniąc rolę nawigatora. Po około 15 minutach role zostają zamienione, a jeden z nawigatorów zostaje kierowcą. 

Maaret Pyhäjärvi, jedna z ciekawszych postaci w nowym pokoleniu testerskiego świata, uznała, że testerzy również mogą być częścią zespołu zajmującego się nawigacją. Doszła też do wniosku, że dla testerów skuteczne jest posiadanie własnych sesji testowych, wzorowanych na programowaniu przez tłum.

Takie sesje testowe zwykle koncentrują się na testowaniu części aplikacji i mogą obejmować testy eksploracyjne, a również automatyzację testów. Ta technika działa dobrze, gdy zespoły testowe mają określone zadania zorientowane na testowanie. Chociaż zespoły programistyczne zazwyczaj spędzają większość tygodnia na wspólnej pracy, Pyhäjärvi radzi, by testów w tłumie używać głównie do szkolenia i jako krótkie sesje „oderwania się” od zwykłego testowania. 
 
Z czasem okazało się, że testowanie przez tłum ma również dużą wartość dla budowania całych zespołów oraz jednostek w zespole. Sesja testowa z tłumem to świetny sposób, aby pomóc introwertycznym członkom zespołu nauczyć się, kiedy i jak mówić oraz jak wnosić swój wkład. Jest to także nauka dla ekstrawertycznych testerów, kiedy zrobić krok w tył i pozwolić, aby głosy innych członków zespołu zostały usłyszane. 

Źródła:
http://www.testingeducation.org/a/pairs.pdf
https://www.linkedin.com/pulse/testing-techniques-agile-pair-mrs-rama/
http://katrinatester.blogspot.com/2016/06/benefits-of-cross-team-pair-testing-in.html
https://medium.com/@maaret.pyhajarvi/mob-testing-how-to-enable-better-habits-and-skills-16945416a0f6
https://techbeacon.com/app-dev-testing/pairs-mobs-coffee-breaks-how-social-software-testing-can-benefit-your-org

To powinno Cię zainteresować