Co to jest testowanie negatywne?
- Oczywiste jest, że testowanie oprogramowania tylko z pozytywnymi scenariuszami gwarantuje, że działa ono zgodnie z oczekiwaniami, ale nie gwarantuje, że będzie działać w nieoczekiwanych sytuacjach. Jako tester głównym celem testowania jest znalezienie jak największej liczby defektów i upewnienie się, że aplikacja powinna działać poprawnie nawet w nieparzystych sytuacjach. W tym celu pojawiły się negatywne testy, które obejmują wszystkie scenariusze, które należy przetestować pod kątem nieoczekiwanego zachowania człowieka i nieprawidłowych danych wejściowych od użytkownika.
- Jest to ogólnie znane jako testowanie ścieżki błędu lub testowanie awarii. Jest to rodzaj testowania oprogramowania, które jest przeprowadzane w celu zapewnienia, że aplikacja nie powinna się zepsuć i z wdziękiem obsługuje sytuacje nieoczekiwanych scenariuszy, takich jak nieprawidłowe wprowadzanie danych przez użytkownika, utrata łączności z siecią, brak wymaganych pól itp.
- Gdy aplikacja jest przekazywana użytkownikom końcowym, nie jest tak, że wykonają oni tylko pozytywne scenariusze testowe, ludzki umysł próbuje grać sztuczki i wykonuje kilka nielogicznych i nieodpowiednich zadań w celu przetestowania aplikacji lub niektórych nieetycznych spraw osobistych znaczy.
- Dlatego bardzo ważne jest przetestowanie aplikacji przy każdej permutacji i kombinacji danych, aby sprawdzić, jak aplikacja zareaguje. Na przykład, pisząc alfabet lub znaki specjalne w polu numeru telefonu, przesyłając formularz bez wypełniania obowiązkowych danych itp., Sytuacje takie powinny być obsługiwane z gracją za pomocą komunikatu ostrzegawczego. Odbywa się to w celu sprawdzenia stabilności aplikacji.
Dlaczego potrzebujemy testów negatywnych?
Istnieje kilka powodów wykonywania testów negatywnych. Niektóre z nich są wymienione poniżej:
- Chociaż nie jest możliwe zapewnienie w 100% bezbłędnego oprogramowania użytkownikom końcowym, wykonanie go i zapewnienie maksymalnej liczby negatywnych scenariuszy może zapewnić, że aplikacja będzie w stanie poradzić sobie z nieoczekiwanymi sytuacjami.
- Na rynku jest wielu hakerów szukających okazji do zhakowania aplikacji i niewłaściwego wykorzystania prywatnych danych klienta, aby uniknąć takich przypadków naruszenia bezpieczeństwa, negatywne testy są bardzo ważne.
- Rozwijanie luk w aplikacji poprzez wykonanie jej w celu uniknięcia nieoczekiwanego zachowania.
- Zapewnij stabilność aplikacji poza limitem, nietypowymi i złymi danymi.
- Aby zapewnić wrażliwą i niezawodną aplikację dla klienta, testowanie negatywne jest koniecznością.
Jak przeprowadzane są testy negatywne?
Ponieważ wymaga to zarówno czasu, jak i kosztów. Osobny zespół testerów jest wymagany w celu przeprowadzenia rozszerzonych testów negatywnych.
- Dla każdej funkcji należy utworzyć negatywne przypadki testowe określające wiele scenariuszy testowych.
- Negatywne scenariusze ze wszystkimi możliwymi nieprawidłowymi danymi należy przetestować zgodnie z priorytetem negatywnych danych.
Istnieją dwie techniki powszechnie stosowane przez testerów do testowania negatywnego, które wymieniono poniżej:
1. Analiza wartości brzegowej
W analizie wartości granicznych negatywne przypadki testowe są projektowane dla wartości poza granicami granicznymi w celu zweryfikowania, w jaki sposób działa dla nich system. Na przykład, jeśli pole tekstowe w formularzu akceptuje dane o długości 5-30 znaków, wówczas granice wynoszą 5 i 30, a zatem te wartości zostaną przetestowane.
2. Partycjonowanie równoważne
W partycjonowaniu równoważnym wartości wejściowe są dzielone na różne partycje równoważnych danych i testowane jest tylko kilka wartości każdej partycji w celu weryfikacji całej partycji. Jeśli dane zostaną przekazane, cała partycja uważa, że podanie w innym przypadku nie powiodło się. W powyższym przykładzie dla pola tekstowego akceptującego dane między 5-30 partycje będą wynosić 0-5, 5-30, 30-100, w przypadku testu ujemnego partycje 0-5 i 30-100 zostaną przetestowane.
Zalety i wady testów negatywnych
Oto zalety i wady negatywnych testów:
Zalety
- Aby zapewnić wrażliwe i wysokiej jakości oprogramowanie, testowanie negatywne jest koniecznością.
- Aby zabezpieczyć aplikację przed cyberprzestępczością i nieetycznymi atakami, ważną rolę odgrywają testy bezpieczeństwa dla negatywnych scenariuszy.
- Daje im to pewność, że aplikacja jest testowana pod kątem wszystkich negatywnych scenariuszy, a zatem bardziej niezawodna.
- Zapewnia, że wszystkie błędy lub złe sytuacje są obsługiwane z wdziękiem przez aplikację.
Niedogodności
- Czasami w niektórych aplikacjach staje się to stratą czasu. Intensywny obejmuje wszystkie negatywne scenariusze z wieloma negatywnymi danymi testowymi, nie zawsze jest wymagany. Czasami testerzy tak bardzo się w to angażują, że rygorystyczne testy pozytywne (podstawowe działanie aplikacji) nie zostają cofnięte.
- Aby uzyskać szczegółowe informacje, w projekcie wymagany jest osobny zespół testerów, co może powodować wysokie problemy z budżetem projektu.
- Cykl wydawania aplikacji jest czasem opóźniony.
- Wysoce doświadczeni ludzie są zobowiązani do negatywnych testów.
Narzędzia używane do testowania negatywnego
Chociaż na rynku nie ma konkretnych narzędzi. Przypadki testowe obejmujące wszystkie negatywne scenariusze można wykonać ręcznie lub za pomocą skryptów automatyzacji. Najważniejszą rzeczą podczas jego wykonywania jest maksymalna liczba permutacji danych testowych, które można przetestować dla przypadku testowego. Ręczne testowanie przypadku testowego przy użyciu danych testowych może być trochę nudne i czasochłonne, ale zadanie to można ułatwić testując automatyzację. Skrypty automatyzacji można tworzyć za pomocą prostych narzędzi automatyzacji dostępnych na rynku, takich jak Selenium, TestComplete, Appium, Cucumber, itp. Skrypty automatyzacji mogą być pomocne w zabezpieczeniu, ponieważ wszystkie dane testowe mogą być przechowywane w jednym pliku dla każdego przypadku testowego i skrypt może być wykonywany wielokrotnie dla każdego danych testowych.
Wniosek
Testy negatywne nie są uwzględnione i nigdy nie są częścią testów pozytywnych, ponieważ testy pozytywne zapewniają, że system działa zgodnie z wymaganiami i jak wspomniano w dokumentach (SRS), podczas gdy wskazuje to na niezawodność, podatność i wysoką jakość standardu oprogramowanie. Testy negatywne są tak samo ważne jak testy pozytywne, ponieważ oba mają różne zamiary testowania oprogramowania. Im więcej oprogramowania przechodzi testy, tym mniejsze są ryzyko na rynku, dzięki czemu aplikacja jest bardziej stabilna i niezawodna.
Polecane artykuły
To jest przewodnik po testach negatywnych. Tutaj omawiamy wprowadzenie do testów negatywnych, dlaczego potrzebujemy tego testu wraz z zaletami i wadami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- Testów jednostkowych
- Testy statyczne
- Testy integracji systemu
- Testowanie czarnej skrzynki
- Techniki testowania czarnej skrzynki