Testowanie tabeli decyzyjnej (przykład)

⚡ Inteligentne podsumowanie

Testowanie tablic decyzyjnych to technika „czarnej skrzynki”, która rejestruje kombinacje danych wejściowych i ich oczekiwane wyniki w formie tabelarycznej. Ten samouczek wyjaśnia koncepcję przyczynowo-skutkową, omawia przykłady logowania i przesyłania danych oraz pokazuje, dlaczego metoda ta zapewnia skuteczne pokrycie złożonej logiki biznesowej.

  • 🧮 Podstawowa idea: Tabela decyzyjna mapuje warunki (przyczyny) na wyniki (skutki) w celu zapewnienia systematycznego pokrycia.
  • 🔢 Zasada kombinacji: Liczba reguł równa się 2 pomnożonemu przez liczbę warunków (2^n).
  • 🔐 Przykładowe rozwiązania: Ekrany logowania i przesyłania zdjęć pokazują warunki Prawda/Fałsz przypisane do wyników.
  • Najlepsze wykorzystanie: Idealne rozwiązanie, gdy zachowanie systemu jest inne dla każdej kombinacji danych wejściowych.
  • 🤖 Włączanie sztucznej inteligencji: Narzędzia AI generują teraz tabele decyzyjne na podstawie wymagań i usuwają zbędne reguły.

Testowanie tabeli decyzji

Co to jest testowanie tabeli decyzyjnej?

Testowanie tablic decyzyjnych to technika testowania oprogramowania służąca do testowania zachowania systemu dla różnych kombinacji danych wejściowych. Jest to systematyczne podejście, w którym różne kombinacje danych wejściowych i odpowiadające im zachowanie systemu (dane wyjściowe) są rejestrowane w formie tabelarycznej. Dlatego nazywa się je również testowaniem tablic decyzyjnych. Przyczyna-Skutek tabela, w której rejestruje się przyczyny i skutki, aby zapewnić lepsze pokrycie testem.

A Tabela decyzyjna to tabelaryczna reprezentacja danych wejściowych w odniesieniu do reguł, przypadków lub warunków testowych. Jest to niezwykle skuteczne narzędzie zarówno do złożonych Testowanie oprogramowania i zarządzanie wymaganiami. Tabela decyzyjna pomaga sprawdzić wszystkie możliwe kombinacje warunków, a testerzy mogą łatwo zidentyfikować brakujące warunki. Warunki są oznaczane wartościami Prawda (T) i Fałsz (F).

Przykład 1: Tabela decyzyjna dla ekranu logowania

Utwórzmy tabelę decyzyjną dla ekranu logowania.

Tabela bazowa decyzji dla ekranu logowania

Zasada jest prosta: jeśli użytkownik poda prawidłową nazwę użytkownika i hasło, zostanie przekierowany na stronę główną. Jeśli jakiekolwiek dane będą nieprawidłowe, wyświetlony zostanie komunikat o błędzie.

Warunki Zasada 1 Zasada 2 Zasada 3 Zasada 4
Nazwa użytkownika (T/F) F T F T
Hasło (T/F) F F T T
Wyjście (E/H) E E E H

Legenda:

  • T – Popraw nazwę użytkownika/hasło
  • F – Nieprawidłowa nazwa użytkownika/hasło
  • E – Wyświetla się komunikat o błędzie
  • H – Wyświetla się ekran główny

Interpretacja:

  • Case 1 – Nazwa użytkownika i hasło są nieprawidłowe. Użytkownikowi wyświetla się komunikat o błędzie.
  • Case 2 – Nazwa użytkownika jest poprawna, ale hasło jest nieprawidłowe. Użytkownikowi wyświetla się komunikat o błędzie.
  • Case 3 – Nazwa użytkownika jest błędna, hasło poprawne. Użytkownikowi wyświetla się komunikat o błędzie.
  • Case 4 – Nazwa użytkownika i hasło są poprawne. Użytkownik przechodzi na stronę główną.

Podczas konwersji tego na walizka testowa, możesz utworzyć dwa scenariusze, ponieważ wszystkie trzy przypadki błędów testują tę samą regułę.

  • Wprowadź prawidłową nazwę użytkownika i hasło, a następnie kliknij Zaloguj — użytkownik powinien zostać przekierowany na stronę główną.
  • Wprowadź błędną nazwę użytkownika i/lub błędne hasło, a następnie kliknij Zaloguj — użytkownik powinien zobaczyć komunikat o błędzie.

Przykład 2: Tabela decyzyjna dla ekranu przesyłania

Rozważmy teraz okno dialogowe, które prosi użytkownika o przesłanie zdjęcia pod pewnymi warunkami:

  1. Dozwolony jest wyłącznie format „.jpg”.
  2. Rozmiar pliku musi być mniejszy niż 32 KB.
  3. Rozdzielczość musi wynosić 137 × 177.

Jeśli którykolwiek z warunków nie zostanie spełniony, system wyświetli odpowiedni komunikat o błędzie; jeśli wszystkie warunki zostaną spełnione, zdjęcie zostanie pomyślnie przesłane.

Tabela decyzyjna dla ekranu przesyłania

Poniżej przedstawiono tabelę decyzyjną dla tego przypadku.

Warunki Case 1 Case 2 Case 3 Case 4 Case 5 Case 6 Case 7 Case 8
Format: . Jpg . Jpg . Jpg . Jpg Nie .jpg Nie .jpg Nie .jpg Nie .jpg
Rozmiar < 32 KB < 32 KB ≥ 32 KB ≥ 32 KB < 32 KB < 32 KB ≥ 32 KB ≥ 32 KB
Rozkład 137 × 177 Nie 137×177 137 × 177 Nie 137×177 137 × 177 Nie 137×177 137 × 177 Nie 137×177
Wydajność Zdjęcie przesłane Niezgodność rozdzielczości Niedopasowanie rozmiaru Niezgodność rozmiaru i rozdzielczości Niezgodność formatu Niezgodność formatu i rozdzielczości Niezgodność formatu i rozmiaru Niezgodność formatu, rozmiaru i rozdzielczości

Na podstawie tej tabeli można utworzyć osiem przypadków testowych w celu pełnego pokrycia:

  1. .jpg, < 32 KB, 137×177 → zdjęcie zostało pomyślnie przesłane.
  2. .jpg, < 32 KB, nie 137×177 → błąd niezgodności rozdzielczości.
  3. .jpg, ≥ 32 KB, 137×177 → błąd niezgodności rozmiaru.
  4. .jpg, ≥ 32 KB, nie 137×177 → błąd niezgodności rozmiaru i rozdzielczości.
  5. Nie .jpg, < 32 KB, 137×177 → błąd niezgodności formatu.
  6. Nie .jpg, < 32 KB, nie 137×177 → błąd niezgodności formatu i rozdzielczości.
  7. Nie .jpg, ≥ 32 KB, 137×177 → błąd niezgodności formatu i rozmiaru.
  8. Nie .jpg, ≥ 32 KB, nie 137×177 → błąd niezgodności formatu, rozmiaru i rozdzielczości.

Dlaczego testowanie tablic decyzyjnych jest ważne

Testowanie tablic decyzyjnych jest ważne, ponieważ pozwala na testowanie wielu kombinacji warunków i zapewnia solidne pokrycie złożonej logiki biznesowej. Gdy zachowanie systemu różni się dla każdego zestawu danych wejściowych, technika ta zapewnia dobre pokrycie w prostej, czytelnej reprezentacji.

In Inżynieria oprogramowaniaanaliza wartości brzegowych i podział równoważności to podobne techniki, ale są najskuteczniejsze, gdy system wykazuje taki sam zachowanie w dużym zestawie danych wejściowych. Gdy zachowanie jest różne dla każdej kombinacji danych wejściowych techniki te nie są w stanie zagwarantować dobrego pokrycia — w takim przypadku lepszym rozwiązaniem staje się testowanie przy użyciu tablicy decyzyjnej.

Tabela ta służy również jako punkt odniesienia dla wymagań i rozwoju funkcjonalności, ponieważ jest łatwa do zrozumienia i obejmuje wszystkie kombinacje. Znaczenie rośnie wraz ze wzrostem danych wejściowych: liczba możliwych kombinacji wynosi 2^n, gdzie n to liczba danych wejściowych. Dla n = 10, co jest powszechne w formularzach internetowych, daje to 1,024 kombinacje. Nie można przetestować ich wszystkich, ale można wybrać bogaty podzbiór za pomocą testów opartych na decyzjach.

Zalety testowania przy użyciu tabeli decyzyjnej

  • Działa, gdy zachowanie systemu różni się w zależności od danych wejściowych, a analiza równoważności i wartości brzegowych okazuje się niewystarczająca.
  • Przedstawienie jest proste, dzięki czemu można je łatwo zinterpretować i jest przydatne zarówno dla zespołów programistycznych, jak i biznesowych.
  • Pomaga tworzyć efektywne kombinacje i zapewnia lepsze pokrycie testami.
  • Każdą złożoną sytuację biznesową można przekształcić w tabelę decyzyjną.
  • Może zagwarantować 100% pokrycia przy niewielkiej liczbie kombinacji wejściowych.

Wady testowania przy użyciu tabeli decyzyjnej

Główną wadą jest to, że wraz ze wzrostem liczby danych wejściowych tabela staje się bardziej złożona i trudniejsza w zarządzaniu.

FAQ

Testowanie tablic decyzyjnych to technika „czarnej skrzynki”, która rejestruje kombinacje warunków wejściowych i ich oczekiwanych wyników w tabeli. Zapewnia systematyczne pokrycie złożonych reguł biznesowych.

Odwzorowuje przyczyny (warunki wejściowe) na skutki (wyniki systemu). Ujęcie obu stron w jednej tabeli sprawia, że ​​relacja jest jawna, dlatego nazywa się ją również tabelą przyczynowo-skutkową.

Liczba reguł jest równa 2^n, gdzie n to liczba warunków binarnych. Na przykład, 4 warunki dają 16 reguł, a 10 warunków daje 1,024 możliwe kombinacje.

Analiza wartości brzegowych sprawdza się w przypadku danych wejściowych, których zachowanie jest takie samo w całym zakresie. Tabele decyzyjne sprawdzają się w przypadkach, gdy każda kombinacja danych wejściowych generuje inny wynik, zapewniając pokrycie, którego nie zapewniają inne techniki.

Użyj tej opcji, gdy funkcja ma wiele warunków wejściowych, które oddziałują na siebie, generując różne dane wyjściowe, takie jak weryfikacja logowania, przesyłanie formularzy lub reguły ustalania cen i rabatów z kilkoma zależnościami.

Wraz ze wzrostem liczby warunków tabela rozszerza się wykładniczo (2^n) i staje się trudna w zarządzaniu. Testerzy zazwyczaj wybierają reprezentatywny podzbiór reguł, zamiast testować każdą kombinację.

Narzędzia AI odczytują wymagania i automatycznie generują tabele decyzyjne, identyfikują brakujące lub zbędne reguły oraz łączą równoważne reguły. Zmniejsza to nakład pracy ręcznej, jednocześnie poprawiając pokrycie kombinacji.

Tak. Sztuczna inteligencja może przekształcić każdą regułę w tabeli decyzyjnej w konkretny przypadek testowy z danymi wejściowymi i oczekiwanymi wynikami, a następnie nadać im priorytety według ryzyka, tak aby w pierwszej kolejności testowane były kombinacje o największym wpływie.

Podsumuj ten post następująco: