what is exploratory testing software testing
Co to jest testowanie eksploracyjne?
„Testowanie eksploracyjne” - jak sama nazwa wskazuje, to jednoczesne uczenie się, projektowanie testów i proces ich wykonywania. Można powiedzieć, że w tych testach planowanie, analiza, projektowanie i wykonywanie testów odbywa się razem i natychmiast.
Testowanie polega na eksplorowaniu systemu i zachęcaniu testera do praktycznego myślenia w czasie rzeczywistym.
W tej serii omówiliśmy następujące samouczki:
Samouczek nr 1: Co to jest testowanie eksploracyjne w testowaniu oprogramowania (Ten samouczek)
Samouczek nr 2: Korzystanie z wycieczek w celu zapewnienia pełnego testowania eksploracyjnego
Samouczek nr 3: Testowanie eksploracyjne a testowanie skryptowe
Samouczek nr 4: Testowanie eksploracyjne za pomocą HP Sprinter
Samouczek nr 5: 17 najlepszych narzędzi do testowania eksploracyjnego
************************************
Czego się nauczysz:
wsparcie techniczne pytania i odpowiedzi na rozmowę kwalifikacyjną dla bpo
- Przegląd
- Zalecana usługa testów eksploracyjnych
- Przykłady testów eksploracyjnych
- Podejście testowe
- Korzyści
- Wady
- Testowanie eksploracyjne oparte na sesjach
- Testowanie eksploracyjne oparte na parach
- Techniki testowania eksploracyjnego
- Różnica między testowaniem eksploracyjnym a testowaniem ad hoc
- Eksploracyjne testy automatyczne (EAT)
- Rodzaje testów eksploracyjnych
- Agile Exploratory Testing
- Jak myśleć poza tradycyjnymi granicami testowania w testach eksploracyjnych
- Jak spojrzeć na produkt z różnych perspektyw?
- Wniosek
- rekomendowane lektury
Przegląd
Mówiąc prościej, testowanie eksploracyjne obejmuje współbieżne projektowanie przypadków testowych i wykonywanie testów aplikacji lub systemu. Tester utworzy lub zapisze pomysł na test, aby nadać kierunek i zbadać system podczas testowania, aby dalej tworzyć krytyczne, praktyczne i przydatne testy do pomyślnego testowania aplikacji.
Wymaga to minimalnego planowania. Testerzy nieustannie podejmują decyzję o jej kolejnym kroku w działaniu. Zależy to całkowicie od procesu myślowego testera.
Czasami to testowanie może być bardziej korzystne niż formalne podejście do testowania znajdowanie subtelnych wad które giną w formalnych testach.
Świadomie lub nieświadomie każdy tester wykonałby testy eksploracyjne na którymś etapie swojej kariery.
Jak wszyscy wiemy, uczący się nauczy się lepiej poprzez praktyczne doświadczenie, a nie wkuwanie teorii.
W ten sam sposób tester będzie znał aplikację lepiej tylko wtedy, gdy sam eksploruje i poznaje wszystkie funkcje, które zapewnia. Podczas testowania zawsze dobrze jest mieć punkt widzenia klienta i biznesowego, aby zapewnić pomyślne testowanie aplikacji.
Na przykład, Jeśli otwierasz witrynę zakupów, masz ogólne pojęcie, że ta witryna zakupów pozwoli Ci robić zakupy, wybierając wybrany produkt, a następnie płacąc za to samo.
Podczas tego procesu możesz dowiedzieć się, że witryna zapewnia wirtualny wygląd podobny do człowieka, który pomaga w procesie wyboru produktu. Dowiedziałeś się również, że możesz zamówić wiele produktów na okres próbny w domu lub że możesz dokonać płatności za pośrednictwem punktów lojalnościowych niektórych banków itp.
Jako tester musisz nie tylko sprawdzić, czy system działa zgodnie z oczekiwaniami, ale także sprawdzić, czy system nie zachowuje się w sposób, którego się nie oczekuje.
Kilka rzeczy do zapamiętania podczas wykonywania tego testu:
- Twoja misja powinna być jasna.
- Upewnij się, że tworzysz notatki i informujesz o tym, co robisz i jak zachowuje się system, co może być potencjalnym błędem.
- Ucz się, obserwuj, a następnie wymyślaj nowe przypadki testowe.
Zalecana usługa testów eksploracyjnych
1) Digivante Direct
Digivante Direct przeprowadza testy eksploracyjne, korzystając z globalnej sieci profesjonalnych testerów, dzięki czemu można przeprowadzić testy na wszystkich głównych urządzeniach w ramach czasowych nieosiągalnych dla żadnego innego dostawcy testów lub zespołu wewnętrznego.
Wydawaj szybciej, bezpieczniej i pozwól platformom cyfrowym zapewnić wyższą satysfakcję klientów i większe przychody online.
Funkcje:
- 24 dni robocze na testy w zaledwie 24 godziny lub 90 dni roboczych w 72 godziny i niezrównany, wszechstronny poziom testów nieosiągalny żadnymi innymi metodami.
- Niska cena , łatwe do zrozumienia pakiety cenowe bez ukrytych dodatków.
- Samoobsługa portal internetowy, który nie wymaga stałego zaangażowania.
- Prawdziwi ludzie testujący na prawdziwych urządzeniach - o wiele większy zasięg urządzeń i przeglądarek niż możesz osiągnąć we własnym zakresie, a wszystko to w krótszym czasie realizacji.
- Pełne pokrycie testów eksploracyjnych - zmniejszyć ryzyko i poprawić satysfakcję użytkowników końcowych oraz współczynniki konwersji, zwiększając w ten sposób dochody przy jednoczesnym zmniejszeniu kosztów.
Przykłady testów eksploracyjnych
Przykład 1:
Witryna internetowa dostawcy usług opieki domowej zawierająca następujące elementy:
- Zaloguj sie
- Usługi
- Wózek
- Zapłata
- Historia zamówień
- Przydział techników
Ogólny pomysł na początek badawczy test będzie polegał na zalogowaniu się lub rezerwacji usługi.
Jak pokrywać przypadki testowe?
W powyższym Przykład, Chodzi o to, aby zacząć od funkcjonalności opartej na Twojej wiedzy. W miarę jak dowiadujesz się i obserwujesz więcej na temat aplikacji, możesz zarządzać swoim następnym zestawem przypadków testowych.
Przykład 2:
Kiedyś zostałem włączony do małego projektu, który obejmował dodanie do wniosku nowego funduszu powierniczego. Moim zadaniem było przetestowanie aplikacji, aby upewnić się, że nowy fundusz inwestycyjny jest dostępny dla użytkowników do zakupu i sprawdzić, czy wycena jest poprawna. Na ukończenie testów miałem tylko 2 dni.
Mając na uwadze napięty termin i dotkliwość testów, zastosowałem eksploracyjne podejście do testowania. Moim celem było przetestowanie nowych funkcji i znalezienie naruszeń wymagań zgodności.
Powyższy cel stał się moim celem podczas tej sesji testowej.
Podczas tego testowania powstały następujące przypadki testowe:
- Testowanie, aby upewnić się, że nowy fundusz inwestycyjny został dodany do wniosku.
- Nowy MF został zakupiony pomyślnie.
- Wycena nowego MF jest prawidłowa.
- Próbowałem kupić nowe MF do istniejącego portfela.
- Czy nowe MF można dodać do wszystkich portfeli?
- Wpływ nowego MF na wycenę istniejących.
- Więc w innych przypadkach testowych ewoluowały.
Podczas testów przygotowałem notatki i raporty, aby omówić swoje obserwacje z zaangażowanym licencjobiorcą i klientem.
Podstawową strategią testowania eksploracyjnego jest posiadanie planu ataku. Zacznij testować swój pomysł i improwizuj nowe przypadki testowe w oparciu o swoją wiedzę i obserwacje.
Przykład 3:
Exploratory Testing of IRCTC Website
=> Kliknij tutaj, aby pobrać przykładowe przypadki testowe testów eksploracyjnych z witryny IRCTC.
Podejście testowe
- Korzystaj z heurystyki, aby kierować testowaniem.
- Wykonywanie przypadków testowych i tworzenie przypadków testowych idą w parze.
- Przypadki testowe ewoluują w oparciu o obserwacje i uczenie się testerów.
- Różne techniki testowania, takie jak Analiza wartości brzegowych , testy równoważności itp. można zastosować do ET.
- Oparty na sesji ET może być użyty, aby uczynić go bardziej uporządkowanym i skoncentrowanym.
- Testerzy mogą rozgałęziać pomysły, ale nigdy nie odchodzą od Twojej misji.
- Testowanie ET nie wykorzystuje skryptów, zamiast tego zależy od intuicji, umiejętności i doświadczenia testera.
Korzyści
Korzyści z tego testu obejmują:
- Promuj myślenie w czasie rzeczywistym i pomaga odkrywać więcej defektów.
- Promuj przypadki użycia i testy oparte na scenariuszach.
- Minimalna dokumentacja, maksymalne testy.
- Nacisk kładziony jest bardziej na uczenie się i poszerzanie horyzontu testera.
- Unikaj dublowania pracy.
- Przydatne, gdy chcesz przeprowadzić audyt pracy innych testerów.
Wady
Demerits są wymienione poniżej:
- Testowanie zależy od doświadczenia, umiejętności i wiedzy testera.
- Wymagaj czasu na nauczenie się aplikacji. Tester jest bardziej skłonny przeoczyć, jeśli wie mniej o aplikacji.
- Nie nadaje się do projektów o długim czasie realizacji.
Testowanie eksploracyjne oparte na sesjach
Przeprowadzając testy eksploracyjne, testerom bardzo trudno jest wyrazić słowami, ile przetestował i na jakiej podstawie.
Zasadniczo trudno jest oszacować ilość pracy i poświęcony czas. Jednak w każdym projekcie musimy przedstawić wskaźniki, szacunki i raport z postępów kierownikom zespołów i menedżerom. Jak to się mówi, „jeśli nie możesz tego określić ilościowo, nie możesz tym zarządzać”.
Testowanie oparte na sesjach jest podejściem opartym na czasie do wykonania tego testu, co pomaga w zarządzaniu i śledzeniu. Obejmuje dedykowaną sesję testową ograniczoną czasowo bez przerwy w dostępie do wiadomości e-mail, telefonu, wiadomości itp.
Podejście:
Zadania testowe są podzielone na sesje.
Oto elementy testowania sesyjnego (SBT):
- Misja: Misja wykrzykuje cel sesji iw pewien sposób skupia się na testerze. Będzie to również obejmować czas trwania sesji.
- Czarter: Obejmuje zakres testów. Zasadniczo program wyszczególniający cele, które należy osiągnąć podczas sesji.
Przykład karty testu funkcjonalności logowania witryny internetowej usług opieki domowej:
- Sesja: Wstępnie zdefiniowana sesja testowa w określonych ramach czasowych bez żadnych przerw. Każda sesja może mieć następujący czas trwania:
- „Krótki” (60 min)
- „Normalny” (90 min)
- „Długi” (120 min)
- Raport z sesji: Dołącz notatki i lekki raport, aby przedstawić wskaźniki liderom i menedżerom. Zawiera szczegółowe informacje o pozostałej lub zakończonej sesji czarterowej, czasie konfiguracji sesji, przetestowanym scenariuszu, procesie testowania, liście błędów i znalezionych problemów oraz inne informacje dotyczące metryk.
- Krótki opis sesji: Krótkie spotkanie lub stand-up pomiędzy testerem a Liderem / Menadżerem Testów w celu przejrzenia wyników sesji testowej.
Menedżerowie mogą uzyskać praktyczne dane na podstawie raportu z sesji:
- Liczba sesji zakończonych i pozostałych.
- Liczba zgłoszonych błędów.
- Czas spędzony na konfiguracji sesji.
- Czas spędzony na testowaniu.
- Czas spędzony na analizie zagadnień lub problemów.
- Funkcje objęte.
Podsumowując powyższe:
SBT pozwala na rozliczalność w testowaniu eksploracyjnym i oferuje lepsze zarządzanie czasem spędzonym na testowaniu. Zwiększa również produktywność i zapewnia lepsze zrozumienie wykrywania błędów. To świetny sposób, aby zapewnić liderom zespołów i menedżerom metryki umożliwiające sprawdzenie postępów projektu.
Testowanie eksploracyjne oparte na parach
Testowanie w parach to podejście, w którym dwie osoby testują tę samą rzecz / funkcję aplikacji w tym samym czasie, dzieląc komputer. Nieustannie dzielą się swoimi przemyśleniami i pomysłami. Podczas tego testu jedna osoba przejmuje kontrolę nad klawiaturą, podczas gdy druga sugeruje przypadki testowe i odnotowuje.
Zawsze dobrze jest mieć dobrą komunikację między partnerami, aby oboje byli świadomi tego, co się dzieje i dlaczego. Para, w której siła testerów uzupełnia się wzajemnie ich słabości, jest uważana za silną grupę.
Takie kojarzenie przynosi korzyści obu stronom i każdy może się czegoś nauczyć od swojego partnera. Jest to również dobry sposób na szkolenie nowych zasobów poprzez połączenie ich z doświadczonymi zasobami.
Korzyści z testowania w parach
- Pomaga testerowi skoncentrować się na wykonywanym zadaniu.
- Zachęcaj partnerów do wzajemnego zaufania i szacunku.
- Burze mózgów między sparowanymi testerami zwykle prowadzą do bardziej konstruktywnych pomysłów.
- Unikaj widzenia w tunelu.
- Istnieje mniejsza szansa, że inni im przeszkodzą.
Techniki testowania eksploracyjnego
Wycieczki: Jest to prosta technika, która pozwala testerowi wykorzystać swoją wyobraźnię i myśleć o sobie jako o turyście zwiedzającym miasto, które odwiedza. Tutaj aplikacją do testowania jest miasto, a testerami są turyści. Zwiedzanie całego miasta jest bardzo trudne, chyba że masz w ręku dużo czasu i pieniędzy, więc turysta musi mieć plan z określonym celem.
Turysta może odbyć następujące wycieczki:
- Wycieczka po przewodniku - Testowanie podświetlonej funkcji aplikacji. Korzystaj ze scenariuszy opartych na użytkownikach.
- Poznawanie historii miasta - Przetestuj stare funkcje aplikacji.
- Wycieczka pieniędzy, co oznacza upewnienie się, że wszystkie krytyczne funkcje w odniesieniu do klienta lub klienta zostały przetestowane i działają pomyślnie.
- Wycieczka do szaleństwa przestępczości - Wprowadź nieprawidłowe dane wejściowe i przetestuj negatywne scenariusze.
- Wycieczka po alei - Przetestuj najmniej używane funkcje aplikacji.
- Nudna wycieczka - Spędź minimalny czas na każdym ekranie aplikacji, wypełnij minimalne pola i wybierz najkrótszą ścieżkę. Pomoże to w testowaniu wartości domyślnej i testowaniu walidacji.
Podczas wycieczki zawsze możesz wybrać dowolną trasę. Możesz poruszać się po oprogramowaniu i znaleźć unikalną ścieżkę do przetestowania funkcji.
Poniżej znajduje się kilka wskazówek / sztuczek, których możesz użyć w ET:
- Podziel aplikację na moduły i podziel moduły na różne strony. Rozpocznij swój ET ze stron. Zapewni to odpowiednie pokrycie.
- Zrób listę kontrolną wszystkich funkcji i zaznacz pole wyboru, gdy jest to objęte.
- Zacznij od podstawowego scenariusza, a następnie stopniowo ulepszaj go, dodając więcej funkcji do przetestowania.
- Przetestuj wszystkie pola wejściowe.
- Sprawdź komunikat o błędzie
- Przetestuj wszystkie negatywne scenariusze.
- Sprawdź, czy GUI jest zgodne ze standardami.
- Sprawdź integrację aplikacji z innymi aplikacjami zewnętrznymi.
- Sprawdź złożoną logikę biznesową.
- Spróbuj etycznie zhakować aplikację.
Czynniki wpływające na ET są następujące:
- Cel projektu
- Strategia testowania
- Cel testowania określonej fazy
- Dostępne narzędzia i udogodnienia
- Rola i umiejętności testerów
- Dostępny termin
- Wsparcie zarządzania
- Wzajemnego wsparcia
- Dostępne zasoby (materiały do nauki, warunki testowe itp.)
- Zainteresowanie klientów
- Zrozumiałość produktu.
- Interfejs użytkownika aplikacji
- Funkcjonalność aplikacji
- Wyniki poprzednich testów
- Ryzyko związane z aplikacją
- Poprzednie wady
- Ostatnie zmiany
- Rodzaje danych do wykorzystania w testach
- Typ użytkownika, który będzie go używać
Zamiast pytać testerów, co mają uruchomić, pozostawiamy testerom decyzję o tym, co chcą przetestować i jak chcą to sprawdzić.
Różnica między testowaniem eksploracyjnym a testowaniem ad hoc
Nie myl ET z Test ad hoc .
- Testowanie ad-hoc to proces nieskryptowego, nieplanowanego i zaimprowizowanego wyszukiwania defektów, podczas gdy testowanie eksploracyjne jest przemyślaną metodologią testów ad-hoc.
- Testowanie ad-hoc jest trafną i próbną metodą znajdowania błędu, podczas gdy ET nie. W podejściu ET tester dowiaduje się o systemie, gdy eksploruje i ostatecznie rozwija testy przy użyciu zdobytej wiedzy.
- Testowanie ad hoc jest działaniem nieustrukturyzowanym, podczas gdy ET jest działaniem w pewnym stopniu ustrukturyzowanym.
Eksploracyjne testy automatyczne (EAT)
Exploratory Automated Testing to metoda, która pomaga testerowi usprawnić raportowanie i reprodukcję błędów, zbieranie migawek i przygotowanie przyszłego kombinezonu regresji. Jest to proces łączący testowanie automatyczne z testowaniem eksploracyjnym.
Istnieją dwa rodzaje podejścia EAT:
- Pasywne jedzenie
- Active EAT
Pasywne jedzenie
Pasywne EAT może być wykonywane przez jednego testera lub w parze. W tej metodologii zwykle jest to narzędzie, które przechwytuje i rejestruje każdą czynność wykonywaną przez zasoby testowe i jest instalowane na komputerze zasobu.
Pasywne EAT jest podobne do ET, które jest wykonywane ręcznie, ponieważ nie ma żadnych zmian w sposobie wykonywania testów poza tworzeniem wyniku testu na podstawie przechwyconej sesji. Te wyniki testów można wykorzystać do późniejszego raportowania i odtwarzania zarejestrowanych działań.
Zainstalowane narzędzie wideo pomaga testerowi w rejestrowaniu przypadków testowych i raportowaniu błędów.
Ma również kilka innych zalet, takich jak:
- Zawiera jasne instrukcje odtworzenia błędów.
- Powielanie defektów jest łatwiejsze nawet wtedy, gdy osoba zgłaszająca defekty jest niedostępna.
- Pozbądź się konfliktów między zespołem testującym a programistą, gdy zgłaszany jest sporadyczny błąd.
- Pomaga w testowaniu wydajności, uzyskując czas odpowiedzi systemu w określonym momencie.
Oto kilka innych punktów, które należy wziąć pod uwagę przed pasywnym jedzeniem:
qa pytania do rozmowy kwalifikacyjnej dla odświeżających
- Zaleca się wykonanie testu pilotażowego przed całkowitym dostosowaniem narzędzia do automatycznego EAT. Ma to na celu zapewnienie, że czas potrzebny na przeprojektowanie dzienników testów utworzonych podczas sesji testowej nie będzie dłuższy niż czas wykonania testu. Jeśli tak, zespół musi podjąć wspólną decyzję dotyczącą następujących kwestii:
- Jeśli w ogóle wymagana jest automatyzacja testów dla danego projektu.
- Jeśli używane narzędzie wymaga wymiany.
- Jeśli wydajność używanego narzędzia może zostać zoptymalizowana.
- Narzędzie używane do wykonywania automatycznej EAT musi być zainstalowane na każdym zasobie testowym zaangażowanym w testowanie. Dobrym pomysłem jest również zaangażowanie programistów, co można osiągnąć, udostępniając programistom VPN lub zdalny dostęp do maszyn testowych lub instalując narzędzie w środowisku programistycznym.
- Zawsze dobrze jest mieć obiekt GUI aplikacji zorganizowany w narzędziu testowym, tak aby kiedy nadejdzie czas na analizę błędu lub problemu, obiekt był rozpoznawalny dzięki znaczącej nazwie.
- Doskonałą praktyką jest nadanie znaczącej nazwy obiektowi GUI używanemu w AUT i zorganizowanie go do późniejszego wykorzystania.
Teraz przejdźmy do drugiego podejścia.
Active EAT
Zaleca się wykonanie Active EAT z testowaniem par. W tym podejściu testowanie oparte na słowach kluczowych jest używane w synchronizacji z testowaniem sesji. Jeden tester tworzy zautomatyzowany skrypt testowy, a drugi tester wykonuje skrypty testowe utworzone przez pierwszego testera.
Tworzenie skryptów testów automatyzacji w tym podejściu przebiega inną ścieżką niż w testowaniu konwencjonalnym. Zautomatyzowane skrypty testowe są tworzone podczas testowania i to, co zostało odkryte w poprzednich testach, determinuje ich projekt.
Pod koniec sesji testowej wykonywana jest faza zamknięcia. Powinien mieć następujące zadania:
- Zaangażowani testerzy powinni zamienić się rolami, aby zasób testujący, który utworzył skrypt testowy, miał szansę na ponowne wykonanie skryptów w celu potwierdzenia niezawodności i solidności utworzonego zestawu.
- Krótki opis wraz z kilkoma charakterystykami identyfikacyjnymi powinien być dostarczony dla każdego skryptu testu automatycznego.
- Należy zdefiniować kryterium, aby określić, które skrypty testów automatycznych mogą być używane do testu regresji.
Korzyści z EAT
- Na początku każdej sesji wykonywane są już utworzone zautomatyzowane skrypty testowe, co za każdym razem zwiększa zakres testów.
- Lepsze raportowanie błędów i dokumentacja odtwarzania defektów.
- EAT dostarcza wystarczających dowodów i dokumentacji, aby interesariusz mógł zobaczyć postęp.
Rodzaje testów eksploracyjnych
Poniżej podano kilka rodzajów ET:
1) Styl dowolny ORAZ:
Poszukiwanie aplikacji w stylu ad-hoc.
W tego typu ET nie ma reguł, nie ma konta na pokrycie itp. Jednak tego typu testowanie jest dobre, gdy trzeba szybko zapoznać się z aplikacją, gdy chcemy zweryfikować pracę innych testerów, a kiedy chcesz zbadać usterkę lub wykonać szybki test dymu.
2) ZO oparte na scenariuszach:
Jak sama nazwa wskazuje, przeprowadzane testy są oparte na scenariuszach. Rozpoczyna się scenariuszami prawdziwego użytkownika, scenariuszami od końca do końca lub scenariuszami testowymi. Po wstępnych testach testerzy mogą wprowadzać zmienność zgodnie z ich uczeniem się i obserwacją.
Scenariusze są jak ogólny przewodnik po tym, co robić podczas ET. Zachęca się testerów do zbadania wielu możliwych ścieżek podczas wykonywania scenariusza, aby zapewnić wszystkie możliwe ścieżki do działania funkcji. Testerzy powinni również zapewnić zebranie jak największej liczby scenariuszy z różnych kategorii.
3) Strategiaoparty na ET:
Znane techniki testowania, takie jak analiza wartości granicznych, technika równoważności i technika oparta na ryzyku, które są połączone z testowaniem eksploracyjnym. Do tego typu testów wyznaczany jest doświadczony tester lub tester zaznajomiony z aplikacją.
Agile Exploratory Testing
Nawet jeśli nie pracowałeś w zwinnym środowisku, jestem pewien, że musiałeś o tym przeczytać lub usłyszeć ze względu na jego rosnącą popularność. Metodologia Agile ma krótkie sprinty i napięte terminy, co daje zespołowi kilka tygodni na zakończenie planowania, szacowania, programowania, kodowania, testowania i wydawania.
Testowanie eksploracyjne staje się przydatne w tak napiętych terminach, ponieważ w tym podejściu do testowania kładzie się nacisk na szybki i użyteczny wynik. Po zrozumieniu wymagań możesz rozpocząć testowanie w oparciu o swoje doświadczenie i wiedzę.
Po zapoznaniu się z funkcjami i zachowaniem aplikacji możesz zaprojektować więcej przypadków testowych, aby zweryfikować funkcjonalność aplikacji i wykryć nieplanowane błędy. Ponieważ jest to testowanie w stylu dowolnym, musisz wszystko udokumentować. Musisz jednak zachować notatki i krótki raport na temat tego, co przetestowałeś, znalezionych błędów i problemów itp.
Zalety eksploracji w Agile
- Jak najszybciej przekazywanie informacji zwrotnych programistom.
- Odkrywana jest szersza gama defektów.
- Zróżnicowana grupa zasobów, takich jak programista, tester, licencjat, projektanci, może wykonywać ET, ponieważ nie ma skryptowych przypadków testowych, a każdy z nich przedstawia inną perspektywę.
- Zwiad wykonywany w ET pomaga w eksplorowaniu nowych terytoriów i ujawnianiu krytycznych błędów.
- W przypadku kodowania iteracyjnego aplikacji ET może skupić się na testowaniu nowych funkcji, podczas gdy automatyzacja wykonuje testy regresji i wstecznej kompatybilności.
- W przypadku niestabilnych wymagań ET może pomóc w testowaniu nowych wymagań w ograniczonym czasie.
Punkty do zapamiętania:
1. Wymaga różnych umiejętności: Testerzy wykonujący ET muszą mieć dobre umiejętności słuchania, czytania, myślenia i raportowania. Wymagane jest doświadczenie w domenie, ponieważ nie ma skryptów i przypadków testowych.
2. Czasami jest to trudne Zgłoś błąd: W przepływie ET możemy napotkać defekt, ale możemy nie być w stanie go odtworzyć. Dzieje się tak, ponieważ nie śledzimy etapów testowania i możemy zapomnieć o dokładnych krokach w celu odtworzenia tego problemu.
3. Może być wykonywana jako czynność rekreacyjna: Osobiście robię ET, gdy chcę odpocząć od mojego regularnego cyklu wykonywania testów. Ale wiele zespołów ma ET jako oddzielną fazę cyklu testowego.
4. Można to zrobić dla wszystkich faz testowania: Możemy wdrożyć ET przed rozpoczęciem dowolnej fazy testowania. Możesz przeprowadzić ET nawet przed fazą testów funkcjonalnych.
5. Szybka informacja zwrotna: ET wymaga szybkiej informacji zwrotnej na temat problemów i wszelkich napotkanych anomalii.
6. Krytyczne myślenie i różnorodne pomysły: To testowanie wymaga krytycznego myślenia. Testerzy powinni być w stanie powielać, przeglądać i wyrażać swoje pomysły w logiczny sposób. Tester może wykorzystać swoje doświadczenie w różnych technologiach i domenach, nad którymi pracowała.
Jak myśleć poza tradycyjnymi granicami testowania w testach eksploracyjnych
„Naprawdę doceniam Twoją troskę o produkt i pomaganie nam w zrozumieniu perspektywy użytkownika końcowego. To będzie bardzo pomocne. Dzięki za dobrą pracę i tak trzymaj !!! ”
To był ostatni e-mail w łańcuchu e-maili z 21 e-mailami od naszego klienta. Była północ i wydanie naszego produktu zostało opóźnione z powodu krytycznego błędu, który znaleźliśmy. Możesz pomyśleć, co w tym nowego? Może się to zdarzyć wielokrotnie. Ale to było naprawdę inne, ponieważ krytyczny błąd, który zgłosiliśmy, nie był wynikiem żadnego udokumentowanego przypadku testowego.
Po ukonczeniu testy regresji po raz ostatni tego wieczoru bawiłem się produktem. Co to znaczy? Możesz robić to, czego nie powinieneś robić. Opierając się na swoim doświadczeniu i wiedzy projektowej, miałem kilka pomysłów na przetestowanie produktu poza naszym typowym repozytorium testowym, nazywa Testowanie eksploracyjne .
Przeprowadzone testy eksploracyjne wykazały krytyczny błąd związany z zawieszaniem się serwera podczas wykonywania czegoś nieoczekiwanego.
Będąc fanem testów eksploracyjnych, uwielbiam poznawać produkt na różne sposoby. Dla mnie definicja oprogramowania to:
„Powinien robić to, co powinien, a nie powinien robić tego, czego nie powinien”.
Ograniczanie granic testowania w celu sprawdzenia, czy produkty, które mają działać, sprawia, że jesteś niekompletnym testerem. W rzeczywistości życie testera zaczyna się, gdy udokumentowane testy regresji kończą się, a wyniki są aktualizowane. Spojrzenie na produkty z różnych perspektyw i zrozumienie wymagań użytkowników końcowych w różnych scenariuszach ma duże znaczenie. Więc dzisiaj zrozummy razem, jak można dokonać tej różnicy:
Jak spojrzeć na produkt z różnych perspektyw?
# 1. Zrozum klienta / użytkownika końcowego
Testowanie oprogramowania polega na sprawdzeniu jakości produktu pod kątem satysfakcji klienta. Skąd znasz punkt widzenia klienta? Odpowiedź jest prosta - musisz być klientem. OK, pozwolę sobie poprawić. Bycie klientem nie wystarczy. Musisz zrozumieć, jak klient chce obsługiwać produkt. Nie ma dwóch klientów, którzy kupili ten sam surowiec, przygotuje ten sam przepis. Tak, produkt, który opracowujemy / dostarczamy, jest surowcem dla firm klientów i używają go w inny sposób.
Jako tester oprogramowania musimy sprawdzić przeznaczenie produktu, a nie jego przedmiot lub aspekt.
Podam kilka praktycznych przykładów z życia:
- Nożyczki nigdy nie ograniczały się tylko do cięcia papieru. Celem jest cięcie, a nie papier (przedmiot).
- Telefony komórkowe nigdy nie były ograniczone tylko do dzwonienia, ale „możliwość dzwonienia” zawsze było podstawowym celem.
- Pudła do przechowywania służą do przechowywania, ale bezpieczeństwo przechowywanego materiału jest równie ważne jak przechowywanie.
Zrozumienie interesariuszy i szeroki zakres ich oczekiwań powinno stanowić podstawę testowania eksploracyjnego.
# 2. Sposób myślenia
Szukając (powiedzmy) ogłoszenia o pracę, czy widzisz tę główną wygraną i pomiędzy stronami oznaczonymi pogrubioną czcionką? Większość z nas tego nie wie (wierz mi, to prawda). Ponieważ poinstruowaliśmy nasz umysł, aby szukał tego, co jest przydatne lub co należy sprawdzić. Wszystko inne jest bezużyteczne, więc umysł nie pozwala nam tego rozpoznać.
Otwórz swój umysł i nie stawiaj żadnych oczekiwań, gdy zaczynasz odkrywać produkt . Zawsze pamiętaj, że nie jest OK, jeśli produkt robi to, co powinien. Ważne jest również, aby nie robił tego, czego nie powinien.
Pamiętam jeden klasyczny przykład:
W Linuksie polecenie „cat” służy do sprawdzania zawartości pliku, a polecenie „ls” służy do sprawdzania zawartości katalogu. Pracując z Linuksem i będąc na testowaniu oprogramowania przez pięć lat, nigdy nie pomyślałem o zrobieniu kota, ponieważ mój umysł był ustawiony; jeśli potrzebowałem zawartości dir, muszę użyć „ls”. To zadziałało, ale odwrotna strona oczekiwań jest taka, że produkt nie powinien zachowywać się tak, jak nie powinien, było błędne. Jeden z naszych klientów, który nie znał dobrze Linuksa, przez pomyłkę popełnił błąd i system się zawiesił. Zapłaciliśmy za ten sposób myślenia.
Zawsze bądź gotowy na popełnienie błędów w oprogramowaniu, ponieważ właśnie to będzie robił użytkownik końcowy. Aby przetestować oprogramowanie, zostałeś przeszkolony, ale użytkownik końcowy nie będzie tak wyszkolony jak ty albo on / ona nie będzie takim ekspertem technicznym jak Ty. Ponadto zrobi wszystko z oprogramowaniem, gdy będą mieli kłopoty.
Pomyśl o tych scenariuszach i przekaż opinie dotyczące testów. Życie oprogramowania i twoje (jako testera) będzie szaleć.
# 3. Poznaj konkurentów
Czy testując dowolną aplikację dla swojego klienta, próbowałeś kiedyś poznać i zrozumieć inne oprogramowanie w tym samym celu? Czy zasugerowałeś kiedyś jakąś przydatną funkcję, którą zaobserwowałeś w produkcie konkurencji? Typowa odpowiedź nie mieści się w naszym opisie pracy. Ale czy znasz korzyści z robienia tego?
Oto kilka przykładów z życia, które pomogą Ci zrozumieć, o co chodzi:
- Nie podoba Ci się projektant, który nie tylko zszywa Twoją sukienkę, ale także najbardziej Ci odpowiada na temat dopasowywania akcesoriów?
- Nie podoba Ci się marka pizzy, która nie tylko robi świetne pizze, ale najbardziej dostarcza je do domu na czas?
- Nie podoba ci się fotograf, który nie tylko robi dobre zdjęcia, ale sugeruje inne rodzaje ramek do sesji?
Każdy chce mieć coś ekstra za to, za co płaci. Nasza analiza konkurencyjnego oprogramowania może działać dla nas w ten sam sposób. Klient zawsze lubi słyszeć cenne sugestie - głównie sugestie porównawcze, aby produkt był bardziej przydatny lub zbywalny.
Również tego rodzaju porównanie i analiza tej samej gamy produktów sprawia, że nasza analiza jest potężniejsza i ostatecznie tworzymy skarb, do którego w każdej chwili możemy wrócić i znaleźć coś pożytecznego.
Wniosek
Eksploracyjne nie podlega konwencjonalnej metodzie testowania, ale mimo to jest bardzo skutecznym sposobem testowania.
Wydobywa z testera nieszablonowe myślenie i zachęca go do wymyślania praktycznych przypadków testowych w czasie rzeczywistym w celu znalezienia usterki. Jego freestyle'owy charakter daje mu przewagę nad innymi typami testów i może być wykonywany w dowolnym miejscu, czy to w projekcie wykorzystującym Agile, czy w wodospadzie, czy w każdym innym projekcie, który wymaga minimalnej dokumentacji.
Sukces testowania eksploracyjnego zależy od wielu wartości niematerialnych, takich jak umiejętności testera, umiejętność tworzenia skutecznych przypadków testowych, ich doświadczenie oraz umiejętność podążania za własnym przeczuciem.
Należy koniecznie pamiętać, że ET jest procesem adaptacyjnym, a nie predykcyjnym, i ważne jest, aby zachować zdrową równowagę między testowaniem eksploracyjnym a testowaniem skryptowym lub regularnym.
Czy jesteś testerem, który ma typowe doświadczenia w testowaniu eksploracyjnym? Czekamy na Twoje myśli. Zapraszam do dzielenia się nimi w sekcji komentarzy poniżej.
Następny samouczek nr 2: Jak korzystać z wycieczek, aby zapewnić pełne testy eksploracyjne
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]
- Testy alfa i testy beta (kompletny przewodnik)
- Testowanie eksploracyjne a testowanie skryptowe: kto wygrywa?
- Asystent testowania oprogramowania
- Kilka interesujących pytań do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania
- Podręcznik testowania zabezpieczeń aplikacji internetowych
- Jak korzystać z wycieczek, aby zapewnić pełne i dokładne testy eksploracyjne
- Najlepsze usługi testowania oprogramowania QA od SoftwareTestingHelp