...

Kim są testerzy i dlaczego są potrzebni?

  • ~ 5 min

Branża IT to nie tylko programowanie. Specjaliści IT tworzą wiele popularnych rozwiązań, które znacznie upraszczają życie ludzi – są to strony internetowe i usługi online, aplikacje mobilne, programy komputerowe, oprogramowanie sprzętowe etc.

Tworzenie jakiegokolwiek oprogramowania to skomplikowany i kompleksowy proces, w którym biorą udział specjaliści z różnych dziedzin. Dlatego pomyłki i błędy w obliczeniach w trakcie procesu produkcyjnego to nic nadzwyczajnego. Żaden program nie jest w pełni sprawny tuż po napisaniu kodu. Takie rzeczy byłyby możliwe tylko w idealnym świecie. 

Planując pracę nad projektem IT, menedżerowie celowo uwzględniają czas i zasoby na poprawienie błędów, optymalizację działania i przygotowanie oprogramowania do wydania (tzw. “release’a”). Zanim użytkownicy końcowi będą mieli dostęp do strony lub aplikacji, należy upewnić się, że wszystko działa poprawnie. Do tego właśnie potrzebujemy testerów oprogramowania. 

Chciałbyś dowiedzieć się, czym tak naprawdę zajmują się testerzy? Obejrzyj krótki film, w którym Aleksy z SoftServe wyjaśnia wszystkie tajniki tego zawodu. Opowiada również historię o tym, jak niewystarczająco rzetelnie przetestowane oprogramowanie doprowadziło do upadku dużej firmy.

Віде

Zapewnienie jakości (ang. “quality assurance”) to ważny etap w procesie pracy nad każdym projektem technologicznym. Testerzy sprawdzają każdy element i funkcję, znajdują defekty i niezgodności ze specyfikacją (tzw. “bugi”). Następnie programiści je usuwają. W ten sposób zespół doprowadza jakość produktu do poziomu, który usatysfakcjonuje klienta i użytkowników końcowych.

Czym tak naprawdę zajmują się testerzy?

Tester (QA) jest odpowiedzialny za jakość oprogramowania. Jego celem jest upewnienie się, że program działa zgodnie z oczekiwaniami użytkowników. Oznacza to zestawienie każdego wymagania technicznego z tym, co programiści faktycznie stworzyli.

Właśnie dlatego tester jest swojego rodzaju łowcą błędów. Musi znaleźć wszystkie bugi w projekcie i szczegółowo je opisać. Jest to konieczne, aby programiści mogli szybko je naprawić.

Oto czym tak naprawdę zajmuje się specjalista QA:

  • Zapoznaje się z dokumentacją. Specjaliści QA szczegółowo analizują dokumentację, aby zrozumieć, jak użytkownicy będą korzystać z produktu. Wnikają, jak program powinien działać jako całość i jak powinna działać każda z jego poszczególnych funkcji. Wszystkie te wymagania są opisane w dokumentach projektowych.
  • Tworzy przypadki testowe. Przypomina to plan pracy: tester określa, jakie funkcje należy sprawdzić i w jakiej kolejności. Specjaliści QA starają się również przewidzieć, jakie problemy mogą pojawić się w przyszłości. 
  • Kontroluje jakość oprogramowania. Istnieje wiele metod i narzędzi, których możemy użyć w tym celu. Na przykład, można przeprowadzać testy manualne (manual testing) lub zautomatyzowane (automation testing). Znajdując defekt, tester dodatkowo zastanawia się nad tym, jaki wpływ to ma na powiązane systemy.
  • Zbiera dane. Specjalista QA musi opisać każdy wykryty błąd, zawierając informację o tym, kiedy i jak ten bug się objawia,  na co ma wpływ oraz jaka jest jego poważność (ang. “severity”).
  • Raportuje defekty. Specjalista QA sporządza raporty defektów (znane jako “bug reports”) , w których szczegółowo opisuje znaleziony błąd, aby programiści mogli go naprawić.  Raport defektu jest jak plan, który krok po kroku umożliwia reprodukcję (czyli odtworzenie) błędu.

Przykład raportu defektu sporządzonego przez testera w systemie Jira

Dlaczego nie da się obyć bez testerów?

Programista tworzy oprogramowanie, ale głównie skupia się na jego stronie technicznej, np. pisze kod, tworzy układ strony, dostosowuje go do różnych urządzeń, integruje z systemami zewnętrznymi. Developer jednak nie widzi swojego programu w całości – z perspektywy użytkownika. Dlatego trudno jest mu ocenić, czy program w pełni wykonuje wszystkie funkcje, czy jest wygodny w użytkowaniu itd.

W większych projektach zazwyczaj ilość błędów mierzy się w setkach lub nawet tysiącach. Często są to niewidoczne na pierwszy rzut oka problemy. Czasami także zdarzają się błędy krytyczne, które znacząco pogarszają wrażenia użytkownika.

Przez jedną poważniejszą usterkę firma może stracić fortunę. Tak się wydarzyło w 1997 roku, kiedy wszystkie 27 komputerów pokładowych amerykańskiego lotniskowca Yorktown nagle przestało działać, a statek dryfował przez kilka godzin w niekontrolowany sposób.

Jak do tego doszło? Ktoś z załogi, wprowadzając dane do konsoli nawigacyjnej, podzielił przez zero. Testerzy nie wzięli takiej sytuacji pod uwagę, dlatego system operacyjny nie miał “ochrony” przed skutkami błędów obliczeniowych. Komputer na pokładzie poświęcił całe swoje zasoby na wykonanie dzielenia przez zero i dlatego tymczasowo wyłączył wszystkie inne systemy. Sprytne, co nie?

To nie jest jedyny taki przypadek. Kiedyś wskutek jednego małego “buga” Stany Zjednoczone straciły kosmiczny aparat o wartości 18,5 miliona dolarów. Nawet zatrudnienie całej “armii” testerów byłoby dużo bardziej opłacalne. 

Google posiada jeden z największych działów testowania na świecie. Zatrudnia ponad 25 000 pracowników. Jednakże nawet taka liczba testerów dla Google’a to za mało. Co roku firma płaci zewnętrznym testerom i hakerom od 5 do 8 milionów dolarów za znalezienie słabych ogniw w swoich systemach..

Każdy kiedyś widział błędy na stronach internetowych. Najbardziej zauważalne błędy widzimy w układzie graficznym: zniekształcony obraz, przycisk, który nie mieści się w określonych granicach, “rozjechane” pola w kolumnach… Nawet błędy ortograficzne w tekście również traktowane są jako – nie krytyczne, ale mimo wszystko – bugi.

Przyszłość zawodu testera

Niektórzy wyjątkowo skąpi przedsiębiorcy przekonują, że sztuczna inteligencja jest w stanie całkowicie zastąpić testerów. I nie, nie jest to żaden żart. To tylko kolejny sposób na płacenie pracownikom mniej.

W rzeczywistości sztuczna inteligencja może ułatwić pracę specjalistom QA,  przejmując prawdopodobnie część prostych i rutynowych zadań. Cała reszta z kolei będzie dalej sprawdzana ręcznie lub za pomocą testów automatycznych. Ostateczną odpowiedzialność za jakość oprogramowania powinien ponosić człowiek, a nie robot.

Dopóki istnieją smartfony, komputery i Internet, dopóty testerzy będą potrzebni w pracy. Poza tym specjaliści QA testują różnorodne inteligentne urządzenia i systemy takie jak konsole do gier, opaski fitness, roboty odkurzające, skanery, systemy nawigacyjne, samochody elektryczne itd. Tworzenie oprogramowania jest niemożliwe bez testowania.

Na rynku pracy wśród specjalistów QA rocznie odnotowywany jest wzrost o 11%. Jednakże w przypadku niektórych specjalizacji testerskich ostry brak testerów wynosi nawet 30%. Dlatego rozpoczęcie kariery jako specjalista QA jest strategicznym i rozsądnym rozwiązaniem. Możesz spróbować swoich sił jako tester na bezpłatnym maratonie w GoIT. W ciągu czterech dni nauczysz się testować proste strony internetowe i dowiesz się, jak rozpocząć karierę w branży IT.

 Zapisz się na maraton QA

Bycie testerem QA to wcale nie jest takie łatwe zadanie. Co trzeba wiedzieć, aby móc zacząć sprawnie testować aplikacje? Ile zarabia się na tym stanowisku? Wszystkiego dowiesz się z poniższego tekstu. 

Czytaj więcej

O umiejętnościach, specjalizacjach i pracy w IT