Szybka notatka tymczasowa : ten post wymaga ulepszeń, aby lepiej odpowiedzieć na pytanie, takich jak 1) dodatkowe szczegóły powinny być zawarte w referencjach 2) niektóre cytaty może 3) ogólna poprawność języka angielskiego 4) ogólna jakość narracji 5) itd. Będę wróć do tego. Możesz to poprawić samodzielnie.
Spojrzenie na ich szablony może dać cenny wgląd w różnice między tymi terminami.
Istnieje wiele szablonów przypadków użycia. Znalazłem 3 po szybkim wyszukiwaniu: 1 , 2 , 3 . Niektóre punkty, które mają (czasem niejasno) wspólne:
- Nazwa przypadku użycia / tytułu
- Opis - krótki tekst opisujący zakres.
- Aktor (y) / Główny aktor - osoba (osoby), które wchodzą w interakcje z tym konkretnym przypadkiem użycia.
- Warunek wstępny - wszystko, co ten przypadek użycia może uznać za prawdziwy przed rozpoczęciem jego cyklu życia.
- Scenariusz sukcesu - sekwencja kroków opisująca prawidłowy przebieg zachodzących zdarzeń.
Rozszerzenia - przepływ aplikacji, gdy odbiega ona od przepływu scenariusza sukcesu:
- Przepływy alternatywne - inne opcje poprawnego przepływu
- Przepływy wyjątków - przepływ zdarzeń na wypadek, gdy coś pójdzie nie tak
Gwarancja sukcesu (aka. Stan postu) - stan zgłoszenia po wykonaniu wszystkich czynności
Niektóre dodatkowe punkty, które można uwzględnić, to Poziom , Minimalne Gwarancje , Wyzwalacz itp.
Powyżej jest tak zwany w pełni ubrany przypadek użycia . Możesz uprościć tworzenie przypadków użycia, używając przypadkowego przypadku użycia , używając tylko najważniejszych punktów, na przykład:
- Tytuł
- Aktorzy
- Sekwencja wydarzeń
Przypadki użycia zostały stworzone i spopularyzowane przez Ivara Jacobsona na przełomie lat 80. i 90. Później także inni ludzie przyczynili się do jego pracy (jedną z takich osób jest Alistair Cockburn, autorka artykułów o efektywnym użytkowaniu ). Aby sparafrazować Martin Fowler przypadków użycia mogą skorzystać z tekstu i diagramów UML, ale ich największych kłamstw wartości w tekście niego. Są najlepsze, gdy nie są duże i łatwe do odczytania.
Historia użytkownika - mała historia opisująca określoną funkcję. Istnieje wspólny wzorzec pisania historii użytkownika, który brzmi:
Jako szczególny typ użytkownika
chcę coś zrobić
, aby z jakiegoś powodu .
Ponadto historia użytkownika może mieć kryteria akceptacji .
Jak widać, ten szablon jest znacznie mniejszy niż przypadek użycia. Historie użytkowników są zwykle kojarzone z regionem rozwoju oprogramowania scrum / agile / xp. Są przeznaczone do pisania na małych obszarach powierzchni, takich jak karteczki samoprzylepne i / lub na tablicach Scrum. Tam są (zwykle) podane wartości punktowe, które przybliżają, ile wysiłku należy zainwestować w tę historię użytkownika ref .
Bill Wake opracował mnemonik INVEST, aby opisać, jakie cechy powinna mieć dobra historia użytkownika, i pożyczę krótkie podsumowanie tego Martina Fowlera z jego strony internetowej :
Niezależne : historie mogą być dostarczane w dowolnej kolejności
Negocjowalne : szczegóły tego, co jest w historii, są współtworzone przez programistów i klientów podczas opracowywania.
Cenne : funkcjonalność jest postrzegana przez klientów lub użytkowników oprogramowania jako cenna.
Szacunkowy : programiści mogą opracować rozsądny kosztorys budowania opowieści.
Małe : historie powinny być budowane w krótkim czasie, zwykle w ciągu osobodni. Z pewnością powinieneś być w stanie zbudować kilka historii w ramach jednej iteracji.
Testowalny : powinieneś być w stanie napisać testy, aby sprawdzić, czy oprogramowanie dla tej historii działa poprawnie.
Scenariusz użycia jest zgodny ze wzorem GWT, który oznacza Given-When-Then, w następujący sposób:
Scenariusz : tytuł
Biorąc pod uwagę : konkretny fakt
I : inny szczególny fakt (może być opcjonalny)
Kiedy : pewne zdarzenie się dzieje
Następnie : inne zdarzenie się dzieje
Scenariusze użycia są powiązane z rozwojem opartym na zachowaniu. Brzmi bardzo podobnie do testu. Martin Fowler w swoim wpisie na blogu podaje historię i uzasadnienie scenariuszy użytkowania. Oto ważna część:
Dana część opisuje stan świata przed rozpoczęciem zachowanie jesteś określając w tym scenariuszu. Możesz myśleć o tym jako o warunkach wstępnych testu.
Sekcja kiedy to zachowanie, które określasz.
Wreszcie następnie sekcja opisuje zmiany można oczekiwać w związku z określonym zachowaniem.
Scenariusze użycia można wykorzystać do napisania testu dla aplikacji. Cytując ostatni akapit postu Martina:
Chociaż styl Given-When-Then jest symptomatyczny dla BDD, podstawowa idea jest dość powszechna podczas pisania testów lub specyfikacji na przykładach. Meszaros opisuje wzór jako test czterofazowy. Jego cztery fazy to Przygotowanie (dane), Ćwiczenie (Kiedy), Weryfikacja (Wtedy) i Porzucenie. Bill Wake wymyślił formułę jako Arrange, Act, Assert.
Referencje do dalszych badań:
Strony Wikipedii dotyczące przypadku użycia , historii użytkownika , scenariusza użytkowania
Blogi Martina Fowlera na temat przypadku użycia , historii użytkownika , scenariusza użytkowania