Test yazma ekstra bir iş gibi görünüyor, insanlara gerçek kodu yazarken bir koltuk değneği veriyor ve çok sık etkili olmayabilir.
Ünite testi koltuk değneği olarak değere sahiptir. Uygulamanızın gerektiği gibi çalışmayı bırakacağından korkmadan uygulamanızı değiştirmenize olanak tanıyan geliştirme çabalarınızı destekler. Birim testleri, uygulamanızın gereklilikleri karşıladığını doğrulayabileceğiniz bir araç sunduğundan, bir koltuk değnekinden de çok daha fazla bir şeydir.
Tüm testler (birim testleri, kabul testleri, entegrasyon testleri vb.) Sadece bunları kullanan kişiler kadar etkilidir. Çalışmanıza özensiz yaklaşırsanız, testleriniz özensiz olacak ve uygulamanızın sorunları olacaktır. Ne gereği var? Testleri zahmete sokuyorsunuz, çünkü kendinize ve müşterilerinize yazılımınızın çalıştığını kanıtlamanız gerekiyor ve yazılımın kullanılmasını engelleyebilecek herhangi bir sorun bulunmuyor. Evet, testler kesinlikle fazladan bir iştir, ancak sınamaya nasıl devam ettiğiniz, sürümün ardından hataları düzeltmek için ne kadar çaba harcayacağınızı ve kodunuzun değişmesi ve korunması için ne kadar çaba gerektireceğini belirler.
Birim testlerinin nasıl çalıştığını ve nasıl yazacağını anlıyorum, ancak herkes bunun gerçekten iyi bir fikir olduğunu ve çaba ve zamana değdiğini iddia edebilir mi?
TDD ve gerçekten kodlamadan önce testler yazmanızı gerektiren herhangi bir yöntem, gelecekteki teknik borçların ödenmesi için erken bir çaba olarak erken bir çaba harcadığınız yaklaşımı benimsemiştir. Projede çalışırken, kaçırılan veya iyi uygulanmayan herhangi bir şey, gelecekteki maliyetleri ve kaynak temin etme gereksinimlerini doğrudan etkileyen, artan bakım zorluğu şeklinde daha fazla teknik borçlanmaya neden olacaktır. Teste çıkmak, yalnızca gelecekteki teknik borcu ele almak için çaba harcamanızı sağlamakla kalmaz, aynı zamanda gereksinimlerinizi sadece kodunuzu çalıştırarak doğrulanabilecek şekilde kodlamanızı sağlar. İlk olarak Test, size sorunu kodda çözmeyi taahhüt etmeden önce sorunlu alan hakkındaki anlayışınızı doğrulama fırsatı verir ve uygulama çabalarınızı onaylar.
Kodunuzun işletme değerini en üst düzeye çıkarmak için gerçekten aşağı geliyor. Büyük ölçüde test edilmemiş ve bakımı zor olan kod, genellikle piyasaya sürüldükten sonra ürünün kullanım ömrü boyunca sürdürmek için ucuz ve hızlı bir şekilde üretilebilir ve çok maliyetlidir. Ünite düzeyinde iyice test edilmiş olan kodun oluşturulması genellikle daha pahalıdır, ancak serbest bırakıldıktan sonra ürünün kullanım ömrü boyunca sürdürülmesi nispeten düşüktür.
Ayrıca, TDD'yi SCRUM için özellikle iyi yapan bir şey var mı?
TDD, belirli bir metodoloji için spesifik olarak iyi değildir. Bu sadece bir araçtır. Özel sonuçlarınıza ulaşmanıza yardımcı olmak için gelişim süreçlerinize entegre edebileceğiniz bir uygulama. Bu nedenle, sorunuzu yanıtlamak için TDD, SCRUM veya başka bir yaklaşım olup olmadığı yönteminize ücretsizdir.