Jeśli w swojej pracy doszedłeś do kompetencyjnej, finansowej lub rozwojowej ściany, to czas nauczyć się czegoś nowego. Najlepiej nauczyć się doskonałego narzędzia, którego funkcjonalności nie sposób zliczyć, a jego użycie przyniesie ci olbrzymią satysfakcję w automatyzacji codziennych obowiązków. Wśród wybranych możliwości tego narzędzia możemy wyróżnić:
- automatyzowanie prostych czynności testerskich,
- przygotowanie i automatyzacja wykonania testów jednostkowych, integralnych i systemowych,
- automatyzacja na GUI i API,
- generowanie danych testowych do testów klas równoważności, technik kombinatoryjnych, do zasilenia bazy danych i każdego innego rodzaju danych,
- automatyczne analizowanie logów,
- automatyczne konfigurowanie środowiska testowego,
- automatyczne generowanie specyfikacji testowej,
- tworzenie algorytmów do nauczania maszynowego,
- i wiele, wiele, wiele innych.
Do tego wszystkiego narzędzie to jest absolutnie darmowe, dostępne praktycznie na każde środowisko i każdą platformę sprzętową. Jego znajomość umożliwa używanie lub wspiera dowolne narzędzie testerskie dostępne w firmach.
Warto wspomnieć, że ma ono również wiele ogólnodostępnych materiałów, książki i fora, na których można znaleźć odpowiedzi na większość pytań i wątpliwości. Dla osób, które chcą przyspieszyć edukację dostępne są również płatne szkolenia.
Czym jest to doskonałe narzędzia dla każdego testera? Jest to praktycznie dowolny język programowania z naciskiem na języki „testerskie”.
Jeśli dziś mielibyśmy wymienić jeden z nich, to najprawdpodobniej byłby to Python. Każdy jednak powinien samodzielnie dopasować język do swojego aktualnego lub też pożądanego środowiska pracy.
Jednocześnie trzeba zanegować wszystkie źródła, które krytykują umiejętność programowania u testerów.
- „A kto będzie testować narzędzia napisane przez testera?” – Zrobisz to samodzielnie lub poprosisz innego testera;
- „Kodowanie odbiera nam poziom niezależności.” – Żadna dodatkowa wiedza nie może utrudnić naszej pracy, może ją jedynie poprawić;
- „Programowanie jest trudne.” – Tak samo trudne jak uczenie się innego języka obcego;
- „Tester nie musi kodować, bo końcowy odbiorca (zazwyczaj) nie koduje.” – Końcowy odbiorca również nie pisze planów, nie projektuje testów, pewnie nie robi zapytań bazodanowych. Czy zwalnia nas to z tych działań?
Reasumując, nie ma prostszego, bardziej uniwersalnego i wielofunkcyjnego narzędzia niż język programowania.
Z jednej strony nie każdy tester musi kodować, ale z drugiej każdy musi się liczyć z tym, że brak znajomości narzędzi ogranicza możliwość jego rozwoju. W dzisiejszych czasach nad testerami, którzy nie kodują zawieszony jest na dość niskiej wysokości szklany sufit zarobków.