Apa itu Pengujian Destruktif dalam Perangkat Lunak?
⚡ Ringkasan Cerdas
Pengujian destruktif sengaja mendorong aplikasi perangkat lunak hingga gagal, mengungkap titik-titik tepat di mana ketahanan (robustness) runtuh akibat penggunaan yang tidak tepat, input yang tidak valid, dan perilaku yang tidak dapat diprediksi yang tidak pernah dijangkau oleh pemeriksaan fungsional biasa.

Apa itu Pengujian Destruktif?
Pengujian yang merusak Pengujian destruktif adalah metode pengujian perangkat lunak yang digunakan untuk menemukan titik kegagalan dalam sebuah program perangkat lunak. Dalam teknik ini, aplikasi sengaja dibuat gagal, sehingga ketahanannya dapat diperiksa dan titik kegagalannya dapat diidentifikasi. Tidak seperti metode pengujian yang memverifikasi apa yang seharusnya dilakukan aplikasi, pengujian destruktif memeriksa perilaku pengguna yang tidak terduga di dalam aplikasi.
Pengetahuan tentang persyaratan asli tidak diperlukan untuk pengujian destruktif. Namun, beberapa pengetahuan memang membantu dalam pengembangan...ping Strategi pengujian yang baik.
Ilustrasi di bawah ini menggambarkan idenya — penguji bekerja melawan produk, bukan bekerja sama dengannya.
Mengapa Melakukan Pengujian Destruktif?
- Hal ini membantu memahami perilaku perangkat lunak yang dapat diprediksi ketika perangkat lunak tersebut digunakan secara tidak tepat.
- Ini membantu untuk memeriksa ketahanan produk perangkat lunak.
- Ini mengungkap cacat langka yang tidak pernah dipicu oleh pengguna biasa, tetapi muncul kemudian dalam proses produksi.
Pengujian Destruktif vs Pengujian Non-Destruktif
Kedua pendekatan tersebut saling melengkapi, bukan bersaing. Pengujian non destruktif — juga disebut pengujian jalur positif atau jalur sukses — berinteraksi dengan perangkat lunak dengan benar dan membiarkan build tetap utuh. Pengujian destruktif melakukan hal sebaliknya: ia memasukkan data yang tidak valid dan urutan yang salah hingga terjadi kerusakan.
| Aspek | Pengujian yang merusak | Pengujian non destruktif |
| Maksud | Paksa aplikasi untuk gagal | Konfirmasikan bahwa aplikasi berfungsi sesuai spesifikasi. |
| Masukan yang digunakan | Tidak valid, cacat, di luar jangkauan, di luar urutan | Data valid dalam rentang yang diharapkan |
| Pertanyaan terjawab | Di mana dan bagaimana cara kerusakannya? | Apakah fungsinya sesuai dengan yang seharusnya? |
| Persyaratan pengetahuan | Opsional | penting |
| Biaya tipikal | Tingkat lanjut — eksploratif dan terbuka | Lebih rendah — terprogram dan dapat diulang |
| Hasil | Titik kegagalan, batas jangkauan, perilaku pemulihan | Lulus atau gagal berdasarkan spesifikasi. |
Apa yang Anda periksa dalam pengujian destruktif?
Pengujian destruktif melihat kedua sisi batas perilaku:
- Perilaku perangkat lunak yang tepat
- Perilaku perangkat lunak yang tidak tepat
- Penggunaan yang tidak tepat
- Data masukan yang tidak tepat
- Data keluaran yang tepat
Dua kondisi berikut harus terpenuhi selama pelaksanaan latihan:
- Perangkat lunak tidak akan pernah memproses atau menerima data masukan yang tidak valid.
- Terlepas dari keabsahan atau kebenaran data masukan, perangkat lunak harus selalu menghasilkan data keluaran yang tepat.
Bagaimana cara melakukan Pengujian Destruktif?
Pengujian destruktif melibatkan banyak aktivitas, seperti merancang serangkaian skrip pengujian, menjalankan skrip tersebut, melaporkan bug, menutup bug, dan memberikan metrik lulus atau gagal kepada pemangku kepentingan di akhir iterasi.
Ada banyak cara untuk menjalankannya. Beberapa contohnya akan disajikan berikut ini.
- Metode analisis titik kegagalan: Penelusuran sistem yang menilai apa yang bisa salah di berbagai titik. Bantuan dari seorang analis bisnis dapat dipertimbangkan untuk strategi ini.
- Peninjauan sejawat oleh penguji: dapatkan kasus uji dianalisis atau ditinjau oleh sesama penguji yang kurang familiar dengan sistem atau fungsi tersebut.
- Tinjauan bisnis terhadap kasus uji: Pengguna akhir atau pakar sering kali memikirkan skenario valid yang terlewatkan oleh penguji, karena fokus penguji hanya tertuju pada persyaratan yang telah ditetapkan.
- Lakukan pengujian eksplorasi menggunakan lembar kerja (run sheet): pengujian eksplorasi Dengan adanya lembar kerja (run sheet), tercatat apa saja yang telah diuji, memungkinkan pengujian untuk diulang, dan menjaga cakupan pengujian tetap terkendali.
- Gunakan sumber lain: Mintalah orang lain untuk menemukan kesalahan pada produk perangkat lunak tersebut dan menganalisis skenario yang mereka temukan.
Contoh Pengujian Destruktif
Perhatikan layar login dan profil aplikasi perbankan. Serangan yang merusak akan berhasil dalam kasus-kasus seperti ini:
- Tempelkan string sepanjang 5,000 karakter ke dalam kolom yang dibatasi hingga 50 karakter dan pastikan kolom tersebut menolaknya alih-alih memotongnya secara diam-diam.
- Masukkan huruf, simbol, dan nilai negatif ke dalam kolom jumlah numerik.
- Melanggar urutan yang diharapkan — langsung membuka halaman konfirmasi pembayaran tanpa menyelesaikan langkah sebelumnya.
- Tekan tombol kirim berulang kali dan dengan cepat untuk melihat apakah ada data duplikat yang dibuat.
- Putuskan koneksi jaringan di tengah transaksi dan periksa apakah aplikasi pulih dengan bersih atau meninggalkan catatan yang tidak lengkap.
Setiap kasus memiliki ekspektasi yang jelas: pesan validasi yang jelas, tidak ada kerusakan data, dan tidak ada pengecualian yang tidak ditangani. Jika terjadi hal lain, itu merupakan titik kegagalan yang perlu dilaporkan sebagai cacat.
Metode Pengujian Destruktif
Metode-metode berikut digunakan dalam rekayasa perangkat lunak untuk mencapai tujuan pengujian destruktif:
- Pengujian Alpha/Beta
- Pengujian regresi
- Pengujian antarmuka
- Partisi kesetaraan
- Pengujian lingkaran
- Pengujian penerimaan, dan sebagainya.
Teknik Pengujian Destruktif
Teknik-teknik di bawah ini dapat digunakan dengan beberapa modifikasi:
- Pengujian kotak putih
- Pengujian keamanan
- Pengujian cacat
- Pengujian asap, dan seterusnya
Teknik-teknik terkait yang layak ditambahkan ketika tujuan utamanya adalah kekokohan (robustity) adalah... pengujian negatif, stress testing, pengujian pemulihan ke pengujian kabur.
Keuntungan dan Kerugian Pengujian Destruktif
Ada baiknya menjelaskan secara gamblang tentang konsekuensi yang ditimbulkan sebelum teknik ini direncanakan untuk dirilis.
Kelebihan
- Revtitik kegagalan yang tidak pernah dicapai oleh pengujian berbasis spesifikasi.
- Menetapkan batasan jangkauan nyata, sehingga produk dapat dioperasikan di dalam batasan tersebut dengan percaya diri.
- Mengungkapkan cacat langka yang muncul dalam produksi lama setelah peluncuran produk.
- Memeriksa daya tahan, kemampuan pemulihan, dan penanganan kesalahan dalam kondisi penyalahgunaan.
Kekurangan
- Bersifat terbuka, sehingga cakupannya tidak dapat dijamin atau diukur dengan mudah.
- Memakan waktu dan bergantung pada pengalaman serta kreativitas penguji.
- Temuan sulit direproduksi tanpa pencatatan langkah-langkah yang digunakan secara cermat.
- Pengujian yang tidak terkontrol dengan baik dapat merusak data pengujian bersama, sehingga diperlukan lingkungan yang terisolasi.

