TDD'yi öğrenmek (ve ustalaşmak) istiyorum. En iyisi nedir:
- kitaplar
- web siteleri
- videolar
- egzersiz listesi
- bilgelik kişisel sözler
TDD'yi öğrenmek, takdir etmek ve kullanmak için mi?
TDD'yi öğrenmek (ve ustalaşmak) istiyorum. En iyisi nedir:
TDD'yi öğrenmek, takdir etmek ve kullanmak için mi?
Yanıtlar:
Şahsen ben, JUnit yazısını ya da iki tanesini okumanın, "sınava girmeden önce testi yazdığını" vurgulamak için başladığımı vurguladım.
Bu teknolojiyi öğrenmenin en önemli kısmı, çok sayıda test tabanlı kod yazmaktır , çünkü kod yazmayı düşündüğünüz en temel yöntemlerden bazılarını değiştirmeniz gerekir. Gibi şeyler:
Küçükten başlamak için en iyi yer, yardımcı program rutinlerinizledir. Bir dahaki sefere ihtiyacınız varsa, sadece ilk önce testlerle tasarlayın, tüm resmi kullanım haklarınızı kapsayan çok sayıda test yazın (boş değerlerin geçmesiyle birlikte olanlar da dahil olmak üzere) ve tüm kullanım durumları uygulandığında kullanabilmelisiniz. doğrudan kodunuzda ve beklendiği gibi çalıştığından emin olun.
Aynı zamanda benim için iyi testler dokümantasyon olarak ek işler yapabilir, çünkü kodun çeşitli durumlarda tam olarak nasıl davrandığını, kolayca doğru olduğu kanıtlanabilen çok sayıda kodunuz var (yeşil çubuk). Dikkatli yorumlarınızla bundan daha iyisini elde edemezsiniz.
Java jUnit sürüm 4 için gerçekten çok güzel.
Benim düşünceme göre, TDD kodları test edilebilir kılmakla ilgili testler yapmaktan daha fazlasıdır.
Kodlamadan önce bir test yazabildiğinizden emin olun, ancak testin yazılmasının tek nedeni kod yazabilmenizdir - bu da sizi test etmesi zor olan bir kod yazmaktan alıkoyamaz.
Ne demek istediğimi daha iyi anlayabilmek için şuna bir bakın: Birleşmiş Hatalar Teorim
Konsepte ilgi duyuyorsanız ve daha fazla bilgi edinmek istiyorsanız, yorum yapın - ve sizi Google’dan konuyla ilgili kaydedilmiş bir sunum yönünde işaret edeceğim.
GÜNCELLEŞTİRME:
Temiz, Test Edilebilir Kod Nasıl Yazılır?
Miško Hevery Sunuyor ( GoogleTechTalks Tarafından ) NYC’de Google’da ve Google’ın Mühendislik Verimliliği grubu sponsorluğunda
Bahsedilen bazı kitapların yanı sıra, Testler Rehberliğinde Büyüyen Nesne Yönelimli Yazılımlar Büyümeyi önerebilirim . Henüz okumayı bitirmedim, ancak basitleştirilmiş kod örnekleri değil, gerçekçi bir TDD projesinin hikayesi de dahil olmak üzere değerli bir okuma.
İki kitap okudum:
Test Odaklı Gelişme: Kent Beck ve
Paul Hamil'in Birim Test Çerçeveleri
Beck kitabı iyi kabul edildi, ancak "Birim Test Çerçeveleri" ni okuyana kadar birim testine başlamadım. Bazı TDD'ler yapıyorum, ancak daha önce koyabileceğim (koyabildiğimde) eski koda da test ekliyorum.
Düzenleme: Ayrıca, bir kez ele aldığınızda, derhal geçerli bir projede kullanmanızı öneririm. Benim için gerçek öğrenme gerçekleştiği zaman ve bence "Unit Test Framework" kitabı bu amaç için daha iyi bir referans kitabıydı. (C # ile nunit kullanıyordum).
Öncelikle TDD ile ilgili olmasa da (test edilebilirlik için tasarımın yanı sıra üzerine dokunsa da), Ünite Testi Sanatı tavsiye ederim çünkü size iyi testler yazmayı öğretiyor.
Daha spesifik olarak, güvenilir, sürdürülebilir ve okunabilir testlerin nasıl oluşturulacağını öğretir. Bence bu, kitabın en önemli bölümü, belki de ünite testi ve izolasyon çerçevelerinin temelleri dışında. Birim testleri bir ağrı noktası haline gelirse veya bir geliştiricinin işine sürtünme eklerse, bunlardan elde edilen başarı veya faydaların sınırlı olacağı açıktır. Bir kişi testleri oluşturmak için zaman ve çaba harcarsa, o zaman bu yatırımdan en iyi şekilde faydalanabilmelidir.