checklista dla testera - lista kontrolna QA engineera

Testy regresji – techniki testowania z użyciem checklisty

Testy regresji to dla testera chleb powszedni, jednak podczas monotonnego sprawdzania kolejny raz tych samych rzeczy łatwo o pomyłkę. Z moich doświadczeń wynika, że ten rodzaj testów wykonuje się zazwyczaj na końcu, przed ważnym wydarzeniem jakim jest np. wrzutka kodu na produkcję. Dlatego w tak istotnym momencie warto zastosować sprawdzoną metodę weryfikacji kroków testowania oprogramowania – dobrą praktyką dla QA testera jest właśnie checklista.

testy regresji checklista - lista kontolna do testów regresyjnych

Marcin Kanicki. QA Lead w Awaken Realms. Doświadczenie w zawodzie zdobywa od 2016 roku, większość tego czasu spędził w gamedevie. Był w zespołach tworzących małe gry mobilne jak i webowe. Przy projekcie Tainted Grail pracuje od ponad pół roku. W wolnym czasie uczy się technologii blockchain,  uprawia bouldering i saunuje.


Udostępniając nasz projekt lub zmiany szerszemu gronu odbiorców musimy być pewni, że wszystkie najważniejsze funkcjonalności w testowanym produkcie działają. Wiąże się to ze stresem pominięcia czegoś, które przyniesie skargi od użytkowników lub klienta. Często prace nad premierą odbywają się w pośpiechu, co nie pomaga przy testach regresji. 

Niezwykle przydatna okazuje się checklista, która jest niedocenionym narzędziem. Ogranicza ryzyko popełnienia błędu i daje nam poczucie, że produkt, który chcemy dostarczyć, działa. Jednak tylko dobrze napisana checklista dostarcza wartość, gdy nie spełnia pewnych wymogów, może być obciążeniem zamiast pomocą.

Checklista w testach oprogramowania, czyli co?

Jak nazwa wskazuje, jest to spis rzeczy do zrobienia, inaczej lista kontrolna. Checklistami są narzędzia do zarządzania projektami (np. Jira czy notion), dzięki którym pilnuje się postępu pracy w projekcie i planuje przyszłe zadania.

Przy testach regresji, lista kontrolna jest zbiorem rzeczy do sprawdzenia, które powtarzają się za każdym razem podczas sprawdzania danego oprogramowania. Pozwala odciążyć umysł i pamięć testera, ponieważ daje mu świadomość, że o niczym nie zapomniał. Lista kontrolna uczy nas samodyscypliny, pozwala się skupić na tym co ważne. Daje poczucie dobrze wykonanej pracy i uświadcza w przekonaniu, że wszystko działa jak należy a klient nie natrafi na krytyczne błędy a nasze testy regresji będą wysokojakościowe.

Jak powinna wyglądać dobra checklista testera?

Powinno się ją pisać z myślą, że nie tylko my będziemy z niej korzystać, dlatego należy sprawić, aby była jak najbardziej czytelna i zrozumiała. 

Cechy dobrej checklisty:

  • długość – czym krótsza lista kontrolna tym lepiej, ale nie może pomijać żadnej istotnej do sprawdzenia funkcjonalności,
  • podział – dłuższe checklisty należy podzielić na kategorie, pozwoli to na szybsze zorientowanie się, czego dotyczą dane punkty, co pomoże np. pominąć pewne punkty z testów lub pozwoli łatwiej wyestymować, ile jeszcze testy mogą potrwać,
  • flow – ustawienie punktów checklisty w odpowiedniej kolejności ułatwi i przyśpieszy testy tak, że sprawdzając funkcjonalności w pewnej kolejności podczas przechodzenia od punktu do punktu, nie trzeba było wracać do już sprawdzonych rzeczy. Co mam na myśli, przykładowo: nie sprawdzać logowania i rejestracji jako następujące po sobie punkty, tylko najpierw sprawdzić login, wylogować się, następnie wybrać przedmiot do kupienia, kliknąć “kup teraz” i przed wypełnieniem danych płatności zarejestrować się na portalu,
  • checkbox – dodanie do każdego punkty znacznika czy został sprawdzony, pozwala to na pewną elastyczność (np. usuwając go można pominąć jakieś punkty z testu) i daje poczucie swoistego podpisywania się pod tym, że dany punkt został przez nas sprawdzony,
  • edycja – odpowiednio dobierać wielkości i grubości fontów, aby ważne rzeczy takie jak nazwy kategorii lub tytuły punktów testerskiej checklisty były na pierwszym planie,
  • kolory mogą pomagać w odróżnieniu kategorii, zaznaczeniu ważności rzeczy lub czytelności np. kolor czerwony zwróci uwagę na najbardziej krytyczne punkty listy.

Testerze, czego powinieneś unikać w swojej liście kontrolnej

Trzeba pamiętać o tym, że lista kontrolna ma być dla sprawdzającego pomocą a nie obciążeniem. Źle napisana może być przeszkodą i nie spełniać swojej roli a nawet zmniejszać naszą efektywność.

Czego unikać podczas tworzenia i prowadzenia checklisty:

  • zbytniej szczegółowości – punkty do sprawdzenia powinny dotyczyć tylko rzeczy najistotniejszych. Zbyt rozbudowana zniechęci do korzystania z niej i będzie w gruncie rzeczy marnować nasz czas, ponieważ najbardziej nam zależy na tym, aby działały rzeczy najistotniejsze,
  • rozpisywania się – punkty powinny być zwięzłe i zawierające najistotniejsze dane, zbyt długie opisy należy rozbić na osobne punkty,
  • braku edycji – zbyt małej czcionki, braku podziału lub rozróżnienia między kategoriami, 
  • chaosu – nieodpowiedniej lub chaotycznej kolejności punktów checklisty,
  • szukania błędów – nie należy szukać błędów przy pomocy checklisty, ale trzeba skupić się na sprawdzaniu poprawności działania. Do szukania błędów służą inne techniki jak chociażby testy eksploracyjne.

Checklista rozwija się wraz z testowanym oprogramowaniem

Trzeba pamiętać, że dobra lista kontrolna ciągle ewoluuje, w miarę rozbudowy testowanego oprogramowania trzeba dodawać kolejne punkty, aby pokryć nowe funkcjonalności. 

Z czasem będą też wychodzić rzeczy, które nie zostały w niej uwzględnione i będzie trzeba uzupełnić listę. Również niektóre pojawiające się błędy pozwalają na wprowadzanie ulepszeń. Checklista powinna ulegać zmianie, trzeba ciągle pracować nad upraszczaniem i czytelnością, usuwać punkty zbędne i dodawać nowe.

Przypadki użycia listy kontrolnej

Checklista ma sporo ciekawych przypadków użycia, które mogą zrobić z niej niezastąpioną pomoc w pracy:

  • mniej dokładna – służy szybkiemu sprawdzeniu czy działają najbardziej krytyczne rzeczy w aplikacji lub funkcjonalności, najczęściej używana podczas szybkich testów kolejnej wersji oprogramowania lub po niewielkich poprawkach kodu,
  • dokładna – może służyć do testów całego oprogramowania z uwzględnieniem mniej istotnych funkcjonalności. Można jej używać, gdy jest czas na dokładniejsze sprawdzanie lub gdy chcemy bardziej przyjrzeć się jakiejś określonej funkcjonalności, 
  • zależna od specyfiki aplikacji – różne oprogramowanie wymaga innych testów. Aplikacje mobilne mogą mieć osobne listy kontrolne dla systemu android i iOS. Przeglądarkowe programy sprawdzać można inaczej w zależności od przeglądarki, systemu operacyjnego lub portalu na jakim się znajduje. Checklisty do testów gier też będą inaczej wyglądać dla PC i konsol,
  • onboarding pracowników – nowa osoba w zespole QA szybciej i prościej zapozna się z aplikacją, gdy będzie miała listę z opisem działania wszystkich kluczowych funkcjonalności, 
  • pomoc dla nie-testera – osoba nie będąca testerem może w nagłych wypadkach przy jej pomocy wykonać testy regresywne, a dobrze napisana lista kontrolna zapewni, że zrobi to dobrze,
  • wiedza o aplikacji – checklista może posłużyć jako zbiór wiedzy o aplikacji lub funkcjonalności, zwłaszcza gdy nie ma aktualnej specyfikacji. Gdy ktoś będzie się zastanawiał jak powinna działać dana rzecz to po przeczytaniu listy kontrolnej mógłby dostać najważniejsze informacje o danej funkcjonalności.

Podsumowanie

Pamiętajmy, że checklista sprawdza poprawność działania oprogramowania, nie powinna służyć do szukania błędów. Czyli przy sprawdzaniu poprawności działania logowania, użyjemy poprawnego loginu i hasła w celu zalogowania się. Szukanie błędów w logowaniu oznacza sprawdzanie przypadków, w których funkcjonalność może zawieść np. zbyt długi login lub hasło, ich brak, wpisywanie niedozwolonych znaków itp. itd. 

Trzeba utrzymywać ją jak najprostszą i jak najczytelniejszą, tak aby korzystało się z niej z przyjemnością. Ma nam pomagać a nie przeszkadzać, gdy nie wracamy do niej z chęcią to oznacza, że należy ją przeredagować. Dobrze napisana checklista z nawiązką zwróci nam zainwestowany w jej tworzenie czas i oszczędzi wiele nerwów.

Uważam, że dobry tester oprogramowania będzie korzystał z checklist chociażby z powodu braku pełnego zaufania do swojej pamięci i brania pod uwagę, że można mieć gorszy dzień lub warunki będą niesprzyjające (duży pośpiech, poganianie, chaos itp). Lista kontrolna uczy nas samodyscypliny i pozwala się skupić na tym, co ważne. Życzę wszystkim dobrej zabawy przy sporządzaniu własnych checklist.


Zdjęcie główne artykułu pochodzi z unsplash.com.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
bitcoin
Złe wieści dla posiadaczy bitcoina – traci na wartości. A co z dogecoinami?