Jak być lepszym od 99% testerów?
Czyli co robić, by codziennie stawać się lepszym testerem.
Przyznaję się. Tytuł tego wpisu jest nieco clickbaitowy. Ale skoro Cię tu złapałem, daj mi jeszcze chwilę - zobaczysz, że z tekstu wyniesiesz wartościowe porady. Niezależnie od tego, czy pracujesz już w branży jako tester, czy jesteś na drodze do zdobycia tego stanowiska - obiecuję, że artykuł będzie dla Ciebie pożyteczny.
Wokół nas dalej krąży wiele mitów o testowaniu. A jednym z najbardziej szkodliwych jest mylne przekonanie o prostocie testów. Bywa, że praca testerów jest niedoceniana i uznawana za najmniej prestiżową w IT. To prowadzi do obniżonej samooceny świeżo upieczonych testerów i zmniejszonej chęci do rozwijania swoich umiejętności. Tworzy się więc błędne koło - po co się starać i uczyć skoro zostałem już zaszufladkowany? W konsekwencji wielu testerów pozostaje stereotypowymi klikaczami.
Ale nie tędy droga. Ciągły rozwój zdolności testerskich ma sens. Co więcej, to jedyny sposób na skuteczną walkę z mitami i ugruntowanie się na pozycji specjalisty, bez którego zespół nie wyobraża sobie pracy (wiem, wiem, nie ma ludzi niezastąpionych, ale warto być ciężko zastępowalnym). Zapraszam więc do listy aspektów, którym należy poświęcić szczególną uwagę, by codziennie stawać się lepszym testerem.
Zrozumienie wagi wiedzy domenowej
Na blogu wielokrotnie męczyłem Was o istocie wiedzy domenowej. Dlaczego? Bo uważam, że rozbudowana wiedza biznesowa jest najszybszą drogą do wyróżnienia się. Jeśli rozumiesz po co tworzona jest dana aplikacja i jakie są potrzeby klientów, to możesz uczestniczyć w procesie wytwarzania oprogramowania od samego początku. Nie jesteś wtedy obecny(a) wyłącznie na końcowym etapie, gdzie testowane są gotowe zmiany. Jesteś w procesie od podstaw, a swoimi propozycjami i uwagami realnie wpływasz na ostateczny wygląd produktu.
Jak rozwijać wiedzę domenową? Na początek standardowa nauka tematów związanych z branżą, dla której tworzycie oprogramowanie. Nie twierdzę, że jeśli pracujesz przy aplikacji do faktur, to musisz studiować księgowość, ale warto znać podstawowe pojęcia. Po opanowaniu fundamentów, świetną sprawą są spotkania z klientami, na których poznasz problemy i perspektywę użytkowników. Znając codzienne bolączki klientów, nie tylko zwiększysz udział w projektowaniu zmian, ale też sprawisz, że Twoje testy będą bardziej efektywne.
Świadome podejście do testów
O świadomym podejściu do testów pisałem już w osobnym wpisie - 3 kroki przed testami. Przypomnę więc tylko, że mimo ciągłego nacisku na błyskawiczne dostarczanie zmian klientom, do testów każdej nowej funkcjonalności trzeba się odpowiednio przygotować - nawet kosztem (uwaga, managerowie będą krzyczeć) wydłużonego czasu poświęconego na testowanie.
Nie zawsze muszą to być szczegółowe przypadki testowe, ale warto odpowiedzieć na trzy kluczowe pytania:
Co zmieniono w aplikacji?
Dlaczego wprowadzono zmiany?
Na co wpływają modyfikacje?
Przede wszystkim musicie dowiedzieć się, co zostało zmienione w aplikacji. Szczegółowa wiedza pozwoli Wam lepiej zrozumieć modyfikacje, a co za tym idzie - skuteczniej przeprowadzić testy. Równie ważna jest świadomość celu wprowadzania zmian. Oprogramowania raczej nie modyfikuje się bez powodu - za zmianami stoją realne problemy lub potrzeby użytkowników. A na końcu musicie się dowiedzieć, na co wpływają wprowadzane zmiany. Wyznaczcie elementy aplikacji, na które mogły wpłynąć modyfikacje i upewnijcie się, że działają one prawidłowo.
Rozwijanie wiedzy technicznej
Równie ważne jest ciągłe rozwijanie wiedzy technicznej. Oczywiście, zadaniem testerów nie jest łatanie bugów w kodzie, ale rozumienie (przynajmniej w części) przyczyny błędów i możliwość pomocy programistow w analizie problemów jest niezwykle cenioną umiejętnością. Dobrą praktyką jest przeglądanie pull requestów (jeśli macie do nich dostęp) - nikt nie wymaga od Was pełnego zrozumienia, ale obeznanie z kodem ułatwia identyfikację błędów.
Polecam też zainteresować się potrzebami w zespole. Może przydałyby się testy API? A może warto zapoznać się z bazami danych? Co ważne, nie chodzi mi tu o wyrywkową naukę losowych tematów. Uczcie się tego, co przyda Wam się w pracy. Takie uczenie się "na zapas" często jest stratą czasu, bo nieużywana wiedza szybko ucieka.
Słów kilka o testach automatycznych
Będąc w temacie wiedzy technicznej, poruszę też kwestię testów automatycznych. Nie będę powtarzał banałów, że automaty są ważne. Zdają sobie z tego sprawę chyba już wszyscy i choć nie wierzę, że całkowicie wyprą one testy manualne, to faktem jest, że automaty niezwykle podnoszą poziom utrzymania jakości.
Ale skuteczne są wyłącznie dobrze napisane testy automatyczne. Te złe wręcz utrudniają pracę i zamiast zapewniać większą pewność w czasie testów regresji, to zmuszają do przeglądania losowo niedziałających przypadków testowych. Warto podejść do tematu kompleksowo stosując dobre praktyki (choćby w walce ze wspomnianymi flaky testami) i rozumiejąc używany framework. Wróciliśmy więc do ciągłego rozwijania umiejętności technicznych i poznawania nowych rozwiązań zamiast bezmyślnego kopiowania.
Dokumentowanie pracy jest naprawdę ważne
I wcale nie chodzi mi o oficjalną dokumentację projektową - na to pewnie nie masz wpływu, a nawet jeśli masz, to trochę potrwa zanim ujrzysz konkretny dokument. To co możesz zrobić już teraz, to komentowanie wszystkich przetestowanych zmian. Nie wiem z czego korzystacie, ale zakładam, że używacie jakiegoś narzędzia do nadzorowania pracy - jest więc tam pewnie miejsce do komentowania zleceń.
Jasne, w niektórych organizacjach nie ma mowy o akceptacji testów bez przejścia przez rozpisane wcześniej przypadki testowe. Ale często zdarza się, że w zespole jest jeden tester, więc na pobłażliwe podejście do raportów przymyka się oko. Są jednak przynajmniej 3 powody, by podejść do tego na poważnie:
Potwierdzenie wykonanej pracy - opis przebiegu testów jest głównym dowodem pracy testerów manualnych. Zapisz, jakie ścieżki testowałeś(aś) lub dodaj zrzuty ekranu pokazujące zmiany. Opisz swoje wątpliwości i poinformuj o problemach, na które trafiłeś(aś) podczas testów. To zwiększa zaufanie do Twoich testów i buduje Twój wizerunek eksperta.
Możliwość powrotu do raportów z testów - raportowanie testów pozwala też szybko wrócić do wcześniejszych problemów. Zdarza się, że do kodu wracają "stare" bugi - a znając szczegóły poprzednich testów, łatwiej jest zidentyfikować problemy.
Inicjacja dyskusji w zespole - komentarze po testach często rozpoczynają dyskusję w zespole. Przykładowo, okazuje się, że choć dana funkcjonalność działa zgodnie z założeniami, to nie jest ona przyjazna w użyciu. Pisz o wszystkich wszystkich swoich wątpliwościach. Prosta sprawa, a stawia Cię w roli osoby rzeczywiście dbającej o jakość.
Prawidłowe zgłaszanie błędów
Temat dość oczywisty, ale postanowiłem go przypomnieć, bo i doświadczonym testerom zdarza się pisać nieprecyzyjne zgłoszenia błędów. Chcesz być dobrym testerem? Musisz pisać świetne raporty bugów. Nie będę wchodził w szczegóły, bo szybkie podsumowanie jest widoczne na obrazku powyżej, a po rozwinięcie tematu zapraszam do osobnego wpisu - Jak poprawnie zgłaszać błędy?.
Aktywny udział na spotkaniach
Istotny jest też aktywny udział na spotkaniach. Wykorzystaj wiedzę domenową, znajomość aplikacji (bo przecież wielokrotnie ją testowałeś(aś)) czy wykryte wcześniej błędy. Nie bój się odzywać na spotkaniach i zawsze zgłaszaj swoje wątpliwości. Perspektywa testerów jest nieco inna niż programistów - w szczególności, gdy posiadasz szeroką wiedzę biznesową, bo wtedy Twoje podejście jest bliskie realnym użytkownikom.
Jak to wszystko ogarnąć?
Dotarliśmy do końca. Trochę tego wyszło, a to pewnie tylko część sposobów na zostanie lepszym testerem. Rozszerzanie wiedzy domenowej, zdobywanie nowych umiejętności technicznych czy odpowiednie planowanie testów. Łatwo powiedzieć, ale jak na to wszystko znaleźć czas? Przecież w kolejce czeka ogrom testów do wykonania. No cóż, nie ma prostego rozwiązania - systematyczna nauka doprowadzi Cię do celu. Nawet krótkie, ale regularne sesje nauki dają ogromne efekty.
Przypomnę też, że od niedawna prowadzę konsultacje. Pierwsze spotkanie jest całkowicie darmowe - w paru zdaniach opowiem, jak mogę Ci pomóc. Jeśli więc masz jakiś problem do rozwiązania lub chcesz się dowiedzieć, jak zostać testerem, to odezwij się do mnie na maila (kontakt@rwasik.pl) lub na social mediach. Na końcu tej strony znajdziesz też formularz kontaktowy.
A Ty jak rozwijasz swoje umiejętności testerskie? Daj znać poniżej:
Chcesz być na bieżąco? Zapisz się do newslettera!
W każdy czwartek o 10:00 wyślę Ci wiadomość o moich nowych wpisach. Oprócz tego, dorzucę ciekawe artykuły, filmy czy inne materiały ze świata IT - oczywiście, związane głównie z testowaniem oprogramowania. To świetny sposób na naukę i ciągłe zdobywanie wiedzy.
Co więcej, otrzymasz darmowego ebooka - checklisty dla testerów. W środku znajdziesz listy ułatwiające testy użyteczności, funkcjonalności czy zakłóceń w aplikacjach webowych i mobilnych.
Polecane wpisy:
Sprawdź też moje social media:
Dziękuję, że czytasz mojego bloga!
Masz jakieś pytania? Z chęcią odpowiem :)