Pengujian Positif dan Pengujian Negatif dengan Contoh
⚡ Ringkasan Cerdas
Pengujian positif dan negatif secara bersama-sama menentukan apakah perangkat lunak menerima apa yang seharusnya diterima dan menolak apa yang seharusnya tidak diterima. Artikel ini menjelaskan kedua pendekatan tersebut, teknik di baliknya, contoh praktis, dan praktik yang menjaga agar kebocoran cacat tetap rendah.

Pengujian perangkat lunak adalah proses verifikasi dan validasi aplikasi perangkat lunak untuk memeriksa apakah aplikasi tersebut berfungsi sebagaimana mestinya. Tujuannya adalah untuk menemukan cacat dan meningkatkan kualitas produk. Ada dua cara untuk menguji perangkat lunak, yaitu Pengujian Positif dan Pengujian Negatif.
Kedua pendekatan tersebut menjawab pertanyaan yang berlawanan: apakah aplikasi berfungsi ketika semuanya berjalan lancar, dan apakah aplikasi tetap stabil ketika terjadi kesalahan?
Apa itu Tes Positif?
Pengujian Positif adalah jenis pengujian yang dilakukan pada aplikasi perangkat lunak dengan memberikan kumpulan data yang valid sebagai input. Pengujian ini memeriksa apakah aplikasi perangkat lunak berperilaku sesuai harapan dengan input positif atau tidak.
Pengujian positif dilakukan untuk memeriksa apakah aplikasi perangkat lunak melakukan persis seperti yang diharapkan. Oleh karena itu, pengujian ini juga disebut pengujian jalur sukses (happy path testing).
Sebagai contoh, perhatikan kotak teks numerik yang ditunjukkan di bawah ini.
Ada kotak teks dalam aplikasi yang hanya dapat menerima angka. Memasukkan nilai hingga 99999 akan diterima oleh sistem dan nilai lain selain ini tidak akan diterima. Untuk melakukan pengujian positif, tetapkan nilai input yang valid dari 0 hingga 99999 dan periksa apakah sistem menerima nilai tersebut.
Apa itu Pengujian Negatif?
Pengujian Negatif adalah metode pengujian yang dilakukan pada aplikasi perangkat lunak dengan memberikan kumpulan data yang tidak valid atau tidak tepat sebagai input. Metode ini memeriksa apakah aplikasi perangkat lunak berperilaku seperti yang diharapkan dengan input pengguna yang negatif atau tidak diinginkan.
Tujuan dari pengujian negatif adalah untuk memastikan bahwa aplikasi perangkat lunak tidak mengalami kerusakan dan tetap stabil dengan input data yang tidak valid. Oleh karena itu, pengujian ini juga disebut pengujian jalur kesalahan atau pengujian kegagalan.
Sebagai contoh, pertimbangkan bidang yang sama yang menerima karakter, bukan angka.
Pengujian negatif dapat dilakukan dengan memasukkan karakter A sampai Z atau dari a sampai z. Sistem perangkat lunak tidak boleh menerima nilai tersebut atau akan memunculkan pesan kesalahan untuk input data yang tidak valid ini.
Dalam kedua jenis pengujian tersebut, hal-hal berikut perlu dipertimbangkan:
- Memasukan data
- Suatu tindakan yang perlu dilakukan
- Hasil Keluaran
Tes Positif vs Tes Negatif: Perbedaan Utama
Kedua pendekatan tersebut memiliki kesamaan Kasus cobaan struktur. Perbedaannya terletak pada input yang Anda berikan dan pada apa yang dibuktikan oleh hasil yang lulus.
| Parameter | Pengujian Positif | Pengujian Negatif |
|---|---|---|
| Juga dikenal sebagai | Pengujian jalur yang menyenangkan | Pengujian jalur kesalahan atau kegagalan |
| Masukan yang digunakan | Data yang valid dan sesuai harapan | Data tidak valid, ekstrem, atau tidak terduga. |
| Tujuan | Konfirmasikan apakah fitur tersebut berfungsi sebagaimana mestinya. | Konfirmasikan bahwa fitur tersebut menolak hal yang seharusnya tidak ditolak. |
| Hasil yang diharapkan | Alur berhasil diselesaikan. | Terjadi kesalahan yang jelas, namun sistem tetap stabil. |
| Menangani kesalahan | Bukan fokusnya | Seluruh fokus |
| Liputan | Sempit, mengikuti spesifikasi | Luas, mengeksplorasi segala sesuatu di luar spesifikasi. |
| Risiko umum jika dilewati | Fitur inti pengiriman rusak | Kerusakan dan celah keamanan mencapai tahap produksi. |
Hasil tes positif yang gagal menandakan kerusakan fungsi. Hasil tes negatif yang gagal menandakan adanya pengaman yang hilang, yang jauh lebih mahal untuk diperbaiki setelah pengguna menemukannya.
Teknik Pengujian yang Digunakan untuk Pengujian Positif dan Negatif
Dalam praktiknya, dua teknik desain input klasik menghasilkan kasus positif dan negatif dari persyaratan yang sama:
- Analisis Nilai Batas
- Partisi Kesetaraan
Analisis Nilai Batas
Ini adalah salah satu teknik pengujian perangkat lunak di mana kasus uji dirancang untuk memasukkan nilai-nilai pada batasnya. Apabila data masukan yang digunakan masih dalam batas nilai batas, maka dikatakan Pengujian Positif. Jika data masukan diambil di luar batas nilai batasnya, maka dikatakan Pengujian Negatif.
Sebagai contoh, perhatikan rentang yang diterima seperti yang diilustrasikan di bawah ini.
Suatu sistem dapat menerima angka dari 0 hingga 10 nilai numerik. Semua angka lainnya adalah nilai yang tidak valid. Dengan teknik ini, nilai batas -1,0,1 dan 9,10,11 akan diuji.
Partisi Kesetaraan
Ini adalah sebuah pengujian perangkat lunak teknik yang membagi data masukan menjadi banyak partisi. Nilai dari setiap partisi harus diuji setidaknya sekali. Partisi dengan nilai valid digunakan untuk Pengujian Positif. Sedangkan partisi dengan nilai yang tidak valid digunakan untuk pengujian negatif.
Sebagai contoh, perhatikan dua partisi yang ditunjukkan di bawah ini.
Nilai numerik nol hingga sepuluh dapat dibagi menjadi dua (atau tiga) partisi. Dalam kasus kita, kita memiliki dua partisi -10 hingga -1 dan 0 hingga 10. Nilai sampel (5 dan -5) dapat diambil dari setiap bagian untuk menguji skenario. Lihat pembagian kesetaraan dan analisis nilai batas Pelajaran untuk contoh soal yang lebih lengkap.
Cara Melakukan Tes Positif dan Negatif
Urutan berikut mengubah satu persyaratan menjadi serangkaian kasus positif dan negatif yang seimbang.
- Bacalah persyaratan untuk batasan. Perhatikan setiap format, rentang, dan kolom wajib yang diterima. Apa pun yang diizinkan oleh spesifikasi menjadi kasus positif, dan apa pun yang dikecualikan menjadi kasus negatif.
- Tuliskan kasus positifnya terlebih dahulu. Berikan data yang valid, lakukan tindakan, dan catat hasil keberhasilan yang diharapkan sebagai acuan.
- Turunkan kasus negatif dari batasan yang sama. Gunakan analisis nilai batas dan partisi kesetaraan untuk menghasilkan kolom kosong, tipe data yang salah, dan angka di luar rentang.
- Tambahkan masukan yang bermusuhan. Memasukkan Injeksi SQL string, token kedaluwarsa, dan payload API yang salah format sehingga pengujian keamanan Celah muncul lebih awal.
- Perluas ke pemeriksaan non-fungsional. A uji beban pada jumlah pengguna yang didukung bernilai positif, sedangkan a tes stres Di luar batas itu terdapat kasus negatif yang sesuai.
- Pilih di mana setiap kasus dijalankan. Jauhkan kasus negatif dari pengujian asap dan kewarasan, yang merupakan gerbang positif cepat, dan menjalankannya dalam fungsi dan pengujian regresi siklus.
Penarikan uang di ATM menunjukkan proses pencocokan. Kasus positif memasukkan PIN yang benar dan jumlah yang valid, sehingga uang tunai dan struk akan keluar. Kasus negatif memasukkan PIN yang salah dan mengharapkan pesan penolakan, kemudian pemblokiran kartu.
Praktik Terbaik untuk Menjaga Keseimbangan yang Tepat
- Tuliskan setidaknya dua kasus per persyaratan, satu positif dan satu negatif, sebelum pengembangan dimulai.
- Prioritaskan kasus negatif berdasarkan dampaknya, sehingga kegagalan injeksi dan pembayaran didahulukan daripada kesalahan input kosmetik.
- Sebutkan pesan kesalahan itu sendiri, bukan hanya bahwa tindakan tersebut gagal, karena pesan yang samar juga merupakan kekurangan.
- Sisakan ruang untuk pengujian eksplorasidan catat temuannya melalui Anda. proses manajemen cacat.
⚠️ Peringatan: Jangan pernah menjalankan skenario negatif pada lingkungan produksi yang sedang berjalan. Skenario negatif dibuat untuk memicu kegagalan, dan kegagalan yang disengaja akan memengaruhi pengguna dan data yang sebenarnya.

.png)
.png)
.png)
.png)