Proponuję, aby moje miejsce pracy wdrażało Behavior-Driven-Development, pisząc wysokopoziomowe specyfikacje w formacie scenariuszowym, w taki sposób, aby można było sobie wyobrazić napisanie testu dla niego.BDD/TDD vs JAD?
Wiem, że działanie wbrew testowalnym specyfikacjom zmierza do increase developer productivity. I już mogę wymyślić kilka przykładów, w których dotyczy to naszego własnego projektu.
Trudno jest jednak wykazać wartość tego faktu dla firmy.
To dlatego, że mamy już wdrożony proces wspólnego opracowywania aplikacji (JAD), w którym programiści, kierownictwo, użytkownicy i testerzy spotykają się, aby uzgodnić wspólny zestaw wymagań.
Pytają więc, dlaczego deweloperzy powinni pracować przeciwko testom stworzonym przez testerów? Są one przeznaczone do weryfikacji i są oparte na specyfikacjach wyższego poziomu tworzonych przez zespół UX, które deweloperzy obecnie pracują.
To, jak mówią, jest wystarczające dla programistów i nie trzeba zmieniać sposobu zapisywania specyfikacji.
Wydają się mieć rację.
Jaka jest rzeczywista korzyść z BDD/TDD, jeśli masz już zespół testowy, którego przypadki testowe są w pełni zgodne ze specyfikacjami wyższego poziomu, które są obecnie przekazywane programistom?
Albo może zastosować ramy specyfikacji kontekstu, takie jak MSpec zamiast TDD. Zapoznaj się z możliwościami BDD i raportów języka angielskiego, które produkuje. Jeśli ludzie zobaczą raporty z testów jednostkowych i życzą sobie, aby mieli tak ekspresyjne raporty do testów na wyższym poziomie, możesz po prostu sprzedać je w ten sposób. – nick
@nick: +1 - lub ogórek, dopasowanie lub rspec, w zależności ... –
Tak, całkowicie się zgadzam. Użyłem MSPec jako przykładu jednego z takich narzędzi, które znam. Jeśli pracujesz z ruby, otrzymujesz wiele wsparcia społeczności z RSpec w porównaniu do MSpec w .NEt. – nick