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 di lingkungan runtime perangkat lunak. Kode harus dijalankan untuk menguji perilaku dinamis.
Kita semua tahu bahwa Pengujian adalah verifikasi dan validasi, dan dibutuhkan 2 Vs untuk menyelesaikan pengujian. Dari 2 Vs, Verifikasi disebut pengujian Statis dan "V" lainnya, Validasi dikenal sebagai pengujian Dinamis.
Contoh Pengujian Dinamis
Mari kita pahami Bagaimana melakukan Pengujian Dinamis dengan contoh:
Misalkan kita menguji Halaman Login di mana kita memiliki dua bidang mengatakan "Nama Pengguna" dan "Kata Sandi" dan Nama Pengguna dibatasi untuk Alfanumerik.
Ketika pengguna memasukkan Nama Pengguna sebagai "Guru99", sistem menerima hal yang sama. Sedangkan saat pengguna masuk sebagai Guru99 @ 123 maka aplikasi melontarkan pesan error. Hasil ini menunjukkan bahwa kode tersebut bekerja secara dinamis berdasarkan input pengguna.
Pengujian dinamis adalah saat Anda bekerja dengan sistem aktual 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 di bawah lingkungan yang berbeda untuk membangun perangkat lunak yang tepat.
Apa yang dilakukan pengujian dinamis?
Tujuan utama dari tes Dinamis adalah untuk memastikan bahwa perangkat lunak bekerja dengan baik selama dan setelah instalasi perangkat lunak memastikan aplikasi yang stabil tanpa cacat utama (pernyataan ini dibuat karena tidak ada perangkat lunak yang bebas dari kesalahan, pengujian hanya dapat menunjukkan adanya cacat dan tidak absen)
Tujuan utama dari pengujian dinamis adalah untuk memastikan konsistensi perangkat lunak; mari kita bahas ini dengan sebuah contoh.
Dalam Aplikasi Perbankan, kami menemukan layar yang berbeda seperti Bagian Akun Saya, Transfer Dana, Pembayaran Tagihan, dll… Semua layar ini berisi bidang jumlah yang menerima beberapa karakter.
Misalkan bidang Akun Saya menampilkan jumlah 25.000 dan Transfer Dana sebagai $ 25.000 dan layar pembayaran Tagihan sebagai $ 25.000 meskipun jumlahnya sama, cara jumlah ditampilkan tidak sama sehingga membuat perangkat lunak 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
- Pengujian Kotak Putih
- Pengujian Kotak Hitam
Representasi bergambar 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
White Box Testing - White Box Testing adalah metode pengujian perangkat lunak di mana struktur / desain internal diketahui penguji. Tujuan utama pengujian White Box adalah untuk memeriksa bagaimana kinerja Sistem berdasarkan kode. Ini terutama dilakukan oleh Pengembang atau Penguji Kotak Putih yang memiliki pengetahuan tentang pemrograman.
Pengujian Kotak Hitam - Pengujian Kotak Hitam adalah metode pengujian di mana struktur / kode / desain internal TIDAK diketahui penguji. Tujuan utama dari pengujian ini untuk memverifikasi fungsionalitas sistem yang diuji dan jenis pengujian ini memerlukan untuk menjalankan rangkaian pengujian lengkap dan terutama dilakukan oleh Penguji, dan tidak diperlukan pengetahuan pemrograman apa pun.
The Black Box Pengujian lagi diklasifikasikan menjadi dua jenis.
Mereka
- 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 aktual dengan hasil yang diharapkan.
Ada Tingkat Pengujian Fungsional yang berbeda di mana yang paling penting adalah
- Pengujian Unit - Umumnya Unit adalah potongan kecil kode yang dapat diuji, Pengujian Unit dilakukan pada unit individu perangkat lunak dan dilakukan oleh pengembang
- Pengujian Integrasi - Pengujian Integrasi adalah pengujian yang dilakukan setelah Pengujian Unit dan dilakukan dengan menggabungkan semua unit individu yang dapat diuji dan dilakukan oleh pengembang atau penguji
- Pengujian Sistem - Pengujian Sistem dilakukan untuk memastikan apakah sistem berfungsi sesuai persyaratan dan umumnya dilakukan ketika sistem lengkap sudah siap, dilakukan oleh penguji ketika Build atau kode dirilis ke tim QA
- Pengujian Penerimaan - Pengujian penerimaan dilakukan untuk memverifikasi apakah sistem telah memenuhi persyaratan bisnis dan siap digunakan atau siap untuk penyebaran dan umumnya dilakukan oleh pengguna akhir.
Pengujian Non-Fungsional: Pengujian non-fungsional adalah teknik pengujian yang tidak berfokus 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 yang darinya yang paling penting
- Pengujian Kinerja - Pengujian Kinerja dilakukan untuk memeriksa apakah waktu respons sistem normal sesuai persyaratan di bawah 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 diberi otorisasi 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 di STLC terdiri dari tugas-tugas yang berbeda seperti Analisis Persyaratan untuk pengujian, Perencanaan Pengujian, Desain dan implementasi kasus pengujian, Penyiapan lingkungan pengujian, Eksekusi kasus pengujian, Pelaporan bug, dan akhirnya Penutupan pengujian. Semua tugas dalam teknik pengujian dinamis bergantung pada penyelesaian tugas sebelumnya dalam proses pengujian.
Di 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 Tes harus berfokus pada sumber daya yang tersedia dan kerangka 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
Uji Pengaturan Lingkungan
Kami harus memastikan bahwa Lingkungan Pengujian harus selalu serupa dengan lingkungan Produksi, dalam fase ini kami harus menginstal membangun dan mengelola mesin uji.
Eksekusi Uji
Selama fase ini, kasus uji sebenarnya dijalankan.
Laporan bug ditangkap
Berdasarkan Eksekusi jika Hasil yang Diharapkan dan Aktual tidak sama maka kasus Uji harus ditandai sebagai Gagal dan Bug harus dicatat.
Keuntungan Pengujian Dinamis
- Pengujian Dinamis dapat mengungkap cacat yang tidak terungkap yang dianggap terlalu sulit atau rumit dan tidak dapat ditutupi melalui Analisis statis
- Dalam Pengujian Dinamis, kami menjalankan perangkat lunak, ujung ke ujung, 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 adalah Memakan Waktu karena menjalankan aplikasi / perangkat lunak atau kode yang membutuhkan Sumber Daya dalam jumlah besar
- Pengujian Dinamis meningkatkan biaya proyek / produk karena tidak dimulai pada awal siklus hidup perangkat lunak dan karenanya setiap masalah yang diperbaiki pada tahap selanjutnya dapat mengakibatkan peningkatan biaya.
Kesimpulan:
Dalam Rekayasa Perangkat Lunak, Verifikasi dan Validasi adalah dua ukuran yang digunakan untuk memeriksa apakah produk perangkat lunak memenuhi spesifikasi persyaratan. Pengujian statis melibatkan verifikasi sedangkan pengujian dinamis melibatkan validasi. Bersama-sama mereka membantu memberikan Perangkat Lunak Kualitas yang hemat biaya.
Artikel ini dikontribusikan oleh Radhika Renamala