Planowanie testów ad hoc

W tym artykule, omówiliśmy testy ad hoc, ich typy, zalety, wady i najlepsze praktyki do przeprowadzania testów ad hoc.

Co to jest testowanie ad hoc?

Testy ad hoc czasami określane jako „random testing” lub „monkey testing”, są definiowane jako nieformalny typ testowania. Celem tego procesu jest złamanie systemu przy użyciu niekonwencjonalnych metod. Ten typ testowania oprogramowania jest generalnie nieplanowany i nie podąża za żadnymi konkretnymi technikami projektowania testów w celu stworzenia przypadków testowych.

Głównym celem testowania ad hoc jest znalezienie wszelkich defektów poprzez losowe sprawdzanie. Tester improwizuje kroki, wykonując je w sposób arbitralny. To może odkryć bardzo specyficzne i interesujące defekty, które są łatwo przeoczone przy użyciu innych metod.

Najbardziej zaskakującym aspektem testowania ad hoc jest to, że nie zawiera ono żadnych technik projektowania testów. Oznacza to, że chociaż ta metoda znajduje defekty, które zazwyczaj nie mogą być znalezione, jest trudniejsza do odtworzenia, ponieważ nie ma pisemnych przypadków testowych lub dokumentacji.

Sukces testowania ad hoc naprawdę sprowadza się do kreatywności i wytrwałości testera, a czasami wynika z czystego szczęścia. Technika testowania ad hoc należy bezpośrednio do kategorii „testowania nieustrukturyzowanego”.

Testowanie ustrukturyzowane kontra testowanie nieustrukturyzowane

Testowanie ustrukturyzowane

To podejście zapewnia, że każda czynność, która ma miejsce podczas procedury testowania jest oskryptowana, od tworzenia przypadków testowych do sekwencyjnego wykonywania. Tester będzie postępował zgodnie ze skryptem w celu pomyślnego przeprowadzenia testów.

Testowanie nieustrukturyzowane

To podejście zakłada testowanie poprzez zgadywanie błędów. Tester będzie tworzył przypadki testowe podczas procesu testowania.

Typy metod testowania ad hoc

Testy koleżeńskie

Ten typ testowania ad hoc jest przeprowadzany przy udziale minimum dwóch osób. Odbywa się po tym jak testy jednostkowe modułu zostały przeprowadzone i zakończone. Ten typ testowania może być również uważany za połączenie zarówno testowania systemowego jak i jednostkowego.

Głównym celem jest, aby dwóch „kumpli” pracowało nad identyfikacją defektów lub błędów w tym samym module w tym samym czasie. Ten zespół zazwyczaj składa się z jednego programisty i jednego testera oprogramowania.

Dwaj „kumple” pracują razem nad tym modułem, aby stworzyć ważne przypadki testowe. Ten proces zapewnia, że tester nie zgłasza żadnych błędów, które nieważne przypadki testowe mogły wygenerować.

Testy koleżeńskie okazały się sukcesem, ponieważ pomagają testerowi rozwijać lepsze przypadki testowe i pozwalają zespołowi programistów wprowadzić zmiany projektowe tak wcześnie jak to możliwe.

Małpie testowanie

Z powodu losowej natury testowania, ta metoda zyskała nazwę „małpiego testowania”. Małpie testowanie jest najczęściej wykonywane na poziomie testów jednostkowych. Tutaj, testerzy losowo testują aplikację lub produkt bez przypadków testowych. Głównym celem testera jest analiza danych lub testów w całkowicie przypadkowy sposób, zapewniając, że system jest w stanie wytrzymać każdą awarię.

Testerzy dostarczają do oprogramowania losowe dane wejściowe i obserwują odpowiadające im dane wyjściowe. W oparciu o dane wyjściowe, mogą lepiej określić wszelkie błędy, niespójności lub awarie systemu.

Testowanie w parach

Podobne do „buddy testing” w pewnych aspektach, „testowanie w parach” obejmuje parę testerów pracujących razem nad modułami do testowania. Dwóch testerów będzie dzielić się pomysłami, wiedzą i opiniami na temat tej samej maszyny w celu zidentyfikowania wad lub błędów.

Ta metoda testowania polega na użyciu testerów, którzy są sparowani zgodnie z ich doświadczeniem i poziomami wiedzy, pozwalając na różne spojrzenia na każdy problem, który zidentyfikują. Dwóch testerów będzie dzielić tę samą konfigurację, również dzieląc pracę testowania i dokumentowania wszystkich obserwacji między nimi. Ta metoda testowania pozwala również jednemu testerowi na wykonanie testów, podczas gdy drugi może robić notatki na temat ustaleń.

Czytaj również: Use pair-testing for better acceptance testing

Buddy vs. Pair Testing

Główną różnicą pomiędzy testowaniem kumpelskim a testowaniem w parach jest to, że testowanie kumpelskie jest połączeniem testowania jednostkowego i systemowego. Inną kluczową różnicą jest to, że testowanie kumpelskie jest wykonywane przez programistów i testerów razem. Testowanie w parach, jednakże, jest wykonywane tylko przez testerów, którzy mają różne poziomy wiedzy.

Kiedy i kiedy nie przeprowadzać testów ad hoc

Testy ad hoc są powszechnie przeprowadzane, kiedy brakuje czasu na przeprowadzenie dłuższych i bardziej wyczerpujących procesów testowania. Bardziej dokładna metoda testowania obejmuje przygotowanie dokumentów wymagań testowych, przypadków testowych i projektów przypadków testowych.

Idealny czas na przeprowadzenie testów ad hoc jest po zakończeniu wszystkich formalnych technik testowania. Jednakże, testowanie ad hoc może być również przeprowadzone w środku rozwoju oprogramowania, po całkowitym rozwoju oprogramowania, lub po tym jak kilka modułów zostało już stworzonych.

Ważne jest, aby zwrócić uwagę na kilka scenariuszy, kiedy testowanie ad hoc nie jest zalecane. Kilka warunków, kiedy testowanie ad hoc nie powinno być przeprowadzane obejmuje:

Gdy przeprowadzane są testy beta

W przypadkach testowych, które już mają istniejące błędy

Wady testowania ad hoc

Jedną z głównych zalet testowania ad hoc jest to, że jest w stanie zidentyfikować wszelkie błędy, które zwykle pozostałyby niezauważone podczas formalnych metod testowania. To może zaoszczędzić dużo czasu, ponieważ nie wymaga żadnego planowania, jak to ma miejsce w przypadku testowania strukturalnego.

Inną zaletą jest to, że testerzy mogą swobodnie badać aplikację, zgodnie z ich własną wiedzą i zrozumieniem aplikacji. Mogą wtedy wykonywać różne testy, pomagając w identyfikacji błędów w całym procesie.

Po trzecie, testerzy i deweloperzy aplikacji mogą łatwo testować aplikację samodzielnie, ponieważ nie wymaga ona przypadków testowych. To pozwala deweloperom łatwo tworzyć bardziej wydajny i wolny od błędów kod.

Testy ad hoc mogą być również łączone z innymi technikami testowania i wykonywane później, aby uzyskać bardziej efektywne i informacyjne wyniki.

Wady testowania ad hoc

Jedną z głównych wad testowania ad hoc jest to, że rzeczywisty proces testowania nie jest udokumentowany, ponieważ nie podąża za konkretnym przypadkiem testowym. To sprawia, że trudniej jest testom zregenerować błąd. Ponieważ, aby uzyskać ten błąd, tester będzie musiał pamiętać dokładne kroki, które podjął, aby się tam dostać, co nie zawsze jest możliwe.

Okazjonalnie, w wyniku nieprawidłowych przypadków testowych, które są tworzone przez testera, zgłaszane są nieprawidłowe błędy. Może to stać się problemem w następujących procesach naprawiania błędów. Jeśli tester nie posiada wcześniejszej wiedzy na temat funkcjonalności testowanej aplikacji, testowanie ad hoc nie będzie użyteczne i nie będzie w stanie zidentyfikować żadnych błędów.

Testowanie ad hoc nie gwarantuje również, że wszystkie błędy zostaną znalezione. Sukces testowania ad hoc zależy od umiejętności i wiedzy testera. Ponieważ nie ma wcześniej stworzonych lub udokumentowanych przypadków testowych, ilość czasu, wysiłku i zasobów, które są przeznaczane na te testy pozostaje nieokreślona. Znalezienie jednego błędu może zająć od kilku minut do kilku godzin lub dłużej.

Najlepsze praktyki podczas przeprowadzania testów

Testy, które nie są przeprowadzane we właściwy sposób mogą powodować niepotrzebną stratę czasu. Mając to na uwadze, ważne jest, aby wiedzieć, jak zoptymalizować proces, aby skutecznie przeprowadzić udane testy ad hoc.

Następujące najlepsze praktyki zapewnią, że czas spędzony w trakcie procesu jest spędzony mądrze z najlepszą szansą na uzyskanie pożądanych rezultatów.

Bądź zaznajomiony z oprogramowaniem

Niezbędne jest, aby tester przeprowadzający testy ad hoc posiadał solidną wiedzę i trzymał się aplikacji. Ważne jest, aby tester był zaznajomiony ze wszystkimi głównymi funkcjami aplikacji, aby zapewnić lepsze „odgadywanie błędów”. Z odpowiednią wiedzą, tester będzie w stanie znaleźć więcej błędów, pomyłek i ogólnych niespójności.

Identyfikuj obszary, w których mogą występować błędy

Jeśli testerzy nie są zaznajomieni z aplikacją, zaleca się, aby zidentyfikowali obszary aplikacji podatne na błędy i zaczęli od tego. Wybór wrażliwych obszarów do przeprowadzenia testów ad hoc pozwoli testerom na znalezienie błędów z większą łatwością.

Prioritize Areas The End-User Accesses Most Readily

Zacznij od testowania obszarów aplikacji, które są najczęściej używane przez klientów i użytkowników końcowych. W ten sposób, najpierw ocenią oni ważne funkcje, co pozwoli im wcześniej zgłosić wszelkie błędy.

Luźno sformułuj Plan Testów

Choć testowanie ad hoc nie wymaga żadnego wcześniejszego planowania lub dokumentacji, warto jest zrobić kilka wstępnych planów wcześniej. Zanotowanie głównych obszarów, które wymagają testowania, pomoże testerowi pokryć jak najwięcej w jak najkrótszym czasie.

Zwiększenie efektywności dzięki właściwym narzędziom

Kluczowe jest użycie właściwych narzędzi, takich jak monitory zadań, debuggery i profilery, aby zapewnić, że proces przebiega wydajnie. Uzupełniają one zdolność testerów do izolowania błędów, ponieważ mogą wystąpić przypadki, w których wyjątki nie zostaną zidentyfikowane podczas testowania.

Wnioski

Testy ad hoc nie wymagają skomplikowanego planowania, dokumentacji i projektowania przypadków testowych. Zamiast tego, oszczędza czas ze względu na swoją naturę ad hoc, oraz poprzez wybór testerów, którzy są kreatywni i mają wcześniejszą wiedzę na temat funkcjonalności aplikacji. Takie testowanie może pomóc znaleźć więcej defektów niż testowanie planowane.

Dołącz do 60 000+ subskrybentów

Dla najnowszych blogów, aktualizacji branżowych i ekskluzywnych wskazówek.

*Twój e-mail jest u nas bezpieczny, nie znosimy spamu

.

Leave a Reply