Wpis z mikrobloga

25/100 dni z książką

“Czyste testy powinny spełniać pięć zasad [...]:
Szybkie [...] Gdy testy działają powoli, nie chcemy ich uruchamiać zbyt często.
Niezależne [...] Jeśli testy zależą od siebie, to gdy nie uda się pierwszy test, powstaje kaskada awarii, co utrudnia diagnozę i ukrywa awarie na niższym poziomie.
Powtarzalne [...] Jeżeli nasze testy nie są powtarzalne w każdym środowisku, to zawsze będziemy mieli wymówkę, gdy się nie powiodą.
Samokontrolujące się. Testy powinny mieć jeden parametr wyjściowy typu logicznego. Mogą one się powieść lub nie. Nie powinniśmy czytać plików dzienników w celu sprawdzenia, czy testy się powiodły. [...]
O czasie [...] Testy jednostkowe powinny być pisane bezpośrednio przed tworzeniem testowanego kodu produkcyjnego.”

[Więcej infomacji]


#feaoftruss #czystykod #programowanie #programista15k #webdev #gamedev

Podobało się? To zaplusuj i zapisz się do wołania (link w stopce)

************

[Chcesz być wołany?]
  • 10
@FEAofTruss: Jak z wieloma rzeczami się zgadzam tak bardzo z gloryfikacją TDD mam problem.
Prawda jest taka, że test-first ma swoje zalety i test-last ma swoje (zwłaszcza, gdy mówimy o czymś zupełnie nowym, gdzie wymagania są bardziej niepewne, niż prawo podatkowe w Polsce ¯\_(ツ)_/¯).

Co więcej polecam lekturę poniższego papera :)
https://www.researchgate.net/publication/315743099_An_Experimental_Evaluation_of_Test_Driven_Development_vs_Test-Last_Development_with_Industry_Professionals

A co do reszty... Jakby tylko zawsze tak było, że testy są niezależne, powtarzalne i szybkie. Fajnie by było
@FEAofTruss co do ostatniego to się powtórzę
Fajnie jak ma się zdefiniowane wymagania, a jeszcze fajniej jak się nie zmieniają. Problem pojawia się jak jutro ktoś Ci powie że w sumie to chce inaczej. I co wtedy? Dostosowac obecnie testy? Usunąć całość i pisać od nowa?
@temokkor nie to, że trzeba, ale jest to jedna z promowanych praktyk, która ma na celu poniesienie jakość tworzonego oprogramowania m.in. poprzez wymuszenie niejako zwiększenia stopnia pokrycia kodu testami