Od wymagania biznesowego przez historyjkę po przykład i test

Od wymagania biznesowego przez historyjkę po przykład i test
Transformacja informacji od wymagania biznesowego do testu to jedna z najbardziej kluczowych procedur w trakcie testowania oprogramowania. Poznajmy ją na przykładzie.

Tworzenie testów w oparciu o specyfikację wymagań lub też w formie historyjki użytkownika z przypisanym do niej kryteriami akceptacji jest zazwyczaj odpowiedzialnością testera oprogramowania. Dobrym podejściem do wizualizacji samych testów, ale również do próby lepszego rozumienia oprogramowania jest budowanie przykładów, które docelowo pomagają w definiowaniu danych testowych.    

Poniższy przykład zaczerpnięty jest z: Specification by Example. How Validating Requirements Helps Users Developers and Testers autorstwa Paula Gerrarda i Susan Windsor, poprawiony i dopasowany do polskich tłumaczeń oraz rozwinięty o własne doświadczenia. 

Zaczynamy od wysokopoziomowego wymagania pochodzącego od klienta. 

Wymaganie biznesowe

System zarządza magazynem. Zawiera informacje o ilości przedmiotów w magazynie. Jeśli do magazynu coś zostaje dostarczone lub też jest z niego wydawane, stan magazynowy jest aktualizowany.

Wraz z klienetem możemy wytransformować informację do historyjki użytkownika. 

Historyjka (user stories)

Funkcja: Ilość przedmiotów w magazynie.
Jako magazynier
chcę zaktualizować ilości rzeczy w magazynie
by ilości były poprawne

A większą ilość szczegółów zapewnić dzięki kryteriom, które posłużą do akceptacji oprogramowania.

Kryterium akceptacji

Scenariusz: zaktualizuj ilości w magazynie
Zakładając, że aktualna ilość  przedmiotów <aktualna> w magazynie dla danego przedmiotu
jeśli dodam <nowe_przedmioty> do magazynu
to (wtedy) będzie nowa ilość przedmiotów <nowa>
I wyświetlny zostanie <komunikat>
Ale ilość przedmiotów musi być zawsze >= 0
 

Dalszym krokiem będzie zbudowanie przykładu pokazującego jak wymagania będzie operować na prawdziwych danych. 

Przykład

<aktualna> <nowe_przedmioty><nowa><komunikat>
100            73                   173            Nowa ilość przedmiotów w magazynie to 173
100            -73                   27              Nowa ilość przedmiotów w magazynie to 27
100            -101                 100             Ilość przedmiotów w magazynie nie może być ujemna

Stąd już tylko krok do realnego przypadku testowego. 

Przypadek testowy

ID    Aktualna ilość    Dostarczono/Wydano     Oczekiwany rezultat
1          100                        73                   Nowa ilość przedmiotów w magazynie to 173
2          100                       -73                   Nowa ilość przedmiotów w magazynie to 27
3          100                      -101                  Ilość przedmiotów w magazynie nie może być ujemna

Przykład zaczerpnięty z: Specification by Example. How Validating Requirements Helps Users Developers and Testers (Paul Gerrard,  Susan Windsor), poprawiony i dopasowany do polskich tłumaczeń oraz rozwinięty o własne doświadczenia.