Co stanowi ZWINNOŚĆ w przypadku testów opartych na zachowaniu i testach jednostkowych [zamknięte]

1

Dziś rano miałem prezentację na temat PHPSPec, którą oficjalna strona internetowa opisuje następująco:

Zestaw narzędzi php do sterowania nowymi projektami według specyfikacji.

Jak zdefiniowano w kontekście przymiotników, słowo „emergent” definiuje się następująco:

proces powstawania

Z drugiej strony mówi się, że PHPUnit koncentruje się na szybkich zatwierdzeniach kodu i zapewnia, że ​​regresja kodu nie występuje w innych częściach kodu.

Biorąc to pod uwagę, argumentem, który wyszedł z prezentacji, jest to, że PHPSpec jest nadal ramowym testem jednostkowym, co zrobiłem, w żaden sposób nie podważam tego, ale moim zdaniem bardziej chodziło o to, na czym tak naprawdę koncentruje się narzędzie, na którym jest projektowanie.

Różnice między tymi dwoma narzędziami są zwięźle wyjaśnione w tym artykule na temat Laracastów.

Teraz przychodzi metodologia zwinna, która jest wyjaśniona tu i tutaj . Ostatni artykuł na temat metodyki zwinnej podkreśla, dlaczego ta metodologia jest lepsza ( fragment poniżej ).

Kiedy weźmiesz agregację zasad zwinnych, wdrożysz je w zwinnym frameworku, wykorzystasz narzędzia współpracy i zastosujesz zwinne praktyki programistyczne, zwykle otrzymasz aplikacje lepszej jakości, szybciej opracowane aplikacje i lepsze praktyki techniczne (inaczej higiena).

Widok jest taki, że PHPSpec nie oferuje niczego, czego nie robi PHPUnit. Jeśli jednak przyjrzymy się dyscyplinie inżynieryjnej i o co w niej chodzi, możemy niemal zobaczyć wzmiankę o narzędziach ( patrz fragment poniżej ):

Obejmuje koncepcje, zasady, teorie, techniki i narzędzia, które można wykorzystać do opracowania wysokiej jakości profesjonalnego oprogramowania.

Patrząc na to wszystko w perspektywie narzędzi do ciągłej integracji, w tym kontekście są takie rzeczy, jak PHPSpec, PHPUnit, Behat, kodekcept i tak dalej w celu osiągnięcia różnych strategii testowych. W kontekście inżynieryjnym wszystkie te narzędzia mają do odegrania role. Wydaje się jednak, że nie można używać drugiego, szczególnie PHPSPec, w środowisku Agile. To, co moim zdaniem brakuje, to rzeczywisty kontekst, w którym można naprawdę sterować projektowaniem opartym na testach i zachowaniu, używając w szczególności tych dwóch narzędzi.

Mogę się mylić, widząc rzeczy w kontekście Agility w połączeniu ze strategiami inżynierii oprogramowania, aby dostarczać kod wysokiej jakości i tak dalej. Nie twierdzę, że moim Panem Know-it-all jest próba stania się lepszym i bardziej kompetentnym w swoim zawodzie, a tym samym doskonalenia swoich umiejętności.

Czy ktoś może pomóc mi zrozumieć Metodologię Agile w połączeniu z Inżynierią Oprogramowania w kontekście PHP i jak można wdrożyć proces tworzenia oprogramowania, korzystając z dostępnych narzędzi i strategii testowych? Z góry dziękuję.

EDYTOWAĆ

To pytanie zostało przeniesione do przestrzeni inżynierii oprogramowania . Przepraszam za opublikowanie go tutaj, nie wiedziałem nic lepszego. Dzięki

scruffycoder86
źródło
1
To pytanie wydaje się bardziej odpowiednie dla inżynierii oprogramowania .
Wasabi
Ach! Rozumiem ... Jestem przyzwyczajony do StackOverflow, który jest bardziej techniczny. Chciałem przestrzeni, w której mogę zadać to pytanie, i natknąłem się na tę platformę. Myślałem, że to jest właściwe. Skopiuję go gdzieś, bym mógł go o to poprosić. Dziękuję za słodką odpowiedź. Nadal jestem nowicjuszem na tych platformach.
scruffycoder86
Został przeniesiony / opublikowany w Software Engineering SE
GisMofx