Geçenlerde oyun geliştirme testleriyle ilgili bir soru sordum - bu BTW'yi bunun hakkında nasıl bildiğimi biliyor. Buradaki cevaplar bazı ilginç, dezavantajlara işaret etti:
- Kodunuzun yüksek oranda bağlanması gerektiğinde yapılması maliyetlidir .
- Çeşitli donanım platformlarının farkında olmanız gerektiğinde, kullanıcıya çıktıyı analiz etmeniz gerektiğinde ve kod sonucunun yalnızca daha geniş bir bağlamda mantıklı olması durumunda yapmak zordur .
- UI ve UX testi çok zor .
- Ve özellikle, otomatikleştirilmiş testler bir grup çok düşük maliyetli (veya ücretsiz) beta test cihazından daha pahalı ve daha az etkili olabilir .
Dördüncü nokta, bazı deneyimlerimi hatırlamama neden oluyor. Birim testlerinin şiddetle tavsiye edildiği, çok eğilimli, XP odaklı, Scrum tarafından yönetilen bir şirkette çalıştım. Ancak, daha yalın, daha az bürokratik bir tarza giden yolda, şirket QA ekibinin yapımını ihmal etti - test etmedik. Sık sık müşteriler,% 95'ten fazla test kapsamına sahip olsa bile, bazı sistemleri kullanarak önemsiz hatalar buldular. Bu yüzden başka bir nokta eklemek istiyorum:
- Otomatik testler , KG ve testlerin önemli olmadığını düşünmenize neden olabilir .
Ayrıca, o günlerde belgelendirme hakkında düşünüyordum ve iki test için geçerli olabilecek (daha az bir ölçüde) bir hipotez kurdum. Kodun o kadar çabuk geliştiğini hissettim, böylesi bir hızı izleyen dokümantasyon yapmak oldukça zor, bu yüzden zaman harcayarak kodun okunması zor, kolayca eski dokümantasyon yazmaktan daha değerli. (Elbette bu , API'ler için geçerli değildir , ancak yalnızca dahili uygulama için geçerlidir.) Test aynı sorundan biraz muzdariptir: test edilen kodla karşılaştırıldığında yazmak çok yavaş olabilir. OTOH, daha az sorun yaratıyor çünkü testler eski oldukları konusunda uyarıyor, belgeleriniz çok dikkatli bir şekilde yeniden okumadığınız sürece sessiz kalacak .
Son olarak, bazen bulduğum bir sorun: otomatik testler araçlara bağlı olabilir ve bu araçlar kötü yazılmış olabilir. Bir süre önce XUL kullanarak bir projeye başladım ve bu tür bir platform için birim testleri yazmak çok acı verici. Objective-C, Cocoa ve Xcode 3 kullanarak başka bir uygulamaya başladım ve test modeli temelde bir sürü geçici çözümdü.
Otomatik testin dezavantajları hakkında başka deneyimlerim var, ancak çoğu diğer cevaplarda listeleniyor. Yine de, otomatik testlerin zorlu bir savunucusuyum. Bu, çok fazla iş ve baş ağrısından kurtardı ve her zaman varsayılan olarak tavsiye ederim. Bu dezavantajların, otomatik testlerin yararları ile karşılaştırıldığında sadece ayrıntı olduğunu düşünüyorum. (Otomatik karar vermemek için herşeyi yorumladıktan sonra her zaman inancınızı ilan etmeniz önemlidir.)