Apa itu Pengujian Domain dalam Pengujian Perangkat Lunak? (dengan Contoh)

Apa itu Pengujian Domain?

Pengujian Domain adalah Pengujian Perangkat Lunak proses di mana aplikasi diuji dengan memberikan jumlah masukan minimum dan mengevaluasi keluaran yang sesuai. Tujuan utama pengujian Domain adalah untuk memeriksa apakah aplikasi perangkat lunak menerima masukan dalam rentang yang dapat diterima dan memberikan keluaran yang diperlukan.

Ini adalah Pengujian Fungsional teknik di mana keluaran suatu sistem diuji dengan jumlah masukan minimal untuk memastikan bahwa sistem tidak menerima nilai masukan yang tidak valid dan di luar jangkauan. Ini adalah salah satu yang paling penting Putih Box pengujian metode. Hal ini juga memverifikasi bahwa sistem tidak boleh menerima input, kondisi dan indeks di luar rentang yang ditentukan atau valid.

Pengujian domain berbeda untuk setiap domain tertentu sehingga Anda perlu memiliki pengetahuan khusus domain untuk menguji sistem perangkat lunak.

Praktik Pengujian Domain yang Lebih Sederhana

Dalam pengujian domain, kami membagi domain menjadi sub-domain (kelas ekivalensi) dan kemudian menguji menggunakan nilai dari setiap subdomain. Misalnya, jika sebuah website (domain) telah diberikan untuk pengujian, kami akan membagi website tersebut menjadi beberapa bagian kecil (subdomain) untuk kemudahan pengujian.

Domain mungkin melibatkan pengujian satu variabel masukan atau kombinasi variabel masukan.

Praktisi sering kali mempelajari kasus paling sederhana dari pengujian domain kurang dari dua nama lainnya, “pengujian batas” dan “analisis kelas kesetaraan.”

Pengujian batas – Analisis nilai batas (BVA) didasarkan pada pengujian pada batas antar partisi. Kami akan menguji nilai input yang valid dan tidak valid di partisi/kelas.

Pengujian Kelas Kesetaraan – Ide di balik teknik ini adalah untuk membagi (yaitu mempartisi) sekumpulan kondisi pengujian ke dalam kelompok atau himpunan yang dapat dianggap sama (yaitu sistem harus menanganinya secara setara), maka 'partisi ekivalensi'.

Formulir yang disederhanakan itu berlaku untuk pengujian Domain –

  1. Hanya untuk menguji variabel input
  2. Hanya ketika diuji pada tingkat sistem
  3. Hanya ketika diuji satu per satu
  4. Hanya jika diuji dengan cara yang sangat dangkal

Dapat disederhanakan seperti dibawah ini:

Variabel Kelas Kesetaraan Kelas yang Valid Kelas Kesetaraan Kelas Tidak Valid Batasan & Kasus Khusus Catatan
X 0-100 0
100
<0 -1
> 100 101

Penjelasan:

  1. Jika bidang yang menerima berkisar antara 0-100, bidang tersebut tidak boleh menerima -1 dan 101 karena keduanya merupakan entri yang tidak valid dan melampaui batas.
  2. Bidang tersebut harus menerima nilai seperti 0,100 dan angka apa pun di antaranya.

Membangun meja seperti ini (dalam praktiknya)

  1. Untuk membangun analisis kelas kesetaraan dari waktu ke waktu, masukkan informasi ke dalam spreadsheet. Mulailah dengan membuat daftar variabel. Tambahkan informasi tentang mereka saat Anda mendapatkannya.
  2. Tabel pada akhirnya harus berisi semua variabel. Artinya, semua variabel masukan, semua variabel keluaran, dan variabel perantara apa pun yang dapat Anda amati.
  3. Dalam praktiknya, sebagian besar tabel yang saya lihat tidak lengkap. Yang terbaik terlihat mencantumkan semua variabel dan menambahkan detail untuk variabel penting.

Strategi Pengujian Domain

Saat menguji domain, Anda perlu mempertimbangkan hal-hal berikut,

  1. Domain apa yang kami uji?
  2. Bagaimana cara mengelompokkan nilai ke dalam kelas?
  3. Nilai kelas mana yang akan diuji?
  4. Bagaimana cara menentukan hasilnya?

Domain apa yang kami uji?

Setiap domain yang kami uji memiliki beberapa fungsi masukan dan fungsi keluaran. Akan ada beberapa variabel masukan yang harus dimasukkan, dan keluaran yang sesuai harus diverifikasi.

Strategi Pengujian Domain

Contoh Pengujian Domain

  1. Pertimbangkan skenario pengujian masukan tunggal:

C = a+b, dimana a dan b adalah variabel masukan dan C adalah variabel keluaran.

Pada contoh di atas, tidak diperlukan klasifikasi atau kombinasi variabel.

  1. Pertimbangkan beberapa masukan di bawah ini dan skenario keluaran yang sesuai:

Pertimbangkan pameran permainan untuk Anak-anak, 6 kompetisi telah disusun, dan tiket harus diberikan sesuai dengan masukan usia dan jenis kelamin. Tiket adalah salah satu modul yang akan diuji untuk keseluruhan fungsi pameran Games.

Berdasarkan skenario, kami mendapat enam skenario berdasarkan usia dan kompetisi:

  1. Usia >5 dan <10, Laki-laki harus berpartisipasi dalam Bercerita.
  2. Usia >5 dan <10, anak perempuan harus berpartisipasi dalam Lomba Menggambar.
  3. Usia >10 dan <15, Laki-laki harus berpartisipasi dalam Kuis.
  4. Usia >10 dan <15 tahun, anak perempuan harus berpartisipasi dalam penulisan Esai.
  5. Usia <5 tahun, baik putra maupun putri harus berpartisipasi dalam Kompetisi Sajak.
  6. Usia >15 tahun, baik putra maupun putri harus berpartisipasi dalam kompetisi Puisi.

Di sini masukannya adalah Usia dan Jenis Kelamin dan karenanya tiket kompetisi akan dikeluarkan. Dalam hal ini partisi input atau sekadar pengelompokan nilai mulai terlihat.

Bagaimana cara mengelompokkan nilai ke dalam kelas?

Mempartisi beberapa nilai berarti membaginya menjadi subset yang tidak tumpang tindih.

Seperti yang telah kita bahas sebelumnya, ada dua jenis partisi:

  1. Partisi kesetaraan – Partisi ekuivalen adalah a pengujian perangkat lunak teknik yang membagi data masukan dari unit perangkat lunak ke dalam partisi-partisi data yang ekuivalen dari mana kasus uji dapat diturunkan. Pada prinsipnya, kasus uji dirancang untuk mencakup setiap partisi setidaknya satu kali.
  2. Analisis nilai batas – Analisis nilai batas adalah a pengujian perangkat lunak teknik di mana tes dirancang untuk menyertakan perwakilan nilai batas dalam suatu rentang. Idenya berasal dari batas.

Untuk contoh di atas, kita mempartisi nilai menjadi subset atau subset. Kami membagi usia ke dalam kelas-kelas di bawah ini:

  1. Kelas 1: Anak-anak dengan kelompok usia 5 hingga 10 tahun
  2. Kelas 2: Anak-anak dengan kelompok usia kurang dari 5 tahun
  3. Kelas 3: Anak-anak dengan kelompok usia 10 hingga 15 tahun
  4. Kelas 4: Anak-anak dengan kelompok usia lebih dari 15 tahun.

Nilai kelas mana yang akan diuji?

Nilai yang diambil untuk pengujian harus berupa nilai Batas:

  1. Batasan adalah perwakilan dari kelas kesetaraan tempat kami mengambil sampelnya. Mereka lebih mungkin mengungkap kesalahan dibandingkan anggota kelas lainnya, jadi mereka adalah perwakilan yang lebih baik.
  2. Perwakilan terbaik dari kelas kesetaraan adalah nilai yang berada di antara rentang tersebut.

Untuk contoh di atas, kita memiliki kelas berikut yang akan diuji:

Misalnya untuk skenario #1:

  1. Kelas 1: Anak-anak dengan kelompok usia 5 hingga 10 tahun (Usia >5 dan <=10)

Nilai batas:

  1. Nilainya harus Sama dengan atau kurang dari 10. Oleh karena itu, usia 10 tahun harus dimasukkan dalam kelas ini.
  2. Nilainya harus lebih besar dari 5. Oleh karena itu, usia 5 tahun tidak boleh dimasukkan dalam kelas ini.
  3. Nilainya harus Sama dengan atau kurang dari 10. Oleh karena itu, usia 11 tahun tidak boleh dimasukkan dalam kelas ini.
  4. Nilainya harus lebih besar dari 5. Oleh karena itu, usia 6 tahun harus dimasukkan dalam kelas ini.

Nilai partisi kesetaraan:

Partisi ekivalensi disebut ketika seseorang harus menguji hanya satu kondisi dari setiap partisi. Dalam hal ini, kita berasumsi bahwa jika satu kondisi dalam sebuah partisi berfungsi, maka semua kondisi tersebut juga akan berfungsi. Dengan cara yang sama, jika satu kondisi pada partisi tersebut tidak berfungsi, maka kita berasumsi bahwa tidak ada kondisi lainnya yang akan berfungsi. Misalnya,

(Usia >5 dan <=10)

Karena nilai dari 6 hingga 10 adalah nilai yang valid, salah satu nilai di antara 6,7,8,9 dan 10 harus diambil. Oleh karena itu usia yang dipilih “8” adalah usia masukan yang valid untuk kelompok usia antara (Usia >5 dan <=10). Partisi semacam ini disebut sebagai partisi ekuivalen.

Contoh Nilai batas yang harus diambil Nilai partisi kesetaraan
Laki-laki – Usia >5 dan <=10 Usia masukan = 6
Usia masukan = 5
Usia masukan = 11
Usia masukan = 10
Usia masukan = 8
Perempuan – Usia >5 dan <=10 Usia masukan = 6
Usia masukan = 5
Usia masukan = 11
Usia masukan = 10
Usia masukan = 8
Laki-laki – Usia >10 dan <=15 Usia masukan = 11
Usia masukan = 10
Usia masukan = 15
Usia masukan = 16
Usia masukan = 13
Perempuan – Usia >10 dan <=15 Usia masukan = 11
Usia masukan = 10
Usia masukan = 15
Usia masukan = 16
Usia masukan = 13
Usia<=5 Usia masukan = 4
Usia masukan = 5
Usia masukan = 3
Umur> 15 Usia masukan = 15
Usia masukan = 16
Usia masukan = 25

Bagaimana kita menentukan apakah program tersebut lulus atau gagal dalam pengujian?

Melewati fungsionalitas tidak hanya bergantung pada hasil skenario di atas. Masukan yang diberikan dan keluaran yang diharapkan akan memberikan kita hasil dan ini membutuhkan pengetahuan domain.

Menentukan hasil dari contoh:

Menentukan Hasil

Oleh karena itu, jika semua test case di atas lolos, maka domain penerbitan tiket dalam kompetisi tersebut lolos. Jika tidak, domain akan gagal.

Struktur Pengujian Domain

Biasanya, penguji mengikuti langkah-langkah di bawah ini dalam pengujian domain. Ini dapat disesuaikan/dilewati sesuai dengan kebutuhan pengujian kami.

  • Identifikasi variabel yang berpotensi menarik.
  • Identifikasi variabel yang dapat Anda analisis sekarang dan urutkan (dari terkecil ke terbesar dan sebaliknya).
  • Buat dan identifikasi nilai batas dan nilai kelas ekivalensi seperti di atas.
  • Identifikasi dimensi sekunder dan analisis masing-masing dengan cara klasik. (Dalam contoh di atas, Gender adalah dimensi sekunder).
  • Identifikasi dan uji variabel yang memberikan hasil (variabel keluaran).
  • Evaluasi bagaimana program menggunakan nilai variabel ini.
  • Identifikasi variabel tambahan yang berpotensi terkait untuk pengujian kombinasi.
  • Bayangkan risiko yang belum tentu terpetakan ke dimensi yang jelas.
  • Identifikasi dan daftarkan variabel yang belum dianalisis. Kumpulkan informasi untuk analisis selanjutnya.
  • Ringkaslah analisis Anda dengan tabel risiko/ekivalensi.

Kesimpulan

Pengujian domain, seperti dijelaskan di atas, memerlukan pengetahuan dalam memberikan masukan yang tepat untuk mencapai keluaran yang diinginkan. Oleh karena itu, hanya mungkin untuk menggunakannya untuk potongan kecil kode.