Apa itu Pengujian Dinamis? Jenis, Teknik & Contoh
Pengujian Dinamis
Pengujian Dinamis adalah metode pengujian perangkat lunak yang digunakan untuk menguji perilaku dinamis kode perangkat lunak. Tujuan utama dari pengujian dinamis adalah untuk menguji perilaku perangkat lunak dengan variabel dinamis atau variabel yang tidak konstan dan menemukan area lemah dalam lingkungan runtime perangkat lunak. Kode harus dieksekusi untuk menguji perilaku dinamis.
Kita semua tahu bahwa Pengujian adalah verifikasi dan validasi, dan dibutuhkan 2 Vs untuk menyelesaikan pengujian. Dari 2 V, Verifikasi disebut pengujian Statis dan “V” lainnya, Validasi disebut pengujian Dinamis.
Contoh Pengujian Dinamis
Mari kita pahami Cara melakukan Pengujian Dinamis dengan sebuah contoh:
Misalkan kita sedang menguji Halaman Login dimana kita memiliki dua kolom yang mengatakan “Nama Pengguna” dan “Kata Sandi” dan Nama Pengguna dibatasi untuk Alfanumerik.
Ketika pengguna memasukkan Nama Pengguna sebagai “Guru99”, sistem akan menerimanya. Sedangkan ketika pengguna memasukkan sebagai Guru99@123 maka aplikasi memunculkan pesan error. Hasil ini menunjukkan bahwa kode tersebut bertindak secara dinamis berdasarkan masukan pengguna.
Pengujian dinamis adalah ketika Anda bekerja dengan sistem sebenarnya dengan memberikan masukan dan membandingkan perilaku aplikasi yang sebenarnya dengan perilaku yang diharapkan. Dengan kata lain, bekerja dengan sistem dengan tujuan menemukan kesalahan.
Jadi berdasarkan pernyataan di atas kita dapat mengatakan atau menyimpulkan bahwa pengujian dinamis adalah proses memvalidasi aplikasi perangkat lunak sebagai pengguna akhir dalam lingkungan yang berbeda untuk membangun perangkat lunak yang tepat.
Apa yang dilakukan pengujian dinamis?
Tujuan utama dari pengujian Dinamis adalah untuk memastikan bahwa perangkat lunak berfungsi dengan baik selama dan setelah instalasi perangkat lunak memastikan aplikasi stabil tanpa cacat besar (pernyataan ini dibuat karena tidak ada perangkat lunak yang bebas dari kesalahan, pengujian hanya dapat menunjukkan adanya cacat dan bukan ketidakhadiran)
Tujuan utama dari pengujian dinamis adalah untuk memastikan konsistensi perangkat lunak; mari kita bahas ini dengan sebuah contoh.
Dalam Aplikasi Perbankan, kami menemukan layar berbeda seperti Bagian Rekening Saya, Transfer Dana, Bill Bayar, dll. Semua layar ini berisi bidang jumlah yang menerima beberapa karakter.
Katakanlah bidang Akun Saya menampilkan jumlah sebagai 25,000 dan Transfer Dana sebagai $25,000 dan Bill layar bayar sebagai $25000 walaupun jumlahnya sama, namun cara menampilkan jumlahnya tidak sama sehingga membuat perangkat lunak menjadi tidak konsisten.
Konsistensi tidak hanya terbatas pada fungsionalitas tetapi juga mengacu pada standar yang berbeda seperti kinerja, kegunaan, kompatibilitas, dll, oleh karena itu menjadi sangat penting untuk melakukan Pengujian Dinamis.
Jenis Pengujian Dinamis
Pengujian Dinamis diklasifikasikan menjadi dua kategori
- Putih Box pengujian
- Black Box pengujian
Representasi gambar di bawah ini memberi kita gambaran tentang jenis Pengujian Dinamis, Tingkat Pengujian, dll.
Mari kita bahas secara singkat setiap jenis pengujian dan tujuan yang dimaksudkan
Putih Box pengujian - Putih Box pengujian adalah metode pengujian perangkat lunak di mana struktur/desain internal diketahui oleh penguji. Tujuan utama Putih Box pengujian adalah untuk memeriksa bagaimana kinerja Sistem berdasarkan kode. Hal ini terutama dilakukan oleh Pengembang atau Putih Box Penguji yang memiliki pengetahuan tentang pemrograman.
Black Box Pengujian - Black Box pengujian adalah metode pengujian di mana struktur/kode/desain internal berada JANGAN diketahui oleh penguji. Tujuan utama pengujian ini untuk memverifikasi fungsionalitas sistem yang sedang diuji dan jenis pengujian ini memerlukan pelaksanaan rangkaian pengujian yang lengkap dan terutama dilakukan oleh Penguji, dan tidak memerlukan pengetahuan pemrograman apa pun.
Black Box Pengujian sekali lagi diklasifikasikan menjadi dua jenis.
Mereka adalah
- Pengujian Fungsional
- Pengujian Non-Fungsional
Pengujian fungsional:
Pengujian fungsional dilakukan untuk memverifikasi bahwa semua fitur yang dikembangkan sesuai dengan spesifikasi fungsional, dan dilakukan dengan mengeksekusi kasus uji fungsional yang ditulis oleh tim QA, pada tahap pengujian fungsional, sistem diuji dengan memberikan masukan, memverifikasi keluaran dan membandingkan hasil sebenarnya dengan hasil yang diharapkan.
Ada berbagai Tingkat Pengujian Fungsional, dan yang paling penting adalah
- Pengujian Unit – Umumnya Unit adalah sepotong kecil kode yang dapat diuji, Pengujian Unit dilakukan pada unit perangkat lunak individual dan dilakukan oleh pengembang
- Tes integrasi - Tes integrasi adalah pengujian yang dilakukan setelah Pengujian Unit dan dilakukan dengan menggabungkan semua unit individual yang dapat diuji dan dilakukan oleh pengembang atau penguji
- Pengujian Sistem - Pengujian Sistem adalah tindakan yang dilakukan untuk memastikan apakah sistem berfungsi sesuai persyaratan dan umumnya dilakukan saat sistem lengkap sudah siap. Hal ini dilakukan oleh penguji saat Build atau kode dirilis ke tim QA
- Ujian penerimaan – Pengujian penerimaan dilakukan untuk memverifikasi apakah sistem telah memenuhi persyaratan bisnis dan siap digunakan atau siap diterapkan dan umumnya dilakukan oleh pengguna akhir.
Pengujian Non Fungsional: Pengujian Non-Fungsional adalah teknik pengujian yang tidak fokus pada aspek fungsional dan terutama berkonsentrasi pada atribut nonfungsional sistem seperti kebocoran memori, kinerja atau ketahanan sistem. Pengujian Non-Fungsional dilakukan di semua level pengujian.
Ada banyak Teknik Pengujian Non-Fungsional dan yang paling penting adalah
- Pengujian Kinerja - Pengujian Kinerja dilakukan untuk memeriksa apakah waktu respons sistem normal sesuai persyaratan beban jaringan yang diinginkan.
- Pengujian Pemulihan – Pengujian pemulihan adalah metode untuk memverifikasi seberapa baik sistem dapat pulih dari kerusakan dan kegagalan perangkat keras.
- Pengujian Kompatibilitas – Pengujian kompatibilitas dilakukan untuk memverifikasi bagaimana sistem berperilaku di lingkungan yang berbeda.
- Pengujian keamanan - Pengujian keamanan dilakukan untuk memverifikasi ketahanan aplikasi, yaitu untuk memastikan bahwa hanya pengguna/peran yang berwenang yang mengakses sistem
- Pengujian kegunaan - Pengujian kegunaan adalah metode untuk memverifikasi kegunaan sistem oleh pengguna akhir untuk memverifikasi seberapa nyaman pengguna dengan sistem.
Teknik Pengujian Dinamis
Teknik Pengujian Dinamis in STLC terdiri dari tugas-tugas berbeda seperti Analisis Persyaratan untuk pengujian, Perencanaan Pengujian, Desain dan implementasi kasus pengujian, Pengaturan lingkungan pengujian, Eksekusi kasus pengujian, Pelaporan bug, dan terakhir Penutupan pengujian. Semua tugas dalam teknik pengujian dinamis bergantung pada penyelesaian tugas sebelumnya dalam proses pengujian.
Dalam STLC, kita dapat mengatakan bahwa Proses Pengujian Dinamis yang sebenarnya dimulai dari Desain Kasus Uji, mari kita bahas setiap aktivitas secara rinci.
Sebelum masuk ke proses mari kita bahas strategi yang perlu diikuti untuk Pengujian Dinamis.
Strategi Pengujian terutama harus berfokus pada sumber daya yang tersedia dan jangka waktu. Berdasarkan faktor-faktor ini, tujuan pengujian, ruang lingkup pengujian, tahapan atau siklus pengujian, jenis lingkungan, asumsi atau tantangan yang mungkin dihadapi, risiko, dll. harus didokumentasikan.
Setelah strategi ditentukan dan diterima oleh manajemen, maka desain kasus uji proses yang sebenarnya dimulai
Apa itu Desain dan Implementasi Tes
Dalam fase ini kami mengidentifikasi,
- Fitur yang akan diuji
- Turunkan Kondisi Tes
- Turunkan Item cakupan
- Turunkan Kasus Uji
Pengaturan Lingkungan Uji
Kita harus memastikan bahwa Lingkungan Pengujian harus selalu serupa dengan lingkungan Produksi, pada fase ini kita harus menginstal pembuatan dan pengelolaan mesin pengujian.
Eksekusi Tes
Selama fase ini, kasus uji sebenarnya dijalankan.
Laporan bug ditangkap
Berdasarkan Eksekusi jika Hasil yang Diharapkan dan Hasil Sebenarnya tidak sama maka kasus Uji harus ditandai sebagai Gagal dan Bug harus dicatat.
Keuntungan Pengujian Dinamis
- Pengujian Dinamis dapat mengungkap cacat yang ditemukan yang dianggap terlalu sulit atau rumit dan tidak dapat ditutupi melalui Analisis statis
- Dalam Pengujian Dinamis, kami menjalankan perangkat lunak, secara menyeluruh, memastikan perangkat lunak bebas kesalahan yang pada gilirannya meningkatkan kualitas produk dan proyek.
- Pengujian Dinamis menjadi Alat penting untuk mendeteksi Ancaman keamanan apa pun
Kekurangan Pengujian Dinamis
- Pengujian Dinamis Memakan Waktu karena mengeksekusi aplikasi/perangkat lunak atau kode yang membutuhkan Sumber Daya dalam jumlah besar
- Pengujian Dinamis meningkatkan biaya proyek/produk karena tidak dimulai sejak awal siklus hidup perangkat lunak dan karenanya masalah apa pun yang diperbaiki pada tahap selanjutnya dapat mengakibatkan peningkatan biaya.
Kesimpulan
In Rekayasa Perangkat Lunak, Verifikasi dan Validasi adalah dua tindakan yang digunakan untuk memeriksa apakah produk perangkat lunak memenuhi spesifikasi persyaratan. Pengujian statis melibatkan verifikasi sedangkan pengujian dinamis melibatkan validasi. Bersama-sama mereka membantu menghadirkan Perangkat Lunak Berkualitas yang hemat biaya.