Co to jest test negatywny? Przypadki testowe z przykładem

Spisie treści:

Anonim

Testy negatywne

Testowanie negatywne to typ testowania oprogramowania używany do sprawdzania aplikacji pod kątem nieoczekiwanych danych wejściowych i warunków. Nieoczekiwane dane lub warunki mogą obejmować wszystko, od niewłaściwego typu danych po silny atak hakerski. Celem negatywnych testów jest zapobieganie awariom aplikacji z powodu negatywnych danych wejściowych oraz poprawa jakości i stabilności.

Wykonując tylko pozytywne testy, możemy tylko upewnić się, że nasz system działa w normalnych warunkach. Musimy upewnić się, że nasz system poradzi sobie z nieoczekiwanymi warunkami, aby zapewnić w 100% bezawaryjny system.

W tym samouczku nauczysz się:

  • Co to jest test negatywny?
  • Przykład testu negatywnego
  • Dlaczego testy negatywne?
  • Jak przeprowadzić testy negatywne
  • Zalety testów negatywnych
  • Wady testów negatywnych

Przykład testu negatywnego

Rozważmy przypadek podnoszenia, który jest powszechnie uważanym przykładem negatywnego wyniku testu.

Wszyscy znamy funkcjonalność windy. Będą one traktowane jako wymagania windy, takie jak naciśnięcie numeru piętra, które powoduje, że winda jedzie na to konkretne piętro.

Drzwi otwierają się automatycznie, gdy winda dotrze na określone piętro i tak dalej.

Rozważmy teraz kilka negatywnych scenariuszy wzrostu. Niektórzy z nich są,

Testy negatywne Pozytywne testy
  • Co się stanie, jeśli liczba osób (waga) przekroczy określony limit?
  • Zakłada się, że do windy wejdzie tylko określona liczba osób
  • Co się stanie, jeśli ktoś zapali lub spowoduje pożar w windzie?
  • W windzie nie będzie dymu ani ognia
  • Co się stanie, jeśli podczas pracy wystąpi awaria zasilania?
  • Podczas pracy windy nie dojdzie do awarii zasilania

Wszystkie te przypadki przejdą testy negatywne. Znaczenie tego jest takie, że nie możemy się upewnić, że wszystkie wymienione powyżej elementy się nie wydarzy, więc potrzebujemy ich uwzględnienia.

Rozważmy przypadek, w którym sprawdzany jest stan nadwagi, a po wdrożeniu podnośnik działa nieprawidłowo, gdy występuje stan nadwagi. Będzie to miało potencjalny wpływ na niezawodność systemu, a nawet może spowodować zagrożenie życia. To wyjaśnia, czym są testy negatywne i jakie są ich znaczenie.

Ten sam przypadek jest również stosowany w oprogramowaniu. W przypadku testów negatywnych odeszliśmy od normalnej procedury operacyjnej. Przejdźmy przez kilka przykładów.

Weźmy na przykład pod uwagę formularz rejestracyjny.

Testy negatywne Pozytywne testy
  • Spróbuj wprowadzić nieprawidłowy identyfikator e-mail w polu e-mail
  • W polu adresu e-mail zostaną wprowadzone tylko prawidłowe identyfikatory e-mail
  • Spróbuj wprowadzić nieprawidłowy numer telefonu w polu numeru telefonu (znaki)
  • Jedyna liczba zostanie wpisana w polu liczbowym
  • Prześlij obraz, którego rozmiar wykracza poza określone granice
  • Przesłane zostaną tylko obrazy o rozmiarze poniżej określonych granic
  • Prześlij nieprawidłowe pliki, takie jak XML, SQL itp. W polu przesyłania obrazu
  • Prześlij tylko prawidłowe formaty obrazów, takie jak jpg.webp.png.webp itp.

Jak powiedzieliśmy wcześniej, musimy upewnić się, że we wszystkich tych negatywnych przypadkach nasz system będzie działał poprawnie. Rozważmy przypadek, gdy ktoś próbuje wprowadzić znak w polu liczbowym, a system nie może przetworzyć nieoczekiwanych danych, ponieważ oczekuje liczby, a na koniec system ulega awarii. A co, jeśli ktoś spróbuje wykonać wstrzyknięcie SQL i usunąć wszystkie nasze dane z bazy danych. Nie możemy znieść takich potencjalnych strat. Tak więc negatywne testy są ważne.

Dlaczego testy negatywne?

Ponieważ testowanie jest zadaniem czasochłonnym i kosztownym, podjęcie decyzji „co”, „jak” i „ile” ma być testowane, jest naprawdę ważne. Musimy mądrze wybrać, czy musimy przeprowadzić negatywne testy w naszym systemie, czy nie. Przyjrzyjmy się więc, jak ważne są testy negatywne.

Perspektywa organizacji

Organizacja jest odpowiedzialna za dostarczenie klientowi produktu dobrej jakości. Aby to osiągnąć, należy wykonać testy negatywne.

W ramach potwierdzenia niepowodzenia organizacja musi przeprowadzić negatywne testy.

Może nie możemy zbudować systemu w 100% bezbłędnego, ale musimy upewnić się, że zrobiliśmy wszystko, aby zapobiec awariom, aby to osiągnąć, powinniśmy przeprowadzić testy negatywne.

Wpływ jest jednym z czynników, które musimy wziąć pod uwagę. Weź pod uwagę, że wykonaliśmy pozytywne testy w witrynie e-commerce i upewniliśmy się, że wszystko jest w porządku. Ale co, jeśli w naszym systemie jest luka, że ​​ktoś może wykonać wstrzyknięcie SQL i usunąć wszystkie nasze dane. To będzie wielkie naruszenie bezpieczeństwa. Aby uniknąć tego typu przypadków, należy również wykonać testy negatywne.

W przypadku aplikacji ogólnodostępnych, głównie stron internetowych, musimy zawsze pamiętać, że nie mamy zbytniej kontroli nad procedurą korzystania z aplikacji, dlatego musimy przeprowadzić testy negatywne, aby upewnić się, że wszystkie takie przypadki są objęte i zawarte.

Kolejną rzeczą, na którą musimy uważać, jest to, że jest wielu czarnych hakerów, którzy szukają okazji do zniszczenia systemu. Hakowanie to ważny przypadek objęty negatywnymi testami

Perspektywa klienta

Klienci zawsze oczekują produktów o zerowej podatności, aby mieć pewność, że negatywne testy są koniecznością

Jeśli jest to produkt wrażliwy, taki jak handel elektroniczny, towary online itp., Wtedy bezpieczeństwo i testy negatywne są koniecznością.

Jedyną troską klienta dotyczącą negatywnych testów jest koszt. Jednak po przeanalizowaniu wpływu klient decyduje, czy wykonać test negatywny, czy nie.

Jak przeprowadzić negatywne testy

Aby przeprowadzić negatywne testy, musimy wziąć pod uwagę wszystkie możliwe przypadki. Oznacza to, że jeśli jest to możliwe, musimy rozważyć to w Przypadku Testowym, niezależnie od tego, czy nie jest to właściwy sposób jego użycia. Na przykład, jeśli widzimy pole e-mail, pomyśl o wszystkich możliwych danych wejściowych, które możemy tam umieścić, poza prawidłowym formatem wiadomości e-mail. Tak samo, gdy widzimy opcję przesyłania obrazu, musimy przetestować ją ze wszystkimi możliwymi plikami.

Tworząc negatywne przypadki testowe, musimy nadać priorytet wejściom, w przeciwnym razie będzie wiele możliwych przypadków. Na przykład w przypadku pola obrazu, do którego mają wchodzić tylko pliki „.png.webp”, możemy mieć wiele opcji do przesłania, takich jak „jpeg.webp”, „xml”, „xls” itp.… Dlatego musimy nadać priorytet opcjom, takim jak XML i SQL mogą mieć większy wpływ niż jpeg.webp i xls, więc najpierw powinniśmy zająć się przypadkami SQL i XML. W ten sposób musimy ustalić priorytety spraw przed wykonaniem, aby zaoszczędzić czas i koszty testowania.

Plusy i minusy negatywnych testów

Podobnie jak w przypadku wszystkich innych technik testowania, testy negatywne mają swoje wady i zalety, głównie w oparciu o „gdzie”, „kiedy” i „jak” używać. Spójrzmy na to.

Zalety testów negatywnych

  • Jak wszyscy wiemy, negatywne testy są bardzo ważne dla zapewnienia jakości produktu. Produkt dobrej jakości to produkt o zerowej podatności, aby mieć pewność, że negatywne testy są bardzo ważne.
  • Wykonanie negatywnych testów zapewnia uwzględnienie wszystkich możliwych przypadków. Celowo lub nieumyślnie istnieje szansa wystąpienia negatywnych przypadków testowych. Tak więc, aby upewnić się, że wszystkie przypadki są objęte, musimy przeprowadzić testy negatywne razem z pozytywnymi testami.
  • Negatywne testy zwiększą pewność siebie klienta przed rozpoczęciem transmisji.

Wady testów negatywnych

  • W inżynierii oprogramowania testy negatywne w niektórych przypadkach stają się stratą czasu i energii. W wielu przypadkach nie ma potrzeby przeprowadzania nadmiernych testów negatywnych. Na przykład, jeśli aplikacja jest tworzona do użytku jednej osoby, nie musimy brać pod uwagę przypadku, gdy 100 użytkowników korzysta z systemu na raz. Zatem decydowanie o warunkach w negatywnych przypadkach testowych jest bardzo ważne. Będą sytuacje, w których nie będziemy musieli przeprowadzać negatywnych testów w określonym systemie.
  • Wymagaj wykwalifikowanych i doświadczonych ludzi do tworzenia negatywnych przypadków testowych.
  • Dla klienta negatywne testy to kolejna rzecz, która powoduje niepotrzebne opóźnienia w wydaniu i zwiększa koszty.
  • Szansa, że ​​zespół poświęci więcej czasu i energii na negatywne testy. Istnieje szansa, że ​​testerzy poświęcają dużo czasu i energii na testy negatywne, które skutkują niższym stężeniem w testach pozytywnych.