Połącz siłę informacji:
- szczątkowe dokumenty, makiety, intuicja - wszystko staje się narzędziem w rękach testera
- listy kontrolne, mapy myśli, persony zastępują czasochłonne przypadki testowe, pozwalając na szybką weryfikację kluczowych funkcji.
Testowanie eksploracyjne (ang. exploratory testing) jest podejściem do testowania oprogramowania, w którym tester bada funkcje aplikacji, ucząc się jej działania i weryfikując jej poprawność. Ten typ testów jest przeciwieństwem testowania skryptowego, gdzie z góry określone są przypadki testowe.
Korzyści testowania eksploracyjnego to:
- zwiększenie efektywności testowania: tester może skupić się na najważniejszych funkcjach aplikacji z punktu widzenia użytkownika
- wczesne wykrywanie defektów: defekty mogą być wykryte na wczesnym etapie procesu testowania, co obniża koszty ich naprawy
- lepsze zrozumienie aplikacji: tester zyskuje dogłębne zrozumienie działania aplikacji, co ułatwia mu identyfikację potencjalnych problemów
- wzrost kreatywności testera: testowanie eksploracyjne wymaga od testera kreatywności i umiejętności rozwiązywania problemów.
Wadami testowania eksploracyjnego są:
- brak powtarzalności: trudno jest powtórzyć te same kroki testowe w kolejnych iteracjach testów. Z jednej strony jest to dobre, ponieważ aplikacja nigdy nie będzie testowana w ten sam sposób, ale tam, gdzie powtarzalność jest wymagana, nie jest ona łatwa do osiągnięcia
- trudność w oszacowaniu czasu trwania: czas trwania testów eksploracyjnych jest trudny do oszacowania i może zmieniać się dynamicznie wraz z poznawaniem aplikacji
- wymagania stawiane testerowi: testowanie eksploracyjne wymaga od testera dużej wiedzy i doświadczenia
- brak dokumentacji: testowanie eksploracyjne często nie jest dokumentowane, co może utrudniać śledzenie (kontrolę) efektów pracy testera.
Testowanie eksploracyjne jest szczególnie przydatne w przypadku, gdy:
- brakuje szczegółowej specyfikacji testowanego oprogramowania
- aplikacja jest w fazie rozwoju i często ulega zmianom
- istotne jest szybkie wykrycie defektów.
Testowanie eksploracyjne można łączyć z innymi technikami testowania, takimi jak testowanie skryptowe i pamiętajmy, że istnieje wiele narzędzi wspomagających testowanie eksploracyjne, np. narzędzia do nagrywania ekranu czy do mapowania myśli.
Agile i testowanie - idealny duet
Tradycyjne metody wytwarzania oprogramowania silnie opierają się na dokumentacji, a testowanie następuje po ich ukończeniu. W Agile praca wre w krótkich sprintach, a testowanie staje się integralną częścią procesu. Brak czasu na pełen pakiet testów? Testowanie eksploracyjne rozwiązuje problem. Z każdym sprintem tester poznaje aplikację coraz lepiej, wyłapując poważne problemy albo uciążliwe pierdółki.
Ważna jest wiedza i kreatywność testera, bo to klucz do sukcesu testów eksploracyjnych. Warto pamiętać, że:
- testowanie eksploracyjne pobudza kreatywność i rozwija wyobraźnię testera
- nowe pomysły na testy rodzą się w trakcie eksploracji, wzbogacając inne działania testowe
- doświadczenie testera staje się kluczem do efektywnego wykrywania defektów
- nie tylko weryfikuje działanie aplikacji, ale też inspiruje do nowych rozwiązań
- pozwala na odkrycie defektów, które umknęłyby przy innych metodach testowania.
To jest prawdziwie elastyczne narzędzie, które sprawdzi się niemal w każdym projekcie.