Smoke Testing
Smoke testing adalah pengujian software yang dilakukan pada awal proses pengembangan software untuk memastikan fungsi mendasar software bekerja dengan stabil.
software-engineer
Apa itu Smoke Testing?
Untuk membuat software berkualitas tinggi, software engineer perlu melakukan serangkaian tes sebelum merilisnya secara publik. Salah satu tes yang dilakukan adalah smoke testing atau disebut juga dengan build verification testing atau build acceptance testing.
Dikutip dari Geeks for Geeks, smoke testing adalah metode pengujian software yang biasanya dilakukan pada awal proses pengembangan untuk memastikan fungsi paling penting dari software bisa bekerja dengan stabil.
Smoke testing dilakukan oleh tim Quality Assurance (QA) untuk menguji fungsi dasar dan fitur utama dari software. Smoke testing bisa dilakukan dengan tiga cara yaitu:
- Manual smoke testing: Pengujian dilakukan secara manual oleh tim QA, termasuk mengembangkan skrip test case dan memperbaruinya secara manual berdasarkan fitur software.
- Automated smoke testing: Pengujian dilakukan menggunakan alat sehingga proses pengujian berjalan secara otomatis.
- Hybrid smoke testing: Kombinasi dari manual dan automated smoke testing, di mana tim menulis test case dan pengujian dilakukan secara otomatis menggunakan alat.
Jika smoke testing lulus, tim QA bisa melanjutkan ke tahap pengujian selanjutnya yaitu functional testing.
Kapan Smoke Testing Digunakan?
Smoke testing dilakukan pada awal proses pengembangan software, yaitu setelah setiap kali fungsi software dikembangkan dan diintegrasikan dengan build.
Hal ini karena biasanya ditemukan bug pada saat proses tersebut, sehingga fitur utama software tidak bisa bekerja atau tidak stabil. Selain itu, beberapa perubahan seperti perbaikan bug atau penambahan fitur baru juga bisa memengaruhi stabilitas fungsi software.
Jika ditemukan bug atau setiap kali ada perubahan pada build, tim QA akan melakukan smoke testing untuk memastikan stabilitas software.
Tujuan Smoke Testing
Tujuan utama dari smoke testing adalah menentukan software yang dikembangkan berfungsi dengan stabil, sehingga bisa dilanjutkan ke langkah pengujian selanjutnya.
Dengan melakukan smoke testing di awal proses pengembangan software, tim bisa mengidentifikasi masalah dan menyelesaikannya sebelum pengujian yang lebih detail dilakukan.
Jadi bisa dikatakan smoke testing sebagai konfirmasi kualitas dan stabilitas suatu software, dan membantu meningkatkan efisiensi tes untuk mencegah tes selanjutnya sia-sia akibat kecacatan fungsi software.
Contoh Smoke Testing
Contoh smoke testing sederhana bisa dilakukan pada aplikasi yang membutuhkan log in member.
Saat akan log in, pengguna pasti akan mengeklik button log in kemudian akan muncul halaman untuk memasukkan ID pengguna dan password yang valid. Seharusnya, pengguna bisa masuk jika ID dan password yang dimasukkan benar.
Maka saat smoke testing, penguji akan melakukan hal yang sama yaitu memasukkan ID dan password valid untuk masuk ke dalam aplikasi. Apabila log in berhasil, maka smoke testing dinyatakan lulus dan tim QA bisa melanjutkan ke tahap pengujian selanjutnya.
Jika log in tidak berhasil, maka tim QA akan mengembalikannya ke tim developer untuk memperbaiki fitur tersebut.
Smoke testing juga bisa dilakukan dengan penguji memasukkan ID dan password yang salah. Apabila log in berhasil, maka fitur tersebut butuh perbaikan. Jika log in tertolak, maka smoke testing dinyatakan lulus.
FAQ (Frequently Asked Question)
Apa perbedaan smoke testing dan regression testing?
Smoke testing dan regression testing adalah dua jenis pengujian yang sering dilakukan untuk membuat software berkualitas. Meski sering disamakan, keduanya sangatlah berbeda.
Smoke testing dilakukan pada tahap awal pengembangan software untuk memastikan fungsi dasar dan fitur utama software bisa bekerja dengan baik.
Sedangkan regression testing adalah tes mendalam, terperinci, dan memakan waktu lebih lama. Tujuannya adalah untuk memastikan perubahan kode baru yang ditulis tidak memengaruhi atau berdampak buruk pada kode basis aplikasi.
Smoke testing dan regression testing dilakukan pada waktu dan tujuan yang berbeda. Namun keduanya sama-sama perlu dilakukan setiap kali ada perubahan pada build. Selain itu, regression testing juga bisa dilakukan secara manual ataupun otomatis seperti smoke testing.
Mulai karirmu dalam
software-engineer
Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!