W dobrze dobranym zespole projektowym testerzy i programiści uzupełniają się nawzajem, dostarczając umiejętności, wiedzę i spoglądając na tworzoną aplikację z różnej perspektywy. Typowym błędem jest postrzeganie testerów jako "młodszych programistów", a co za tym idzie zachęcanie ich do rozwijania umiejętności i nastawienia typowego dla programistów.
W rzeczywistości dobry tester posiada cechy kontrastujące z tymi, których potrzebuje dobry programista. Rozumiejąc to, menedżer może połączyć owe cechy w jeden, dobrze funkcjonujący zespół.
Wielu programistów nie zdaje sobie sprawy jak trudnym zadaniem jest testowanie. Potrzebne są tu cierpliwość, elastyczność, umiejętność dostrzegania szczegółów i obraz całego mechanizmu działania systemu.
Wielu testerów jest sfrustrowanych pracując z programistami, którzy uważają testowanie za pracę "drugiej kategorii" lub coś, co robić może każdy.
Testerzy potrzebują tego rodzaju wiedzy, którą posiadają końcowi użytkownicy systemu. To pozwala im na używanie produktu w sposób, w jaki robi to klient zamiast tak, jak chciałby tego programista. Dobre pytanie – czy znajomość wewnętrznej architektury aplikacji pomaga czy przeszkadza w przeprowadzeniu testów? Moim zdaniem nie jest konieczna do wykonania testów.
Testerzy powinni przejawiać specyficzny rodzaj ignorancji czy co więcej - naiwności w odniesieniu do testowanego systemu. Programiści nie. Jest to jedną z przyczyn, dla której programiści mogą uznać testera za osobę zadającą oczywiste czy wręcz głupie pytania.
Dobrzy testerzy posiadają wiedzę zarówno na temat wymagań klienta jak i – do pewnego stopnia – działania systemu wewnątrz. Pozwala to spojrzeć na testowany system z innej niż programista strony.
Cechy dobrego testera:
- nie obawia się reakcji na złe wiadomości, które przynosi,
- potrafi rozdzielić błąd od osoby, która go popełniła,
- informację o znalezionym błędzie potrafi przedstawić w neutralny sposób.
Powyższy artykuł jest przedrukiem z wygasłego bloga testerskiego testowanie.net.