Jednak, w celu zminimalizowania zbędnej pracy, czy warto spróbować włączyć testy jednostkowe do testów akceptacyjnych?
nr
Innymi słowy, czy to drugie [akceptacji] Wywołanie byłą [jednostka]. Czy pójście w przeciwnym kierunku ma jakiś sens?
Nie trudź się.
Testy akceptacyjne są często polityczne. Pokazujesz je ludziom, którzy - opierając się na instynkcie jelitowym - decydują się zaakceptować lub odrzucić.
Następnie spierasz się o ważność testów akceptacyjnych.
Następnie spierasz się o zakres prac i kolejne wydanie.
Testy akceptacyjne nie są - ogólnie rzecz biorąc - techniczne. Gdyby tak było, mielibyśmy formalne testy jednostkowe i to by było właśnie to.
Nie próbuj finalizować polityki. Obejmij to. Niech to się stanie.
Można mieć nadzieję, że Acceptance Test-Driven Development (ATDD) prowadzi do „testy akceptacyjne są napisane i uzgodnione przez cały zespół przed rozpoczęciem rozwoju.” Musicie jednak odzwierciedlać rzeczywistość, że wszystko, co napisano z wyprzedzeniem, jest w najlepszym razie obłudne, aw najgorszym - do zliberalizowania.
Przesłanką stojącą za wszystkimi metodami Agile jest to, że można się zgodzić tylko na coś możliwego do uwolnienia. Wszystko po tym jest do negocjacji.
Przesłanką stojącą za wszystkimi testami pierwszego (TDD, ATDD lub cokolwiek innego) jest to, że test jest żelazną zgodą. Tylko że tak nie jest. W przypadku każdej metody TDD (lub ATDD) możesz zgodzić się - w zasadzie - na test wyników, ale nie masz tak naprawdę zgody na test sam w sobie.
Może się zdarzyć, że testu nie da się łatwo zapisać. Albo gorzej, w ogóle nie można napisać. Możesz zgodzić się na wyniki, które wydają się być testowalne, ale okazują się słabo zdefiniowane. Co teraz? Są to rzeczy, których nie możesz poznać, dopóki nie zaczniesz rozwijać i dotrzeć do szczegółów.
Wszystkie testy są ważne. Żaden szczególny rodzaj testów nie może być nadzbiorem ani podzbiorem jakichkolwiek innych rodzajów testów. Są to zawsze częściowo zachodzące na siebie sety. Próba połączenia w celu zaoszczędzenia pewnej ilości pracy może okazać się stratą czasu.
Więcej testów jest lepszych niż cokolwiek innego. Związek wszystkich testów ma większą wartość niż próba wymuszenia relacji między podzbiorami wśród testów.
Dzięki, Carl. Czy możesz powiedzieć coś więcej o tym, dlaczego nie powinniśmy ograniczać testów jednostkowych, wiążąc z nimi testy akceptacyjne? – Calvin
Cóż, jeśli AT wykorzystuje UT, to jesteśmy mniej wolni, aby zmienić UT, gdy widzimy, że lepszy projekt jest odpowiedni. Każde użycie kodu ogranicza go, a kod (nawet testy), który jest zbyt mocno ograniczony, staje się kruchy. Stacje UT powinny być bardzo ciągliwe, abyśmy mogli je zrestrukturyzować w celu spełnienia nowych wymagań i wizji. –
Opisujesz test akceptacji jako oprogramowanie uruchamiane i dostarczające wynik. To wcale nie jest to, co to określenie oznacza dla mnie. – reinierpost