Testowanie cieszy się coraz większą popularnością, szczególnie wśród osób zaczynających przygodę z IT. Jeżeli zastanawiasz się kim są testerzy oprogramowania i czym się zajmują to czytaj dalej! W tym artykule rozwiejemy twoje wszelkie wątpliwości.
Kim są testerzy oprogramowania?
Andrei Domuta, Test Automation Engineer, zobrazował pracę testerów oprogramowania na przykładzie opowieści o arce Noego. Możemy sobie wyobrazić, że podczas zbierania wszystkich zwierząt do wielkiej arki, trzeba było wziąć pod uwagę kilka rzeczy. Na przykład to, że lew i antylopa nie powinny być umieszczone obok siebie. Albo sprawdzić, czy ciężar słoni nie zaburzy równowagi statku.
Budowniczy byli pochłonięci budową arki, więc nie mogli dodatkowo zajmować się takimi sprawami. Dlatego potrzebowali doradców, którzy wiedzieli np. jakie zwierzęta się nie lubią i sprawdzili czy po wejściu słoni statek nie zatonie, układając na pokładzie ogromne głazy imitujące te wielkie zwierzęta.
Co ta historia mówi nam o Testerach oprogramowania?
Nieważne czy budowany jest statek, czy oprogramowanie – w zespole musi być ktoś, kto skupi się na ukrytych szczegółach i wymaganiach. Ktoś, kto będzie nieustannie dowiadywał się o produkcie nowych rzeczy i potrafił sprawdzić, czy produkt działa, bez dostępu do rzeczywistego środowiska. Te atrybuty sprawiają, że rola testera jest nieoceniona dla każdego zespołu programistycznego.
Czym dokładnie zajmują się testerzy oprogramowania?
Testerzy oprogramowania są więc odpowiedzialni za sprawdzanie prawidłowego działania produktu. Ich zadaniem jest wyłapywanie błędów jak i udowadnianie, że aplikacja działa poprawnie. Robią to na różne sposoby i pod wieloma kątami. Istnieje wiele rodzajów testów, które mogą być wykonywane przez testerów oprogramowania. Niektóre z nich to:
1. Testy akceptacyjne (acceptance testing), które sprawdzają, czy cały system działa zgodnie z założeniami.
2. Testy funkcjonalne (functional testing) – do których wykonania nie jest potrzebna techniczna wiedza o tym, w jaki sposób działa program. Testy funkcjonalne sprawdzają jedynie, czy program spełnia określone funkcje.
3. Testy wydajnościowe (performance testing) – zaliczają się do nich np. testy obciążeniowe (load testing), które sprawdzają wytrzymałość programu na wzmożony ruch użytkowników.
4. Testy jednostkowe (unit testing), sprawdzające czy pojedyncze elementy programu działają dobrze.
5. Testy użyteczności (usability testing), które sprawdzają, jak użytkownicy korzystają z programu i czy jest on zaprojektowany w sposób umożliwiający im łatwe wykonywanie zadań.
6. Testy bezpieczeństwa (security testing), sprawdzające czy informacje przetwarzane przez program są bezpieczne i odporne na ataki.
Czy testowanie jest konieczne?
W przypadku bardzo małych projektów można by było obejść się bez testowania. Jednak, czy warto podejmować takie ryzyko? Testowanie pozwala ujawnić problemy, zanim produkt trafi na produkcję. Dzięki niemu firmy mogą uchronić się przed wielkimi stratami. Późne wykrywanie wad oprogramowania może zaszkodzić reputacji marki, a także prowadzić do niezadowolenia i sfrustrowania użytkowników. W niektórych przypadkach z pozoru drobna usterka może doprowadzić do poważnych konsekwencji.
Podział testerów oprogramowania
Testerów można podzielić na dwie główne grupy: manualnych i automatycznych. Testowanie manualne może pochłaniać bardzo dużo czasu. Dlatego w rozwiniętych systemach dobrze sprawdzą się testerzy automatyczne. Jeśli interesują cię różnice między testowaniem automatycznym a manualnym, to koniecznie obserwuj bloga. Niedługo dokładnie wyjaśnimy na czym one polegają 😊
Podsumowanie
Testerzy są bardzo ważnymi członkami każdego zespołu developerskiego. Ich praca jest nieoceniona i może uchronić przed niejedną nieprzyjemnością. Korzyści z testowania to zapobieganie błędom, redukcja kosztów jak i poprawa wydajności programu.
Jeśli zastanawiasz się jak rozpocząć karierę jako Tester oprogramowania to zapraszamy do lektury naszego artykułu o tym jak zacząć przygodę z testowaniem.
Jeśli spodobał Ci się ten tekst to zachęcamy do przeczytania artykułów, na których został oparty:
1. Domuta A. Do you know what a Software Tester does?. ITnation. https://www.itnation.lu/do-you-know-what-a-software-tester-does/. Published 2021. Accessed May 2, 2021.
2. What is software testing?. Ibm.com. https://www.ibm.com/topics/software-testing. Published 2021. Accessed May 2, 2021.
3. What is a Software Tester? – Definition from Techopedia. Techopedia.com. https://www.techopedia.com/definition/29845/software-tester. Published 2021. Accessed May 2, 2021.