Tester – jakość oprogramowania to jego domena

Koordynator Testów

Cykl “Beze mnie nie byłoby projektu” zamyka rozmowa z Izabelą Adamską – Koordynatorem ds. Jakości w Grupie Unity. Iza to nie tylko specjalistka w swojej dziedzinie, ale też osobowość – kobieta w branży IT, która mimo, że nie pobłaża błędom, potrafi umiejętnie przekazać je programistom, znajdując w nich sojuszników w zapewnieniu jakości. Poznaje oprogramowanie od podszewki i dzięki swojej pracy zwiększa jego jakość, a często też użyteczność.

Kiedy mówimy o jakości, myślimy o pewnym stopniu doskonałości – o czymś co z założenia w oprogramowaniu nie istnieje. Co zatem wyznacza jakość oprogramowania?

Przyznam, że przez cały ten czas, kiedy zajmuję się testami, nie spotkałam się z doskonałością, stąd też nie kojarzę tych dwóch znaczeń ze sobą, nie współgrają dla mnie. Jakość można określać poprzez liczbę błędów, inni stwierdzą, że ważniejsza będzie liczba błędów przeszkadzających w funkcjonowaniu, można też myśleć o dostosowaniu do użytkownika, tudzież o tym, jak jest zrealizowana od środka. Z pewnością w większości przypadków wysoka jakość oprogramowania zostanie potwierdzona zadowoleniem klienta, choć oczywiście mogą się zdarzać sytuacje, gdy jakość będzie stosunkowo wysoka, Izabela Adamskaa klient niezadowolony z wielu innych powodów.

Z mojego punktu widzenia jakość wyznaczana jest w największym stopniu przez programistę – oczywiście często zależy to również od dnia/pory dnia, w którym pracował lub okresie, zdarzają się dni gdzie produkuje produkt bardzo dobrej jakości, a innego dnia – słabej, jednak najlepsi programiści potrafią utrzymać poziom. W drugim rzędzie stoją testerzy, którzy muszą przypilnować jakości, ale jej bezpośrednio nie tworzą – mogą ukierunkowywać, nawracać…

Jaka jest rola testera w całym cyklu życia projektu? Za co odpowiadasz?

Za wszystko co wiąże się z testowaniem. Rozpoczynamy pracę w fazie implementacji. W założeniu chyba mieliśmy wcześniej, ale aktualnie nie zgłaszamy uwag przed implementacją. Projektujemy przypadki testowe przed rozpoczęciem testów. Opieramy się o dokumenty makiety, grafiki, wiedzę innych osób z projektu. Uczestniczymy w spotkaniach projektowych, statusach, zapoznajemy się z projektem wcześniej.

Z kim (z jakimi innymi rolami) współpracujesz w trakcie trwania projektu? Na czym polega Wasza współpraca?

Właściwie testerzy w swojej pracy są trochę niezależni, mniej zaangażowani w implementację, pracują w pewnym oderwaniu od zespołu, co oczywiście nie znaczy, że tej współpracy w ogóle nie ma.

Po stronie zespołu projektowego współpracuję przede wszystkim z programistami. Konsultuję zakres funkcjonalny, upewniam się co do mechanizmów działania, żeby mieć pewność, że błąd jest błędem. Zdarza mi się również konsultować działanie niektórych, zwłaszcza nowych dla nas funkcji, z analitykiem.

Izabela AdamskaWspółpracuję również z innymi testerami. Deleguję im zadania, dzielimy się wiedzą, wspieramy w testach i wyszukiwaniu przyczyn problemów, co nie zawsze jest łatwe, urządzamy burze mózgów, a także zastępujemy się podczas nieobecności.

Czasem zwracam się również do administratorów z prośbą o nadanie nam uprawnień, dostępów, w sprawach sprzętowych, kwestiach dotyczących monitoringu czy wsparcia w poszukiwaniu usterek.

Z project managerem czy team leaderem konsultuję się głównie w sprawach organizacyjnych: ustalam priorytety testów, harmonogram, zakres, sposób raportowania i zgłaszania błędów, organizację pracy zespołu podczas testów i poprawek.

W trakcie trwania testów ważny jest też bezpośredni kontakt z osobą techniczną po stronie klienta, kiedy potrzebne są konkretne dane wejściowe czy współpraca przy przejściu przez określony scenariusz testowy.

Praca testera wydaje się żmudna i mozolna, przede wszystkim z uwagi na powtarzalność błędów, a z drugiej strony często czasochłonne ich poszukiwanie. Jakie cechy i kompetencje są potrzebne na tym stanowisku?

W nawiązaniu do tego, o czym powiedziałaś – cierpliwość. A za nią skrupulatność, sumienność i dociekliwość. Praca testera to trochę takie czepianie się, drążenie, szukanie dziury w całym. Ważna jest też wyobraźnia, myślenie „out of the box” i spryt.

Niezbędna jest wiedza merytoryczna, rozumienie procesów biznesowych, a także tych, które „siedzą” wIzabela Adamska aplikacji, ponadto umiejętność weryfikacji oprogramowania pod kątem zgodności z wymaganiami zapisanymi w specyfikacji, a jeszcze wcześniej analiza tych wymagań – często już na poziomie definicji wymagań kryją się błędy.

Z uwagi na różne rodzaje testów, a także wykorzystywanych narzędzi, ważna jest umiejętność ich doboru, aby zapewnić najbardziej efektywny proces testów i jak najwyższą jakość. Piszemy scenariusze testowe, korzystamy z różnych aplikacji typu „bugtracker”, ja piszę również testy automatyczne, przy których wykorzystuję znajomość html, javy oraz sql.

Ważne również są kompetencje te, wynikające ze współpracy w zespole, czyli przede wszystkim komunikacja, wyrozumiałość, empatia, umiejętność pracy w grupie, a także sama organizacja pracy.

Doświadczenie i praktyka, również szalenie ważne, przychodzą z czasem. Ważna jest też dobra pamięć.

Gdyby Ciebie zabrakło…

Wyobraź sobie, że zamówiony przez Ciebie drogą elektroniczną towar trafia pod niewłaściwy adres lub w otrzymanym zamówieniu otrzymujesz zupełnie coś innego, niż zakupiłeś. Gdyby nie było testów, nawet tak paradoksalnie nieprawdopodobne scenariusze byłyby możliwe.Izabela Adamska

Mogłoby się zdarzyć również, że klient sklepu mógłby nic nie kupić z powodu błędów w komunikacji, błędów na stronie, w wyszukiwarce, w procesie zakupowym, tudzież właśnie w zapisie danych. Mógłby również zapłacić kilka razy mniej lub więcej za swoje zakupy. Pracujemy nad tym, aby wyeliminować zarówno te poważne, jak i te kosmetyczne błędy. Każdy ma swoją klasyfikację, jednak żadnych nie bagatelizujemy. Gdyby nas zabrakło w projekcie wiele istniejących problemów nie zostałoby zauważonych, klient dostałby aplikację w najlepszym wypadku niezgodną z wymaganiami, w najgorszym – pełną błędów.

Na koniec zapytam przekornie dlaczego programiści nie są w stanie poprawić swoich błędów bez udziału testera?Izabela Adamska

Zbieram informację z wielu źródeł, mam spojrzenie na całość projektu, testuję to, co łączy nieraz pracę kilku osób. Poza tym to trochę tak, jak z wypracowaniem z polskiego – sami nie dostrzegamy swoich literówek (śmiech). Często etap testów powoduje frustrację w już zmęczonym zespole. Staram się zrozumieć każdą stronę – zarówno programistów, jak i project managera, a kiedy trzeba też klienta i znaleźć wyjście z nieraz bardzo trudnych sytuacji, wspomóc zespół w realizacji projektu. My nie jesteśmy w opozycji do deweloperów, choć często nas tak traktują. Jesteśmy ich sprzymierzeńcami.

Chciałoby się życzyć: „Bezbłędnych projektów!”, choć wiem, że testy wcale nie mają udowodnić braku błędów. Życzę zatem zadowolonych z jakości klientów. Dziękuję za rozmowę :)

Izabela AdamskaIzabela Adamska – z wykształcenia informatyk, absolwentka Politechniki Krakowskiej na Wydziale Mechanicznym. Od ponad 4 lat z sukcesami i skutecznie koordynuje i prowadzi testy oprogramowania, najpierw w Empathy Internet Software House, obecnie w Grupie Unity.

Prywatnie żona z 4-letnim stażem oraz szczęśliwa mama 2-letniej Amelki. Posiadaczka wielu pasji: książki (głównie fantasy), muzyka (rock, metal, jazz, klasyczna), filmy fantasy, gry mmorgp, RPG, karciane, planszowe, komputerowe, puzzle. Aktywna sportowo: siatkówka, żeglarstwo, wycieczki górskie, bieganie. Dba o zdrowie i kondycję, zdrowo gotując i odżywiając się. W czasie wolnym również gra na pianinie i zajmuje się wyrobem biżuterii.

Więcej wpisów autora: Karolina Jarocka

Strategiczna filantropia – 5 kroków do wdrożenia jej w Twojej firmie

Emocjonalne dawanie Grudzień to czas dobroczynności, kiedy chętniej niż zwykle otwieramy nasze...
Czytaj dalej

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *