Bez względu na to co testujecie i jak testujecie, te narzędzia będą stanowiły podstawowe elementy waszego środowiska.*
1. Narzędzia zarządzania defektami
Efektywne zarządzanie defektami oraz kontrola tego, czy zostały naprawione, wymaga adekwatnych narzędzi do ich przechowania oraz określania ich statusu.
Przykłady: Mantis, Bugzilla, Jira
2. Narzędzia badania konfiguracji środowiska
Warto zawsze znać parametry oraz składowe środowiska testowego. Takie rozwiązania znajdziemy na każdą platformę.
Przykłady: Od DxDiag na Windowsa po AIDA64 na Androida.
3. Narzędzia zarządzania testami
Jeśli pracujesz w większym zespole (większym niż jednoosobowy) zawsze warto mieć pod ręką narzędzie do przekazywania i odbierania zadań. Mogą to być aplikacje dedykowane do prowadzenia projektów testowych, ale równie dobrze mogą to być narzędzia kooperacji.
Przykłady: 10 najlepszych narzędzi zarządzania testami.
4. Narzędzia komunikacji
Nie unikniesz pisania maili ani innych form komunikowania się z członkami zespołu. Nie tylko musisz perfekcyjnie posługiwać się klientem poczty, ale również wszelkiej maści komunikatorami. Szczególnie teraz, gdy praca zdalna stała się codziennością.
Przykłady: Gmail, Outlook, Skype, Zoom, Meet, Messenger.
5. Edytor tekstu
Robienie notatek to jedna z kluczowych umiejętności w testowaniu. Nie wszystko od razu nadaje się do wklejenia do reportera defektów. Część rzeczy zostawiamy bowiem na później, a część to po prostu nasze prywatne komentarze. Zazwyczaj korzystamy z tego co jest w środowisku, ale czasami warto poszukać czegoś lepszego.
Przykłady: Notatnik, Notepad++, OneNote.
6. Aplikacja do zrzutów ekranu i obróbki grafik
Nie wszyscy pracują na GUI, ale każdy czasami musi obrobić jakiś obrazek, by załączyć go do raportu, albo zgłoszenia. Użycie funkcji wycinania bądź maskowania danych może uchronić nas przed wyciekiem pewnych informacji, których nie chcemy pokazywać.
Przykłady: Sharex, narzędzie Wycinanie, Greenshot.
7. Narzędzia wspierające tworzenie kodu i automatyzację
Czasami pewne rzeczy dzieją się dużo szybciej jeśli stworzymy program aby robił to za nas. Umiejętność stworzenia małej aplikacji do obróbki danych testowych, czy wykonywania powtarzającego się kliknięcia może być dużą optymalizacją w pracy.
Przykłady: 10 najlepszych narzędzi automatyzacji testów.
8. Narzędzie do zbierania i przetwarzania logów
Log to zazwyczaj tekstowy zapis operacji wykonywanych podczas uruchomienia aplikacji. Często ten zapis jest bardzo szczegółowy, bardzo długi i bardzo ciężki. Umiejętność jego efektywnego pozyskania, transformowania w możliwy do odczytania, a następnie obrobienia to krytyczna umiejętność dla tych wszystkich, którzy nie do końca wierzą tylko w to co widzą na okienkach aplikacji. To również kolejny krok do wskazania jaka jest realna przyczyna problemu.
Przykłady: LOGalyze, splunk.
9. Nakładka na bazę danych
Prawie każdy program ma bazę danych, albo jakąś jej formę. Wykonywanie zapytań, czy też proste jej przeglądanie jest kolejną umiejętnością w lepszym rozumieniu jak działa oprogramowanie i gdzie mogą pojawiać się defekty.
Przykłady: phpMyAdmin, dbWatch, DBeaver.
10. Analizator wydajności
Wydajność to nie tylko czas odpowiedzi, ale również konsumpcja zasobów. Najprostszym narzędziem będzie monitor obciążenia procesora, ale czasami będą to gotowe skrypty do oceny wydajności stron internetowych, czy aplikacji desktopowych.
Przykład: AppDynamics, dynatrace, Shark, Windows Performance Analyzer.
Post scriptum
Ponieważ aplikacje webowe są wciąż najpopularniejsze, to nie możemy zapomnieć tutaj o dwóch krytycznych narzędziach:
- Narzędzie programisty w przeglądarkach, które pozwalają nam zbadać każdy aspekt witryny,
- Narzędzia do testów API, które opisaliśmy tutaj.
Warto również wspomnieć o całej kategorii narzędzi wspierajacych eksplorację.
Każdy doświadczony tester powinien potrafić do każdego z takich narzędzi, przypisać jedno dodatkowe, które ma w swoim środowisku i używa na co dzień.
Każdy aspirujący tester powinien znać przynajmniej jedno narzędzie z każdej kategorii wymienionych powyżej.
*) Może nie dotyczyć środowiska testów aplikacji wbudowanych.