Apa itu Pengujian Negatif? Uji kasus Dengan Contoh
Pengujian Negatif
Pengujian Negatif adalah jenis pengujian perangkat lunak yang digunakan untuk memeriksa aplikasi perangkat lunak terhadap data dan kondisi masukan yang tidak terduga. Data atau kondisi yang tidak terduga bisa berupa apa saja, mulai dari tipe data yang salah hingga serangan peretasan yang kuat. Tujuan pengujian negatif adalah untuk mencegah aplikasi perangkat lunak mogok karena masukan negatif dan meningkatkan kualitas dan stabilitas.
Dengan hanya melakukan pengujian positif kita hanya dapat memastikan sistem kita bekerja dalam kondisi normal. Kami harus memastikan bahwa sistem kami dapat menangani kondisi yang tidak terduga untuk memastikan sistem 100% bebas kesalahan.
Contoh Pengujian Negatif
Pertimbangkan kasus lift yang merupakan contoh pengujian negatif yang umum dianggap.
Kita semua tahu fungsi lift. Ini akan dianggap sebagai persyaratan lift seperti menekan nomor lantai yang membuat lift menuju ke lantai tersebut.
Pintu terbuka secara otomatis begitu lift mencapai lantai yang ditentukan dan seterusnya.
Sekarang mari kita pertimbangkan beberapa skenario negatif terhadap peningkatan. Beberapa dari mereka adalah,
Pengujian Negatif | Pengujian Positif |
---|---|
Apa jadinya jika jumlah orang (berat) melebihi batas yang ditentukan? | Diasumsikan hanya sejumlah orang tertentu 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 terjadi pemadaman listrik selama pengoperasian? | Tidak akan ada pemadaman listrik selama pengoperasian lift |
Semua kasus ini akan diuji secara negatif. Pentingnya hal ini adalah kita tidak dapat memastikan bahwa semua hal di atas tidak akan terjadi, sehingga kita perlu mengatasinya.
Misalkan kondisi kelebihan berat badan diperiksa dan pada penerapannya, kinerja lift tidak normal bila terdapat kondisi kelebihan berat badan. Hal ini berpotensi berdampak pada keandalan sistem dan bahkan dapat menimbulkan bahaya bagi kehidupan. Hal ini menjelaskan apa itu pengujian negatif dan pentingnya hal tersebut.
Kasus yang sama juga diterapkan pada perangkat lunak. Untuk pengujian negatif, kami telah menyimpang dari prosedur operasional normal. Mari kita lihat beberapa contoh.
Misalnya pada formulir pendaftaran.
Pengujian Negatif | Pengujian Positif |
---|---|
Coba masukkan id email yang tidak valid di kolom email | Hanya id email yang valid yang akan dimasukkan di kolom email |
Coba masukkan nomor telepon yang tidak valid di kolom nomor telepon (karakter) | Satu-satunya nomor yang akan dimasukkan di kolom 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 unggah gambar | Unggah hanya format gambar yang valid seperti jpg.png, 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 dalam kolom angka dan sistem tidak dapat memproses data yang tidak diharapkan karena mengharapkan angka, dan akhirnya, sistem mengalami crash. Atau bagaimana jika seseorang mencoba melakukan suatu Injeksi SQL dan menghapus semua data kami dari database. Kami tidak sanggup menanggung potensi kerugian sebesar itu. Jadi pengujian negatif itu penting.
Mengapa Pengujian Negatif?
Karena pengujian merupakan tugas yang memakan waktu dan biaya, memutuskan 'apa', 'bagaimana' dan 'berapa banyak' yang akan diuji sangatlah penting. Kita harus memilih dengan bijak apakah kita harus melakukan pengujian negatif pada 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 hal ini, seseorang harus melakukan pengujian negatif.
Sebagai bagian dari konfirmasi terhadap kegagalan, organisasi harus melakukan pengujian negatif.
Mungkin kita tidak bisa membangun sistem yang 100% bebas kesalahan, tapi kita harus memastikan bahwa kita telah melakukan segalanya untuk mencegah kegagalan, untuk mencapainya kita harus melakukan pengujian negatif.
Dampaknya adalah salah satu faktor yang harus kita pertimbangkan. Anggaplah kita telah melakukan pengujian positif pada situs e-niaga dan memastikan semuanya baik-baik saja. Namun bagaimana jika ada celah di sistem kita sehingga seseorang dapat melakukan injeksi SQL dan menghapus semua data kita. Itu akan menjadi pelanggaran keamanan yang besar. Untuk menghindari kasus seperti ini, kita juga harus melakukan tes negatif.
Untuk aplikasi yang terbuka untuk umum, terutama situs web, kami harus selalu ingat bahwa kami tidak memiliki banyak kendali atas prosedur penggunaan aplikasi, jadi kami harus melakukan pengujian negatif untuk memastikan bahwa semua kasus tersebut tercakup dan terkendali.
Hal lain yang perlu kita waspadai adalah banyak peretas kulit 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 kekhawatiran klien mengenai pengujian negatif adalah biayanya. Namun setelah dampaknya dianalisis, klien berhak memutuskan apakah akan melakukan pengujian negatif atau tidak.
Bagaimana melakukan pengujian negatif
Untuk melakukan pengujian negatif kita harus mempertimbangkan semua kemungkinan kasus. Itu kalau memungkinkan kita harus mempertimbangkannya dalam Uji Kasus tidak masalah apakah itu cara yang tepat untuk menggunakannya. Misalnya, jika kita melihat kolom email, pikirkan semua kemungkinan input yang dapat kita masukkan di sana selain format email yang benar. Sama halnya ketika kita melihat opsi unggah gambar, kita harus mengujinya dengan semua file yang memungkinkan.
Saat membuat kasus uji negatif, kita harus memprioritaskan input, jika tidak, akan ada banyak kasus yang memungkinkan. Misalnya, untuk bidang gambar yang hanya berisi file '.png', kita dapat memiliki banyak opsi untuk mengunggah seperti 'jpeg', 'xml', 'xls', dll. Jadi, kita perlu memprioritaskan opsi seperti XML dan SQL dapat memiliki dampak yang lebih besar dibandingkan jpeg dan xls jadi kita harus menangani kasus SQL dan XML terlebih dahulu. Dengan demikian, kami harus memprioritaskan kasus sebelum dieksekusi 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' penggunaannya. Mari kita lihat ini.
Keuntungan Pengujian Negatif
- Seperti kita ketahui pengujian negatif sangat penting untuk menjamin kualitas suatu produk. Produk berkualitas baik adalah produk tanpa kerentanan, untuk memastikan bahwa pengujian negatif sangat penting.
- Melakukan tes negatif memastikan bahwa semua kemungkinan kasus tercakup. Disengaja atau tidak, ada kemungkinan terjadinya test case negatif. Jadi untuk memastikan semua kasus tercakup, kita harus melakukan tes negatif dan tes positif.
- Pengujian negatif akan membuat klien lebih percaya diri sebelum ditayangkan.
Kerugian dari Pengujian Negatif
- Dalam Rekayasa Perangkat Lunak, pengujian Negatif dalam beberapa kasus hanya membuang-buang 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 dimana 100 pengguna menggunakan sistem pada satu waktu. Jadi menentukan kondisi dalam kasus uji negatif sangatlah penting. Akan ada saatnya kita tidak perlu melakukan pengujian negatif pada sistem tertentu.
- Memerlukan orang yang terampil dan berpengalaman untuk membuat kasus uji negatif.
- Bagi klien, pengujian negatif adalah hal lain yang menyebabkan penundaan yang tidak perlu dalam rilis dan menambah biaya.
- Kemungkinan tim menghabiskan lebih banyak waktu dan energi untuk pengujian negatif. Ada kemungkinan penguji menghabiskan banyak waktu dan energi dalam pengujian negatif yang mengakibatkan konsentrasi lebih rendah dalam pengujian positif.