Bunun olduğunu sanmıyorum başlatmak için tekrar ait diğer sorular üzerinde birim test . Yardım aradığım şey, değerini bir programcı, analist, yönetici ve test ekibine eklemektir. Otomatikleştirilmiş testler sayesinde, birim testleri (örn. JUnit), BDD (örn. JBehave, Fitness) ve UI (Selenium, Watir) arasında bir ayrım yapmam gerektiğini düşünmüyorum çünkü hepsinin benzer bir değer sağladığını düşünüyorum (ancak katılmıyorum bir cevap yaz :))
Aşağıda tanımladığım bir liste var; genişletmeye veya hassaslaştırmaya yardımcı olan cevapları arıyorum:
- Zaman / Maliyet Tasarrufu : otomatik testler yazmak, yazılı test durumlarından daha fazla zaman alabilir. Bununla birlikte, testlerin birden çok kez yapıldığını göz önünde bulundurarak, otomatik testleri gerçekleştirmek için yapılan marjinal çalışma (yani maliyet / zaman) birkaç büyüklükten daha azdır. Otomatikleştirilmiş testlerin çalıştırılmasının ucuz olması sistemin zamanla değiştirilmesini kolaylaştırır .
- Belgeleme : Bir sistemin testlerinden daha iyi çalıştığını bilmenin kesin bir yolu yoktur. Diğer tüm belgeler genellikle yazıldığı an eskidir, ancak testler (en azından başarılı olanlar) aslında işlerin nasıl yürüdüğünü gösterir. Bu, hem son kullanıcı hem de API dokümantasyonu için geçerlidir.
- Kod Kalitesi : Test yazma sizi zorlar:
- müşterileri düşünün çünkü testler bir müşteridir
- Kodun test edilebilir hale getirilmesinin sıklıkla bağımlılıklara son verir; bu kodun başka bir büyük sisteme ihtiyaç duyulmasını gerektirmeyen kodun nasıl yapıldığını bulmak anlamına gelir.