Zespół QA w Droptica. Wywiad z testerami
Testy to niezwykle istotna część w procesie developmentu w Droptica. To właśnie dzięki nim, w projektach realizowanych dla klientów, wyłapywane są błędy, tak aby docelowe wdrożenie przebiegło efektywnie. Zapraszam do wywiadu z wieloletnimi i niezwykle doświadczonymi testerami.
Jak zaczęła się Twoja praca z testowaniem w Droptica?
Michał Potasiak: W momencie przyjścia do Droptica wiedziałem, że będę chciał zostać testerem, więc wcześniej ukończyłem kurs i zdobyłem certyfikat ISTQB Foundation level. Dodatkowo miałem pewne podstawy techniczne, ponieważ ukończyłem studia inżynierskie z Zarządzania i Inżynierii Produkcji skierowane na produkcję oprogramowania komputerowego. Myślę, że podstawowa znajomość języków programowania i całego procesu była moim atutem i czymś, co pozwoliło dość szybko zaadaptować się w firmie.
Daniel Nowak: Moja praca zaczęła się trochę z przypadku. Będąc jeszcze na studiach i rozglądając się za pracę, kolega powiedział, że Droptica rekrutuje na stanowisko testera. Szukałem pracy w IT, więc stanowisko mi odpowiadało. Zanim poszedłem na rozmowę, musiałem porządnie się do niej przygotować. Wydaje się, że rozmowa poszła dobrze, skoro pracuję w Droptica już 7 lat.
Jak wygląda Twój dzień pracy? Czyli czym zajmuje się tester oprogramowania?
Michał Potasiak: Swój dzień zaczynam od przejrzenia wyników testów automatycznych. Wykonują się one w nocy, zawsze na najnowszym kodzie, więc dość szybko można dostać informację zwrotną, że trzeba coś poprawić w kodzie lub testach. Następną czynnością, którą wykonuję każdego dnia, jest sprawdzenie w Jira aktualnych zadań i ich priorytetów. Pomaga mi to lepiej określić, czym powinienem się zająć tego dnia. Kolejnym zadaniem jest spotkanie Daily, gdzie z zespołem omawiamy postępy na projekcie i plany na ten dzień. Następna część dnia jest już bardzo uzależniona od tego, jaki dzień cyklu projektu aktualnie mamy i nad jakimi zadaniami pracujemy. Oczywiście najbardziej powszechnym zadaniem będzie sprawdzenie poprawności wykonania zadań przez deweloperów lub retesty po wykonanych poprawkach. Innym częstym zadaniem jest uzupełnianie przypadków testowych. Utrzymanie ich aktualności pomaga potem w sprawnym wykonywaniu testów regresji. Na swoim projekcie zajmuję się również pisaniem oraz utrzymaniem testów automatycznych. Można by tu było pewnie wspomnieć jeszcze o kilku innych sprawach, jak spotkania scrumowe, omawianie zadań z developerami, aktualizacja dokumentacji testowej. Faktem jest, że każdy dzień jest trochę inny i niesie nowe wyzwania.
Daniel Nowak: Dzień pracy zaczynam od przeglądu wyników testów automatycznych, następnie listy zadań do mnie przypisanych. O 9:00 odbywa się Daily zespołu Support i zaczynam testowanie zadań. A dalej, podobnie jak mówi Michał.
Jak wygląda współpraca z developerami lub ogólnie na projekcie?
Michał Potasiak: W moim przypadku wydaje się, że sporo w tej kwestii narzuca metodologia Scrum, która zapewnia lepszą jakość programowania. Cały zespół developerski (tester też jest jego członkiem) spotyka się podczas zdarzeń scrumowych, gdzie wspólnie omawiają projekt. Dlatego każdy wie, nad czym będziemy pracować w najbliższym czasie, co ogranicza liczbę pytań, które padają już w czasie realizacji zadań. Jeśli zaś chodzi o aspekt techniczny, to pracuję w zespole rozproszonym, więc na co dzień nie spotykamy się fizycznie. Dlatego musimy wspierać się technologią. Najczęstszym wykorzystywanym narzędziem jest Slack. Jest on wygodny zarówno do zadawania szybkich pytań, lecz także dłuższego dyskutowania w wątkach. Trochę mniej sprawdza się w video konferencjach, dlatego w tym celu wykorzystujemy Bluejeans. Zadania i informację o nich przetrzymujemy w Jira.
Daniel Nowak: Ja pracuję głównie w zespole wsparcia Drupala w Droptica. Mamy tu bardzo dużo projektów, na których developerzy wykonują zadania. Dev wykonuje zadanie, przekazuje je do QA, a ja sprawdzam i odpowiednio zmieniam status (zwracam albo przesyłam do wglądu dla klienta). Jeśli chodzi o aspekt typowo ludzki, to myślę, że współpraca przebiega sprawnie i każdy czuje się członkiem jednego zespołu. Dlatego też nie ma stereotypowych tarć na linii tester - developer.
Czy doskwiera Ci rutyna podczas codziennej pracy?
Michał Potasiak: Moim zdaniem rutynę można rozbić na dwa czynniki. Pierwszy - pozytywny wynika z nabywanego doświadczenia. Pozwala z większym prawdopodobieństwem przewidywać, gdzie możemy na projekcie spotkać błędy. Problem w tym, że jest też drugi aspekt, który powoduje, że jak coś wykonujemy rutynowo, może to uśpić naszą czujność.
Daniel Nowak: Różnorodność projektów w zespole, w którym pracuję absolutnie nie pozwala na rutynę. Staram się w zadaniach rutynowych wykorzystywać swoje doświadczenie, ale jeśli to możliwe, to próbuję je zautomatyzować, żeby pozbyć się najbardziej rutynowych zadań.
Najdziwniejszy/najtrudniejszy błąd z jakim się spotkałeś?
Michał Potasiak: Przez kilka lat pracy w Droptica jako tester spotkałem się z kilkoma dziwnymi błędami, jak znikające dane lub wysyłające się masowo maile (na szczęście w środowisku testowym). Ciężko jest wybrać ten “naj”, bo dla każdego będzie to coś innego. Dla mnie najdziwniejszy był przypadek, kiedy na aplikacje wpływały stare dane zapamiętane przez konto Googla, które psuły jej wygląd. A jeśli chodzi o tej najtrudniejszy, dla mnie zawsze najtrudniejsze błędy to te, które developer nie może łatwo zreprodukować u siebie. Developerzy bez wahania poprawiają swoje błędy. Problem pojawia się kiedy tych błędów nie są w stanie odtworzyć. Zazwyczaj wynika to z różnic w środowiskach, które w Droptica ograniczyliśmy dzięki Docker-Console.
Daniel Nowak: Kilka lat temu przeprowadzaliśmy migrację do Drupala 8. Był to system, gdzie znajdowała się ogromna ilość użytkowników do zmigrowania. Klient nie wspomniał, że część userów była dodana ręcznie przez administratora, a nie poprzez formularz rejestracyjny. Ten jeden mały fakt spowodował, że użytkownicy dodani ręcznie nie mieli odpowiednich uprawnień do przeglądania zakupionej treści. Znaleziony całkiem przypadkiem mały błąd przy ustaleniach projektowych wywołał całkiem spory błąd do naprawienia w Drupalu.
Ciekawe projekty w Droptica odnośnie do testowania?
Michał Potasiak: Powiedziałbym, że zawsze najciekawszy jest ten projekt, na którym aktualnie się pracuje. Z projektu na projekt mogę się nauczyć czegoś nowego. Sama technologia też się rozwija i daje nowe możliwości do rozwoju procesu testowania. Fajna jest też różnorodność projektów, więc na każdym można się czegoś ciekawego dowiedzieć, co zaś może być pomocne w testowaniu kolejnego projektu.
Daniel Nowak: Ciekawe projekty to takie, gdzie sprawdzamy dużo logiki, skomplikowane pod względem różnorodności ról userów. I zarazem te, gdzie oprócz testowania manualnego, jest czas na automatyzację testowania.
Podsumowanie
Niedawno Michał Potasiak napisał artykuł na temat testów automatycznych na wielu przeglądarkach. Wspominam o tym, bo tekst spotkał się z żywym zainteresowaniem środowiska nie tylko drupalowego, ale warto to zaznaczyć również dlatego, że dzielenie się wiedzą stanowi w Droptica istotny element kultury organizacyjnej. Tym samym korzyść dla klientów jest bezsporna - dzięki rozwijaniu kompetencji naszych testerów, każdy projekt na etapie testów jest zarządzany efektywnie i z możliwie najbardziej efektywnym wykorzystaniem czasu.