Yazılım test teknikleri son derece çeşitlidir ve bunlar hakkında ne kadar çok eğitim alırsanız, birçok farklı (ve bazen de çelişen) rehberlik görmeye başlayacaksınız. Devam edecek tek bir 'kitap' yok.
Sanırım, şu gibi şeyler söyleyen birim testleri için bazı rehberlikler gördüğünüz bir durumdasınız.
- Her test tek başına olmalı ve diğer testlerden etkilenmemelidir
- Her birim testi bir şeyi ve sadece bir şeyi test etmelidir
- Birim testleri veritabanına çarpmamalıdır
ve bunun gibi. Ve tüm bunlar, 'birim testi' nasıl tanımladığınıza bağlı olarak doğrudur .
'Birim testi'ni şöyle bir şey olarak tanımlayabilirim: "diğer bağımlı bileşenlerden izole edilmiş bir birim kod için bir işlevsellik uygulayan bir test".
Bu tanım altında, yaptığınız şey (testi çalıştırmadan önce bir veritabanına kayıt eklemeyi gerektiriyorsa) hiç de 'birim testi' değil, yaygın olarak 'entegrasyon testi' olarak adlandırılan şeylerden daha fazlasıdır. (Benim tanımımla, gerçek bir birim testi veritabanına çarpmaz, bu yüzden silmeden önce bir kayıt eklemeniz gerekmez.)
Bir entegrasyon testi (örneğin, bir kullanıcı arayüzü gibi birden çok bileşeni kullanır işlevselliği kullanacaktır ve bir veritabanı) ve birim testler için de geçerli olacak rehberlik mutlaka entegrasyon testleri için geçerli değildir.
Diğerlerinin yanıtlarında belirttiği gibi, bazı birim test kılavuzuna aykırı şeyler yapsanız bile yaptığınız şey yanlış olmayabilir. Bunun yerine, her test yönteminde gerçekten neyi test ettiğinizi düşünmeye çalışın ve testinizi tatmin etmek için birden fazla bileşene ihtiyacınız olduğunu fark ederseniz ve bazı bileşenler ön yapılandırma gerektiriyorsa, devam edin ve yapın.
Ancak en önemlisi, birçok tür yazılım testi (birim testleri, sistem testleri, entegrasyon testleri, keşif testleri, vb.) Olduğunu anlayın ve bir türün rehberliğini diğerlerine uygulamamaya çalışmayın.