Apa itu Pengujian Negatif? Uji kasus Dengan Contoh

Daftar Isi:

Anonim

Pengujian Negatif

Pengujian Negatif adalah jenis pengujian perangkat lunak yang digunakan untuk memeriksa aplikasi perangkat lunak untuk data dan kondisi input yang tidak terduga. Data atau kondisi yang tidak terduga dapat berupa apa saja, mulai dari tipe data yang salah hingga serangan peretasan yang kuat. Tujuan pengujian negatif adalah untuk mencegah aplikasi perangkat lunak agar tidak mogok karena masukan negatif dan meningkatkan kualitas dan stabilitas.

Dengan hanya melakukan pengujian positif kami hanya dapat memastikan sistem kami berfungsi dalam kondisi normal. Kami harus memastikan bahwa sistem kami dapat menangani kondisi yang tidak terduga untuk memastikan sistem bebas kesalahan 100%.

Dalam tutorial ini, Anda akan belajar-

  • Apa itu Pengujian Negatif?
  • Contoh Pengujian Negatif
  • Mengapa Pengujian Negatif?
  • Bagaimana melakukan Pengujian Negatif
  • Keuntungan Pengujian Negatif
  • Kerugian dari Pengujian Negatif

Contoh Pengujian Negatif

Pertimbangkan kasus lift yang umumnya dianggap sebagai contoh pengujian negatif.

Kita semua tahu fungsi lift. Ini akan dianggap sebagai persyaratan lift seperti menekan nomor lantai membuat lift pergi ke lantai tertentu.

Pintu terbuka secara otomatis setelah lift mencapai lantai yang ditentukan dan seterusnya.

Sekarang mari pertimbangkan beberapa skenario negatif untuk peningkatan. Beberapa dari mereka adalah,

Pengujian Negatif Pengujian Positif
  • Apa yang terjadi jika jumlah orang (berat) melebihi batas yang ditentukan?
  • Diasumsikan satu-satunya jumlah orang yang akan memasuki lift
  • Apa yang terjadi jika seseorang merokok atau menyebabkan kebakaran di dalam lift?
  • Tidak akan ada asap atau api di dalam lift
  • Apa yang terjadi jika listrik mati selama pengoperasian?
  • Tidak akan ada listrik mati selama pengerjaan lift

Semua kasus ini akan berada dalam pengujian negatif. Pentingnya ini adalah bahwa kita tidak dapat memastikan bahwa semua yang disebutkan di atas tidak akan terjadi, jadi kita membutuhkannya.

Pertimbangkan kasus kondisi kelebihan berat badan diperiksa dan pada penerapan, lift bekerja tidak normal ketika ada kondisi kelebihan berat badan. Hal ini akan berdampak potensial pada keandalan sistem dan bahkan dapat membahayakan nyawa. Ini menjelaskan apa itu pengujian negatif dan pentingnya pengujian itu.

Kasus yang sama juga diterapkan dalam perangkat lunak. Untuk pengujian negatif, kami telah menyimpang dari prosedur operasional normal. Mari kita lihat beberapa contoh.

Pertimbangkan formulir pendaftaran misalnya.

Pengujian Negatif Pengujian Positif
  • Coba masukkan id email yang tidak valid di bidang email
  • Hanya id email yang valid yang akan dimasukkan ke dalam bidang email
  • Coba masukkan nomor telepon yang tidak valid di bidang nomor telepon (karakter)
  • Satu-satunya nomor yang akan dimasukkan di bidang nomor
  • Unggah gambar dengan ukuran di luar batas yang ditentukan
  • Hanya gambar dengan ukuran di bawah batas yang ditentukan yang akan diunggah
  • Unggah file yang tidak valid seperti XML, SQL, dll. File di bidang unggahan gambar
  • Unggah hanya format gambar yang valid seperti jpg.webp.png.webp, dll.

Seperti yang kami katakan sebelumnya, kami harus memastikan dalam semua kasus negatif ini sistem kami akan berfungsi dengan baik. Pertimbangkan kasus jika seseorang mencoba memasukkan karakter di bidang angka dan sistem tidak dapat memproses data yang tidak diharapkan karena mengharapkan angka, dan akhirnya, sistem macet. Atau bagaimana jika seseorang mencoba melakukan injeksi SQL dan menghapus semua data kita dari database. Kami tidak dapat menanggung potensi kerugian seperti itu. Jadi pengujian negatif itu penting.

Mengapa Pengujian Negatif?

Karena pengujian adalah tugas yang memakan waktu dan biaya, memutuskan 'apa', 'bagaimana' dan 'seberapa banyak' yang akan diuji sangatlah penting. Kita harus memilih dengan bijak apakah kita harus melakukan pengujian negatif di sistem kita atau tidak. Jadi, mari kita lihat pentingnya pengujian negatif.

Perspektif organisasi

Merupakan tanggung jawab organisasi untuk menyediakan produk berkualitas baik kepada kliennya. Untuk mencapai ini, seseorang harus melakukan pengujian negatif.

Sebagai bagian dari konfirmasi terhadap kegagalan, organisasi harus melakukan pengujian negatif.

Mungkin kita tidak dapat membangun sistem bebas kesalahan 100%, tetapi kita harus memastikan bahwa kita telah melakukan segalanya untuk mencegah kegagalan, untuk mencapai itu kita harus melakukan pengujian negatif.

Dampaknya merupakan salah satu faktor yang harus kita pertimbangkan. Pertimbangkan kami telah melakukan pengujian positif pada situs e-commerce dan memastikan semuanya baik-baik saja. Tetapi bagaimana jika ada celah dalam sistem kami sehingga seseorang dapat melakukan injeksi SQL dan menghapus semua data kami. Itu akan menjadi pelanggaran keamanan yang hebat. Untuk menghindari jenis kasus ini, seseorang harus melakukan pengujian negatif juga.

Untuk aplikasi yang terbuka untuk umum, terutama situs web, kami harus selalu ingat bahwa kami tidak memiliki banyak kendali dalam prosedur penggunaan aplikasi, jadi kami harus melakukan pengujian negatif untuk memastikan bahwa semua kasus tersebut tercakup dan terkandung.

Hal lain yang perlu kita perhatikan adalah ada banyak peretas hitam di luar sana yang mencari peluang untuk menghancurkan sistem. Peretasan adalah kasus penting yang tercakup dalam pengujian negatif

Perspektif klien

Klien selalu mengharapkan produk tanpa kerentanan, untuk memastikan bahwa pengujian negatif adalah suatu keharusan

Jika itu adalah produk sensitif seperti e-commerce, saham online, dll., Maka keamanan dan pengujian negatif adalah suatu keharusan.

Satu-satunya perhatian klien mengenai pengujian negatif adalah biayanya. Tetapi setelah dampaknya dianalisis, terserah klien untuk memutuskan apakah akan melakukan pengujian negatif atau tidak.

Bagaimana melakukan pengujian negatif

Untuk melakukan pengujian negatif, kita harus mempertimbangkan semua kemungkinan kasus. Itu jika memungkinkan kita harus mempertimbangkannya dalam Test Case tidak peduli apakah itu bukan cara yang tepat untuk menggunakannya. Misalnya, jika kita melihat bidang email, pikirkan tentang semua masukan yang mungkin, kita dapat meletakkannya di sana selain format email yang benar. Cara yang sama ketika kita melihat opsi unggah gambar, kita harus mengujinya dengan semua file yang memungkinkan.

Saat membuat kasus uji negatif, kami harus memprioritaskan masukan jika tidak, akan ada banyak kasus yang mungkin terjadi. Misalnya, untuk bidang gambar di mana hanya file '.png.webp' yang seharusnya dimasukkan, kami dapat memiliki banyak opsi untuk mengunggah seperti 'jpeg.webp', 'xml', 'xls', dll ... Jadi kami perlu memprioritaskan opsi seperti XML dan SQL dapat memiliki pengaruh yang lebih besar dibandingkan dengan jpeg.webp dan xls sehingga kita harus menangani kasus SQL dan XML terlebih dahulu. Seperti ini, kami harus memprioritaskan kasus sebelum eksekusi untuk menghemat waktu dan biaya pengujian.

Pro dan kontra dari pengujian negatif

Seperti semua teknik pengujian lainnya, ada pro dan kontra untuk pengujian negatif terutama berdasarkan 'di mana', 'kapan' dan 'bagaimana' menggunakan. Mari kita lihat ini.

Keuntungan Pengujian Negatif

  • Seperti kita ketahui pengujian negatif sangat penting untuk memastikan kualitas suatu produk. Produk berkualitas baik adalah produk tanpa kerentanan, untuk memastikan bahwa pengujian negatif sangat penting.
  • Melakukan pengujian negatif memastikan bahwa semua kemungkinan kasus tercakup. Secara sengaja atau tidak sengaja ada kemungkinan kasus tes negatif akan terjadi. Jadi untuk memastikan semua kasus tercakup, kita harus melakukan pengujian negatif bersama dengan pengujian positif.
  • Pengujian negatif akan membuat klien lebih percaya diri sebelum ditayangkan.

Kerugian dari Pengujian Negatif

  • Dalam Rekayasa Perangkat Lunak, pengujian negatif dalam beberapa kasus menjadi pemborosan waktu dan energi. Dalam banyak kasus, pengujian negatif yang berlebihan tidak diperlukan. Misalnya, jika sebuah aplikasi dibuat untuk penggunaan satu orang, maka kita tidak perlu mempertimbangkan kasus bahwa 100 pengguna menggunakan sistem dalam satu waktu. Jadi menentukan kondisi dalam kasus uji negatif sangat penting. Akan ada saat dimana kita tidak perlu melakukan pengujian negatif pada sistem tertentu.
  • Membutuhkan orang yang terampil dan berpengalaman untuk membuat kasus tes negatif.
  • Bagi klien, pengujian negatif adalah hal lain yang menyebabkan penundaan rilis dan penambah biaya yang tidak perlu.
  • Kesempatan bahwa tim menghabiskan lebih banyak waktu dan energi untuk pengujian negatif. Ada kemungkinan penguji menghabiskan banyak waktu dan energi dalam pengujian negatif yang menghasilkan konsentrasi yang lebih rendah dalam pengujian positif.