Saya menyarankan untuk menulis test suite lengkap di area-area yang masuk akal dan praktis untuk dilakukan. Di area yang kurang praktis, tulis cek kewarasan.
Dalam pengalaman saya, overhead dari set lengkap kasus uji tentu layak dalam kebanyakan kasus, tetapi cakupan kode secara realistis memiliki hasil yang semakin berkurang. Pada titik tertentu, menulis lebih banyak tes hanya untuk meningkatkan cakupan kode tidak masuk akal.
Misalnya, tergantung pada bahasa / teknologi Anda, pengujian UI mungkin tidak praktis atau bahkan layak. Banyak tes mungkin akan bergantung pada apa yang dilihat pengguna dan tidak dapat diotomatisasi. Bagaimana Anda menguji bahwa metode untuk menghasilkan captcha menghasilkan gambar yang dapat dibaca oleh manusia misalnya?
Jika satu set tes lengkap akan membawa Anda tiga hari untuk menulis, kemungkinan bug yang diperkenalkan pada komponen itu di trek sangat rendah, dan fungsi itu sendiri hanya membutuhkan waktu setengah jam untuk menulis, Anda mungkin harus berpikir keras tentang apakah waktu itu sepadan. Mungkin hanya menulis cek kewarasan dasar untuk fungsi itu akan memberikan nilai?
Saran umum saya adalah bahwa Anda harus menguji komponen sepenuhnya di mana tes dapat ditulis dengan relatif mudah. Namun, jika itu adalah area yang sangat sulit untuk diuji, buat garis di pasir dan tulis tes yang akan menguji area tersebut pada level yang lebih tinggi daripada mengujinya sepenuhnya.
Dalam contoh captcha sebelumnya, mungkin menulis tes yang memeriksa gambar dengan ukuran dan format yang benar dikembalikan dan tidak ada pengecualian yang dilemparkan. Itu memberi Anda beberapa tingkat jaminan tanpa berlebihan.