Kto zajmuje się testowaniem oprogramowania? Tester! Nieprawda, bo specjalista od Quality Assurance! Przecież to tylko odmienna nazwa! Nie, to zupełnie coś innego!

Tak mógłby wyglądać dialog między dwiema osobami, które znają podstawowe nazwy stanowisk w branży IT. Wiedzą, gdzie skierować pewne pytania. Nie zwracają jednak uwagi na drobne niuanse omawianego zagadnienia. Jak więc jest naprawdę? Czy tester oprogramowania i specjalista od zapewniania jakości to ta sama osoba? A może ich kompetencje pokrywają się tylko w pewnym zakresie?

Co robi tester oprogramowania? Czym różnią się testy manualne od automatycznych?

Tester szuka błędów i tych elementów programu, które różnią się od uzgodnionej specyfikacji. Może to robić ręcznie, sprawdzając aplikację na wszelkie możliwe sposoby. Tester manualny nie musi więc znać języków programowania, choć w praktyce podstawowa znajomość chociaż jednego bardzo się przydaje. Jak łatwo się domyślić, testy manualne zajmują jednak bardzo dużo czasu.

Zespoły testerskie mogą również pisać testy automatyczne, co pozwala zdecydowanie skrócić czas potrzebny na sprawdzanie kodu. Czy oznacza to, że automatyzacja testów lepiej sprawdzi się w każdym przypadku? Na pewno jest to niezbędne, jeśli trzeba zasymulować pracę programu pod dużym obciążeniem lub gdy aplikacja wykonuje wiele powtarzalnych zadań. Skrypty nie zastąpią jednak człowieka w sprawdzaniu wygody obsługi aplikacji i ogólnych wrażeń z użytkowania.

Czym zajmuje się specjalista od zapewnienia jakości?

Specjalista Quality Assurance również zajmuje się testowaniem oprogramowania. Jest to jednak tylko jedno z jego zadań. Celem działu zapewniania jakości jest dostarczenie programu, który użytkownika zachwyci. Aby ten cel zrealizować, nie wystarczy wychwycić błędów i niezgodności. Trzeba jeszcze wybrać odpowiednią metodykę pracy i ulepszyć procesy zachodzące w ramach aplikacji.

Ekspert od QA może więc zapobiegać powstawaniu błędów, a nie tylko rejestrować ich wystąpienie. Oczywiście interesuje go stabilność programu, ale również takie zagadnienia, jak bezpieczeństwo użytkowania, przydatność i ogólne zadowolenie użytkowników. Co ważne, decyduje on także o procesie wydawniczym. Projektuje więc cały cykl życia oprogramowania od początku prac nad nim aż do chwili, gdy przestanie ono być używane.

Komu można powierzyć testowanie oprogramowania?

Jak widać, różnica pomiędzy testerem a fachowcem od QA jest znacząca, lecz dość płynna. Zadania na poszczególnych stanowiskach zdecydowanie się zazębiają. Zdarza się, że jeden i drugi specjalista jest postrzegany przez programistów dość negatywnie. Aby projektować procedury testowe trzeba się bowiem wykazać się skrupulatnością i perfekcjonizmem. Kiedy dział zapewniania jakości lub testerzy szukają dziury w całym, zespół programistyczny chciałby zajmować się kolejnymi wyzwaniami.

W efekcie powstaje jednak oprogramowanie wolne od istotnych błędów. A tym samym takie, które stwarza mniej problemów już po tym, jak zostanie wdrożone. Do kogo zatem warto się zwrócić? Wszystko zależy od polityki danej firmy. Trzeba jednak zaznaczyć, że zapewniając nie tylko poprawność, ale też wysoką jakość, można zdecydowanie lepiej wpisać się w oczekiwania użytkowników.

Od testerów wymaga się dokładności, wysokich zdolności komunikacyjnych i umiejętności analitycznego myślenia. Nie oznacza to jednak, że pracodawca zwróci na Ciebie uwagę wyłącznie na podstawie Twoich cech charakteru. Będą go również interesować Twoje twarde kompetencje. A te trzeba jasno udowodnić, aby mieć szansę na zatrudnienie.