Čist kod koji odmah radi. Ovo je naizgled protivrečan zahtev koji je u osnovi velikog dela muke programiranja. Razvoj vođen testovima odgovara na ovu prividnu protivrečnost paradoksom – testiraj program pre nego što ga napišeš.
Nova ideja? Nimalo. Od samih početaka računarstva, programeri su precizno specifikovali ulaze i izlaze pre programiranja. Razvoj vođen testovima uzima ovu vekovima staru ideju, meša je sa savremenim jezicima i programskim okruženjima i spaja je u snažan metodološki okvir koji će garantovano zadovoljiti tvoj apetit za čistim kodom koji radi – odmah.
Razvojni inženjeri se svakodnevno suočavaju sa složenim programerskim izazovima, a ipak nisu uvek spremni da odrede najbolje rešenje. Češće nego ne, takvi teški projekti stvaraju veliki stres i loš kod. Da bi stekli snagu i hrabrost potrebnu za prevazilaženje naizgled herkulovskih izazova, programeri treba da se okrenu razvoju vođenom testovima (TDD), dokazanog skupa tehnika koje podstiču jednostavan dizajn i skupove testova koji ulivaju poverenje.
Vođenjem razvoja automatizovanim testovima i zatim eliminisanjem dupliranja, bilo koji razvojni inženjer može da piše pouzdan kod bez grešaka (bagova), bez obzira na nivo složenosti. Štaviše, TDD podstiče programere da brzo uče, jasnije komuniciraju i traže konstruktivne povratne informacije.
Čitaoci će naučiti da:
• Rešavaju komplikovane zadatke, počevši od jednostavnih i napredujući ka složenijima.
• Pišu automatizovane testove pre kodiranja.
• Prirodno razvijaju dizajn refaktorisanjem da bi dodali dizajnerske odluke jednu po jednu.
• Kreiraju testove za složeniju logiku, uključujući refleksiju i izuzetke.
• Koriste obrasce da odluče koje testove da napišu.
• Kreiraju testove koristeći xUnit, arhitekturu koja je osnova mnogih testnih alata orijentisanih na programere.