Çoğu yazılım geliştiricisinin üzerinde hemfikir olduğu şeylerden biri, test etmediğiniz sürece doğru şekilde çalışmak için koda güvenmemeniz gerektiğidir. Test etmezseniz, yalnızca yolda daha fazla çalışmanıza neden olacak gizli hataları olabilir.
Normal kodumu nasıl test edeceğimi anlıyorum, ancak hataları bulunduğunda etkili bir şekilde bulup rapor edebildiğinden emin olmak için test kodumu nasıl test etmeliyim? Şahsen, olmaması gerektiği zaman geçecek hatalı test vakalarını yazabilecek kadar aptal oldum, bu yüzden ilk başta benim yazma testlerimin amacını yendi. Neyse ki, zaman içinde hataları bulup düzelttim, ancak test mantrasına göre, çalıştığından emin olmak için hiçbir test setinin kendi testleri olmadan tamamlanmış gibi gözükmüyor.
Bana öyle geliyor ki, bunu yapmanın en iyi yolu, testin hata kodu için başarısız olmasını sağlamaktır. testler 'iş'. Bu beni ikinci soruma getiriyor: Test vakalarına yakalandıklarından emin olmak için böcekleri tanıtmanın iyi yolları nelerdir? Sadece rastgele emin bir yanlış dal yapmak, ifadeleri açıklama mı if-else
benim testler yakalayacak memnun kalana kadar, kendi durumunu olumsuzlaştırılmasıyla koþulur, vb yan etkilere sahip kod yürütme sırasını değiştirmek enortak böcek? Profesyonel geliştiriciler testlerinin gerçekte yapmaları gerekeni yaptığını nasıl doğrularlar? Testlerin işe yaradığını mı varsayıyorlar, yoksa test etmek için de zaman ayırıyorlar mı? Eğer öyleyse, testleri nasıl test ederler?
İnsanların testlerini test etmek ve daha sonra testlerini test etmek için çok fazla zaman harcamasını önermiyorum. Testleri gerçekten gerçek kodları asla yazmıyorlar ama biraz faydalanabileceğimi düşündüğüm aptalca şeyler yaptım 'meta-test' den ve bunun için en iyi yolun ne olduğunu merak ediyordum. : D
* 'Hatasız' kodu test ederken testin başarılı olup olmadığını kontrol edebilirim, ancak kodu test için bir özellik olarak kullanmak oldukça geriye dönük görünüyor ...