Adhoc Testing: A Brief Note With Examples

FacebookTwitterLinkedInShare

Testy adhoc są zazwyczaj wykonywane w celu złamania systemu i przy użyciu niekonwencjonalnych sposobów. Najbardziej zdumiewającą cechą testowania Adhoc jest to, że nie posiada ono żadnej techniki projektowania testów do tworzenia przypadków testowych.

Proces ten jest zazwyczaj wykonywany w celu znalezienia luk w oprogramowaniu. Ponieważ testowanie Adhoc nie ma przypadków testowych, jest często wykonywane bez żadnej dokumentacji.

Spójrz na proces w szczegółach

Testowanie Ad-Hoc jest techniką, która należy do kategorii 'Testowanie Nieustrukturyzowane’.

zasada ad hoc

Co to jest testowanie ustrukturyzowane i nieustrukturyzowane?

Testowanie ustrukturyzowane

W tym podejściu, każda czynność, która występuje podczas procedury testowania, od tworzenia przypadków testowych do ich sekwencyjnego wykonywania, wszystko jest oskryptowane. Testerzy podążają za tym skryptem, aby przeprowadzić testy zgodnie z nim.

Testowanie nieustrukturyzowane

W tym podejściu, testowanie jest powszechnie wykonywane poprzez zgadywanie błędów, gdzie testerzy tworzą przypadki testowe, podczas samego procesu testowania.

Co to jest testowanie ad hoc?

Schemat testowania ad hoc

Jak omówiono powyżej, jest to rodzaj nieuporządkowanego podejścia do testowania, gdzie żaden zorganizowany plan nie jest tworzony przed rozpoczęciem procesu testowania.

W związku z tym, przed testowaniem, nie jest robiona dokumentacja wymagań lub planowanie i projektowanie przypadków testowych.

Testowanie ad hoc jest zwykle przeprowadzane przez testera, który ma silną wiedzę o testowanym oprogramowaniu, dotyczącą tego, co robi i jak działa.

Testowanie to jest wykonywane przez losowe tworzenie przypadków testowych przez zgadywanie błędów i wykonywanie ich, bez przestrzegania jakichkolwiek wymagań dla testu.

Główną częścią tego testowania jest znalezienie potencjalnych obszarów oprogramowania, gdzie błędy mogą być obecne.

Dlatego jest to również czasami znane jako Małpie Testowanie lub Testowanie Losowe. Dlatego ważne jest, aby tylko ci testerzy, którzy mają dobrą znajomość oprogramowania, przeprowadzali ten test.

Zaletą testowania Ad-Hoc jest to, że oszczędza sporo czasu, który w przeciwnym razie idzie na tworzenie dokumentów, takich jak wymagania testowe, planowanie przypadków testowych, projektowanie, itp.

Jest również generalnie przeprowadzany po tym, jak testowanie strukturalne zostało już wykonane. Robi się to w celu znalezienia niecodziennych wad w oprogramowaniu, które nie mogły być wykryte przez podążanie za wcześniej napisanymi przypadkami testowymi.

Typy testów Adhoc

1) Testowanie koleżeńskie

W tym typie testowania Ad-Hoc, testy są przeprowadzane przy wysiłku zespołu co najmniej dwóch osób. Ten zespół zazwyczaj składa się z co najmniej jednego testera oprogramowania i jednego programisty.

Ten typ testowania ma miejsce po zakończeniu przeprowadzania testów jednostkowych modułu.

Zespół dwóch „kumpli” pracuje razem nad tym modułem, aby stworzyć poprawne przypadki testowe.

Jest to robione po to, aby tester nie skończył raportując błędy wygenerowane przez nieważne przypadki testowe. Ten typ testowania może być również uważany za połączenie zarówno testowania jednostkowego jak i systemowego.

2) Małpie testowanie

Losowość podejścia używanego w tym testowaniu jest powodem, dla którego jest ono określane jako „małpie testowanie”.

Tutaj, testowanemu oprogramowaniu dostarcza się losowych danych wejściowych, dla których obserwuje się odpowiadające im dane wyjściowe.

Na podstawie uzyskanych danych wyjściowych określa się występowanie błędów, niespójności lub awarii systemu.

3) Testowanie par

Testowanie to jest bardzo podobne do testowania kumpli. Jednak tutaj, para tylko testerów pracuje razem na modułach do testowania.

Pracują razem, aby dzielić się pomysłami, opiniami i wiedzą nad tą samą maszyną w celu identyfikacji błędów i wad.

Testerzy są łączeni w pary zgodnie z ich poziomem wiedzy i doświadczeniem, aby uzyskać inny wgląd w każdy problem.

Charakterystyka testowania ad hoc

  • Testowanie to jest wykonywane po tym, jak formalne techniki testowania zostały już przeprowadzone na oprogramowaniu. Powodem tego jest to, że testy ad hoc są wykonywane w celu znalezienia anomalii w aplikacji, których nie można przewidzieć przed testowaniem.
  • Testy te mogą być przeprowadzane tylko przez tych testerów, którzy mają dobrą i dokładną wiedzę na temat działania aplikacji. Jest tak dlatego, że skuteczne „odgadywanie błędów” może być wykonane tylko wtedy, gdy tester wie, co aplikacja robi i jak działa.
  • Testowanie ad hoc jest najbardziej odpowiednie do znajdowania błędów i niespójności, które powodują powstanie krytycznych luk w aplikacji. Takie błędy są zazwyczaj bardzo trudne do odkrycia.
  • Testowanie to zajmuje stosunkowo mniej czasu niż inne techniki testowania. Dzieje się tak, ponieważ jest wykonywane bez wcześniejszego planowania, projektowania i strukturyzacji.
  • Testy ad hoc są przeprowadzane tylko raz, ponieważ wszelkie znalezione błędy wymagają ponownego przetestowania.

Przykłady testów ad hoc

  • Testowanie poprawnego działania aplikacji, gdy ustawienia przeglądarki są różne. Na przykład, identyfikacja błędów występujących, gdy opcja dla JavaScript jest wyłączona w różnych przeglądarkach, itp.
  • Testowanie aplikacji na różnych platformach. Istotne jest sprawdzenie, czy opracowana aplikacja może płynnie działać w różnych systemach operacyjnych lub przeglądarkach.
  • Podawanie danych wejściowych do systemu, które są poza zakresem valid-inputs, w celu sprawdzenia, czy wynikowa akcja podjęta przez aplikację jest odpowiednia, czy nie.
  • Kopiowanie adresu URL aplikacji i manipulowanie nim w celu uruchomienia w innej przeglądarce. Robi się to w celu upewnienia się, że żaden nieautoryzowany użytkownik nie jest w stanie uzyskać nieuwierzytelnionego dostępu do systemu.
  • Przejście przez serię losowych kroków lub losowe poruszanie się po aplikacji w celu sprawdzenia wyników uzyskanych po przejściu przez pewną kombinację nietypowych danych wejściowych.

Kiedy przeprowadzać testy ad hoc

Zwykle, testy ad hoc są przeprowadzane kiedy nie ma wystarczająco dużo czasu na przeprowadzenie wyczerpujących i dokładnych testów, które obejmują przygotowanie dokumentu wymagań testowych, przypadków testowych i projektów przypadków testowych.

Doskonałym czasem na przeprowadzenie tego typu testów jest czas po zakończeniu formalnych technik testowania.

Jednakże, testy ad-hoc mogą być również przeprowadzane w środku rozwoju oprogramowania.

Można je przeprowadzić po całkowitym stworzeniu oprogramowania, a nawet po stworzeniu kilku modułów.

Można je również przeprowadzić w trakcie procesu formalnych metod testowania.

Jest jednak kilka sytuacji, w których takich testów przeprowadzać nie wolno. Dlatego każdy tester musi wiedzieć, kiedy unikać tego testowania.

Poniżej podano kilka warunków, kiedy nie wolno przeprowadzać testów ad-hoc:

  • Testowanie ad-hoc nie może być przeprowadzane, kiedy przeprowadzane są testy Beta. Dzieje się tak dlatego, że w testach Beta biorą udział klienci, którzy testują opracowane oprogramowanie, aby przekazać sugestie dotyczące nowych funkcji, które należy dodać lub zmienić wymagania wobec niego.
  • Testów tych nie należy również przeprowadzać w przypadkach testowych, które mają już istniejące błędy. Błędy te muszą być najpierw odpowiednio udokumentowane, zanim zostaną usunięte z systemu. Po ich naprawieniu, przypadki testowe muszą być ponownie przetestowane, aby zapewnić ich prawidłowe działanie.

Jakie są zalety testowania ad hoc?

  • Jedną z zalet testowania ad hoc jest to, że wiele błędów, które zwykle pozostają niewykryte, gdy używane są tylko formalne metody testowania, mogą być znalezione przez losowe testowanie aplikacji.
  • Testerzy dostają możliwość swobodnej eksploracji aplikacji, zgodnie z ich intuicją i zrozumieniem aplikacji. Mogą następnie wykonać testy w trakcie ich trwania, co pomaga im w znalezieniu błędów podczas tego procesu.
  • Testerzy, jak również twórcy aplikacji mogą łatwo przetestować aplikację, ponieważ żadne przypadki testowe nie muszą być zaplanowane i zaprojektowane. To pomaga programistom generować bardziej skuteczne i wolne od błędów kody easily.
  • Testowanie to może również pomóc w tworzeniu unikalnych przypadków testowych, które mogą nieefektywnie wykrywać błędy. Dlatego takie przypadki testowe mogą być dodane do formalnych testów wraz z innymi zaplanowanymi przypadkami testowymi.
  • Testy ad hoc mogą być przeprowadzane w dowolnym momencie podczas cyklu życia oprogramowania, ponieważ nie podlegają żadnemu formalnemu procesowi.

Jakie są wady testowania ad hoc?

  • Ponieważ proces testowania nie jest udokumentowany i nie jest przestrzegany żaden konkretny przypadek testowy, staje się to bardzo trudne dla testera do odtworzenia błędu. Dzieje się tak, ponieważ tester musi pamiętać dokładne kroki, które wykonał, aby uzyskać ten błąd, co nie jest możliwe za każdym razem.
  • Czasami, z powodu wykonania nieprawidłowych przypadków testowych losowo opracowanych przez testera, zgłaszane są nieprawidłowe błędy, co staje się problemem w kolejnych procesach naprawiania błędów.
  • Jeśli testerzy nie mają wcześniejszej wiedzy na temat działania testowanej aplikacji, wtedy wykonywanie testów ad-hoc nie będzie w stanie odkryć wielu błędów. Dzieje się tak, ponieważ testerzy muszą pracować poprzez zgadywanie błędów i intuicyjnie tworzyć i wykonywać przypadki testowe na miejscu.
  • Testy ad hoc nie dają pewności, że błędy zostaną znalezione. Proaktywne zgadywanie błędów w testowaniu całkowicie zależy od umiejętności i wiedzy testera.
  • Ponieważ nie ma wcześniej utworzonych i udokumentowanych przypadków testowych, ilość czasu i wysiłków, które idą na to testowanie pozostaje niepewna. Czasami, znalezienie nawet jednego błędu może zająć ogromną ilość czasu.

Najlepsze praktyki przeprowadzania testów Adhoc

Dla efektywnego przeprowadzenia techniki testowania Ad-Hoc, ważne jest, aby znać najbardziej skuteczne i efektywne sposoby, aby to zrobić.

To dlatego, że jeśli testy nie są przeprowadzane w odpowiedni sposób, wtedy wysiłek i czas włożony w testy będzie zmarnowany.

Dlatego, aby przeprowadzić tego typu testy, należy znać najlepsze praktyki, które mogą pomóc w bardziej kompleksowym podejściu do testowania:

1) Dobra znajomość oprogramowania

Upewnij się, że tester przydzielony do testowania aplikacji poprzez podejście ad-hoc ma dobrą znajomość aplikacji.

Tester musi być zaznajomiony ze wszystkimi funkcjami aplikacji, aby ułatwić lepsze „odgadywanie błędów” w aplikacji.

Z wystarczającą wiedzą wspierającą proces testowania przez testera, znalezienie większej ilości błędów, bugów i niespójności staje się łatwiejsze.

2) Znajdź obszary podatne na błędy

Jeśli testerzy, jak nie są zaznajomieni z aplikacją, wtedy najlepszą praktyką dla nich, aby rozpocząć proces testowania jest sprawdzenie części aplikacji, gdzie leży większość błędów.

Wybieranie takich wrażliwych obszarów do wykonywania testów ad hoc może pomóc im łatwiej znaleźć błędy.

3) Ustalanie priorytetów obszarów testowych

Zawsze lepiej jest rozpocząć testowanie od obszarów aplikacji, które są najczęściej używane przez użytkowników końcowych lub klientów. Pomaga to w zabezpieczeniu ważnych funkcji i wcześniejszym zgłoszeniu każdego błędu.

4) Z grubsza zaplanuj plan testów

Chociaż testowanie ad hoc nie wymaga wcześniejszego planowania ani dokumentacji, okazuje się bardzo przydatne i efektywne, jeśli wcześniej zostanie stworzony zgrubny plan.

Zanotowanie głównych wskazówek i obszarów, które wymagają testowania, może pomóc testerom w pokryciu maksymalnej części aplikacji w krótkim czasie.

5) Narzędzia

Niezbędne jest korzystanie z odpowiedniego rodzaju narzędzi, takich jak debuggery, monitory zadań i profilery, aby ułatwić proces testowania.

To dlatego, że są czasy, kiedy specyficzne błędy i wyjątki nie mogą być widziane i nie są złapane podczas testowania.

Jednakże użycie odpowiednich narzędzi może pomóc wyizolować błąd w krótkim czasie.

Testy Adhoc vs Testy Eksploracyjne

.

Testy Adhoc Testy Eksploracyjne
Testerzy muszą mieć jasne pojęcie o przepływie pracy aplikacji Testerzy uczą się o aplikacji w drodze
Więcej o doskonaleniu procesu testowania To metoda uczenia się wiedzy o aplikacji
Forma pozytywnego testowania Forma negatywnego systemu
Nie ma planu Plan oparty na karcie zostanie wykorzystany
Nie ma proponowanego limitu czasowego Czas w pudełku/wektor znaków
Może być wykonany przez inżyniera testowania oprogramowania Musi być wykonane przez eksperta
Skupia się na procesie aplikacji Obszary wprowadzania danych będą w centrum uwagi
Złożoność testów nie będzie przeszkadzać w tym procesie Wiążące się z tym wyzwania

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.