Testerka i tester oprogramowania: ich rola w tworzeniu aplikacji

Share
Share

Contents:

  1. Tester oprogramowania: na czym polega ta praca? 

    1. Rodzaje testowania oprogramowania
  2. Jak wygląda praca testera oprogramowania w Inwedo?

    1. Testowanie aplikacji krok po kroku
    2. Rola zadawania pytań a zgodność z zamysłem klienta
    3. Testowanie i jakość oprogramowania
    4. Rola zadawania pytań a zgodność z zamysłem klienta
  3. Dobry tester, dobra testerka, czyli kto?

    1. Jakie są najważniejsze cechy testera oprogramowania?
  4. Komunikacja pomiędzy zespołem QA a developerami

Na temat roli testerki czy testera w zespole zrodziło się dużo mitów. Jednym z nich jest ten, że to rola najbardziej problematyczna w zespole. Drugim: że przez jego/jej pracę opóźnia się moment przekazania klientowi gotowego produktu. Ktoś, kto powiela tego rodzaju stereotypy, być może nie zdaje sobie sprawy, jak wygląda praca QA (Quality Assurance). Nie dostrzega także, że działania testerskie przynoszą więcej dobrego niż złego. W długofalowej perspektywie ważymy na szali dwa scenariusze: przesunięcie terminu oddania prac lub… stratę klienta. Postanowiłam więc przeanalizować, na czym tak naprawdę polega testowanie oprogramowania. I kto może zostać testerką lub testerem, nawet zanim uzyska twarde umiejętności.

Tester oprogramowania: na czym polega ta praca? 

Krzywdzącym mitem jest przeświadczenie, że praca testera manualnego opiera się na klikaniu aplikacji, w związku z czym jest to praca dla każdego. Bo co może być w tym trudnego? 

Wbrew pozorom testowanie aplikacji nie opiera się na bezmyślnym klikaniu w poszczególne pola lub przyciski w poszukiwaniu błędów. To przemyślane działanie skupiające się na wyeliminowaniu jak największej ilości błędów z zachowaniem wartości biznesowej projektu.

Rodzaje testowania oprogramowania

Ze względu na sposób wykonywania testów można wyróżnić dwa podstawowe rodzaje testowania oprogramowania: testowanie manualne oraz testowanie automatyczne. W swoim tekście skupiam się na testowaniu manualnym, które zamiennie nazywam także QA. Jest mi ono zdecydowanie bliższe i bardziej mnie pasjonuje. Świadomie nie opisuję drugiego rodzaju testowania oprogramowania, bo to temat na kolejny tekst. Żeby ułatwić zrozumienie mojej roli, podaję przykłady ściśle związane ze specyfiką i sposobem podejścia, jakie mamy w Inwedo.

 

scenariusze-testowe-przy-użyciu-narzędzia-Jira-screen-Inwedo
Wtyczka do narzędzia Jira, z której korzystamy podczas pisania scenariuszy testowych.

 

Jak wygląda praca testera oprogramowania w Inwedo?

W Inwedo dużą wagę przywiązujemy do jakości i przetestowania wytwarzanych przez nas produktów. Każdy projekt posiada własnego testera, a w naszym przypadku testerkę – bo nasz zespół składa się w tej chwili z samych dziewczyn. Każda z nas dba o to, by efekt naszych działań spełniał zarówno oczekiwania klienta, jak i zachował nasz standard jakości. W Inwedo testerka włączana jest w projekt już na etapie warsztatów Discovery (inicjujących projekt) – dzięki temu udaje się uniknąć niedopowiedzeń. Dodatkowo obecność testera na spotkaniach z klientem umożliwia dobre rozplanowanie procesu testowania już na starcie.

Tester oprogramowania ma inne spojrzenie na wytwarzane oprogramowanie niż programista czy Product Ownerka/Owner.

Nie chodzi tutaj o licytowanie się, które spojrzenie jest lepsze bądź gorsze. Jest ono po prostu inne – dostrzeganie zagrożeń, zadawanie trudnych pytań (liczył ktoś kiedyś ile razy podczas spotkania pada pytanie “A co jeśli…?”), zwracanie uwagi na wpływ zadania na inne elementy systemu. Właściwie już podczas pierwszych spotkań organizacyjnych pojawiają się pierwsze scenariusze testowe, które mogą pomóc programistom w estymowaniu ich prac oraz zawrócić uwagę na newralgiczne miejsca.

Testowanie aplikacji krok po kroku

Praca testerki w projekcie wykonywana jest równocześnie z pracą programistów. Dzięki temu możliwe jest szybkie wychwycenie błędu i tym samym oszczędza się czas i pieniądze naszych klientów.

Na początkowym etapie, kiedy aplikacja jeszcze fizycznie nie istnieje, powstają wstępne scenariusze testowe na podstawie dokumentacji technicznej, AC (acceptance criteria – kryteria akceptacji) do poszczególnych zadań czy też wdrażamy nowe narzędzie wspomagające pracę. Przygotowanie scenariuszy czy AC na tym etapie pozwala zachować względny spokój w momencie pojawienia się realnych zadań do testowania. Kryteria akceptacji pomagają też programistom realizować poszczególne zadania – wskazują na miejsca lub działanie poszczególnych elementów w systemie, o których należy pamiętać w trakcie prac.

Rola zadawania pytań a zgodność z zamysłem klienta

W momencie, gdy aplikacja jest już fizycznie gotowa do testowania, zadaniem testerki czy testera oprogramowania jest sprawdzenie poprawności działania. Również pod kątem zgodności biznesowej. Nie należy się tym przerażać – w razie wątpliwości, czy coś działa zgodnie z założeniami, należy zgłosić się do swojego Product Ownera czy Ownerki. W ostateczności do klienta.

Nie warto bać się zadawania pytań czy wypowiadania na głos swoich wątpliwości – pozwoli to uniknąć niedopowiedzeń i błędów.

Dobór narzędzi i metod testowania wybiera w Inwedo testerka. To ona najlepiej wie, jakie metody sprawdzą się w konkretnym projekcie i co pozwoli na wyeliminowanie jak największej liczby defektów.

Testowanie i jakość oprogramowania

Kiedy kończy się testowanie? Tak naprawdę nigdy. Zawsze można znaleźć coś, co można poprawić lub zmienić. Ale przecież testowanie nie może trwać w nieskończoność!  Dla mnie momentem, w którym mogę powiedzieć, że oprogramowanie jest gotowe do oddania klientowi, jest spełnienie AC (acceptance criteria) wszystkich zadań przeznaczonych na daną iterację.

 

podstawowe-narzędzie-testera-dla-chrome-dev-tools-pozwala-określić-podstawowe-błędy-strony-w-przeglądarce
DevTools – to narzędzie wbudowane w przeglądarkę internetową. Pozwala nam wychwycić problemy powiązane z requestami, zbadać elementy frontendowe. To podstawowe narzędzie zespołu testerek lub testerów. Uruchamiane w przeglądarce poprzez kliknięcie w f12.

 

Dobry tester, dobra testerka, czyli kto?

O testowaniu, testerach, branży IT pojawiło się wiele mitów. Jeden największy i często bardzo krzywdzący jest ten, że tester oprogramowania to zwykły “klikacz”, ewentualnie “niszczyciel” całej pracy developerskiej (albo sabotażysta, ale to jest historia na inny artykuł 😉 ).

Osobiście się z tym nie zgadzam. O kim więc można powiedzieć, że jest dobrym testerem? Czy taka osoba ma jakiś “specjalny” zestaw cech, którymi musi się wyróżniać? A może właśnie wręcz przeciwnie? Testować może każdy i to nie jest nic trudnego? Przedstawię tutaj swoją subiektywną ocenę tego, kto może zostać testerką lub testerem i jakie cechy są przydatne w tej pracy.

Jakie są najważniejsze cechy testera oprogramowania?

Dla osoby postronnej testowanie faktycznie może wyglądać jako zwykłe “klikanie” lub psucie tego, co wydaje się nie do popsucia. W rzeczywistości osoba sprawdzająca aplikację pod względem poprawności wykonania zadania ma przed sobą odpowiedzialne zadanie:

musi sprawdzić czy efekt końcowy jest zgodny z początkowymi założeniami i czy może zostać zaakceptowany przez klienta.

  1. Niewątpliwie najważniejszą cechą testera i testerki jest spostrzegawczość – często zdarza się, że pierwszymi zadaniami są te typowo frontendowe. Dlatego umiejętność dostrzeżenia nieprawidłowości jest bardzo przydatna. Dobrym ćwiczeniem rozwijającym tę cechę są wszelkiego rodzaju zabawy w stylu “znajdź 10 różnic na obrazku”, wyłapywanie zmian na osiedlu, memory itp. Może się to wydawać zabawne, ale ćwicząc mózg w ten sposób stajemy się bardziej spostrzegawczy. Już po kilku rundach tego rodzaju rozrywki można zauważyć, że wcześniej wyłapujemy zmiany i dostrzegamy różnice.
  2. Kolejną cechą jest dociekliwość – naprawdę dobry tester oprogramowania musi zadawać dużo wnikliwych pytań i przede wszystkim nie bać się ich zadawać. Czasami lepiej jest zadać o jedno więcej “A co jeśli…?”, niż pominąć jakiś aspekt działania systemu. Wartościowe jest też patrzenie na przedmioty jak małe dziecko, które rzadko przecież korzysta z rzeczy zgodnie z ich przeznaczeniem. Chodzi o zainspirowanie się tym podejściem i testowanie oprogramowania w sposób nieoczywisty.
  3. Uważam, że równie ważne jak umiejętności twarde, jest umiejętność pójścia na kompromis. Myślę, że jest to przydatne właściwie w każdej pracy zespołowej. Czasami warto przymknąć oko na ten jeden piksel za dużo (oczywiście, jeśli klient dopuszcza takie odchylenia) lub okroić funkcjonalność z bajerów na rzecz całościowego spojrzenia na projekt.
  4. Z kompromisem nieodmiennie łączy się umiejętność współpracy. Tak jak napastnik sam nie wygra meczu, tak sam developer czy testerka nie ukończy projektu. Należy wziąć to pod uwagę za każdym razem, gdy pojawia się moment stresowy i napięcie w projekcie rośnie. Tylko wspólnymi siłami udaje się dobrze realizować zadania.
  5. Przydatną umiejętnością w testerskiej pracy jest asertywność – pomocna zwłaszcza w chwili skumulowania się wszystkich deadline’ów świata w jednym terminie. Tester oprogramowania musi umieć odmawiać i nie chodzi tutaj o bycie złośliwym czy blokowanie projektu. Warto realnie oceniać swoje siły i mieć na uwadze również własne dobro. Zmęczony tester to zły tester i o tym trzeba pamiętać.

W moim odczuciu powyższy zestaw cech kompetencji miękkich jest niezwykle ważny w pracy testerki i testera. Oprócz nich przydatne są umiejętności techniczne takie jak programowanie, pisanie zapytań SQL czy też umiejętność testowania API przez Postmana. Ale to już temat na drugą część 😉 Jeśli jest tu ktoś, kto zastanawia się nad zmianą branży na IT, mimo braku kierunkowego wykształcenia, polecam poszukać portali i społeczności, które pomagają w dokonaniu zmiany zawodowej. Świetnym przykładem jest społeczność pomagająca kobietom wejść do branży IT, skupiona wokół programu mentorskiego Dare IT.

Komunikacja pomiędzy zespołem QA a developerami

Czasami moi znajomi spoza świata IT pytają mnie, na czym polega moja praca. Sprowadza się to najczęściej do stwierdzenia: “Czyli wytykasz ludziom błędy?”. Po moim potwierdzeniu pojawia się następne pytanie: “To jak ty się dogadujesz z programistami? Pewnie masz z nimi wieczną spinę, bo przecież mało kto lubi, kiedy mu się wytyka błędy?”. Otóż …nie. 

W Inwedo każdy z nas działa tak, aby swoją pracą wesprzeć innych. Potrafimy się ze sobą komunikować – zwłaszcza teraz, w dobie pandemii i pracy zdalnej, jest to niezwykle cenna umiejętność.

Niejednokrotnie przekonaliśmy się, że tylko wspólnie jesteśmy w stanie osiągnąć założony cel – dostarczenie klientowi dobrej jakości produktu. Tym samym potrafimy wspierać się wzajemnie w swoich działaniach. W gorących momentach wspólnie szukamy kompromisu, który będzie jak najbardziej opłacalny dla klienta.

A kiedy emocje wchodzą na wysoki poziom i stres daje o sobie znać, rzucamy sucharami lub memami – w ten sposób rozładowujemy atmosferę i możemy powrócić do poszukiwania sensownego rozwiązania. Na własne potrzeby nazywamy to podejście “Empower others” i ta wartość niejednokrotnie pomogła nam rozbroić potencjalne konflikty na starcie.

W procesie wytwarzania oprogramowania tester lub testerka jest tak samo ważna, jak programista i programistka. Dzięki wspólnej pracy jesteśmy w stanie stworzyć projekt, który przyniesie korzyści dla naszych klientów i sprawi, że będą zadowoleni.

Jeśli zainteresowała Cię praca testerki lub testera w Inwedo, to dobrze się składa – szukamy nowej osoby do zespołu! Więcej szczegółów w naszej zakładce Careers:

Aplikuj! inwedobutton