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.

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


