Pengujian Perangkat Lunak Non-Destruktif (NDT): Apa itu, Strategi Pengujian
⚡ Ringkasan Cerdas
Pengujian Non-Destruktif memverifikasi bahwa aplikasi berperilaku dengan benar ketika menerima input yang valid, itulah sebabnya penguji juga menyebutnya pengujian jalur positif atau jalur sukses. Pengujian ini mengkonfirmasi hasil yang diharapkan terhadap persyaratan yang didokumentasikan.

Apa itu Pengujian Perangkat Lunak Non Destruktif?
Pengujian non destruktif adalah jenis pengujian perangkat lunak yang melibatkan pengujian dan interaksi dengan aplikasi perangkat lunak dengan benar. Dengan kata lain, Non Destructive Software Testing (NDT) bisa juga disebut dengan Positive Testing atau Happy path testing. Ini memberikan hasil yang diharapkan dan membuktikan bahwa aplikasi perangkat lunak berfungsi seperti yang diharapkan.
Nama ini dipinjam dari bidang teknik, di mana pengujian non-destruktif memeriksa komponen fisik tanpa merusaknya. Dalam perangkat lunak, idenya sama: aplikasi diuji sesuai dengan cara yang dirancang untuk digunakan, dan aplikasi tersebut tetap utuh setelah pengujian.
Contoh: Memasukkan data yang benar ke dalam modul login dan memeriksa apakah sistem menerima kredensial dan mengarahkan ke halaman berikutnya.
Tangkapan layar di bawah ini menunjukkan formulir login tersebut, dengan nilai yang valid telah diketikkan ke dalam kolom nama pengguna sebelum pengujian dijalankan.
Untuk melakukan pengujian non-destruktif pada contoh di atas, masukkan nama pengguna dan kata sandi yang valid pada formulir login. Karena input sesuai dengan persyaratan yang diizinkan, hasil yang diinginkan adalah positif dan penguji hanya perlu memastikan bahwa aplikasi beralih ke halaman berikutnya.
Mengapa dilakukan Pengujian Perangkat Lunak Non Destruktif (NDT)?
Pengujian non-destruktif menjawab pertanyaan pertama yang diajukan setiap pemangku kepentingan tentang sebuah build: apakah fitur tersebut benar-benar melakukan apa yang diminta? Inilah alasan mengapa tim menjalankannya.
- Manfaat utama dari metode NDT adalah menghasilkan peningkatan kualitas perangkat lunak, karena cacat yang ditemukan pada alur utama dapat diperbaiki sejak dini.
- Untuk mendemonstrasikan bahwa fungsi perangkat lunak bekerja sesuai spesifikasi.
- Untuk memverifikasi bahwa persyaratan kinerja telah terpenuhi.
- Untuk memverifikasi bahwa kebutuhan pengguna akhir telah terpenuhi.
- Untuk memeriksa apakah sebagian kecil kode atau fungsi bekerja sesuai harapan dan tidak merusak fungsi terkait.
- Untuk menghasilkan bukti yang dapat ditunjukkan pada suatu pengujian penerimaan pengguna tahap persetujuan akhir, di mana pelanggan ingin melihat perilaku yang diharapkan, bukan mode kegagalan.
Kapan Pengujian Non Destruktif (NDT) Dilakukan?
Pengaturan waktu lebih penting di sini daripada untuk sebagian besar teknik lainnya, karena jalur yang berhasil akan mengatur semua hal yang terjadi selanjutnya.
- Ini adalah bentuk pengujian pertama yang akan dilakukan oleh seorang penguji pada sebuah aplikasi, yaitu pada tahap awal pengembangan. SDLC.
- Pengujian non-destruktif biasanya dilakukan ketika tidak ada cukup waktu untuk siklus pengujian lengkap, karena tetap membuktikan bahwa kriteria penerimaan telah terpenuhi.
- Proses ini dijalankan sebelum skenario negatif dan destruktif. Jika alur utama terganggu, pengujian penanganan kesalahan akan melaporkan gangguan (noise) alih-alih cacat sebenarnya.
- Proses ini diulangi setelah setiap perbaikan bug, di situlah letak tumpang tindihnya dengan pengujian regresi.
Strategi Uji untuk Pengujian Non Destruktif
Strategi untuk pengujian tanpa merusak sengaja dibuat sederhana, dan kuncinya terletak pada sikap positif, bukan pada peralatan.
- Pendekatan terhadap pengujian tanpa merusak haruslah positif.
- Tujuan dari teknik NDT adalah untuk membuktikan bahwa suatu aplikasi akan berfungsi ketika diberikan data masukan yang valid.
- Tidak ada persyaratan atau lingkungan khusus yang dibutuhkan untuk melakukan pengujian non-destruktif.
- Praktik terbaik untuk pengujian non-destruktif adalah memeriksa apakah sistem tersebut berfungsi sebagaimana mestinya.
Diagram di bawah ini merangkum bagaimana strategi tersebut biasanya diorganisir dalam satu siklus pengujian.
Cara Menulis Kasus Uji Non-Destruktif (Positif)
Kasus uji non-destruktif hanya berguna jika inputnya terbukti valid dan hasil yang diharapkan berasal dari persyaratan, bukan dari asumsi penguji. Langkah-langkah berikut menghasilkan jenis kasus uji tersebut. Kasus cobaan.
Langkah 1) Pilih satu kriteria penerimaan. Bacalah persyaratannya dan nyatakan kembali sebagai satu pernyataan yang dapat diverifikasi, misalnya “kolom nama pengguna menerima enam hingga dua puluh karakter alfanumerik”.
Langkah 2) Pilih data input yang valid. Pilih nilai yang berada dalam rentang yang diizinkan. Partisi kesetaraan Hal ini membantu — satu nilai representatif per partisi yang valid biasanya sudah cukup.
Langkah 3) Tuliskan hasil yang diharapkan sebelum mengeksekusi. Hasil yang diharapkan harus ditulis berdasarkan spesifikasi. Menulisnya setelah eksekusi akan mengubah pengujian menjadi deskripsi tentang apa pun yang terjadi selama proses build.
Langkah 4) Ikuti langkah-langkah sesuai urutan pengguna. Urutan tersebut harus sesuai dengan cara pengguna sebenarnya menyelesaikan tugas, karena tujuan dari teknik ini adalah untuk mengkonfirmasi alur kerja yang dimaksud.
Langkah 5) Catat pengidentifikasi persyaratan. TracMengembalikan kasus ke kriteria yang ditetapkan adalah hal yang memungkinkan tim untuk membuktikan cakupan asuransi selama proses peninjauan.
Berikut contoh kode yang digunakan untuk modul login.
| Bidang | Kasus uji non-destruktif |
|---|---|
| Kebutuhan | Nama pengguna dapat terdiri dari 6–20 karakter alfanumerik. |
| Uji data | Nama Pengguna guru99tester, kata sandi yang cocok dan valid |
| Tangga | Buka halaman login, masukkan kredensial, pilih Login. |
| Hasil yang diharapkan | Kredensial diterima dan halaman beranda ditampilkan. |
| Tipe | Jalan positif/bahagia |
Perhatikan bahwa tidak ada satu pun dalam kasus ini yang mencoba merusak kolom. Kasus yang memasukkan lima karakter untuk melihat pesan kesalahan adalah sebuah tes negatif, bukan yang tidak merusak.
Contoh Pengujian Non Destruktif
Contoh di bawah ini menunjukkan bagaimana pengujian non-destruktif berperilaku di seluruh aplikasi multi-modul setelah cacat telah diperbaiki.
- Sebuah aplikasi memiliki lima modul: halaman login, halaman beranda, halaman detail pengguna, pembuatan pengguna baru, dan pembuatan tugas.
- Misalkan terdapat bug pada halaman login: kolom nama pengguna menerima kurang dari enam karakter alfanumerik. Hal ini bertentangan dengan persyaratan yang ditetapkan, yang menyatakan bahwa nama pengguna seharusnya tidak menerima kurang dari enam karakter, sehingga perilaku tersebut merupakan suatu cacat.
- Bug tersebut dilaporkan ke tim pengembang melalui cara yang biasa. proses manajemen cacat, masalahnya sudah diperbaiki, dan build tersebut dikirim kembali ke tim pengujian.
- Tim penguji tidak hanya memeriksa halaman login tempat cacat telah diperbaiki, tetapi juga menguji modul lainnya. Saat menguji semua modul dengan data yang valid, tim melakukan pengujian non-destruktif, hanya untuk memastikan bahwa seluruh aplikasi masih berfungsi dengan baik.
Pengujian Tanpa Merusak vs Pengujian Merusak
Kedua teknik tersebut sering diajarkan bersama karena keduanya menjawab pertanyaan yang berlawanan tentang konstruksi yang sama. Pengujian yang merusak Mencari titik di mana perangkat lunak mengalami kegagalan, sementara pengujian non-destruktif memastikan bahwa perilaku yang diinginkan tetap terjaga.
| Aspek | Pengujian non destruktif | Pengujian Merusak |
|---|---|---|
| Niat | Berinteraksilah dengan aplikasi dengan benar dan verifikasi hasil positifnya. | Berikan input yang tidak biasa atau tidak valid untuk menemukan titik kegagalan. |
| Memasukan data | Data valid yang diambil dari persyaratan | Data tidak valid, rusak, atau tidak berurutan |
| Persyaratan yang dibutuhkan | Ya — kasus-kasus ditulis berdasarkan kriteria penerimaan. | Tidak selalu; penguji bekerja tanpa bias cerita pengguna. |
| Apa yang diungkapkannya | Kelemahan fungsionalitas dibandingkan dengan spesifikasi. | Kelemahan dalam desain, ketahanan, dan kemampuan pemulihan. |
| Teknik terkait | Pengujian asap, pengujian fungsional | Pengujian monyet, pengujian eksplorasi |
Keduanya saling melengkapi, bukan alternatif. Menjalankan pengujian non-destruktif saja tidak memverifikasi penanganan kesalahan, dan menjalankan pengujian destruktif saja tidak pernah membuktikan bahwa produk tersebut berfungsi sebagaimana mestinya.
Keunggulan dan Keterbatasan Pengujian Perangkat Lunak Non-Destruktif
Mengetahui di mana teknik tersebut berhenti berguna sama pentingnya dengan mengetahui apa yang dicakupnya.
Kelebihan
- Cepat dalam perancangan dan pelaksanaannya, karena data pengujian langsung berasal dari spesifikasi.
- Tidak memerlukan lingkungan khusus, injeksi kesalahan, atau kumpulan data yang rusak.
- Menghasilkan bukti yang sesuai secara langsung dengan persyaratan, yang cocok untuk audit dan persetujuan.
- Berfungsi sama baiknya dengan pengujian manual dan sesuai naskah pengujian otomasi, sehingga kasus yang sama dapat digunakan kembali dalam rangkaian pengujian regresi.
- Memberikan sinyal awal dan jujur tentang kesehatan bangunan di setiap level, dari unit hingga keseluruhan. tes integrasi untuk pengujian sistem.
keterbatasan
- Hasil uji lulus penuh tidak memberikan informasi apa pun tentang bagaimana aplikasi berperilaku dengan input yang tidak valid, sehingga cacat penanganan kesalahan yang serius dapat lolos dari uji tersebut.
- Cakupan pengujian dibatasi oleh kualitas persyaratan. Apa pun yang tidak ditentukan tidak akan pernah diuji.
- Hal ini dapat menciptakan rasa percaya diri yang keliru ketika skenario yang paling ideal adalah satu-satunya skenario yang dicoba sebelum sebuah rilis.
- Metode ini tidak mengukur kekokohan, pemulihan, atau kinerja di bawah tekanan, yang membutuhkan teknik tersendiri dari rangkaian metode yang lebih luas. jenis pengujian perangkat lunak.
Perlakukan pengujian non-destruktif sebagai dasar yang menjadi landasan setiap teknik lainnya, dan jadwalkan pengujian tersebut dalam kerangka kerja yang lebih luas. siklus hidup pengujian perangkat lunak alih-alih sebagai aktivitas sekali saja.


