Tyle się naczytałam o #tdd #bdd, trochę widziałam jak to działa w praktyce, ale że zespół dopiero zaczynał, to powiedzmy, że nie wyszło to książkowo ( ͡°͜ʖ͡°)
Pracuje ktoś w zespołach, w których podejście test-first rzeczywiście działa i się sprawdza - przyspiesza delivery, zmniejsza ilość błędów, pomaga wypuszczać lepszy soft? Od czego zależy powodzenie - dobrych wymagań, zrozumienia wśród managementu, umiejętności technicznych zespołu, czy czegoś jeszcze?
Jakby był ktoś z #krakow i miał doświadczenia z pracą w takim podejściu do pisania kodu, to nawet chętnie się spotkam posłuchać, kawa na mój koszt (⌐͡■͜ʖ͡■)
Najbardziej w tdd chodzi o to, żeby oddac się refleksji "jak zaprojektować klase / metode w klasie" zeby dalo rade to sensownie przetestowac. Ktos moze powiedzieć, że to bez sensu, bo projektujemy kod pod kątem testu, ale w większości przypadków to jak wywołamy metodę w teście a wczesniej jak skonstruujemy obiekt da nam dużo wiedzy czy nie robimy jakiegoś grubego fackupu.
Ogólnie ksiązkowe podejście test-first sprawdza się w sumie dość rzadko, ale
@Snuffkin: IMHO: - tdd jest przereklamowane i przehypowane, - testy integracyjne do testowania/monitorowania produkcji na okrągło są jedynymi koniecznymi testami, - unit testy tylko do jak jest jakiś konkretny algorytm LUB test jest trywialny do napisania, - naturalne jest, że unit testy się wyrzuca jak się
@Snuffkin: robię przy LTE. u mnie się to stosuje bo klient to narzuca, ale w praktyce wygląda to tak że testy i kod piszę się równolegle. czasami ciężej nam jest napisać test niż sam kod, więc gdybyśmy tylko testy jako pierwsze mieli pisać byśmy w życiu niczego nie dostarczali. w TDD plusem jest to że jeżeli rozumiesz jak masz testować daną rzecz to oznacza że wiesz jak ma działać dany
@Snuffkin: Według mnie najlepsze podejście to podejście zdroworozsądkowe, adaptowanie tego co jest użyteczne i minimalnie wystarczające. Pewnie nie mam tak dużego stażu jak koledzy powyżej ale odnoszę wrażenie że skuteczność tdd nie rekompesuje wkładu pracy, chociaż jak się chce to i można dowodzić matematycznie poprawność algorytmów. Mi się bardzo podoba programowanie funkcyjnego, zmiana podejścia też może ograniczyć ilość błedów :)
@Snuffkin: @DlugoMyslalemNadNickiem: @tehshy: @mapache: @epsilon_eridani: @fifny_szczun: Prawdziwe TDD używa specification by example, bo to z z biznesowych kontraktów wynika to, że my wszyscy mamy pracę. Prawdziwe TDD to jest wymaganie klienta napisane w naturalnym języku, a klient generalnie ma w dupie czym jest klasa i obiekt, bo i po co mu to. Dlatego powstała składnia gherkin - bo ludzie zawsze
@Snuffkin TDD zwykle robi się na odwal byle było. To jest bardzo fajna rzecz ale kosztowna więc należy wybierać gdzie zastosować. Bo w całym projekcie na 100% to się opłaca tylko w bibliotekach,.frameworkach itd.
@plushy: Kosztowna jak się robi to na pół gwizdka. Wtedy pisanie testu, debugowanie i konfigurowanie środowisk jest tak samo czasochołonne jak gdyby ktoś kazał napisać ci coś w nowym frameworku którego nigdy nie dotykałes.
W momencie gdy wszyscy pisza testy, połowa kodu w PR to właśnie kod testowy, w firmie rozwija się kultura budowania kodu ktory jest "testowalny" to nie jest to dużo bardziej czasochłonne niż pisanie samego kodu produkcyjnego.
@Snuffkin: Z własnego doświadczenia widzę, że TDD pomaga w wielu kwestiach. Nie tylko sprawia, że kod, który naklepiemy będzie testowalny (no bo w końcu od testu wyszliśmy). Ważniejsze jest to, że zmienia się nasze podejście do pisania aplikacji i naturalnie zauważamy pewne zależności. Nie twierdzę, że to się sprawdzi wszędzie i zawsze. Ale jak tylko mogę i tworzę coś nowego – staram się pisać to TDD.
Zabawa z AR-15 na strzelnicy, a potem do baru na 4 piwka i powrót do domu samochodem ( ͡º͜ʖ͡º) Zaczyna mi się coraz bardziej podobać w tej Ameryce ( ͡º͜ʖ͡º)
Pracuje ktoś w zespołach, w których podejście test-first rzeczywiście działa i się sprawdza - przyspiesza delivery, zmniejsza ilość błędów, pomaga wypuszczać lepszy soft? Od czego zależy powodzenie - dobrych wymagań, zrozumienia wśród managementu, umiejętności technicznych zespołu, czy czegoś jeszcze?
Jakby był ktoś z #krakow i miał doświadczenia z pracą w takim podejściu do pisania kodu, to nawet chętnie się spotkam posłuchać, kawa na mój koszt (⌐ ͡■ ͜ʖ ͡■)
#testowanieoprogramowania #programowanie #programista15k #pracait
Ktos moze powiedzieć, że to bez sensu, bo projektujemy kod pod kątem testu, ale w większości przypadków to jak wywołamy metodę w teście a wczesniej jak skonstruujemy obiekt da nam dużo wiedzy czy nie robimy jakiegoś grubego fackupu.
Ogólnie ksiązkowe podejście test-first sprawdza się w sumie dość rzadko, ale
IMHO:
- tdd jest przereklamowane i przehypowane,
- testy integracyjne do testowania/monitorowania produkcji na okrągło są jedynymi koniecznymi testami,
- unit testy tylko do jak jest jakiś konkretny algorytm LUB test jest trywialny do napisania,
- naturalne jest, że unit testy się wyrzuca jak się
Komentarz usunięty przez autora
Prawdziwe TDD używa specification by example, bo to z z biznesowych kontraktów wynika to, że my wszyscy mamy pracę.
Prawdziwe TDD to jest wymaganie klienta napisane w naturalnym języku, a klient generalnie ma w dupie czym jest klasa i obiekt, bo i po co mu to.
Dlatego powstała składnia gherkin - bo ludzie zawsze
W momencie gdy wszyscy pisza testy, połowa kodu w PR to właśnie kod testowy, w firmie rozwija się kultura budowania kodu ktory jest "testowalny" to nie jest to dużo bardziej czasochłonne niż pisanie samego kodu produkcyjnego.
Ale tak jak mówię,