Co to jest testowanie eksploracyjne?
Co to jest testowanie eksploracyjne?
Testowanie eksploracyjne to rodzaj testowania oprogramowania, w którym przypadki testowe nie są tworzone z wyprzedzeniem, ale testerzy sprawdzają system na bieżąco. Mogą zanotować pomysły na to, co przetestować przed wykonaniem testu. Testowanie eksploracyjne koncentruje się bardziej na testowaniu jako działaniu „myślącym”.
Testowanie eksploracyjne jest szeroko stosowane w modelach Agile i polega na odkrywaniu, badaniu i uczeniu się. Kładzie nacisk na wolność osobistą i odpowiedzialność indywidualnego testera.
Dlaczego testy eksploracyjne?
W ramach testowania skryptowego najpierw projektujesz przypadki testowe, a następnie przechodzisz do wykonania testu. Z kolei testowanie eksploracyjne to jednoczesny proces projektowania testów i wykonywania testów, wszystkie wykonywane w tym samym czasie.
Skryptowe wykonanie testu jest zwykle czynnością pozbawioną myślenia, podczas której testerzy wykonują kroki testowe i porównują rzeczywiste wyniki z oczekiwanymi wynikami. Takie wykonywanie testów można zautomatyzować, nie wymaga to wielu umiejętności poznawczych.
Chociaż obecny trend w testowaniu oprogramowania polega na forsowaniu automatyzacjatestowanie eksploracyjne to nowy sposób myślenia. Automatyzacja ma swoje ograniczenia
Różnice między testowaniem skryptowym a testowaniem eksploracyjnym
Testowanie skryptowe | Testowanie eksploracyjne |
---|---|
Kierowane z wymagań | Kierowane na podstawie wymagań i eksploracji podczas testowania |
Określenie przypadków testowych z dużym wyprzedzeniem | Określanie przypadków testowych podczas testowania |
Potwierdzenie testów z wymaganiami | Badanie systemu lub aplikacji |
Kładzie nacisk na przewidywanie i podejmowanie decyzji | Kładzie nacisk na zdolność adaptacji i uczenie się |
Obejmuje potwierdzone badania | Obejmuje dochodzenie |
Chodzi o testy kontrolne | Dotyczy ulepszenia projektu testów |
Podobnie jak wygłaszanie przemówienia – czytasz z szkicu | Jak prowadzenie rozmowy – to jest spontaniczne |
Scenariusz rządzi | Umysł testera ma kontrolę |
Techniki testowania eksploracyjnego
- Nie jest to testowanie losowe, ale testowanie ad hoc mające na celu znalezienie błędów
- Jest zorganizowany i rygorystyczny
- Jest poznawczo (myślowo) ustrukturyzowany w porównaniu do proceduralnej struktury testowania skryptowego. Ta struktura pochodzi z Charter, time boxing itp.
- Jest bardzo łatwy do nauczenia i opanowania
- To nie jest technika, ale podejście. To, jakie działania wykonasz później, zależy od tego, co robisz obecnie
Jak przeprowadzić testy eksploracyjne
Poniżej przedstawiono krok po kroku proces przeprowadzania testów eksploracyjnych, nazywanych również zarządzaniem testami opartymi na sesjach (cykl SBTM):
Krok 1) Utwórz taksonomię błędów (klasyfikacja)
- Kategoryzuj typowe typy usterek znalezionych w poprzednich projektach
- Przeanalizuj analizę przyczyn źródłowych problemów lub usterek
- Znajdź zagrożenia i opracuj pomysły na przetestowanie aplikacji.
Krok 2) Karta testowa
- Karta testu powinna sugerować
- co testować
- jak można to przetestować
- Co trzeba obejrzeć
- Pomysły na testy są punktem wyjścia do testów eksploracyjnych
- Karta testów pomaga określić, w jaki sposób użytkownik końcowy może korzystać z systemu
Krok 3) Czas Box
- Metoda ta zakłada, że para testerów pracuje wspólnie nie krócej niż 90 minut
- W tych 90-minutowych sesjach nie powinno być żadnych przerw
- Timebox można wydłużyć lub skrócić o 45 minut
- Sesja ta zachęca testerów do reagowania na odpowiedź systemu i przygotowania się na prawidłowy wynik
Krok 4) Revzobacz wyniki
- Ocena usterek
- Uczenie się z testów
- Analiza obszarów zasięgu
Krok 5) Podsumowanie
- Zestawienie wyników wyjściowych
- Porównaj wyniki z kartą
- Sprawdź, czy potrzebne są dodatkowe badania
Najlepsza praktyka Testowanie eksploracyjne
Podczas wykonywania operacji eksploracyjnych należy wykonać następujące czynności:
- Misja testowania powinna być bardzo jasna
- Prowadź notatki na temat tego, co należy przetestować, dlaczego należy to przetestować i oceny jakości produktu
- Śledzenie pytań i problemów pojawiających się podczas testów eksploracyjnych
- Aby móc skutecznie testować, lepiej połączyć testerów w pary
- Im więcej testujemy, tym większe prawdopodobieństwo, że wykonamy właściwe przypadki testowe dla wymaganych scenariuszy
Bardzo ważne jest, aby zabrać ze sobą dokument i monitorować następujące kwestie
- Pokrycie testów – czy sporządziliśmy notatki na temat pokrycia przypadków testowych i poprawiliśmy jakość oprogramowania
- Ryzyka – które ryzyka należy uwzględnić i które są istotne?
- Dziennik wykonania testu – zapisy dotyczące wykonania testu
- Problemy / Zapytania – rób notatki na temat pytań i problemów w systemie
Inteligentniejsze testy eksploracyjne pozwalają znaleźć więcej błędów w krótszym czasie.
Plusy i minusy testów eksploracyjnych
Zalety
Niedogodności
- Testowanie to zależy wyłącznie od umiejętności testera
- Ograniczone wiedzą domenową testera
- Nie nadaje się do długiego czasu realizacji
Wyzwania testowania eksploracyjnego
Testowanie eksploracyjne wiąże się z wieloma wyzwaniami, które wyjaśniono poniżej:
- Nauka obsługi aplikacji lub systemu oprogramowania jest wyzwaniem
- Powtórzenie porażki jest trudne
- Ustalenie, czy należy użyć narzędzi, może być trudne
- Określenie najlepszych przypadków testowych do wykonania może być trudne
- Raportowanie wyników testów jest wyzwaniem, ponieważ raport nie zawiera zaplanowanych scenariuszy ani przypadków, które można by porównać z rzeczywistym wynikiem lub wynikiem
- Dokumentacja wszystkich zdarzeń podczas realizacji jest trudna do udokumentowania
- Podczas testowania eksploracyjnego nie ma ściśle określonych przypadków testowych do wykonania, co utrudnia podjęcie decyzji, kiedy zakończyć testowanie.
Kiedy stosować testy eksploracyjne?
Testowanie eksploracyjne może być szeroko stosowane, gdy
- Zespół testujący składa się z doświadczonych testerów
- Wymagana jest wczesna iteracja
- Istnieje krytyczna aplikacja
- Do zespołu dołączyli nowi testerzy
Podsumowanie
W inżynierii oprogramowania testy eksploracyjne przeprowadza się w celu przezwyciężenia ograniczeń testów skryptowych. Pomaga w doskonaleniu Przypadek testowy zestaw. Kładzie nacisk na uczenie się i zdolność adaptacji.