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.

  • ✅ Hasil tes positif: Hanya masukkan data yang valid dan pastikan aplikasi menyelesaikan alur yang dimaksud persis seperti yang dijelaskan dalam spesifikasi.
  • ⛔ Hasil tes negatif: Masukkan data yang tidak valid atau ekstrem dan pastikan aplikasi menolaknya, menampilkan kesalahan yang jelas, dan tetap stabil.
  • 📏 Analisis nilai batas: Uji batas setiap rentang yang diterima, lalu satu langkah di luarnya, untuk mendeteksi kesalahan selisih satu dengan cepat.
  • 🧩 Pembagian kesetaraan: Pisahkan input menjadi kelompok valid dan tidak valid, lalu ambil satu nilai dari setiap kelompok alih-alih menguji semuanya.
  • ️ Aturan cakupan: Tuliskan setidaknya dua kasus per persyaratan, satu positif dan satu negatif, sehingga tidak ada kriteria penerimaan yang dikirim tanpa diuji.
  • 🛡️ Manfaat keamanan: Kasus negatif mengungkap kelemahan injeksi, token kedaluwarsa, dan pengecualian yang tidak ditangani yang tidak pernah disentuh oleh eksekusi positif.
  • 🤖 Kesesuaian otomatisasi: Otomatiskan aliran positif yang stabil untuk nilai regresi, dan otomatiskan pemeriksaan validasi negatif untuk umpan balik ketahanan.

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.

Pengujian Positif

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

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.

Pengujian Positif Vs Negatif

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.

Partisi Kesetaraan

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.

  1. 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.
  2. Tuliskan kasus positifnya terlebih dahulu. Berikan data yang valid, lakukan tindakan, dan catat hasil keberhasilan yang diharapkan sebagai acuan.
  3. 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.
  4. Tambahkan masukan yang bermusuhan. Memasukkan Injeksi SQL string, token kedaluwarsa, dan payload API yang salah format sehingga pengujian keamanan Celah muncul lebih awal.
  5. 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.
  6. 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.

Pertanyaan Umum Demo Slot

Pengujian negatif Pengujian destruktif memeriksa apakah aplikasi menolak input yang tidak valid dengan baik. Pengujian destruktif melangkah lebih jauh dan sengaja mendorong sistem menuju kegagalan, seperti menghentikan koneksi basis data di tengah transaksi, untuk mengukur perilaku pemulihan dan ketahanan dalam kondisi ekstrem.

Nomor Pengujian asap dan kewarasan Gunakan hanya pemeriksaan positif, karena pemeriksaan ini berfungsi sebagai gerbang kualitas cepat pada build baru. Kasus negatif sengaja menciptakan kesalahan, jadi tim menjalankannya selama siklus fungsional yang lebih dalam.

Ya. Generator AI membaca persyaratan atau cerita pengguna dan mengusulkan kumpulan input yang valid dan tidak valid, termasuk nilai batas. Penguji tetap meninjaunya, karena kasus negatif yang dihasilkan sering kali melewatkan batasan domain seperti ambang batas peraturan atau aturan pembulatan mata uang.

Ya. Fitur AI memerlukan kasus negatif untuk injeksi cepat, respons model yang salah format, waktu habis, dan pertanyaan di luar cakupan. Karena output bervariasi antar eksekusi, pernyataan harus memeriksa format respons, filter keamanan, dan perilaku cadangan, bukan hanya satu string harapan tetap.

Selenium mendorong validasi kolom browser, Postman mencakup muatan API dan kode status yang tidak valid, dan JMeter Mendorong beban melebihi batas yang didukung untuk skenario stres. Pilih alat yang sesuai dengan lapisan yang Anda validasi.

Ringkaslah postingan ini dengan: