Metody ułatwiające pracę testera zwinnego

Z upływem czasu i naszym rosnącym doświadczeniem wypracowujemy metody, które ułatwiają pracę w projekcie oraz pozwalają być coraz bardziej efektywnymi specjalistami. Po setkach popełnionych błędów, sprawdzeniu ich w realnym środowisku pracy możemy wybrać najlepszy sposób, który pozwoli osiągnąć pożądany efekt. Poniżej możecie zobaczyć moje techniki, z których regularnie korzystam pracując w projektach Agile.

  • Wykorzystanie wiedzy – bez niej ciężko się odnaleźć. Jest jak fundament, bez którego żaden budynek by nie istniał. Znając funkcjonowanie metodyk Agile, ich najważniejszych założeń, ról czy artefaktów jestem w stanie sprawnie odnaleźć się w zespole i procesie, którego ramy pozwalają na realizację naszych codziennych zadań, a w konsekwencji na dowiezienie produktu końcowego. Wiem, kto jest za co odpowiedzialny i z czym mogę przyjść do danej osoby. Znając cele spotkania potrafię odpowiednio się do niego przygotować.
  • Słowa kluczowe – często przed ważnym spotkaniem np. DEMO, na którym prezentuję klientowi nowe funkcje zrealizowane w ramach sprintu spisuję słowa kluczowe, które pozwalają mi przeprowadzić prezentację zgodnie z planem. Stanowią pewnego rodzaju ściągę, abym o niczym nie zapomniał. Skorzystałem z tej techniki podczas spotkania, w którym uczestniczyło wielu przedstawicieli biznesu z różnych części świata. Odpowiadałem za prezentację ważnej funkcjonalności, która umożliwiała wysłanie linka/sms przez konsolę aplikacji webowej do użytkownika, który korzysta z wersji mobilnej na Android oraz iOS. Funkcjonalność ta pozwala na udostępnienie widoku z kamery telefonu, tak aby inżynier serwisujący mógł pomóc klientowi na odległość. Prezentacja ważnej funkcjonalności skierowana do dużego grona odbiorców prowadzona w obcym języku powodowała u mnie duży stres. Na szczęście ta metoda pomogła mi przeprowadzić spotkanie zgodnie z założeniami. Poniżej przykład zastosowania w praktyce:

Funkcjonalność: udostępnianie kamerki telefonu dla inżyniera serwisującego
1) włączenie wtyczki
2) wysłanie linku na telefon Android
3) udostępnienie ekranu telefon Android
4) otworzenie linku
5) zrobienie screena przez konsolę webową
6) wysłanie sms na telefon iOS
7) udostępnienie ekranu telefon iOS
8) otworzenie sms
9) zrobienie screena przez konsolę webową
10) pytania
11) podziękowanie za udział

  • Notatki projektowe – w projektach Agile prowadzona jest tylko niezbędna dokumentacja, albo przez jakiś czas nie ma jej w ogóle. Wiąże się to z faktem iż klient chce jak najszybciej otrzymać produkt o ograniczonym działaniu (ang. Minimum Viable Product), żeby móc z niego korzystać. Dokumentację przygotowuje się na zakończenie projektu, gdy główne prace programistyczne są zakończone. Dzięki temu dokumentacja nie wymaga aż tylu zmian, które pojawiłyby się w trakcie trwania projektu. W takiej sytuacji notatki okazują się zbawienne. Mi pomagają w “pamiętaniu” poczynionych ustaleń szczególnie, gdy pracuję w kilku projektach równocześnie.

Szablon jak sporządzać notatki (do ich tworzenia polecam narzędzie ‘Notepad++’):

Projekt: Testowy projekt

1)  Zespół [imię_nazwisko (rola w projekcie, firma)]:
Tomek (frontend, Craftware)
Robert (backend, Craftware)
Iza (tester manualny, Craftware)
Bartek (tester automatyzujący, klient)
Natalia (product owner, klient)
Piotr (scrum master, Craftware)

2)  Testy:
a)  Środowiska testowe:
Einstein (środowisko developerskie)
QA (środowisko do testów)
BI (środowisko do testów przez biznes)
Master (środowisko produkcyjne)

b)  Flow statusów tasków [flow procesu testowania wg etykiet w narzędziu do zarządzania testami np. ‘JIRA’]:
IN QA -> Test review -> Ready for DEMO -> Accepted by Business -> Delivered

Nazwy etykiet mogą się różnić w poszczególnych projektach!

3)  Główne funkcje aplikacji:
a)  Dodawanie nowego klienta
Strona główna -> Książka adresowa -> przycisk ‘Nowy klient’
– trzeba wypełnić imię, nazwisko i adres klienta na formularzu
*podwójne kliknięcie na etykiecie ‘klient’ otwiera formularz z danymi
b)  Usuwanie klienta

4)  Słowa klucz [tutaj zamieszczam określenia, które są używane w projekcie]:
vibe – pop-up do obsługi klientów
FE – inżynier serwisujący

  • Sztuka kompromisu – w pracy jak w życiu – nie łatwo o kompromis, ale bez niego ani rusz. W projektach Agile ze względu na brak pełnej dokumentacji produktu jest sporo niejasności, które warto na bieżąco wyjaśniać. Na przykład: testując aplikację zauważam, że jej działanie jest nieintuicyjne – przyciski do tworzenia i usuwania danych są w złych miejscach, co stwarza ryzyko iż klient nie będzie ich widział. Warto wyjaśnić tę sytuację zanim przejdziemy do kolejnego etapu prac. Umawiam spotkanie z zespołem, ale jak to w projekcie – zespół składa się z różnych osób i każdy ma swoje racje. Nie sposób uniknąć sytuacji spornych. Developer nie chce wykonać dodatkowej pracy, bo wymaga to powrotu do zamkniętego etapu prac, a ja (tester) chcę uniknąć aktualizacji przypadków testowych, jeśli klient dojdzie do podobnego wniosku co ja i nie odbierze produktu. W takiej sytuacji korzystam z przygotowanych screenów z aplikacji (można także udostępnić ekran i pokazać, gdzie leży problem) oraz spisanych argumentów. Rozmowa poparta faktami i merytorycznymi argumentami pomaga w przekonaniu oponentów do naszego zdania lub wypracowania kompromisu korzystnego dla wszystkich zainteresowanych.
Waterfall vs Agile z perspektywy testera

Waterfall vs Agile z perspektywy testera

Rys. 1 – Waterfall vs Agile z perspektywy testera

 

Podsumowanie

Każdy projekt, niezależnie czy realizujemy go w metodyce Waterfall czy Agile ma swoją specyfikę pracy i bez wątpienia warto je obydwie znać. Z perspektywy testera, jak i każdej innej roli w zespole projektowym, obydwie metodyki mają swoje wady i zalety. Warto więc poznać w praktyce obydwa style pracy i sprawdzić, który model jest lepszy dla pełnionej przez Ciebie roli.

Mam nadzieję, że moje artykuły o Agile testerze przybliżyły Ci charakter tej roli i pomogły zrozumieć na czym naprawdę polega bycie testerem zwinnym. A może zachęciły Cię do pracy w takiej roli projektowej?

 

Autor
  • Mateusz Wydmański
  • Senior Software Tester
  • Tester związany z branżą Quality Assurance (QA) od 7 lat, pracował w małych firmach oraz dużych korporacjach w sektorze healthcare, pharma, telecom i logistics. W pracy otwarty na nowe wyzwania, wykonuje je z pełnym zaangażowaniem dla osiągnięcia jak najlepszego rezultatu, jak również udoskonalania procesów. Prywatnie lubi poruszać się na siłowni lub spacerować na świeżym powietrzu.

Opracowanie redakcyjne:
Marta Górna
Redakcja tekstu
Podobał Ci się mój artykuł?

Jeśli tak, zapraszam Cię do grona najlepiej poinformowanych czytelników bloga. Dołącz do naszego newslettera, a nie ominą Cię żadne nowości.