
Cześć, po dłuższej przerwie wracam do was z nową dawką artykułów, które postaram się wrzucać co poniedziałek.
Wyobraź sobie, że przychodzisz do pracy. Kawa, maile i zaczynasz. W aplikacji widzisz błąd przez Ciebie zgłoszony, zamknięty albo zwrócony ze statusem „Unable to reproduce” lub jak kto woli „U mnie nie występuje”. Pytanie zatem do Ciebie „Co robisz w sytuacji, gdy programista nie może odtworzyć błędu?”.
Dobrze znać na nie odpowiedź zarówno w życiu codziennym testera, by wiedzieć, jak się zachować, jak i wówczas gdy zostanie Ci ono zadane w trakcie rekrutacji.
No to co? Zaczynamy!
Źle opisany błąd
Pierwszą rzeczą, na jaką musisz zwrócić uwagę, jest zgłoszenie błędu. Najczęstszym powodem, który skutkuje niemożliwością odtworzenia defektu, jest kiepskiej jakości opis defektu w bugtrackerze. Sprawdź w szczególności:
- Kroki, by powtórzyć błąd – być może pominąłeś krok, który dla Ciebie jest oczywisty.
- Rezultat – zweryfikuj czy to, co opisałeś w tym kroku jasno tłumaczy, co jest błędem.
- Środowisko – bardzo ważne, środowisk z aplikacją w różnej wersji jest kilka zazwyczaj.
- Załączniki – czy pokazują, gdzie jest błąd.
Dobrze opisany błąd w większości wypadków powinien być możliwy do odtworzenia przez dowolną osobę, dlatego dokładnie sprawdź, czy wszystko w nim zawarłeś.
Jeśli wina była po Twojej stronie, ponieważ pominąłeś jakiś krok, to go popraw i powiedz o tym, co zmieniłeś w opisie błędu programiście.
Jeśli natomiast z punktu widzenia Twojego wszystko w zgłoszeniu było, ale programista potrzebował jakichś dodatkowych danych, to musisz sobie przeanalizować, jak zgłaszasz defekty. Może warto porozmawiać z programistami, którzy pracują z Tobą w projekcie i dostosować swoje podejście zgłaszania błędów do ich potrzeb? I nie chodzi o to, byś wywrócił do góry nogami sposób opisywania defektów. Bywa, że dodanie do zgłoszenia jednej specyficznej dla aplikacji informacji może pomagać w odtwarzaniu błędów.
Przyjmijmy na potrzeby tego wpisu, że błąd jest opisany idealnie, jest wszystko. Co więcej, błąd nadal występuje u Ciebie a u programisty nie.
Kolejnym krokiem, jaki trzeba zrobić, jest próba odtworzenia przez testera defektu na komputerze programisty.
Tak wiem, błąd już sprawdziłeś, jest prawidłowo opisany. Zatem programista powinien być w stanie go odtworzyć. Tylko że widzisz, czasami nawyki, jakie mamy w używaniu aplikacji, powodują, że nie czytamy dość dokładnie opisu kroków i odtwarzamy je z pamięci. Idąc bezpośrednio do programisty, wykonasz dwie rzeczy z naszej listy tego, co powinieneś zrobić w sytuacji, gdy programista nie może odtworzyć błędu. Pierwszą jest prośba, by programista przy Tobie odtworzył defekt, w ten sposób sprawdzisz, czy dokładnie odtwarza kroki testowe. Następnym krokiem będzie próba odtworzenia błędu na komputerze programisty przez Ciebie.
Znam jedną anegdotę, gdy programista za nic w świecie odtworzyć błędu nie mógł. Nawet na testowej wersji aplikacji. Cuda się działy. Tester siadał, błąd występował. Programista siadał i go nie było. Okazało się, że programista używał skrótu klawiaturowego w jednym kroku, podczas gdy tester klikał myszką po menu. W opisie błędu było napisane „Otwórz menu i kliknij…”, ale właśnie to było robione na skróty.
Powiedzmy, że spróbowaliście tych dwóch kroków, nie udało się odtworzyć defektu. Co teraz?
Przejdźmy teraz do kolejnego z najczęstszych powodów, czyli środowiska.
Przeważnie jak zaczynasz pracę w firmie lub w nowym projekcie, to dostajesz tak zwaną czystą kartkę w postaci delikatnie zapełnionej bazy danych lub też wcale nie uzupełnionej i wtedy musisz sobie przygotować aplikację do testów.
W międzyczasie testujesz zmiany wprowadzane przez programistów, które oni oddają do testów. Oczywiście po tym, jak oddali wam do testów jedną funkcjonalność nie oznacza, że w tym momencie nie robią nic więcej. Nic bardziej mylnego developement trwa w najlepsze i czasami zdarza się, że podczas testów znajdziemy defekt, który będzie bezpośrednio wynikał z Twojego poprzedniego używania aplikacji.
Jak w takim wypadku pomóc programiście w zidentyfikowaniu problemu?
Przede wszystkim musimy pamiętać o wersji aplikacji, na której sprawdzałeś zmiany, następnie bierz pod uwagę inne aspekty jak np. Niedawny Update. Głównie podczas większych update są robione jakieś zmiany strukturalne na bazie danych – to tu możesz mieć największe zależności i sporo do zastanowienia się, czy w ogóle to, co znalazłeś, jest błędem.
Ok, ale znowu odbiegam od tematu. Co, jeżeli na wersji, dla której zgłosiłeś defekt, mimo wszystko aplikacja działa programiście poprawnie? Na taki przypadek mamy możliwość zrobienia zrzutu bazy danych i przekazania jej programiście.
Co zrobisz, gdy programista nie może powtórzyć błędu?
Dobra opisałem, jak to może w ciut bardziej problematycznych sytuacjach wyglądać, natomiast przede wszystkim pierwszym działaniem, jakie możesz wykonać to próba odtworzenia zgłoszenia na urządzeniu programisty. Tak wiem w czasie pracy zdalnej, którą teraz nieco Minusem tej sytuacji jest to, że niektórzy programiści lubią podejść do tematu „na leniucha” i możesz ich łatwo nauczyć tego, że z każdą pierdołą będziesz siadał i im pokazywał.
