Perbedaan utama antara Smoke Testing dan Sanity Testing
Aspek | Smoke Testing | Sanity Testing |
---|---|---|
Tujuan | Memverifikasi stability sistem sebelum pengujian lebih lanjut | Memverifikasi rationality setelah perubahan kecil atau perbaikan bug |
Siapa yang melakukan? | Dilakukan oleh developer atau tester | Dilakukan oleh tester |
Apa yang diuji? | Fungsionalitas utama sistem | Fitur atau perbaikan spesifik dalam build baru |
Hubungan dengan pengujian lain | Subset dari Acceptance Testing | Subset dari Regression Testing |
Pendekatan | Biasanya terdokumentasi dan terstruktur | Tidak selalu terdokumentasi atau terstruktur |
Cakupan pengujian | Menguji sistem secara keseluruhan | Menguji bagian tertentu dari sistem |
Analogi kesehatan | Seperti pemeriksaan kesehatan umum | Seperti pemeriksaan spesifik untuk kondisi tertentu |
Apa Itu Software Build?
Ketika mengembangkan perangkat lunak, ada proses pembuatan (compiling dan linking) yang menghasilkan file yang bisa dieksekusi (executable). Jika proyek kecil hanya memiliki satu file sumber, prosesnya sederhana. Namun, proyek perangkat lunak besar memiliki ratusan atau ribuan file sumber yang harus dikompilasi dan diintegrasikan dengan benar.
Proses ini disebut Software Build, yang menghasilkan versi perangkat lunak yang dapat diuji. Setelah sebuah build selesai, pengujian seperti Smoke Testing dan Sanity Testing dilakukan untuk menilai kelayakannya sebelum melanjutkan pengujian lebih dalam.
Apa Itu Smoke Testing?
Smoke Testing adalah teknik pengujian perangkat lunak yang dilakukan setelah build selesai untuk memverifikasi bahwa fungsi utama sistem bekerja dengan baik. Pengujian ini dilakukan sebelum pengujian fungsional atau regresi yang lebih mendalam.
Tujuan Smoke Testing:
- Mengidentifikasi apakah sistem cukup stabil untuk diuji lebih lanjut.
- Menghindari pemborosan waktu dengan segera menolak build yang memiliki bug kritis.
- Menguji fitur utama tanpa masuk ke detail kecil.
Contoh Smoke Testing:
- Memastikan aplikasi dapat diluncurkan tanpa crash.
- Menguji apakah UI merespons dengan baik.
- Memastikan pengguna bisa login dan logout.
Jika Smoke Testing gagal, build dianggap tidak stabil dan dikembalikan ke tim pengembang untuk diperbaiki.
Apa Itu Sanity Testing?
Sanity Testing dilakukan setelah menerima build dengan perubahan kecil atau perbaikan bug untuk memastikan bahwa masalah telah diperbaiki dan tidak ada masalah baru yang muncul akibat perubahan tersebut.
Tujuan Sanity Testing:
- Memastikan perubahan atau perbaikan kode berfungsi dengan benar.
- Menentukan apakah pengujian lebih lanjut dapat dilakukan tanpa kendala besar.
- Tidak bertujuan untuk menguji sistem secara menyeluruh, hanya bagian yang terkena perubahan.
Contoh Sanity Testing:
- Jika bug pada fitur pencarian telah diperbaiki, pengujian dilakukan hanya pada fitur pencarian, bukan seluruh sistem.
- Jika kalkulator ilmiah sebelumnya memberikan hasil “2 + 2 = 5”, sanity test akan memastikan bahwa bug telah diperbaiki sebelum menguji fitur yang lebih kompleks seperti trigonometri.
Jika Sanity Testing gagal, build dikembalikan ke pengembang untuk diperbaiki sebelum dilakukan pengujian lebih lanjut.
Poin Penting tentang Smoke Testing dan Sanity Testing
- Keduanya bertujuan untuk menghindari pengujian mendalam pada perangkat lunak yang tidak layak diuji lebih lanjut.
- Smoke Testing juga dikenal sebagai Build Verification Test atau Tester Acceptance Testing.
- Praktik industri yang umum adalah melakukan daily build and smoke test untuk memastikan stabilitas perangkat lunak setiap hari.
- Baik Smoke maupun Sanity Testing dapat dilakukan secara manual atau menggunakan alat otomatisasi.
- Dalam praktik industri, test cases untuk Smoke Testing dan Sanity Testing sering digabungkan untuk mempercepat proses pengujian, sehingga istilah ini terkadang digunakan secara bergantian.
- Jika kedua pengujian dilakukan, urutannya adalah: Smoke Testing terlebih dahulu, baru kemudian Sanity Testing.
Kesimpulan
Smoke Testing dan Sanity Testing memiliki peran penting dalam memastikan kualitas perangkat lunak sebelum pengujian lebih lanjut. Smoke Testing berfokus pada stabilitas sistem secara keseluruhan, sementara Sanity Testing berfokus pada rasionalitas perbaikan atau fitur baru.
Memahami kapan dan bagaimana menggunakan kedua metode ini dapat membantu tim QA bekerja lebih efisien dan menghindari pemborosan waktu pada build yang tidak stabil.
Sanity Testing API - Panduan QA
23 March 2025[…] Sanity testing adalah jenis pengujian ringan dan cepat yang dilakukan untuk memastikan fungsi-fungsi utama API masih berjalan normal setelah perubahan kecil seperti bug fix atau minor update. mirip seperti smoke testing. […]