Błogosławię testy. Błogosławię PHPUnit. Ich tworzenie zabiera czas, jest trochę nudne i trzeba się do tego przemóc po napisaniu jakiegoś kawałka kodu, ale są po prostu nieocenione. Ratują tyłek. Oszczędzają czas. Nie mogę sobie wyobrazić tego, że…
…wiele aplikacji webowych (CMS-y, fora dyskusyjne) jest tworzonych bez poświęcania uwagi na testy. Każdy serwis choć odrobinę większy od minimalistycznego „strona główna – o mnie – kontakt” jest już na tyle duży, że przy jego rozbudowie w module X wysypie się coś (lub zmieni nieznacznie sposób funkcjonowania) w już napisanym module Y.
Dodatkowo jeden człowiek (nawet z dokumentacją) nie jest w stanie bezbłędnie ogarniać większych aplikacji. To, że będzie się mylił i robił bugi, jest więcej niż pewne.
A jednak znaleźć można kupę softu (kod open-source czy zamknięty), który z testów nie korzysta.
Zadanie, na które ostatnio się żaliłem, było duże, skomplikowane i żmudne – głównie pod kątem dostosowania MyBB (wprowadzenia potrzebnych ulepszeń i zmian; zintegrowanie dwóch for z serwisem PCF/NEXT). Sama modyfikacja kodu serwisu PC Format/NEXT to było kilkanaście linijek w 8 plikach. A dzięki testom PHPUnit „automatycznie” wykryłem, co zapomniałem zmienić w dostosowywaniu kodu serwisu.
Człowiek popełnia błędy i to jest normalka, rzec by można constant. Ale, jeśli nie tworzy testów do swojego softu, popełnia jeszcze większy błąd… i to bolesny.
kozik
