what is negative testing
Posiadanie najbardziej optymalnej jakości produktu jest głównym celem organizacji testowych.
Z pomocą skutecznego procesu zapewniania jakości zespoły testowe próbują to zrobić znaleźć maksymalne defekty podczas ich testowania , zapewniając w ten sposób, że klient lub użytkownik końcowy korzystający z produktu nie widzi żadnych nieprawidłowości w jego funkcjonowaniu we własnym środowisku komputerowym.
Ponieważ jednym z głównych celów testera jest znajdowanie defektów, musi on dokładnie opracować lub zaprojektować scenariusze testów, aby upewnić się, że dana aplikacja lub produkt działa tak, jak powinien.
Chociaż zdecydowanie ważne jest, aby sprawdzić, czy oprogramowanie spełnia swoje podstawowe funkcje zgodnie z przeznaczeniem, równie lub ważniejsze jest sprawdzenie, czy oprogramowanie jest w stanie z wdziękiem poradzić sobie z nienormalną sytuacją. Jest oczywiste, że większość defektów wynika z generowania takich sytuacji przy rozsądnej i akceptowalnej kreatywności testerów.
Większość z nas zdaje sobie już sprawę z kilku rodzajów testów, takich jak testy funkcjonalne, testy poczytalności, testy dymu , testy integracyjne, testy regresji , testy alfa i beta , testy dostępności itp. Jednak wszyscy zgodzą się, że niezależnie od kategorii przeprowadzanych testów, cały wysiłek związany z testowaniem można zasadniczo uogólnić na dwie kategorie: pozytywne ścieżki testowania i negatywne ścieżki testowania.
Przejdźmy do następnych sekcji, w których omówimy, czym są testy pozytywne i negatywne, czym się różnią, a także opiszemy kilka przykładów, aby zrozumieć, jakie rodzaje testów negatywnych można przeprowadzić podczas testowania aplikacji.
Czego się nauczysz:
- Co to są testy pozytywne i testy negatywne?
- Praktyczne przykłady pozytywnych i negatywnych testów
- Podstawowe czynniki pomagające w pisaniu testów pozytywnych i negatywnych
- Wniosek
- rekomendowane lektury
Co to są testy pozytywne i testy negatywne?
Pozytywne testy
Testowanie pozytywne, często określane jako „testowanie szczęśliwej ścieżki”, jest generalnie pierwszą formą testowania aplikacji, jaką tester wykonuje. Jest to proces uruchamiania scenariuszy testowych, które użytkownik końcowy uruchamia na swój użytek. Stąd, jak sugerowano, pozytywne testowanie pociąga za sobą uruchomienie scenariusza testowego tylko z poprawnymi i ważnymi danymi. Jeśli scenariusz testowy nie wymaga danych, wtedy pozytywne testy wymagałyby przeprowadzenia testu dokładnie w taki sposób, w jaki powinien działać, a tym samym zapewnienia, że aplikacja spełnia specyfikacje.
Czasami może istnieć więcej niż jeden sposób wykonywania określonej funkcji lub zadania z zamiarem zapewnienia użytkownikowi końcowemu większej elastyczności lub ogólnej spójności produktu. Nazywa się to testowaniem ścieżki alternatywnej, które jest również rodzajem testowania pozytywnego. W testowaniu alternatywnej ścieżki test jest ponownie wykonywany, aby spełnić jego wymagania, ale przy użyciu innej trasy niż oczywista ścieżka. Scenariusz testowy wymagałby nawet użycia tego samego rodzaju danych, aby osiągnąć ten sam wynik.
Można to zrozumieć schematycznie na podstawie bardzo ogólnego przykładu opisanego poniżej:
A to punkt początkowy, a B to punkt końcowy. Istnieją dwa sposoby, aby przejść z punktu A do B. Trasa 1 to ogólnie wybrana trasa, a Trasa 2 to trasa alternatywna. Dlatego w takim przypadku szczęśliwym testowaniem ścieżki byłoby przechodzenie z punktu A do B przy użyciu trasy 1, a testowanie alternatywnej ścieżki obejmowałoby podróżowanie trasą 2 z punktu A do B. Zauważ, że wynik w obu przypadkach jest taki sam.
Testy negatywne
Testy negatywne, powszechnie określane jako testowanie ścieżek błędów lub testowanie błędów zazwyczaj ma na celu zapewnienie stabilności aplikacji.
najlepszy darmowy klient ssh dla systemu Windows
Testowanie negatywne to proces wykazania się jak największą kreatywnością i walidacji aplikacji pod kątem nieprawidłowych danych. Oznacza to, że jego zamierzonym celem jest sprawdzenie, czy błędy nie są wyświetlane użytkownikowi tam, gdzie powinien, lub bardziej wdzięczna obsługa złej wartości.
Zrozumienie jest absolutnie konieczne dlaczego konieczne jest badanie negatywne.
Niezawodność funkcjonalną aplikacji lub oprogramowania można określić ilościowo tylko za pomocą skutecznie zaprojektowanych negatywnych scenariuszy. Testy negatywne mają na celu nie tylko ujawnienie wszelkich potencjalnych wad, które mogą mieć poważny wpływ na zużycie produktu w całości, ale mogą być pomocne w określeniu warunków, w których aplikacja może ulec awarii. Wreszcie zapewnia, że w oprogramowaniu występuje wystarczająca weryfikacja błędów.
Przykład:
Załóżmy na przykład, że musisz napisać negatywne przypadki testowe dotyczące pióra. Podstawowym motywem pióra jest umiejętność pisania na papierze.
Oto kilka przykładów negatywnych testów:
- Zmień nośnik, na którym ma pisać, z papieru na tkaninę lub cegłę i zobacz, czy nadal powinien pisać.
- Umieść pióro w płynie i sprawdź, czy pisze ponownie.
- Wymień wkład wkładu na pusty i sprawdź, czy powinien przestać pisać.
Praktyczne przykłady pozytywnych i negatywnych testów
Weźmy przykład kreatora interfejsu użytkownika do tworzenia niektórych zasad. W kreatorze użytkownik musi wprowadzić wartości tekstowe w jednym panelu, a wartości liczbowe w innym.
Pierwsze okienko:
W pierwszym z nich oczekuje się, że użytkownik nada nazwę polityce, jak pokazano poniżej:
Poznajmy też podstawowe zasady, które pozwolą nam zaprojektować dobre pozytywne i negatywne scenariusze.
c ++ konwertowanie char na int
Wymagania:
- Pole tekstowe nazwy jest parametrem obowiązkowym
- Opis nie jest obowiązkowy.
- Pole nazwy może zawierać tylko znaki a-z i A-Z. Żadne cyfry, znaki specjalne nie są dozwolone.
- Nazwa może mieć maksymalnie 10 znaków.
Przejdźmy teraz do zaprojektowania pozytywnych i negatywnych przypadków testowych dla tego przykładu.
Pozytywne przypadki testowe: Poniżej znajduje się kilka pozytywnych scenariuszy testowania dla tego konkretnego okienka.
- ABCDEFGH (walidacja wielkich liter w limicie znaków)
- abcdefgh walidacja małymi literami w limicie znaków)
- aabbccddmn (weryfikacja limitu znaków)
- aDBcefz (wielkie litery połączone z walidacją małych liter w limicie znaków)
- .. i tak dalej.
Negatywne przypadki testowe : Poniżej znajduje się kilka negatywnych scenariuszy testowania dla tego konkretnego okienka.
- ABCDEFGHJKIOOOOOKIsns (nazwa dłuższa niż 10 znaków)
- abcd1234 (nazwa zawierająca wartości liczbowe)
- Nie podano nazwy
- sndddwwww_ (nazwa zawierająca znaki specjalne)
- .. i tak dalej.
Drugi panel:
W drugim okienku użytkownik powinien wprowadzić tylko wartości liczbowe, jak pokazano poniżej:
Ustalmy również tutaj kilka podstawowych zasad:
Wymagania:
- Identyfikator musi zawierać liczbę od 1 do 250
- Identyfikator jest obowiązkowy.
Dlatego oto kilka pozytywnych i negatywnych scenariuszy testowych dla tego konkretnego okienka.
Pozytywne scenariusze testów : Poniżej znajduje się kilka pozytywnych scenariuszy testowania dla tego konkretnego okienka.
- 12 (Wprowadzanie prawidłowej wartości z podanego zakresu)
- 1250 (Wprowadzenie wartości granicznej określonego zakresu)
Negatywne scenariusze testów : Poniżej znajduje się kilka negatywnych scenariuszy testowania dla tego konkretnego okienka.
- Ab (wprowadzanie tekstu zamiast liczb)
- 0, 252 (wprowadzanie wartości poza granicami)
- Brak danych wejściowych
- -2 (wprowadzanie wartości spoza zakresu)
- +56 (Wprowadzenie prawidłowej wartości poprzedzonej znakiem specjalnym)
Podstawowe czynniki pomagające w pisaniu testów pozytywnych i negatywnych
Jeśli uważnie przyjrzysz się powyższym przykładom, zauważysz, że może istnieć wiele pozytywnych i negatywnych scenariuszy. Jednak skuteczne testowanie jest wtedy, gdy optymalizujesz niekończącą się listę pozytywnych i negatywnych scenariuszy w taki sposób, abyś Ty osiągnąć wystarczające testy .
Ponadto w obu tych przypadkach zobaczysz wspólny schemat tworzenia scenariuszy. W obu powyższych przypadkach istnieją dwa podstawowe parametry lub techniki, które stanowiły podstawę do zaprojektowania wystarczającej liczby pozytywnych i negatywnych przypadków testowych.
Te dwa parametry to:
Analiza wartości brzegowych :
Jak sama nazwa wskazuje, granica oznacza granice czegoś. Stąd wiąże się to z projektowaniem scenariuszy testowych, które koncentrują się tylko na wartościach granicznych i sprawdzają, jak zachowuje się aplikacja. Dlatego też, jeśli dane wejściowe są dostarczane w granicach wartości granicznych, wówczas jest to uważane za testowanie pozytywne, a dane wejściowe poza wartościami granicznymi są uważane za część testów ujemnych.
Na przykład, jeśli dana aplikacja akceptuje identyfikatory sieci VLAN z zakresu od 0 do 255. Stąd tutaj 0, 255 będzie stanowić wartości graniczne. Wszelkie dane wejściowe poniżej 0 lub powyżej 255 zostaną uznane za nieważne, a zatem będą stanowić test negatywny.
Partycjonowanie równoważności :
W przypadku partycjonowania równoważnego dane testowe są segregowane na różne partycje. Te partycje są nazywane klasami danych równoważności. Zakłada się, że różne dane wejściowe (dane mogą być warunkiem) w każdej partycji zachowują się w ten sam sposób. Dlatego z każdej partycji należy przetestować tylko jeden określony warunek lub sytuację, tak jakby jeden działał, a wszystkie inne w tej partycji zakłada się. Podobnie, jeśli jeden warunek w partycji nie zadziała, żaden z pozostałych nie zadziała.
Dlatego jest teraz bardzo jasne, że prawidłowe klasy danych (w partycjach) będą obejmować testy pozytywne, podczas gdy nieprawidłowe klasy danych będą obejmowały testy negatywne.
W tym samym przykładzie sieci VLAN powyżej wartości można podzielić na powiedzmy dwie partycje.
Tak więc dwie partycje tutaj wyglądałyby:
- Wartości od -255 do -1 w jednej partycji
- Wartości od 0 do 255 w innej partycji
pytania do wywiadu oracle pl sql dla 8 lat doświadczenia
Wniosek
Kilkakrotnie miałem do czynienia z sytuacją, w której ludzie uważają, że negatywne testy są mniej więcej powielaniem pozytywnych testów, a nie wierzą, że potwierdzają one pozytywny wynik testu. Jako tester zawsze konsekwentnie zajmowałem się tymi pytaniami. Ci, którzy rozumieją i dążą do wysokich standardów i jakości, niewątpliwie będą egzekwować negatywne testy jako konieczność w procesie jakości.
Podczas gdy pozytywne testy zapewniają walidację biznesowego przypadku użycia, negatywne testy zapewniają, że dostarczone oprogramowanie nie ma wad, które mogą zniechęcać klienta do jego używania.
Projektowanie precyzyjnych i silnych negatywnych scenariuszy testów wymaga kreatywności, przewidywania, umiejętności i inteligencji testera. Większość z tych umiejętności można zdobyć wraz z doświadczeniem, więc trzymaj się tego i nieustannie oceniaj swój pełny potencjał raz po raz!
O autorze: To jest artykuł gościnny autorstwa Sneha Nadig. Pracuje jako Test Leader z ponad 7-letnim doświadczeniem w projektach testowania ręcznego i automatycznego.
Przedstaw nam swoje przemyślenia i doświadczenia dotyczące negatywnych testów.
POPRZEDNIA samouczek | NEXT Tutorial
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]
- Testing Primer Pobierz eBook
- Jak napisać tygodniowy raport o stanie testów oprogramowania
- Różnica między testami na komputerach stacjonarnych, serwerach klienckich i testach internetowych
- Testowanie obciążenia za pomocą samouczków HP LoadRunner
- Podręcznik testowania zabezpieczeń aplikacji internetowych
- Testowanie aplikacji - podstawy testowania oprogramowania!
- Instalowanie aplikacji na urządzeniu i rozpoczęcie testowania z Eclipse