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.

Testowanie eksploracyjne

Chociaż obecny trend w testowaniu oprogramowania polega na forsowaniu automatyzacjatestowanie eksploracyjne to nowy sposób myślenia. Automatyzacja ma swoje ograniczenia

Testowanie eksploracyjne

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ć
    1. co testować
    2. jak można to przetestować
    3. 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

  • Testowanie to jest przydatne, gdy dokumenty wymagań nie są dostępne lub są dostępne częściowo
  • Obejmuje proces dochodzenia, który pomaga znaleźć więcej błędów niż normalne testowanie-
  • Odkryj błędy, które zwykle są ignorowane przez inne techniki testowania
  • Pomaga poszerzyć wyobraźnię testerów, wykonując coraz więcej przypadków testowych, co ostatecznie poprawia również produktywność
  • To testowanie sięga do najmniejszej części aplikacji i obejmuje wszystkie wymagania
  • Testowanie to obejmuje wszystkie rodzaje testów i obejmuje różne scenariusze i przypadki
  • Wspiera kreatywność i intuicję
  • Generowanie nowych pomysłów podczas wykonywania testów
  • 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.