14 marca 2017 4min.
Testy eksploracyjne w e-Commerce
Jedną z technik testowania opartą na doświadczeniu testera jest test eksploracyjny. Według nomenklatury słownika ISTQB to 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 [wg Bacha].
Zawartość artykułu:
Czym jest testowanie eksploracyjne?
Przyjrzyjmy się bliżej tej definicji, czym jest testowanie eksploracyjne:
- nieformalna technika projektowania testów: zazwyczaj brak jest scenariuszy testowych, jednak istnieją narzędzia służące wsparciu automatyzacji testów eksploracyjnych;
- tester projektuje testy podczas ich testowania: tester przeglądając aplikację czy stronę internetową, sprawdza funkcjonalności dostępne dla użytkowników intuicyjnie, jednak na podstawie określonej przez siebie strategii testowania;
- tester wykorzystuje informacje zdobyte podczas testowania do projektowania nowych i lepszych testów: testy eksploracyjne są bardzo przydatne jako inspiracja do tworzenia nowych przypadków testowych, potrzeby wprowadzania automatyzacji kolejnych komponentów aplikacji, strony czy ujawnieniu luk w istniejących przypadkach testowych.
Testowanie eksploracyjne – założenia
Jednym z najważniejszych założeń testów eksploracyjnych jest określenie czasu potrzebnego na sesję testową. Sesja polega na nieprzerwanym, ciągłym testowaniu określonej aplikacji czy strony internetowej. Założenie określonego czasu jest tutaj bardzo istotną kwestią: poświęcenie zbyt małej jego ilości spowoduje brak możliwości przetestowania wszystkich najważniejszych elementów, zaś narzucenie sesji, która trwa wiele godzin, powoduje znużenie osoby wykonującej test i zmniejszy jego efektywność. Na długość sesji testowej mają wpływ takie czynniki jak: doświadczenie i intuicja testera (początkujący tester będzie potrzebował więcej czasu niż bardziej doświadczony), warunki środowiska testowego (sprzęt, a w przypadku testowania na urządzeniach mobilnych — rodzaj połączenia) czy złożoność danego systemu (np. ilość zależności pomiędzy modułami).
Testerzy przystępują do testów eksploracyjnych bez przygotowanych wcześniej przypadków testowych. Główną ideą testów jest określony cel, który zazwyczaj jest opisany krótko i zwięźle: od 140 do 160 znaków i nakreśla ogólną ideę, co chcemy zweryfikować. Następnie zaczyna się sesja testów eksploracyjnych, która trwa przez założony czas. Co ważne w czasie na sesję testową uwzględniony jest również czas na konfigurację środowiska testowego oraz zbieranie i raportowanie błędów.
Oprócz określenia sesji testowej równie istotne jest wyznaczenie przez testera strategii testów. Dla serwisów e-Commerce strategie testowania eksploracyjnego mogą być oparte o:
- dokonanie procesu zakupowego na możliwe sposoby: jak wiadomo, sklepy internetowe oferują różne drogi do osiągnięcia najważniejszego celu czyli zakupu danego produktu czy usługi. Eksplorując pod kątem takiej strategii, tester ma możliwość sprawdzenia poprawności kolejnych kroków procesu sprzedażowego;
- eksploracja serwisu z poziomu określonego typu użytkownika (niezalogowany, zalogowany, klient “VIP” itp): serwisy mogą różnić się funkcjonalnością w zależności od tego, czy użytkownik jest zalogowany, niezalogowany, jaką walutą operuje w serwisie itd., a proces zakupowy może różnić się również dla użytkownika ze zniżkami, z programem lojalnościowym itp. itd.;
- dodawanie/usuwanie poszczególnych produktów, użytkowników czy usług z poziomu administratora: ważną kwestią, która może być poddana testom eksploracyjnym, jest konfiguracja elementów z poziomu panelu administracyjnego (oczywiście takie testy lepiej wykonywać na środowisku testowym, niż na „żywym” organizmie :).
Podsumowując testy eksploracyjne
Jeśli chcesz „wyeksplorować” serwis e-Commerce, aby znaleźć inspirację do napisania nowych testów automatycznych, chcesz się lepiej zapoznać z serwisem czy poznać go z perspektywy różnych użytkowników: ustal potrzebny czas na sesję testową i określ dobrą strategię przy założonym, jasnym celu testowania.