Sebuah perangkat lunak atau software melalui proses pengujian yang panjang sebelum sampai di tangan pengguna. Pengujian asap atau smoke testing adalah salah satu jenis pengujian untuk menguji sebuah software.
Apakah Anda penasaran mengenai pengujian asap ini? Simak artikel ini untuk mengetahui informasi lengkap tentang pengujian asap!
Apa Itu Smoke Testing?
Pengertian smoke testing adalah jenis pengujian software atau perangkat lunak di awal pengembangan. Fungsinya yaitu memastikan bahwa software mampu bekerja secara stabil pada tahap awal, sehingga dapat dipakai untuk pengujian selanjutnya.
Jadi, programmer atau developer akan melakukan pengujian pada tahapan awal pengembangan. Bukan, tahapan akhir seperti jenis pengujian pada umumnya.
Selain bernama smoke testing, jenis pengujian ini juga bernama build verification testing atau build acceptance testing. Pada umumnya, tim yang melakukan pengujian asap adalah tim Quality Assurance atau QA.
Setidaknya, ada tiga cara untuk melakukan pengujian asap, yaitu
- Manual smoke testing, yaitu pengujian manual oleh tim Quality Assurance. Pada pengujian ini, tim QA juga akan mengembangkan skrip test case dan memperbarui secara manual.
- Automated smoke testing, yaitu pengujian menggunakan tools atau alat. Oleh sebab itu, proses pengujiannya berjalan secara otomatis dan lebih cepat.
- Hybrid smoke testing, yaitu kombinasi antara pengujian manual dan otomatis. Pada pengujian ini, tim QA akan menulis test case dan melakukan pengujian secara bersama-sama memakai tools otomatis.
Kapan Smoke Testing Digunakan?
Apakah Anda penasaran kapan pengujian asap digunakan? Proses pengujian asap oleh tim penguji berlangsung pada awal proses pengembangan perangkat lunak. Tepatnya, setelah setiap fungsi dari software dikembangkan dan diintegrasikan dengan build.
Jadi, misalnya developer membuat fungsi tertentu, maka setelahnya akan langsung melakukan pengujian asap. Fungsi utama smoke testing adalah memastikan perangkat lunak terbaru berjalan tanpa kesalahan.
Pasalnya, penambahan fitur atau perbaikan bug bisa membuat stabilitas software berubah. Jadi, tim QA harus memastikan stabilitasnya sebelum lanjut melalui pengujian asap ini.
Ada siklus yang bisa membantu Anda mengerti kapan smoke testing digunakan. Adapun siklusnya mulai dari coding, unit testing, integration testing, sanity testing, smoke testing, dan functional testing. Smoke sanity testing memang ada pada siklus yang sama.
Tujuan Smoke Testing
Ada beberapa tujuan developer melakukan pengujian asap. Apa saja? Simak pembahasan berikut ini!
1. Memastikan Perangkat Lunak Stabil
Tujuan utama smoke testing adalah memastikan perangkat lunak yang sedang dikembangkan stabil. Pasalnya, pengujian asap di awal pengembangan membantu mengidentifikasi masalah serta menyelesaikannya saat itu juga.
Jadi, pengujian lanjutan akan lebih mudah, karena error-nya lebih sedikit. Selain itu, pengujian asap juga membantu meningkatkan efisiensi tes untuk mencegah tes lanjutan yang sia-sia, karena masih ada bug atau error.
2. Memverifikasi Fungsi Dasar
Tujuan yang kedua, yaitu memverifikasi fungsi dasar dari setiap software atau perangkat lunak. Apakah fungsi-fungsi dasarnya sudah berjalan dengan baik atau belum?
Fungsi dasar sebuah perangkat lunak cukup banyak. Mulai dari fitur log in, akses tampilan awal, interaksi dengan pengguna, dan lain sebagainya. Semua fitur-fitur tersebut harus berfungsi dengan benar, sehingga membutuhkan smoke sanity testing.
3. Mendeteksi Masalah di Awal
Pengujian di tahap awal bertujuan untuk mendeteksi masalah sedari awal. Perlu Anda ketahui, bahwa sebuah software memiliki sistem yang cukup rumit.
Bayangkan saja jika pengujiannya di akhir saja, maka akan sulit mendeteksi masalah dan menyelesaikannya. Oleh sebab itu, ada pengujian asap untuk membantu mendeteksi masalah sejak awal.
4. Menghemat Sumber Daya
Tujuan pengujian asap yang terakhir, yaitu menghemat sumber daya. Sama seperti penjelasan sebelumnya, pengembang akan membutuhkan lebih banyak waktu dan tenaga, jika tidak ada pengujian asap.
Pasalnya, proses pengujian di tahap akhir menjadi lebih banyak. Maka, pengujian asap mampu memastikan fungsi-fungsi dasar sudah berjalan dengan baik. Jadi, pengujian lanjutan lebih hemat sumber daya.
Contoh Smoke Testing
Smoke testing adalah jenis pengujian yang dilalui oleh semua jenis perangkat lunak atau software. Agar lebih memahaminya, maka Anda perlu mengetahui contoh pengujian asap ini. Adapun contoh yang paling sederhana, yaitu fitur login in member pada sebuah aplikasi.
Ketika ingin login, pengguna akan menekan tombol login in. Selanjutnya, muncul halaman baru berisi form username dan password. Apabila fungsi aplikasi benar, maka pengguna bisa masuk menggunakan username dan password yang benar.
Nah, tim QA akan melakukan pengujian tersebut pada tahap awal. Tim akan mencoba memasukkan username dan password yang valid ke aplikasi. Jika berhasil, maka pengujian asap oleh tim QA berhasil. Tim akan melanjutkan ke proses pengujian selanjutnya, agar aplikasi lebih sempurna.
Namun, jika log in gagal, padahal username dan password sudah benar, maka tim QA menyatakan pengujian tidak lulus. Tim akan mengembalikan aplikasi ke pihak developer untuk diperbaiki lagi.
Selain menguji menggunakan username dan password yang benar, tim QA juga akan menggunakan username dan password yang salah. Jika tim QA bisa masuk ke aplikasi dengan username dan password yang salah, maka pengujian gagal dan aplikasi akan dikembalikan.
Contoh fungsi lain yang biasanya diuji pada smoke testing, misalnya:
- Apakah pengguna bisa masuk ke aplikasi tanpa crash?
- Apakah keranjang belanja dapat berfungsi seperti seharusnya?
- Apakah pengguna bisa menambahkan barang ke keranjang belanja?
- Apakah pengguna bisa melakukan checkout tanpa ada masalah
Perbedaan Smoke Testing dan Regression Testing
Beberapa orang masih kebingungan perbedaan pengujian asap dengan regression testing. Keduanya sama-sama pengujian perangkat lunak, namun ada beberapa perbedaan berikut ini!
1. Tujuan
Seperti pembahasan sebelumnya, pengujian asap adalah pengujian yang bertujuan untuk memastikan software baru berfungsi dengan stabil. Sedangkan, regression testing yaitu pengujian yang bertujuan untuk memeriksa perubahan pada kode tidak memengaruhi fungsi software yang sudah ada.
2. Cakupan Fungsi
Cakupan fungsi antara pengujian asap dengan regression testing juga berbeda. Pada pengujian asap, pengujiannya hanya mencakup fungsi dasar saja. Jadi, tidak mencakup fungsi yang lebih mendalam.
Sedangkan regression testing memiliki cakupan fungsi yang lebih luas. Pengujian ini mencakup semua fitur dan fungsi yang ada pada sebuah software.
3. Waktu Pelaksanaan
Waktu pelaksanaan keduanya juga berbeda. Seperti yang Anda ketahui, penguji melakukan smoke testing pada tahap awal pengembangan software atau setelah build.
Sementara regression testing biasanya dijalankan secara berkala selama pengembangan. Terutama, ketika developer selesai melakukan perubahan signifikan pada kode program.
4. Reaksi Terhadap Masalah
Perbedaan terakhir yaitu reaksi terhadap masalah. Ketika menemukan masalah pada tahap pengujian asap, developer tidak akan melanjutkan pengujian lebih lanjut. Sedangkan pada regression testing, developer akan mencari cara agar masalah berhasil diselesaikan.
Sudah Tahu Apa Itu Smoke Testing?
Pengertian smoke testing adalah pengujian di awal pengembangan untuk memastikan aplikasi bekerja secara stabil.
Smoke testing adalah salah satu tahapan pengujian yang penting, sehingga tidak boleh dilewatkan. Jika membutuhkan bantuan untuk melakukan pengujian software, maka Anda bisa bekerja sama dengan tim Quality Assurance dari Smartek Sistem.
Smartek Sistem menjadi solusi layanan software testing bagi semua spektrum kualitas perangkat lunak. Layanannya berupa manual testing dan automated testing, termasuk automated smoke testing.
Proses pengujian di Smartek Sistem juga cukup lengkap, yakni mulai dari Perencanaan (proses dan tools yang digunakan), Run Test, serta Pelaporan perkembangan pengujian berkala dan komunikasi tepat waktu. Maka dari itu, hasil pengujian pun akan sangat detail dan mendalam.