Yeni bir özellik veya hata düzeltme için birim testleri yazmak için ne kadar zaman harcamalıyız?


9

Yeni bir özellik uygulamam veya bir hatayı düzeltmem gerektiğinde, durumu genellikle bir testle yeniden oluşturmaya çalışırım. Bazen yaklaşık 3 saat fikstür ile gelip testi yazıyorum. Gerçek özellik uygulaması veya hata düzeltmesi 1 saatten az sürer.

Dışarıdaki herhangi biri, bir özelliği uygulamak veya bir hatayı düzeltmekle karşılaştırıldığında test yazmak için en az 3 kat daha fazla zaman harcıyor mu? Test yazmak için harcanan zamanın kod yazmaya kabul edilebilir oranı nedir?


2
Şöyle düşünün: Var olduğunu doğrulamak için bir testiniz olmasaydı, hatayı düzeltmek bir saatten az sürecekti, çok daha azı düzeltildi mi?
Michael K

2
Soru başlığının cevabı: Sürece.
Marcelo

3
Maliyet veya iş değeri ne olursa olsun TDD ilkelerine körü körüne itaat her zaman doğru yanıttır.
Jeremy

Yöneticinizin düzeltmeyi en kısa sürede canlı hale getirmenizi istediği ve uygulamayı tam olarak test etmek için fazladan bir gün bekleyemediği durumu nasıl ele alırsınız?
Thierry Lam

2
Genellikle testi yapmamanın maliyetini açıklarım. Yani, şimdi düzeltmeyi gönderebilirim, ancak testi yazmazsak, her şeyi daha sonra tekrar yapmak zorunda kalacağız. Bazı zamanlar bu gelecekteki maliyetle sorun değil, ama genellikle testleri yazıyoruz.
Christopher Bibbs

Yanıtlar:


12

Hatanın veya özelliğin karmaşıklığına göre değişir. Bir zamanlar 1.5 haftalık geliştirme tiem tahmini ve 3 aylık test tahmini olan bir projeyi hatırlıyorum. Kod değişikliği küçüktü, burada ve orada birkaç satır vardı, ancak bir sigorta sisteminin birkaç bileşenini çeşitli şekillerde etkiledi, bu yüzden çok ayrıntılı bir şekilde test edilmesi gerekiyordu. Başka bir zaman yanlış yerde parantez içeren bir hata vardı. Bulmak için 2 saat, düzeltmek için 2 saniye, ancak mantıktaki değişiklikten etkilenmiş olabilecek onlarca senaryoyu test etmek için yaklaşık bir hafta sürdü.

Genel olarak, kodlama için harcanan zamanın test için harcanan zamana oranı hakkında endişelenmiyorum çünkü doğru olmanın bir yolu yok. Bazı projelerde, genellikle projeye göre (projeye göre) bir proje göreli oranın ortaya çıktığını, ancak daha sonra değişebileceğini görüyorum.

Kodun düzgün çalıştığını güvenle söylemek için gerektiği kadar zaman harcayın .


6

Özelliğin istendiği gibi çalıştığını veya hatanın doğru bir şekilde düzeltildiğini gösterene kadar testleri yazmak için yeterli zaman ayırmaya ne dersiniz?

Her durum farklı olacak; bir tür oran olamaz. Bazı testler uygulamada onuncu zaman alırken, diğerleri yüzlerce kez daha fazla zaman alacaktır.


Bu gerçek cevap.
DJClayworth

4

Bir keresinde bir projeye birim testleri uyguladıktan sonra bir sürpriz yaptım. Sonuç: testler yazmak için harcanan zaman, uygulama için harcanan zaman kadar yaklaşık% 40 olmuştur. Ancak tam kapsamlı bir yer bulmayı hedeflemiyorduk ve bu, güçlü yapısı ve sözleşmeleri olan sağlam bir projeydi.



0

Doğru sayıyor musunuz? Testlere ne kadar zaman harcadığınızı doğru bir şekilde hesaplamak için kodu test olmadan yazmanız gerekir.

Testi yazmak için üç saat ve kodun geçmesi için bir saat gerçekten sürdüyse, aynı hatayı test yazmadan düzeltmenin 5+ saat sürdüğünü görebilirsiniz.

Evet, testte gerçek düzeltme kodundan çok daha fazla zaman harcıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.