Testowanie pozytywne i negatywne z przykładami
⚡ Inteligentne podsumowanie
Testowanie pozytywne i negatywne razem decydują o tym, czy oprogramowanie akceptuje to, co powinno, i odrzuca to, czego nie powinno. W tym artykule wyjaśniono oba podejścia, techniki, na których się opierają, praktyczne przykłady oraz praktyki ograniczające wycieki defektów.

Testowanie oprogramowania to proces weryfikacji i walidacji aplikacji w celu sprawdzenia, czy działa ona zgodnie z oczekiwaniami. Celem jest wykrycie defektów i poprawa jakości produktu. Istnieją dwa sposoby testowania oprogramowania: testowanie pozytywne i testowanie negatywne.
Te dwa podejścia odpowiadają na przeciwstawne pytania: czy aplikacja działa, gdy wszystko idzie dobrze, i czy pozostaje stabilna, gdy coś pójdzie nie tak?
Czym jest pozytywny wynik testu?
Testowanie pozytywne Testowanie to rodzaj testowania przeprowadzanego na aplikacji programowej poprzez podanie prawidłowych zestawów danych wejściowych. Sprawdza ono, czy aplikacja programowa zachowuje się zgodnie z oczekiwaniami przy pozytywnych danych wejściowych, czy też nie.
Testowanie pozytywne przeprowadza się w celu sprawdzenia, czy aplikacja działa dokładnie tak, jak się od niej oczekuje. Dlatego nazywa się je również testowaniem ścieżki szczęścia.
Rozważmy na przykład pole tekstowe z wartościami liczbowymi pokazane poniżej.
W aplikacji znajduje się pole tekstowe, które akceptuje tylko liczby. Wprowadzanie wartości do 99999 będzie akceptowane przez system, a wszelkie inne wartości poza tym nie powinny być akceptowane. Aby przeprowadzić pozytywny test, ustaw prawidłowe wartości wejściowe od 0 do 99999 i sprawdź, czy system akceptuje te wartości.
Czym jest wynik negatywny testu?
Testowanie negatywne Metoda testowania aplikacji polegająca na podaniu nieprawidłowych lub niepoprawnych zestawów danych wejściowych. Sprawdza ona, czy aplikacja zachowuje się zgodnie z oczekiwaniami w przypadku negatywnych lub niepożądanych danych wejściowych użytkownika.
Celem testowania negatywnego jest zapewnienie, że aplikacja nie ulegnie awarii i pozostanie stabilna w przypadku nieprawidłowych danych wejściowych. Dlatego też nazywa się je również testowaniem ścieżki błędów lub testowaniem awarii.
Rozważmy na przykład to samo pole, w którym zamiast cyfr wprowadzane są znaki.
Test negatywny można wykonać wprowadzając znaki od A do Z lub od a do z. Albo system oprogramowania nie powinien akceptować wartości, albo powinien zgłosić komunikat o błędzie w przypadku nieprawidłowych danych wejściowych.
W przypadku obu typów testów należy wziąć pod uwagę następujące kwestie:
- Dane wejściowe
- Czynność, którą należy wykonać
- Wynik wyjściowy
Pozytywny a negatywny wynik testu: kluczowe różnice
Oba podejścia mają to samo walizka testowa struktura. Różnica tkwi w danych wejściowych, które dostarczasz, i w tym, co udowadnia wynik pozytywny.
| Parametr | Testowanie pozytywne | Testowanie negatywne |
|---|---|---|
| Znany także jako | Testowanie ścieżki szczęścia | Testowanie ścieżki błędu lub awarii |
| Użyte dane wejściowe | Prawidłowe, oczekiwane dane | Nieprawidłowe, ekstremalne lub nieoczekiwane dane |
| Cel | Potwierdź, że funkcja działa tak, jak powinna | Potwierdź, że funkcja odrzuca to, czego nie powinna |
| Oczekiwany wynik | Przepływ zakończył się pomyślnie | Pojawia się wyraźny błąd, a system pozostaje stabilny |
| Obsługa błędów | Nie w centrum uwagi | Całe skupienie |
| Pokrycie | Wąski, zgodny ze specyfikacją | Szeroki, bada wszystko poza specyfikacją |
| Typowe ryzyko w przypadku pominięcia | Główne funkcje są uszkodzone | Awarie i luki w zabezpieczeniach docierają do produkcji |
Niepowodzenie testu pozytywnego sygnalizuje wadliwą funkcjonalność. Niepowodzenie testu negatywnego sygnalizuje brak osłony, której naprawa jest znacznie bardziej kosztowna, gdy użytkownik ją znajdzie.
Techniki testowania stosowane do testów pozytywnych i negatywnych
W praktyce dwie klasyczne techniki projektowania nakładów generują zarówno przypadki pozytywne, jak i negatywne w odniesieniu do tego samego wymagania:
- Analiza wartości granicznej
- Partycjonowanie równoważności
Analiza wartości granicznej
Jest to jedna z technik testowania oprogramowania, w której przypadki testowe są zaprojektowane tak, aby uwzględniały wartości na granicy. Jeżeli dane wejściowe są wykorzystywane w granicach wartości granicznych, wówczas mówi się, że jest to test pozytywny. Jeśli dane wejściowe zostaną wybrane poza granicami wartości granicznych, mówimy o teście negatywnym.
Na przykład, spójrz na zakres akceptowany przedstawiony poniżej.
System może akceptować wartości liczbowe od 0 do 10. Wszystkie inne liczby są wartościami nieprawidłowymi. W ramach tej techniki testowane będą wartości graniczne -1,0,1 i 9,10,11.
Partycjonowanie równoważności
To jest Testowanie oprogramowania technika, która dzieli dane wejściowe na wiele partycji. Wartości z każdej partycji muszą zostać przetestowane co najmniej raz. Partycje z prawidłowymi wartościami są używane do testów pozytywnych. Podczas gdy partycje z nieprawidłowymi wartościami są używane do testów negatywnych.
Na przykład przyjrzyjmy się dwóm partycjom pokazanym poniżej.
Wartości liczbowe od zera do dziesięciu można podzielić na dwie (lub trzy) partycje. W naszym przypadku mamy dwie partycje od -10 do -1 i od 0 do 10. Z każdej części można pobrać wartości przykładowe (5 i -5), aby przetestować scenariusze. Zobacz partycjonowanie równoważnościowe i analiza wartości brzegowych lekcja zawierająca więcej przykładów.
Jak wykonać testy pozytywne i negatywne
Poniższa sekwencja przekształca jedno wymaganie w zrównoważony zestaw przypadków pozytywnych i negatywnych.
- Przeczytaj wymagania dotyczące limitów. Zwróć uwagę na każdy akceptowany format, zakres i pole obowiązkowe. Wszystko, co dopuszcza specyfikacja, staje się przypadkiem pozytywnym, a wszystko, co wyklucza, staje się przypadkiem negatywnym.
- Najpierw napisz przypadek pozytywny. Dostarcz prawidłowe dane, wykonaj czynność i zapisz oczekiwany wynik powodzenia jako wartość bazową.
- Wyprowadź przypadki negatywne z tych samych granic. Za pomocą analizy wartości brzegowych i partycjonowania równoważności można uzyskać puste pola, nieprawidłowe typy danych i liczby spoza zakresu.
- Dodaj wrogie dane wejściowe. Zawierać SQL injection ciągi znaków, wygasłe tokeny i nieprawidłowo sformatowane ładunki API, testy bezpieczeństwa luki ujawniają się wcześnie.
- Rozszerz na kontrole niefunkcjonalne. A test obciążenia liczba obsługiwanych użytkowników jest dodatnia, podczas gdy stress test poza tą granicą znajduje się odpowiadający przypadek negatywny.
- Wybierz miejsce, w którym będzie prowadzona każda sprawa. Trzymaj przypadki negatywne z dala testy dymne i trzeźwości, które są szybkimi bramkami dodatnimi i uruchamiają je w trybie funkcjonalnym i testy regresji cykle.
Wypłata z bankomatu pokazuje parowanie. W przypadku pozytywnego wpisu wprowadzany jest poprawny PIN i prawidłowa kwota, co skutkuje otrzymaniem gotówki i paragonu. W przypadku negatywnego wpisywany jest błędny PIN i oczekiwany jest komunikat o odmowie, a następnie blokada karty.
Najlepsze praktyki pozwalające zachować równowagę
- Przed rozpoczęciem opracowywania napisz co najmniej dwa przypadki na każde wymaganie, jeden pozytywny i jeden negatywny.
- Nadaj priorytet przypadkom negatywnym według wpływu, tak aby błędy wstrzyknięć i płatności występowały przed kosmetycznymi błędami wprowadzania danych.
- Podaj sam komunikat o błędzie, a nie tylko informację, że akcja się nie powiodła, ponieważ niejasne komunikaty również są wadami.
- Zostaw miejsce na testowanie eksploracyjnei rejestruj ustalenia za pomocą proces zarządzania defektami.
⚠️ Ostrzeżenie: Nigdy nie uruchamiaj przypadków negatywnych w rzeczywistym środowisku produkcyjnym. Ich celem jest wymuszenie awarii, a celowe awarie wpływają na prawdziwych użytkowników i prawdziwe dane.

.png)
.png)
.png)
.png)