Jestem testerem oprogramowania, w moim zawodzie współpracuję najczęściej z programistami i analitykami. Dobra współpraca między każdym z nas jest bardzo ważna dla procesu wytwarzania oprogramowania. W tym artykule wspólnie z kolegami analitykami postaram się wyjaśnić, jak ona wygląda między analitykiem i testerem.
Pierwszą rzeczą, o której należy opowiedzieć, jest to, kim tak naprawdę jest analityk.
Analityk to osoba ściśle współpracująca z klientem oraz z zespołem developerskim nad rozwojem oprogramowania. Patrząc na proces wytwarzania oprogramowania, można powiedzieć, że na początku analityk współpracuje głównie z klientem. Wynikiem tej współpracy jest przygotowanie dokumentu analizy wymagań (Software Requirements Specification, w skrócie SRS). Dla mnie osobiście pracę analityka można porównać do pracy architekta. Ponieważ od tego, jak zaprojektuje aplikację, zależy w dużym stopniu powodzenie projektu. Przyjmujemy, że dobry analityk jest na wagę złota!
Dlaczego praca analityka jest bardzo ważna w procesie wytwarzania oprogramowania?
Po pierwsze analityk pomaga przełożyć pomysły klienta na papier.
Po drugie stara się również przekazać klientowi ewentualne problemy związane z wprowadzeniem zmian w aplikacji.
Kolejnym powodem jest współpraca analityka z wieloma osobami, które mają ten sam cel, jednakże różne do tego celu prowadzą drogi.
- Tester dąży do tego, aby aplikacja działała zgodnie z dokumentacją oraz działała możliwie jak najlepiej. Mam na myśli również użyteczność w tym ergonomię rozwiązań itp. itd.
- Programista chce, żeby jego kod działał możliwie jak najlepiej oraz, żeby można go było w przyszłości przerabiać w miarę prosty sposób tak, aby nie blokować rozwoju aplikacji.
- Do tego dochodzi klient, który wie konkretnie, czego chce i oczekuje od analityka, że ten wskaże mu najlepsze możliwe dojście do celu.
Na czym polega zatem współpraca analityka biznesowego z testerem?
Dokument utworzony przez analityka (SRS) przechodzi przez review testera. Tester z doświadczeniem w projekcie bez problemu powinien na tym etapie wyłapać część błędów i niedopatrzeń.
Czy zatem warto, aby osoba świeżo dodana do projektu robiła takie review? Oczywiście, że tak! Każda możliwość pracy, nauki, bo w tym wypadku tak to należy potraktować, jest na wagę złota, im wcześniej wypracujemy nasz model współpracy, tym lepiej.
Na ten moment wygląda to dosyć prosto, co w takim razie możemy oczekiwać po analityku? Przede wszystkim możemy poprosić o review dokumentacji testowej, pozwoli nam to na potwierdzenie, czy dobrze zrozumieliśmy zapisy w SRS’ie. Działa to trochę na zasadzie działania matematycznego, jeżeli dwa razy dwa jest równe cztery, to cztery podzielone na dwa da nam wynik dwa. Teoretycznie to jest dodatkowy czas, jaki musimy razem poświęcić na coś, co nie jest wymagane przez nikogo. Natomiast patrząc na moje poprzednie doświadczenia, uważam, że warto zainwestować te kilka godzin i wspólne popracować nad „przyszłością” naszej aplikacji. Zdecydowanie podniesie to jakość oprogramowania, jakie oddajemy.
Na sam koniec mam kilka cennych rad odnośnie do współpracy testera z analitykiem.
Jeśli mamy pytania do dokumentu to notujmy je i pytajmy analityka dopiero, jak nam się zbierze pewna ilość tych pytań np. trzy. Pamiętajmy o tym, że analityk też ma ograniczony czas na pewne czynności i nie powinniśmy go marnować.
Jeżeli uda nam się wprowadzić w zespole zwyczaj robienia review SRS’a oraz dokumentacji testowej to pamiętajmy, że nie każdy musi umieć korzystać z programów do pisania przypadków testowych np. TestLink. Dlatego bądźmy pomocni i przeszkolmy zespół z ich obsługi. Z doświadczenia wiem, że pierwsze spotkanie z TestLinkiem dla programisty/analityka bywa mocno traumatyczne.
Kolejna rzecz, o której się zapomina, analityku nie wyceniaj prac związanych z testowaniem za testera. Istnieją pewne metody wyceniania zadań, jakie mamy do zrobienia, jednakże należy pamiętać, że najefektywniejszą estymację przeprowadzi osoba, która będzie musiała sobie poradzić z wycenianym zadaniem.
Wpis powstał we współpracy z analitykiem Joanną Wolak.