Dobry tester oprogramowania, czyli kto?

kwi 23, 2022

Dobry tester oprogramowania

Tester oprogramowania to osoba odpowiedzialna za weryfikowanie jakości tworzonej aplikacji – pod kątem poprawności działania, ale także spełniania przyjętych na początku projektu założeń. Odpowiada za poszukiwanie luk, sprawiających, że oprogramowanie nie spełnia oczekiwań finalnego użytkownika. 

Stanowisko testera oprogramowania wymaga łączenia technicznego i nietechnicznego sposobu myślenia. Jego podstawowym celem jest wykazanie błędów i braków w aplikacji, które należy naprawić lub wdrożyć, by dostarczyć maksymalnie dopracowane oprogramowanie. Odgrywa integralną rolę w zapewnianiu jakości, tworząc zdefiniowane oczekiwania wobec aplikacji, a następnie testuje ją, by sprawdzić, czy są spełnione. Odpowiada za zapewnienie płynnej wydajności i doskonałego doświadczenia użytkownika w kontakcie z oprogramowaniem. Rola testera jest nie tylko kluczowa w procesie projektowym, ale także niezwykle wymagająca. Co zrobić by się do niej przygotować? Jakie kompetencje kształtować?

Profil dobrego testera oprogramowania

Trudno o jednoznaczne zdefiniowanie “dobrego testera’’ – o tym, czy tester sprawdza się w wykonywanych zadaniach, stanowią okoliczności, w których są one realizowane i poziom zaspokajania przez niego potrzeb organizacji. W zależności od specyfiki firmy oraz tworzonego oprogramowania oczekiwania wobec testera są różne. Można jednak wskazać niezbędne kompetencje i umiejętności, które warto kształtować planując pracę na tym stanowisku. 

Kompetencje testera oprogramowania

Dobry tester oprogramowania - kompetencje

Zacznijmy od umiejętności, które powinien posiadać tester oprogramowania. To przede wszystkim kompetencje twarde, wśród których należy wskazać: 

  • programowanie – Tester powinien czytać ze zrozumieniem kod i wykazywać wysoki poziom zrozumienia  używanych języków programowania. Trzeba jednak tutaj dodać, że testerzy manualni często nie mają wglądu w kodu źródłowy aplikacji i wtedy ta umiejętność nie jest potrzebna. Jednak coraz częściej testerzy oprogramowania schodzą do poziomu kodu i tam wykonują swoją pracę. 
  • wiedzę na temat oczekiwań interesariuszy i użytkowników końcowych– tylko ich świadomość pozwoli testerowi stworzyć poprawne i optymalne przypadki testowe, definiując: co ma być testowane i w jaki sposób,
  • znajomość testów – tester musi znać różne typy, poziomy i rodzaje testów – np. wydajności, dymne, regresji itp., a także wiedzieć, kiedy i jak je przeprowadzać oraz określać ich wyniki,
  • znajomość baz danych – większość aplikacji opiera się na przetwarzaniu danych w backendzie, a do zarządzania nimi wykorzystywane są bazy danych. Testując oprogramowanie wysyłasz zapytania do bazy danych – ich znajomość jest więc niezbędna,
  • znajomość narzędzi – zarówno tych do testowania, jak i zarządzania testami – korzystanie z odpowiednich narzędzi może zmniejszyć nakład pracy związany z przechowywaniem przypadków testowych, śledzeniem błędów czy sprawdzaniem wydajności oprogramowania w wielu środowiskach.

Kompetencje twarde to za mało

Praca testera opiera się jednak nie tylko na twardych kompetencjach. Testowanie koncentruje się na rozbieżnościach między oczekiwaniami a rzeczywistością, dlatego wymaga wielu miękkich umiejętności. To niezwykle trudne w obiektywnej ocenie, ale równocześnie niezbędne, predyspozycje do wykonywania pracy na tym stanowisku – są wśród nich:

  • analityczne myślenie wynikowe obejmujące eksplorację, dedukcję, rozwiązywanie problemów i wiele innych. Tego rodzaju zdolności są niezbędne, by decydować czy anomalia jest problemem, jeśli tak – jaka jest jego skala, czy warto wdrożyć jego rozwiązanie oraz jakie ono będzie,
  • zdolności komunikacyjne obejmujące sposób przekazywania informacji tak, by inni je rozumieli,
  • dobra organizacja pracy i czasu przekładająca się na przechowywanie danych w zorganizowany sposób oraz używanie jasnych i zrozumiałych instrukcji podczas tworzenia artefaktów testowych,
  • umiejętności pracy w zespole umożliwiające pracę nie tylko z innymi testerami, ale także programistami,
  • umiejętności przywódcze niezbędne w przypadku testerów odpowiedzialnych za cały zespół testowy.

Niewymierne atrybuty testera

Uzupełnieniem miękkich umiejętności testera oprogramowania powinny być, jeszcze trudniejsze w obiektywnej ocenie, atrybuty. To cechy osobowościowe, o bardzo subiektywnym wymiarze. Dobry tester oprogramowania posiada:

  • zdolność szybkiego uczenia się – musi szybko przystosowywać się do zmieniających się technologii i projektów,  
  • elastyczność –  istotną w radzeniu sobie z różnymi projektami,
  • wielozadaniowość,
  • ciekawość – odgrywa ważną rolę w znajdowaniu błędów, które mogą pozostać niewykryte podczas korzystania z konwencjonalnych metod – np. w testach eksploracyjnych,
  • umiejętność rozwiązywania problemów,
  • zorientowanie na szczegół i ogół – tester musi skupić się na niuansach, nie tracąc przy tym z oczu ogólnego celu.

Wiedza testera oprogramowania

Ostatnia grupa kryteriów, stosowanych do definiowania i de facto oceny pracy testera oprogramowania, to wiedza. Czynnik ten jest zdecydowanie łatwiejszy do weryfikacji niż kompetencje miękkie czy atrybuty, ale bardzo szybko dezaktualizuje się z uwagi na specyfikę branży IT. Zwykle od testerów oczekuje się:  

  • wiedzy dziedzinowej dotyczącej charakteru działalności biznesowej obsługiwanej przez testowane oprogramowanie,
  • wiedzy o środowisku technicznym, która zawiera znajomość wszystkiego tyczącego się aplikacji – od systemu operacyjnego po narzędzie automatyzacji,
  • wiedzy założonej, rozumianej jako wiedza oczywista, której oczekuje się od testerów – np. obsługa komputera, znajomość programów Microsoft Office itp.

Tester oprogramowania – jeden czynnik to za mało

Planując pracę na stanowisku testera oprogramowania spójrz na wskazane cechy kompleksowo. Dobry tester oprogramowania to osoba, która łączy odpowiednie, dla danego stanowiska pracy, projektów i środowiska organizacji, proporcje atrybutów, umiejętności i wiedzy. Kompetencje twarde nie wystarczą, jeśli nie potrafisz spojrzeć na defekt z perspektywy szczegółu i ogółu, oceniając w ten sposób wagę problemu dla całości projektu oraz przewidując efekt domina. Tylko synergia umiejętności, wiedzy i atrybutów prowadzi do osiągnięcia cech istotnych w pracy testera oprogramowania. Pamiętaj, że testowanie to nie tylko ocena jakości oprogramowania. To określenie luk pomiędzy tym, czego oczekuje finalny użytkownik, a tym, co zapewnia oprogramowanie. 

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pozostałe:

Lokalizowanie elementów. Selektory w Selenium wprowadzenie

  W dzisiejszym materiale nauczymy się korzystać z API Selenium WebDriver do lokalizowania elementów na stronach internetowych. Poznamy metody, strategie i podejścia do jednoznaczniej identyfikacji WebElementów.     DZISIEJSZA LEKCJA, NA...

Explicit Wait Vs Implicit Wait. Waity w Selenium WebDriver

Jedną z kluczowych umiejętności podczas programowania testów jest prawidłowe stosowanie metod klasy Wait. Dzieje się tak dlatego, iż to właśnie za ich pomocą, jesteśmy w stanie poradzić sobie z często występującymi problemami natury...

Jak i po w ogóle co testować e-commerce?

Tworzysz lub planujesz stworzyć w przyszłości swoją stronę e-commerce, sklep internetowy? Chcesz zapewnić jej odpowiedni wygląd, optymalizacje i działanie? W takim razie koniecznie musisz poznać jak najwięcej szczegółów o testowaniu e-commerce!  Czym jest i po co...

Testy penetracyjne – testy bezpieczeństwa

Internet, systemy, aplikacje nieustannie się rozwijają, tak samo jak sposoby hakerów na atakowanie systemów informatycznych. Całe szczęście, sposoby na sprawdzanie, weryfikowanie systemów zabezpieczeń również idą do przodu. W poniższym artykule dowiecie się o jednym z...

Typy testów

Testowanie oprogramowania to bardzo rozległy obszar branży IT. Testować aplikacje możemy na wiele sposobów, a same testy mogą mieć różne cele. I to właśnie wspomniane cele testowania, definiują typy testów, jakimi możemy poddać oprogramowanie. Jeśli celem testów jest...