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 w locie. Mogą zapisywać pomysły dotyczące tego, co należy przetestować przed wykonaniem testu. Testowanie eksploracyjne koncentruje się bardziej na testowaniu jako czynności „myślącej”.
Testowanie eksploracyjne jest szeroko stosowane w modelach zwinnych i polega na odkrywaniu, badaniu i uczeniu się. Podkreśla osobistą wolność i odpowiedzialność indywidualnego testera.
W przypadku testowania skryptowego najpierw projektujesz przypadki testowe, a później przystępujesz do wykonywania testów. Wręcz przeciwnie, testowanie eksploracyjne to jednoczesny proces projektowania testów i wykonywania testów wykonywanych w tym samym czasie.
Wykonywanie testów za pomocą skryptów jest zwykle bezmyślną czynnością, w ramach której testerzy wykonują kroki testowe i porównują rzeczywiste wyniki z oczekiwanymi. Taka aktywność wykonywania testów może zostać zautomatyzowana i nie wymaga wielu umiejętności poznawczych.
Chociaż obecnym trendem w testowaniu oprogramowania jest nacisk na automatyzację , testowanie eksploracyjne jest nowym sposobem myślenia. Automatyzacja ma swoje ograniczenia
Różnice między testowaniem skryptowym i eksploracyjnym
Testowanie skryptowe | Testowanie eksploracyjne |
---|---|
Wyreżyserowane z wymagań | Kieruje się wymaganiami i eksploruje podczas testowania |
Określanie 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 testy | Obejmuje dochodzenie |
Chodzi o kontrolowanie testów | Chodzi o doskonalenie projektowania testów |
Jak wygłaszanie przemówienia - czytasz z wersji roboczej | Jak rozmowa - jest spontaniczna |
Skrypt ma kontrolę | Umysł testera jest pod kontrolą |
Testowanie eksploracyjne -
- Nie jest to testowanie losowe, ale testowanie ad hoc w celu znalezienia błędów
- Jest zorganizowany i rygorystyczny
- Ma strukturę poznawczą (myślową) w porównaniu z proceduralną strukturą testowania skryptowego. Ta struktura pochodzi z Karty, boksu czasowego itp.
- Jest bardzo łatwy w nauczaniu i zarządzaniu
- To nie jest technika, ale podejście. To, jakie czynności wykonujesz później, zależy od tego, co robisz w danej chwili
Jak przeprowadzić testy eksploracyjne
Poniżej przedstawiono krok po kroku proces przeprowadzania testów eksploracyjnych, zwany również zarządzaniem testami opartymi na sesji (cykl SBTM):
- Utwórz taksonomię błędów (klasyfikacja)
- Kategoryzuj typowe typy usterek znalezionych w poprzednich projektach
- Przeanalizuj analizę pierwotnej przyczyny problemów lub usterek
- Znajdź zagrożenia i opracuj pomysły na przetestowanie aplikacji.
- Karta testowa
- Karta testu powinna sugerować
- co przetestować
- jak można to przetestować
- Na co trzeba spojrzeć
- 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
- Karta testu powinna sugerować
- Time Box
- Ta metoda obejmuje parę testerów pracujących razem nie krócej niż 90 minut
- Nie powinno być żadnych przerw w tych 90-minutowych sesjach
- Timebox można wydłużyć lub skrócić o 45 minut
- Ta sesja zachęca testerów do reagowania na odpowiedź systemu i przygotowania się na poprawny wynik
- Wyniki przeglądu:
- Ocena wad
- Uczenie się na podstawie testów
- Analiza obszarów pokrycia
- Odprawa:
- Kompilacja wyników wyjściowych
- Porównaj wyniki z kartą
- Sprawdź, czy potrzebne są dodatkowe testy
Na przykład podczas wykonywania eksploracyjnego należy wykonać następujące czynności:
- Misja testowania powinna być bardzo jasna
- Prowadź notatki o tym, co należy przetestować, dlaczego należy to sprawdzić i ocenę jakości produktu
- Śledzenie pytań i problemów pojawiających się podczas testów eksploracyjnych
- Lepiej połączyć testerów w pary w celu efektywnego testowania
- Im więcej testujemy, tym większe prawdopodobieństwo, że wykonamy właściwe przypadki testowe dla wymaganych scenariuszy
Bardzo ważne jest, aby wziąć dokument i monitorować następujące kwestie
- Pokrycie testów - czy zrobiliśmy notatki na temat pokrycia przypadków testowych i poprawiliśmy jakość oprogramowania
- Ryzyka - jakie rodzaje ryzyka należy pokryć i które są wszystkie ważne?
- Dziennik wykonania testów - zapisy dotyczące wykonania testu
- Problemy / zapytania - sporządzaj notatki dotyczące pytania i problemów w systemie
Inteligentniejsze testy eksploracyjne znajdują więcej błędów w krótszym czasie.
Plusy i minusy testów eksploracyjnych
Zawodowiec | Kon |
---|---|
|
|
Wyzwania testowania eksploracyjnego:
Istnieje wiele wyzwań związanych z testowaniem eksploracyjnym, które wyjaśniono poniżej:
- Nauka obsługi aplikacji lub systemu oprogramowania jest wyzwaniem
- Replikacja awarii jest trudna
- Określenie, czy narzędzia muszą być używane, może być trudne
- Określenie najlepszych przypadków testowych do wykonania może być trudne
- Raportowanie wyników testu jest wyzwaniem, ponieważ raport nie zawiera zaplanowanych skryptów ani przypadków, które można by porównać z rzeczywistym wynikiem lub wynikiem
- Dokumentacja wszystkich zdarzeń podczas realizacji jest trudna do zarejestrowania
- Nie wiem, kiedy zakończyć testowanie, ponieważ testowanie eksploracyjne ma określone przypadki testowe do wykonania.
Kiedy korzystasz z testów eksploracyjnych?
Testowanie eksploracyjne może być szeroko stosowane, gdy
- Zespół testujący ma doświadczonych testerów
- Wymagana jest wczesna iteracja
- Istnieje krytyczna aplikacja
- Do zespołu weszli nowi testerzy
Wniosek:
W inżynierii oprogramowania testy eksploracyjne są wykonywane w celu przezwyciężenia ograniczeń testowania skryptowego. Pomaga w ulepszaniu zestawu przypadków testowych. Współczuje nauce i zdolnościom adaptacyjnym.