Narzędzia dla testera, czyli czego używa się w testowaniu

Praca testera niejednokrotnie wymaga nie tylko umiejętności szybkiego przyswajania informacji dotyczących projektu, ale również zdolności opanowania nowych narzędzi które wykorzystuje się przy przeprowadzania testów. Narzędzia dla testera nie powinny stanowić wyzwania. Wiele programów zwyczajnie ułatwia i przyśpiesza pracę, są również i takie, bez których nie sposób jest przeprowadzić rzetelnych testów. Poniżej zamieściłem kilka narzędzi które są przydatne w testowaniu. Lista jest całkowicie subiektywna i nie powiązana z żadnym konkretnym projektem czy sposobem testowania.

Podstawowe edytowanie tekstu

Czasami najprostsze metody są najlepsze nawet na skomplikowane problemy.
Jednym z podstawowych narzędzi jest prosty edytor tekstu, notatnik, chociaż zamiast tego wbudowanego w Windowsa warto używać czegoś bardziej rozbudowanego np. Notepad++. Często zamiast odpalać duże programy, szybciej i wygodniej jest podglądnąć pliki i edytować je w prostym i szybkim narzędziu.   

Testowanie API

Postman – jest jedną z najpopularniejszych aplikacji używanych przy testowaniu API. Posiada wiele różnych funkcjonalności od wysyłania requestów po ustawianie mockupów. W sieci znajdziemy wiele przykładów i tutoriali dla Postmana.

Testy niefunkcjonalne

Przeprowadzając testy niefunkcjonalne nie sposób się nie wspomagać odpowiednimi narzędziami. Jednym z popularnych rozwiązań jest JMeter. Oprogramowanie pozwala na przeprowadzanie testów obciążeniowych, wydajnościowych, stres testów.  

Testy bezpieczeństwa

Jeśli istnieje potrzeba przeprowadzenia testów bezpieczeństwa dla aplikacji internetowych, z pewnością warto użyć programu Burp Suite. Możliwości narzędzia są duże, choć w darmowej wersji opcje są okrojone. Pozwala na przechwytywanie komunikacji i modyfikacje zapytań.

Automatyzacja testów

Pracując nad automatyzacją testów warto zwrócić uwagę na dwie opcje. Pierwsza dotyczy systemów webowych działających w przeglądarce, jest to Selenium Webdriver. Jest to narzędzie które współpracuje z prawie każdą przeglądarka i jest kompatybilne z kilkoma językami programowania. Do jego używania konieczna jest chociaż podstawowa umiejętność programowania. Duga opcja jest przeznaczona dla programów desktopowych. Testcomplete pozwala na automatyzacje scenariuszy testowych w oparciu o GUI, daje to możliwość nagrywania testów bez konieczności pisania kodu.  

Emulacje

Niektóre testy wymagają użycia wielu różnych urządzeń, w celu pominięcia problemów sprzętowych (np. dostępność konkretnego modelu telefonu) stosuje się emulatory pozwalające na symulacje konkretnego urządzenia. Nie podaje tutaj konkretnego narzędzia z uwagi na fakt różnorodności rozwiązań jak i systemów do symulacji. Jednakże, warto wspomnieć, że przeglądarki internetowe mają wbudowane emulatory, dzięki którym można sprawdzić responsywność strony np. na Ipadzie lub telefonie Samsung S9.


Niezależnie od tego, jakie testy przyszło nam przeprowadzać, warto się wspomagać odpowiednimi narzędziami. Często bywa też tak, że na rynku nie ma odpowiedniego narzędzia, które jest nam potrzebne, wtedy istnieje możliwość napisania własnego narzędzia, np. do generowania plików testowych.

Najważniejsze Cechy Testera Oprogramowania

Czasami zastanawiamy się czy nadawalibyśmy się na konkretne stanowisko, najłatwiej jest znaleźć odpowiedź szukając charakterystycznych wymagań dotyczących danego zawodu. Jakie cechy charakteryzują testera oprogramowania? Jest ich bardzo wiele. Postaram się wymienić kilka ważnych elementów.  

1. Komunikatywność

W pracy testera komunikacja jest bardzo ważna, ponieważ pozycja w projekcie wymaga współpracy nie tylko z programistami, ale również z analitykami, managerami, czy każdą inną osobą zaangażowaną w projekt. Dlatego ważne jest posiadanie umiejętności miękkich. Równie istotną rzeczą jest znajomość obcego języka, przede wszystkim angielskiego.
Kolejną ważną cechą, jest brak oporów przed mówieniem i konfrontacją. Słynne „u mnie działa” jest doskonałym przykładem, z czym tester musi się mierzyć. Trzeba potrafić wytłumaczyć w czym jest błąd i jak można go powtórzyć.

2. Ciekawość i kreatywność

Jak to działa? Takie pytanie zada każdy tester. Ciekawość jest nieodłącznym elementem pracy testera. Niestandardowe myślenie pozwala wydobyć na światło dzienne przypadki które zostały pominięte, a wydają się być istotne z puntu widzenia działania aplikacji. Ciekawość i kreatywność jest nieoceniona w przypadku testów eksploracyjnych.

3. Cierpliwość i wytrwałość

Nie ma nic gorszego niż długotrwałe powtarzanie prawie takich samych czynności. Często zdarza się, że scenariusze testowe różnią się od siebie nieznacznie, a ich przetestowanie jest zwyczajnie nudne, dlatego dobry tester, powinien być w stanie wykonać testy pomimo ich monotonii.

4. Dokładność

Jest to jedna z najważniejszych cech, ponieważ od dokładności wykonania zadań zależy wszystko. W przypadku oprogramowania, jeśli przeprowadzenie testów oparte byłoby o niedokładne wykonanie scenariuszy, to mogłoby się okazać, że istnieją błędy które zostałyby ujawnione w przypadku dokładnych testów. Czasami opuszczenie pozornie nieistotnych punków może rzutować na całą jakość produktu.

5. Otwarcie na rozwój i naukę

W zawodzie testera prawie codziennie trzeba się uczyć czegoś nowego. Nowa funkcjonalność, nowe środowisko, nowe wymagania, narzędzia. Wszystko co jest potrzebne do wykonywania zadań trzeba sobie przyswoić i nauczyć się wykorzystywać tą wiedzę w praktyce. Czasami są to drobne rzeczy, czasami trzeba poświęcić na szkolenie dużo czasu, ale pewne jest to że nauka jest nieodłączną częścią zawodu testera.

6. Analityczne myślenie

Testując oprogramowanie trzeba stawiać przede wszystkim na pragmatyzm i fakty. Każdy test musi się opierać na przyjętych założeniach i wymaganiach. Dobry tester powinien analizować swoje czynności i być w stanie odtworzyć scenariusze swoich działań.  

7. Zamiłowanie aktorskie

Zdziwieni? Już tłumaczę, chodzi o wczuwanie się w rolę. Testując produkt, tester powinien odegrać różne role, np. użytkownika końcowego, administratora, klienta. Zdolność do zmiany punktu widzenia jest bardzo przydatna i często pozwala na ujawnienie błędów lub sprzeczności założeń albo wymagań.

Powyższa lista jest subiektywnym zbiorem cech jakie charakteryzują dobrego testera. Jest wiele innych cech które są równie ważne, jest też wiele które wydają się ważne, a tak naprawdę są nieistotne. Zostawcie komentarz jeśli uważacie że jakaś cecha powinna się znaleźć na tej liście.