Cztery typy testerów oprogramowania

16 września 2017 | Słowotok, czyli felietony

Jak myślicie, czy jako testerzy jesteśmy tacy sami, a każdy tester jednakowo sprawdza się w różnym środowisku? Zrobiłam mały risercz: w polskich Internetach nic nie znalazłam, ale za to zachodni koledzy są troszkę przed nami. Raphael Gabbarelli opisał testerów,z którymi przyjdzie nam pracować na projekcie, a troszkę szerzej typy testerów opisał James Bach.

Mnie również nie umknęło, że niektórzy z nas przejawiają ponadprzeciętne umiejętności w pewnych aspektach testowania. Pokusiłam się więc o zrobienie własnej, nieco z przymrużeniem oka, klasyfikacji.

Bug hunter

Wytrawny łowca, błędy znajdzie nawet w wykałaczce. Wirtuoz zniszczenia, wpada na projekt i od razu znajduje 3 bugi, których nikt wcześniej nie zauważył, a w dodatku takie, które można odtworzyć tylko na jednej przeglądarce i na jednej wersji systemu Android. Przyczajony niczym kuna w krzakach wyczekuje aż nadarzy się okazja na atak. Gdy w końcu pojawia się pierwsza ofiara testowanie zaczyna od kilku kliknięć w przycisk i sprawdzeniu, co się stanie. Wciska raz i nic, drugi raz i też nic i wtedy wstępuje w niego demon zagłady. Strzela palcami niczym pianista i zaczyna swój koncert. Uderza we wszystkie przyciski, kręci urządzeniem, wyłącza i włącza co tylko się da, aż w końcu jest – długo wyczekiwany i “upragniony” przez wszystkich programistów bug, którego nikt wcześniej nie widział i nigdy się nie spodziewał. Technikę “button mashing” (aka Konami code) opanował do perfekcji. Jeśli zastanawiacie się jak on to robi, odpowiedź jest prosta – tego nie da się nauczyć z tym trzeba się urodzić. Wymyśla najbardziej niebanalne przypadki testowe i jest zawsze dwa kroki przed użytkownikiem. To również ten sam kolega załatwi darmową Colę z automatu połowie firmy, dostanie zniżkę na ciuchy w sklepie Internetowym albo zagra w Sapera w KFC. A z bug-bounty spokojnie mógłby wyżywić 4-osobową rodzinę.

Wynalazca

Gdyby nie był testerem, to z całą pewnością zostałby fizykiem jądrowym albo wynalazcą leku na raka. Większość czasu upływa mu na rozmyślaniu czy coś da się zrobić szybciej, łatwiej, bardziej wydajnie. Można go spokojnie nazywać głównym inżynierem (albo z hiszpańskiego: Senior Developerem). Pisze i rozbudowuje frameworki, z których potem wszyscy korzystamy. Jest na bieżąco ze wszystkimi nowinkami, a jego projekt ma najbardziej rozbudowane testy automatyczne, pokrywające największą ilość kodu. Ma również największą wiedzę z programowania i to do niego zwracamy się z nietrywialnymi problemami, które… dla niego są oczywiste. Jeśli tylko ma możliwość zrobić code review, to idzie jak dzik w pokrzywy i nic mu nie umknie. Po godzinach również skupia się na ułatwianiu sobie i najbliższym życia: jego dom jest najbardziej w okolicy nafaszerowany technologią, z której większość sam wymyślił i opracował.

Perfekcjonista

Lubi mieć wszystko dobrze uporządkowane i udokumentowane. Do każdego “ficzera” ma przypisany odpowiedni przypadek testowy. Dobrze się czuje tylko wtedy, kiedy pokrycie testami wynosi 100%. Jego perfekcjonizm znajduje ujście w liczeniu pikseli: nie umknie mu zbyt gruby border dla przycisku czy niewyrównana czcionka. Jego projekt to najczęściej ten, który stawiany jest za wzór wykorzystania narzędzi i prowadzenia dokumentacji. Perfekcjonista ma zwykle największą wiedzę teoretyczną, bez zająknięcia powie definicję wszystkich 104 rodzajów testów. Hobbystycznie w supermarketach domyka lodówki i przestawia produkty tak, by stały etykietą do przodu. A ułożenie kabli jego komputera to zwykle miniaturowe dzieło sztuki.

Pionier

Mistrz survivalu, który wpada na nowy projekt i od razu zaczyna grube porządki. Najlepiej wie jak przetrwać w najgorszych, surowych warunkach. Szybciutko stawia środowisko testowe, tworzy bazę pod dokumentację, ustala proces testowy: kto, jak, dlaczego. Zna wszystkich w firmie, wszyscy znają jego. Dzięki temu w mgnieniu oka potrafi załatwić potrzebne uprawnienia, brakujące urządzenia a jeśli trzeba to mleko sojowe i kawę z Panamskiej plantacji Hacienda La Esmeralda.  Metody i techniki dobiera z tylko jemu charakterystyczną wirtuozerią – nie boi się eksperymentować z nowinkami, które zwykle pasują idealnie do potrzeb projektu. Tworzy doskonałe przedpole testerowi-perfekcjoniście przecierając mu szlaki niczym pierwsi odkrywcy. Lubi przygody, więc w wolnym czasie podróżuje z plecakiem i namiotem po najbardziej odległych zakątkach globu, wyszukując przy tym najlepsze okazje na loty i noclegi.

Myślicie, że jesteście którymś z powyższych testerów? Czy raczej wpisujecie się po trochę w każdy rodzaj? A może znacie jeszcze jakieś inne typy?

Najnowsze wpisy

CzytanQA: Steve Jobs

„Steve Job” autorstwa Waltera Isaacsona to dla mnie książka wyjątkowo z dwóch powodów. Po pierwsze, dostałam ją od bliskiej mi osoby. A po drugie dlatego, że to od niej zaczęło się moje zamiłowanie do biografii, reportaży i innych książek non-fiction.

CzytanQA: Labirynty Scruma

Scrumie książek napisano sporo. Dzisiejsza książka – Labirytnty Scruma – jest nieco inna, autor podchodzi do tematu od strony bardziej… problematycznej.

#3 Antywzorce w testowaniu oprogramowania: Korzystanie z niewłaściwego rodzaju testów

Wszyscy wiemy, jak z grubsza wygląda piramida testów: na dole jednostkowe, potem integracyjne, a szczytu akceptacyjne. Oznacza to po prostu tyle, że im wyżej w piramidzie, tym testów powinno być mniej… Ale mniej, to znaczy ile?

Pin It on Pinterest

Podoba Ci się wpis?

Podziel się ze znajomymi!