Projektowanie testów. Tablice decyzyjne. Przykład

Decyzje są elementem otaczającej nas rzeczywistości. Jedne z nich podejmujemy samodzielnie, inne zdeterminowane są przez warunki napotkane podczas naszych działań.

Nie inaczej jest z zakupami. Często nieświadomie jesteśmy uczestnikami procesu, kierowanego regulaminami sklepów czy warunkami promocji, mającymi zaprowadzić nas do określonego finału.

To właśnie do opisu reguł takich zdarzeń świetnie nadaje się tablica decyzyjna. Jej składowymi są odpowiednio sformułowane warunki wejścia, możliwe decyzje oraz kombinacje wzajemnych powiązań elementów (w tym przypadku określonych jako prawda / fałsz).

 

W tym przykładzie tablica decyzyjna posłużyła do przedstawienia możliwych kombinacji związanych z udzielaniem Klientowi rabatu za zapis do newslettera (akcja). Informacja o regulaminie tej promocji znajduje się na stronie sklepu, dzięki czemu mamy dostęp do zdefiniowania warunków wejścia.

 

Pierwszym krokiem było rozpisanie wszystkich kombinacji funkcji rabatowej:

 

TABLICA 1. PEŁNA TABLICA DECYZYJNA

Tytuł: Promocja - rabat 40zł za zapis do newslettera.
Warunki wejścia: W1 W2 W3 W4 W5 W6 W7 W8
Klient zapisał się na Newsletter P P P P P P F F
Klient dostał kupon za zapis do newslettera P P P P F F * *
Kupon jest aktywny (nie został wykorzystany wcześniej) P P F F * * * *
Produkty w koszyku spełniają warunki promocji P F P F P F P F
Akcje
Zostaje naliczony rabat 40zł P F F F F F F F

 

gdzie *= warunek nieistotny

Jak widać, pewne warunki uznałam za nieistotne. Ich wykluczenie wynikało z logiki zdarzeń. Podobna zasada posłużyła do skrócenia tablicy. Kierując się przykładem optymalizacji tablicy decyzyjnej http://testerzy.pl/baza-wiedzy/optymalizowanie-tablic-decyzyjnych, zebrałam w pary (określone tym samym kolorem) kolumny, dla których wyjścia są takie same, a kombinacja wejść bardzo zbliżona. Warunek różniący parę kolumn zastąpiono „* ” .Dzięki takiemu zabiegowi udało się zawęzić liczbę rozpatrywanych przypadków.

 

TABLICA 2. SKRÓCONA TABLICA DECYZYJNA

Tytuł: promocja - rabat 40zł za zapis do newslettera.
Warunki wejścia: W1 W2 W3 W4 W5
Klient zapisał się na Newsletter P P P P F
Klient dostał kupon za zapis do newslettera P P P F *
Kupon jest aktywny (nie został wykorzystany wcześniej) P P F * *
Produkty w koszyku spełniają warunki promocji P F * * *
Akcje
Zostaje naliczony rabat 40zł P F F F F

 

Ostatecznie tablice zostały przekształcone w tabelę przypadków testowych:

TABLICA 3. TESTY

Warunki wejścia: T1 T2 T3 T4 T5
Klient zapisał się na Newsletter TAK TAK TAK TAK NIE
Klient dostał kupon za zapis do Newslettera TAK TAK TAK NIE NIE
Kupon jest aktywny (nie został wykorzystany wcześniej) TAK TAK NIE NIE NIE
Produkty w koszyku spełniają warunki promocji TAK NIE NIE NIE NIE
Akcje
Zostaje naliczony rabat 40zł TAK NIE NIE NIE NIE

 

Moim zadaniem było jednak nie tylko rozpisanie tabeli decyzyjnej i powstałych przypadków w formie graficznej. Należało przenieść ją na grunt tekstowy. To co w formie graficznej jest oczywistością „dla oka”, w przypadkach pisanych nie chciało przybrać kształtu, który w sposób zadawalający, zwłaszcza osobie początkującej, pokazywałby, że mamy do czynienia z tablicą decyzyjną. Ostatecznie udało się wypracować rozwiązanie, które prezentuję poniżej:

Przypadki testowe:

ID: SC-21

Tytuł: Rabat 40zł za zapis do newslettera - przypadek T1.

ZAŁOŻENIA WSTĘPNE:
Warunki wejściowe:
Klient zapisał się na Newsletter [PRAWDA]
Klient dostał kupon za zapis do Newslettera [PRAWDA]
Kupon jest aktywny (nie został wykorzystany wcześniej) [PRAWDA]
Produkty w koszyku spełniają warunki promocji [PRAWDA]

Warunki wyjściowe:
Zostaje naliczony rabat 40zł [PRAWDA]

REZULTAT OCZEKIWANY:
Rabat za zapis do newslettera w wysokości 40zł zostaje prawidłowo dodany, wartość koszyka zmniejsza się.

KROKI WYKONANIA:

  1. Zapisz się na newsletter.
  2. Odbierz kod rabatowy przesłany na skrzynkę e-mail podaną przy zapisie na newsletter.
  3. Dodaj produkty do koszyka spełniające warunki promocji (link do regulaminu promocji).
  4. Wejdź w koszyk.
  5. W polu [kod rabatowy] wpisz numer otrzymanego kuponu.

WARUNEK KOŃCOWY:
Rabat w wysokości 40zł zostaje prawidłowo odjęty od wartości koszyka.

ID: SC-22

Tytuł: Rabat 40zł za zapis do newslettera - przypadek T2.

ZAŁOŻENIA WSTĘPNE:
Warunki wejściowe:
Klient zapisał się na Newsletter [PRAWDA]
Klient dostał kupon za zapis do Newslettera [PRAWDA]
Kupon jest aktywny (nie został wykorzystany wcześniej) [PRAWDA]
Produkty w koszyku spełniają warunki promocji [FAŁSZ]

Warunki wyjściowe:
Zostaje naliczony rabat 40zł [FAŁSZ]

REZULTAT OCZEKIWANY:
Rabat za zapis do newslettera w wysokości 40zł nie zostaje dodany, wartość koszyka nie zmienia się.

KROKI WYKONANIA:

  1. Zapisz się na newsletter.
  2. Odbierz kod rabatowy przesłany na skrzynkę e-mail podaną przy zapisie na newsletter.
  3. Dodaj produkty do koszyka, które nie spełniają warunków promocji (link do regulaminu promocji).
  4. Wejdź w koszyk.
  5. W polu [kod rabatowy] wpisz numer otrzymanego kuponu.

WARUNEK KOŃCOWY:
Rabat w wysokości 40zł nie zostaje naliczony.

ID: SC-23

Tytuł: Rabat 40zł za zapis do newslettera - przypadek T3.

ZAŁOŻENIA WSTĘPNE:
Warunki wejściowe:
Klient zapisał się na Newsletter [PRAWDA]
Klient dostał kupon za zapis do Newslettera [PRAWDA]
Kupon jest aktywny (nie został wykorzystany wcześniej) [FAŁSZ]
Produkty w koszyku spełniają warunki promocji [NIEISTOTNE]

Warunki wyjściowe:
Zostaje naliczony rabat 40zł [FAŁSZ]

REZULTAT OCZEKIWANY:
Rabat za zapis do newslettera w wysokości 40zł nie zostaje dodany, wartość koszyka nie zmienia się.

KROKI WYKONANIA:

  1. Zapisz się na newsletter.
  2. Odbierz kod rabatowy przesłany na skrzynkę e-mail podaną przy zapisie na newsletter.
  3. Dodaj produkty do koszyka, które spełniają warunki promocji https://sklep.carinii.com.pl/40pln
  4. W polu [kod rabatowy] wpisz numer otrzymanego kuponu.
  5. Dokonaj pełnego procesu zakupu zakupu.
  6. Ponownie dodaj produkty do koszyka, które spełniają warunki promocji https://sklep.carinii.com.pl/40pln
  7. W polu [kod rabatowy] wpisz numer otrzymanego kuponu.

WARUNEK KOŃCOWY:
Rabat w wysokości 40zł nie zostaje naliczony. Pojawia się informacja zwrotna, że kupon nie jest prawidłowy.

ID: SC-24

Tytuł: Rabat 40zł za zapis do newslettera - przypadek T4.

ZAŁOŻENIA WSTĘPNE:
Warunki wejściowe:
Klient zapisał się na Newsletter [PRAWDA]
Klient dostał kupon za zapis do Newslettera [FAŁSZ]
Kupon jest aktywny (nie został wykorzystany wcześniej) [NIEISTOTNE]
Produkty w koszyku spełniają warunki promocji [NIEISTOTNE]

Warunki wyjściowe:
Zostaje naliczony rabat 40zł [FAŁSZ]

REZULTAT OCZEKIWANY:
Rabat za zapis do newslettera w wysokości 40zł nie zostaje dodany, wartość koszyka nie zmienia się.

KROKI WYKONANIA:

Ten test zakłada, że istnieje przypadek, w którym klient po zapisie na newsletter, nie otrzyma kuponu.
Jest konsekwencją rozpatrywania prawdopodobnych zdarzeń na wielu poziomach, nie jest możliwy do pokrycia.

ID: SC-25

Tytuł: Rabat 40zł za zapis do newslettera - przypadek T5.

ZAŁOŻENIA WSTĘPNE:
Warunki wejściowe:
Klient zapisał się na Newsletter [FAŁSZ]
Klient dostał kupon za zapis do Newslettera [NIEISTOTNE]
Kupon jest aktywny (nie został wykorzystany wcześniej) [NIEISTOTNE]
Produkty w koszyku spełniają warunki promocji [NIEISTOTNE]

Warunki wyjściowe:
Zostaje naliczony rabat 40zł [FAŁSZ]

REZULTAT OCZEKIWANY:
Rabat za zapis do newslettera w wysokości 40zł nie zostaje dodany, wartość koszyka nie zmienia się.

KROKI WYKONANIA:

Przypadek jest odpowiedzią na założenie, że klient nie zapisał się na newsletter.
Dalsze rozpatrywanie danych wejściowych i ich rezultatu jest nieistotne.

Niniejszą pracą chciałam pokazać, że praca z tablicą decyzyjną może być ciekawym doświadczeniem testerskim, nie tylko pod względem jej tworzenia, ale również pod względem ćwiczeń pisania przypadków testowych.

Autorka: Małgorzata Żak

*) Powyższy artykuł jest opracowaniem zadania zrealizowanego w ramach naszego kursu  „Praktyka testowania dla początkujących testerów” http://www.testerzy.pl/praktyka-testowania/praktyka-testowania-dla-poczatkujacych-testerow
 

 

Najbliższe terminy szkoleń

 

18-20 listopada - Katowice

ISTQB Poziom Podstawowy


18-20 listopada - Kraków

Python dla testerów oprogramowania


20-22 listopada - Wrocław

ISTQB Poziom Podstawowy


20-23 listopada - Kraków

Dobry Przypadek Testowy - Laboratorium

Partnerzy

Narzędzia testerskie