Testowanie eksploracyjne

Testy eksploracyjne to temat, który poruszymy w dzisiejszym wpisie. Testy te, są również nazywane testami ad-hoc. Testerzy, którzy dopiero rozpoczynają swoją pracę, nie mają do czynienia z tym typem testów, ponieważ ich przeprowadzenie wymaga wiedzy, doświadczenia oraz testerskiej intuicji. Temat testów ekspolacyjnych nie jest łatwy, ja postaram się wam wytłumaczyć czym on jest, na czym polega oraz kiedy ten typ testów ma swoje zastosowanie. Zapraszam do czytania i dzielenia się swoimi przemyśleniami na ten temat.

Jak zawsze na samym początku wpisu zapoznajemy się z charakterystyką pojęcia, którą możemy znaleźć w słowniku pojęć ISTQB.

Testowanie eksploracyjne — nieformalna technika projektowania testów, w której tester projektuje testy podczas ich wykonywania oraz wykorzystuje informacje zdobyte podczas testowania do projektowania nowych i lepszych testów.

Na poniższym obrazku przedstawiłam cechy wspólne, które charakteryzują testy eksploracyjne:

Brak formalnej dokumentacji lub jej minimalny zasób jest powodem, dla którego wykonuje się właśnie testy eksploracyjne. Są one przede wszystkim szybkie, nie posiadając dokumentacji, automatycznie skraca się czas potrzebny na przygotowanie do nich, natomiast to, co jest ważne -> mamy wyznaczony cel naszych testów. Posiadanie dokumentacji często powoduje, że tester skupia się tylko na elementach zawartych właśnie w niej. Nie jest to do końca dobre, dokumentacja często nie zawiera wszystkich informacji na temat aplikacji. Tester, który jest w nią ślepo zapatrzony, może pominąć masę obszarów, w których występują błędy a proces testów ich nie przewidział. Nie zostały także stworzone do nich przypadki testowe, które mogłyby je sprawdzić. W trakcie wykonywania testów eksploracyjnych wykonujemy w jednym momencie kilka czynności, poznając dopiero naszą aplikację, tworzymy oraz wykonujemy testy:

POZNAWANIE aplikacji – TWORZENIE test cases – WYKONYWANIE test cases

Zdobyta wiedza w trakcie wykonywania tych testów daję nam możliwość na stworzenie nowych, a zarazem lepszych przypadków testowych, które w dalszej pracy nad testowaniem aplikacji sporo nam ją ułatwią i pozwolą się skupić na jej istotnych obszarach.

W ramach tych właśnie testów są też wykonywane sesje testowania eksploracyjnego. W skład takiej sesji wchodzi kilka kroków:

Funkcjonalności, moduły, które działają prawidłowo w trakcie wykonywania testów eksploracyjnych, pozwalają nam na późniejsze wykonanie test cases z nimi związanych i skupieniu się na elementach, które podczas testów wywołały błędy a tym samym zajęcia się nimi w pierwszej kolejności. Takie podejście pozwala ustalić plan działania, w którym ustalamy, jakie testy są dla nas priorytetowe, a jakie mogą poczekać na sprawdzenie w późniejszym etapie.

Testowanie eksploracyjne ma też swoje wady, niektóre z nich zdążyliśmy już wymienić. Najczęściej wymienianymi wadami wykonywania tego typu testów to problem z powtarzalnością. W większości przypadków powtórzenie jeszcze raz tego samego testu, z tymi samymi danymi, konkretnymi krokami jest praktycznie niemożliwe. Testy te, nie mogą zostać poddane przeglądowi oraz jak już wcześniej wspominałam bardzo trudno określić, które testy zostały wykonane, a które jeszcze musimy wykonać. Brak jakiejkolwiek dokumentacji i wiedzy powoduje, że cała odpowiedzialność spoczywa na umiejętnościach testera, a co za tym idzie wymagania wobec niego są ogromne. Poczucie presji oraz tego, jak wiele zależy od testera, może powodować, że jego praca nie będzie efektywna. Dodatkowo minimalna wiedza lub całkowity jej brak może spowodować, że najważniejsze błędy nie zostaną odkryte. Problem ten dotyczy również obszarów, które mogłyby być przedstawione w dokumentacji, jako zakres do testowania a z braku jej posiadania, tester może po prostu je pominąć oraz w ogóle ich nie przetestować. Ryzykowne jest to, że nie znając dobrze aplikacji, ciężko jest określić co w jaki sposób ma działać, a tym samym nie wiemy, na co zwracać większą uwagę oraz jakie zagrożenia możemy spotkać. Często te najmniej pozorne rzeczy mogą wywoływać najwięcej problemów, tester może starać się doszukiwać zaawansowanych usterek, pomijając sprawdzenie rzeczy, które wydają się mu błahe. Ostatnią wadą według mnie jest to, że ten typ testów nie sprawdza się w wielu organizacjach, mogą się na to składać różne czynniki np. brak doświadczonych testerów. Właśnie przez występowanie różnych wymagań związanych z tym typem testów są one pomijane w danej firmie, przez co też nie są one rozwijane i wiedza o nich nie zostaje poszerzana.

Pewnie wiele mogłabym pisać na ten temat, jednak sama jestem świadoma tego, że nie posiadam całej wiedzy na każdy temat. Podzieliłam się z wami wszystkim, co wiem i mam nadzieję, że ten wpis pomógł wam zrozumieć czym są testy eksploracyjne, kiedy się je wykonuje, jakie są ich wady i zalety. Jeśli macie szerszą wiedzę na ten temat dzielcie się z nią w komentarzach po to, aby każdy z nas miał szansę poszerzyć swoją wiedzę : ) Udanego weekendu i owocnej nauki życzy Testerka 😀

Komentarze:

  • Paulina Marzec 27, 2017

    znam twojego bloga, jakiś czas temu przypadkowo trafiłam, i bardzo fajnie i ciekawie piszesz.

  • klaudia Marzec 31, 2017

    Bardzo fajnie piszesz. Będę wpadać częściej.

  • ali_lee Sierpień 09, 2017

    A co gdybyśmy spróbowali znaleźć różnicę pomiędzy testowaniem jako czynnością (nie mam na myśli tutaj wykonwyania wcześniej spisanego przypadku, scenariusza, skryptu testowego) a testowaniem eksploracyjnym?

Napisz komentarz

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

Solve : *
29 + 6 =