Örnek olarak: Neyin test edilmediği ile ilgili olarak bir çok kafa karışıklığı var gibi görünüyor. Elbette, her geliştiricinin kodunu oluştururken test etmesi gerekir, çalıştığını doğrulaması gerekir. Yapıldığını ve yeterince iyi olduğunu düşünmeden önce bir test cihazına veremez. Ancak geliştiriciler her şeyi görmez. Hataları tanımayabilirler. Bu hatalar ancak daha sonra kapsamlı bir test yapıldığında geliştirme döngüsünde bulunabilir. Asıl soru, geliştiricilerin bu tür bir testi yapıp yapmamaları gerektiğidir ve alçakgönüllü görüşüme göre bunun bir proje yöneticisinin bakış açısına bakması gerekiyor:
Geliştiriciler test edici olabilirler, ancak test edici olmamalıdırlar . Geliştiriciler, istemeden / bilinçsizce, uygulamayı kırabilecek şekilde kullanmaktan kaçınırlar. Çünkü yazdılar ve çoğunlukla kullanılması gerektiği gibi test ettiler.
Öte yandan, iyi bir testçi, uygulamaya işkence yapmaya çalışır. Birincil niyeti onu kırmak. Genellikle uygulamayı geliştiricilerin hayal bile edemedikleri şekilde kullanırlar. Kullanıcılara geliştiriciden daha yakınlar ve çoğu zaman bir iş akışını test etmek için farklı bir yaklaşıma sahipler.
Ayrıca, geliştiricilerin test cihazı olarak kullanılması geliştirme maliyetlerini artırır ve özel bir test cihazına sahip olmak kadar ürünün kalitesine de fayda sağlamaz. Geliştiricilerin, ucuz bir test cihazı tarafından daha iyi bir şekilde yapılmasını sağladığımda işlerini çapraz test etmelerine izin vermem. Yalnızca geliştiriciler ve test yapanlar arasındaki geri bildirim döngüsü çok pahalı hale geldiyse, geliştiricilerin birbirlerinin kodunu geçmesine izin verirdim, ancak benim deneyimime göre nadiren durum böyledir ve sürece bağlıdır.
Bu, geliştiricinin özensiz olması ve her şeyi test cihazına bırakması gerektiği anlamına gelmez. Ünite testleriyle yazılım desteklenmeli ve yazılımı test cihazına vermeden önce teknik hatalar en aza indirilmelidir. Yine de, bazen burada düzeltme yaptınız , orada herhangi bir geliştiricinin göremediği sorunları ya da diğer hataları kırın, sorun değil. Ayrıca, entegrasyon testi çoğunlukla geliştiriciler tarafından yapılmalıdır. Test cihazının temel amacı, gereksinimlerin karşılandığını doğrulamaktır.
Böyle küçük bir ekipte (ve ayrıca uygulamanın boyutuna bağlı olarak), test cihazını hibrit bir rolde, birim testleri ve UI testleri yazarken de görebiliyorum. Kesinlikle bir tane kiralamalısın .
Ancak test cihazından daha önemlisi düzenli donlar / dallardır. Doğru bir şekilde test edilmemiş bir şey sunmayın. Bir özellik eklediğinizde veya bir şeyi değiştirdiğinizde, onu çevreleyen her şeyin yeniden doğrulanması gerekir. Şirketiniz almazsa sadece kötü bir ün kazanırsınız. Dengesiz bir şey bırakmayın. Müşteri yazılımı belirli bir tarihe kadar sahip etmek istediğinde, yeterince erken gelişmeyi bırakıp düzgün bir şekilde test edin; böylece hata düzeltmeleri için yeterli zamanınız olur. Genellikle, son dakika özellik isteklerini reddetmek, bunları kötü uygulamak veya uygun testler olmadan serbest bırakmaktan daha iyidir.