Technika tworzenie przypadków testowych w oparciu o rzeczowniki i czasowniki

Technika tworzenie przypadków testowych w oparciu o rzeczowniki i czasowniki
  Noun and Verb Technique to technika opisywana w wielu wystąpieniach i prezentacjach. Technika ta została zdefiniowana przez Elisabeth Hendrickson, ale uznanie zyskała głównie dzięki pracom Vipula Kochera. Pozwala ona poprzez analizę składni wymagania definiować potrzebne przypadki testowe. Znajdujące się w tytule rzeczowniki (noun) i czasowniki (verb) nie są jedynymi elementami jakie analizujemy. Są podstawowymi składowymi przyszłego przypadku testowego.

Rzeczowniki wskazują nam zestaw danych, jakie pojawiają się w systemie. Czasowniki to działania, jakie będziemy na danych przeprowadzać. Dodatkowo analizowane są również przymiotniki i przysłówki, które wpływają na działania.

Przykład wymagania: "Użytkownik loguje się do portalu przy użyciu loginu i hasła". Znając wszystkie istniejące techniki, bardzo niewiele przypadków mogłoby zostać napisanych. Wyróżnijmy więc składowe wymagania:


Rzeczowniki:

  • Użytkownik - klasa danych aktorów systemu
  • portal - aplikacja
  • login, hasło - klasa danych opisujących aktorów systemu

 

Czasownik:

  • loguje się - czynność do wykonania.


Aby poprawnie przeanalizować rzeczowniki i czasowniki stosujemy technikę 5W1H (What, Why, When, Where, Who, Which, How (much/many), czyli "co", "dlaczego", "kiedy, "kto", "który", "jak (wiele)". Technika stosowana jest do pozyskiwania i uszczegółowiania wymagań. 

Możemy więc zastanowić się nad poszczególnymi elementami i określić ich właściwości np. klas użytkowników może być wiele (zwykły użytkownik, kierownik projektu, administrator, etc.) i mogą mieć wiele danych, które ich opisują (login, hasło, imię, nazwisko, etc.). Z drugiej strony analizujemy czasownik, czyli czynność do wykonania. Czynność ta musi mieć swoje miejsce (np. adres), może zakończyć się sukcesem lub też nie (zalogowany / logowanie nie powiodło się), może być możliwe we właściwym czasie i przeprowadzone w dany sposób.


Dla każdego elementu i dla każdego typu użytkownika i jego działania możemy napisać właściwy przypadek testowy. 

Przykładowo
Warunek wstępny: użytkownik o prawach do logowania się do aplikacji.
Działanie: Podaj poprawny login i hasło i zaloguj się do aplikacji.
Oczekiwany rezultat: Zalogowany użytkownik.


Zalety:

- szybkie przejście od wymagań do przypadków testowych,
- możliwość szybkiego przetestowania podstawowych funkcjonalności.

Wady:

- wymaga dobrych wymagań,
- technika trudna do zastosowania w systemach wymagających złożonych scenariuszy użycia,
- trudna identyfikacja wystarczającego zestawu rzeczowników i czasowników.