Jawaban sederhana adalah itu tergantung pada sistem. Jika Anda menulis perangkat lunak tertanam untuk monitor jantung atau alat pemantauan keselamatan untuk reaktor nuklir maka standarnya jauh lebih tinggi daripada jika Anda menulis platform blogging.
Ini benar-benar pertanyaan untuk penguji sistem yang baik (dan saya bukan satu) tetapi saya akan mencobanya.
Ukuran dasar Anda akan menjadi cakupan uji: Berapa banyak aplikasi sebenarnya telah diuji (baik dengan uji unit dan secara fungsional).
Anda perlu menilai setiap kasus penggunaan potensial (dan parameter untuk kasus penggunaan itu) untuk kemungkinan penggunaan sebenarnya (sehingga Anda dapat menjatuhkan kasus tepi), kompleksitas (hal-hal sederhana yang cenderung mengandung bug, atau lebih cenderung mengandung keras untuk menemukan bug), biaya untuk menguji (dalam hal waktu) dan potensi dampak cacat jika ditemukan di daerah itu (di sinilah platform reaktor nuklir vs blogging).
Berdasarkan penilaian itu, Anda perlu menentukan yang mana yang akan diuji dan seberapa detail. Setelah Anda memiliki daftar seperti itu, tim (termasuk manajer produk / manajer proyek / perwakilan pengguna) dapat melalui daftar itu dan memprioritaskan berdasarkan kendala yang Anda miliki.
Salah satu teknik yang berguna untuk dipikirkan adalah Anda juga dapat memvariasikan use case yang diuji dengan setiap rilis. Misalnya, Anda mungkin memiliki daftar kasus uji non-kritis dan menguji setengah dari mereka dengan satu rilis dan setengah dengan yang berikutnya (kemudian bergantian). Dengan cara ini Anda meningkatkan cakupan tes total yang Anda dapatkan untuk upaya (meskipun dengan risiko bug regresi diperkenalkan).
Ini juga dapat diperluas ke pengujian platform - jika Anda mendukung dua ujung belakang basis data (atau beberapa browser) menguji setengah aplikasi pada satu, setengah lainnya pada yang lain dan kemudian menukar rilis berikutnya.
(Saya pikir ini disebut striping tetapi jangan mengutip saya tentang itu.)
Dan kemudian hal terakhir untuk dipikirkan bukanlah apa yang Anda uji tetapi apa yang sebenarnya Anda perbaiki ketika masalah ditemukan. Sudah umum untuk mengatakan "perbaiki semua bug" tetapi kenyataannya adalah bahwa ada tekanan waktu dan tidak semua bug sama. Sekali lagi, scrub bug reguler dengan semua pihak terkait adalah cara terbaik untuk maju. Ini sangat relevan di mana perbaikan bug mungkin sangat mengganggu karena pekerjaan tambahan dalam pengujian ulang dan pengujian regresi yang dihasilkannya mungkin lebih penting daripada manfaat perbaikannya.