Co to jest testowanie eksploracyjne?

⚡ Inteligentne podsumowanie

Testowanie eksploracyjne to podejście do testowania, w którym testerzy projektują i wykonują przypadki testowe jednocześnie, bez konieczności wcześniejszego pisania skryptów. Polega ono na badaniu, uczeniu się i intuicji testera, co pozwala na wykrywanie defektów, które często są pomijane w testowaniu skryptowym. Podejście to jest powszechnie stosowane w programowaniu Agile.

  • 🔍 Definicja testowania eksploracyjnego: Testerzy projektują i uruchamiają testy „w locie”, zamiast pisać dla nich skrypty z wyprzedzeniem.
  • 🆚 vs. testowanie skryptowe: Testowanie skryptowe potwierdza wymagania, natomiast testowanie eksploracyjne bada i dostosowuje się w trakcie testowania.
  • ???? Ćwiczenie rozwijające myślenie: Kładzie nacisk na uczenie się, kreatywność i intuicję testera, aby znaleźć ukryte błędy.
  • 🗂️. Proces SBTM: Taksonomia błędów, karta testów, ramy czasowe, wyniki przeglądu i podsumowanie.
  • ✅ Najlepszy dla: Brakujące wymagania, wczesne iteracje, krytyczne aplikacje i doświadczeni testerzy.
  • ⚖️. Kompromis: Znajduje więcej błędów i zachęca do kreatywności, ale w dużej mierze zależy od umiejętności testera.

Czym 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.

Wykonywanie testów skryptowych to zazwyczaj czynność niewymagająca myślenia, w której testerzy wykonują kroki testowe i porównują rzeczywiste wyniki z oczekiwanymi. Takie wykonywanie testów można zautomatyzować, ponieważ nie wymaga 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
  • Tracking pytań i problemów podniesionych 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

Wady

  • 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

FAQ

Testowanie eksploracyjne jest ustrukturyzowane, celowe i wykorzystuje karty i ramy czasowe do wyszukiwania błędów, podczas gdy testowanie ad hoc jest nieformalne i nieplanowane. Testowanie eksploracyjne jest udokumentowane i powtarzalne, podczas gdy testowanie ad hoc zazwyczaj takie nie jest.

Testowanie eksploracyjne to w większości czynności manualne, oparte na myśleniu, ponieważ opiera się na intuicji testera i decyzjach podejmowanych w czasie rzeczywistym. Narzędzia mogą jednak rejestrować sesje, zapisywać logi i wspierać dokumentację w trakcie testowania.

SBTM to ustrukturyzowany sposób przeprowadzania testów eksploracyjnych w ramach sesji ograniczonych czasowo i opartych na certyfikacie. Testerzy dokumentują swoje ustalenia, a następnie podsumowują je, aby przeanalizować pokrycie, defekty i ewentualną potrzebę dalszych testów.

Sztuczna inteligencja wspiera testowanie eksploracyjne, podpowiadając pomysły na testy, generując karty, analizując dzienniki pod kątem anomalii i identyfikując obszary nieprzetestowane. Wzmacnia intuicję testera, zamiast zastępować proces myślenia eksploracyjnego.

Nie. Testowanie eksploracyjne opiera się na ludzkiej kreatywności, ciekawości i ocenie dziedziny, których AI nie jest w stanie w pełni odtworzyć. Sztuczna inteligencja wspomaga, zajmując się powtarzalną analizą, ale wykwalifikowani testerzy pozostają niezbędni do dokonywania odkryć.

Podsumuj ten post następująco: