Apa itu Pengujian Domain dalam Pengujian Perangkat Lunak? (dengan Contoh)
⚡ Ringkasan Cerdas
Pengujian domain memeriksa suatu aplikasi dengan memberinya serangkaian input terkecil yang berguna, mencakup nilai valid, tidak valid, dan batas, serta memastikan bahwa hanya nilai-nilai di dalam rentang yang diterima yang menghasilkan output yang dibutuhkan.
Apa itu Pengujian Domain?
Pengujian domain adalah pengujian perangkat lunak Proses di mana aplikasi diuji dengan memberikan sejumlah input minimum dan mengevaluasi output yang sesuai. Tujuan utama pengujian domain adalah untuk memeriksa apakah aplikasi perangkat lunak menerima input dalam rentang yang dapat diterima dan memberikan output yang dibutuhkan.
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. Teknik ini juga dianggap sebagai salah satu teknik penting. pengujian kotak putih metode. Lebih lanjut, metode ini memverifikasi bahwa sistem tidak boleh menerima input, kondisi, dan indeks di luar rentang yang ditentukan atau valid.
Pengujian domain berbeda untuk setiap domain spesifik, jadi Anda memerlukan 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 tersebut mungkin mencakup pengujian salah satu variabel input atau kombinasi dari beberapa variabel input.
Para praktisi sering mempelajari kasus-kasus paling sederhana dari pengujian domain dengan dua nama lain, yaitu "pengujian batas" dan "analisis kelas kesetaraan."
Pengujian batas - Analisis nilai batas (BVA) didasarkan pada pengujian di batas antara partisi. Kita akan menguji nilai input yang valid dan tidak valid di dalam 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'.
Bentuk sederhana tersebut berlaku untuk pengujian domain –
- Hanya untuk menguji variabel input
- Hanya ketika diuji pada tingkat sistem
- Hanya ketika diuji satu per satu
- 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:
- Jika suatu kolom menerima rentang nilai dari 0-100, kolom tersebut tidak boleh menerima -1 dan 101, karena nilai tersebut tidak valid dan berada di luar batas yang diizinkan.
- Kolom tersebut harus menerima nilai seperti 0, 100, dan angka apa pun di antara keduanya.
Membuat meja seperti ini (dalam praktiknya)
- Untuk membangun analisis kelas ekivalensi dari waktu ke waktu, masukkan informasi ke dalam spreadsheet. Mulailah dengan mencantumkan variabel. Tambahkan informasi tentang variabel tersebut seiring Anda memperolehnya.
- Tabel tersebut pada akhirnya harus berisi semua variabel. Ini berarti semua variabel masukan, semua variabel keluaran, dan variabel perantara apa pun yang dapat Anda amati.
- Dalam praktiknya, sebagian besar tabel semacam itu tidak lengkap. Tabel terbaik hanya mencantumkan setiap variabel dan menambahkan detail untuk variabel-variabel yang penting.
Strategi Pengujian Domain
Saat melakukan pengujian domain, Anda perlu mempertimbangkan hal-hal berikut:
- Domain apa yang kami uji?
- Bagaimana cara mengelompokkan nilai ke dalam kelas?
- Nilai kelas mana yang akan diuji?
- Bagaimana cara menentukan hasilnya?
Domain apa yang kami uji?
Setiap domain yang kita uji memiliki fungsi masukan dan fungsi keluaran. Akan ada beberapa variabel masukan yang perlu dimasukkan, dan keluaran yang sesuai harus diverifikasi. Diagram di bawah ini menunjukkan hubungan masukan-ke-keluaran tersebut.
Contoh Pengujian Domain
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, dan tidak pula diperlukan kombinasi variabel apa pun.
Pertimbangkan beberapa masukan di bawah ini dan skenario keluaran yang sesuai:
Pertimbangkan sebuah pameran permainan untuk anak-anak. Enam kompetisi diselenggarakan, dan tiket harus diberikan sesuai dengan usia dan jenis kelamin yang dimasukkan. Sistem penjualan tiket adalah salah satu modul yang akan diuji untuk keseluruhan fungsionalitas pameran permainan tersebut.
Berdasarkan skenario, kami mendapat enam skenario berdasarkan usia dan kompetisi:
- Untuk anak usia >5 dan <=10 tahun, anak laki-laki sebaiknya ikut serta dalam kegiatan Bercerita.
- Anak perempuan usia >5 dan <=10 tahun wajib mengikuti Lomba Menggambar.
- Anak laki-laki berusia >10 dan <=15 tahun wajib berpartisipasi dalam Kuis.
- Pada usia >10 dan <=15 tahun, anak perempuan sebaiknya berpartisipasi dalam penulisan esai.
- Untuk usia ≤5 tahun, baik anak laki-laki maupun perempuan wajib berpartisipasi dalam Lomba Sajak.
- Usia >15 tahun, baik putra maupun putri harus berpartisipasi dalam kompetisi Puisi.
Di sini inputnya adalah Usia dan Jenis Kelamin, dan karenanya tiket untuk kompetisi akan diterbitkan. Kasus ini adalah di mana partisi input, atau sederhananya pengelompokanping nilai-nilai, mulai berperan.
Bagaimana cara mengelompokkan nilai ke dalam kelas?
Mempartisi beberapa nilai berarti memisahkannya menjadi bagian-bagian yang tidak tumpang tindih.ping himpunan bagian.
Seperti yang telah kita bahas sebelumnya, ada dua jenis partisi:
- Partisi kesetaraan – Partisi kesetaraan adalah teknik pengujian perangkat lunak yang membagi data masukan dari suatu unit perangkat lunak menjadi partisi data yang setara, dari mana kasus uji dapat diturunkan. Pada prinsipnya, kasus uji dirancang untuk mencakup setiap partisi setidaknya sekali.
- Analisis nilai batas – Analisis nilai batas adalah teknik pengujian perangkat lunak di mana pengujian dirancang untuk mencakup perwakilan nilai batas dalam suatu rentang. Ide ini berasal dari batas.
Untuk contoh di atas, kita membagi nilai-nilai tersebut menjadi beberapa subset. Kita membagi usia ke dalam kelas-kelas berikut:
- Kelas 1: Anak-anak dengan kelompok usia 5 hingga 10 tahun
- Kelas 2: Anak-anak dengan kelompok usia kurang dari 5 tahun
- Kelas 3: Anak-anak dengan kelompok usia 10 hingga 15 tahun
- Kelas 4: Anak-anak dengan kelompok usia di atas 15 tahun.
Nilai kelas mana yang akan diuji?
Nilai yang dipilih untuk pengujian harus berupa nilai batas:
- Batasan merupakan representasi dari kelas kesetaraan yang kita ambil sampelnya. Batasan lebih mungkin mengungkap kesalahan daripada anggota kelas lainnya, sehingga batasan merupakan representasi yang lebih baik.
- Perwakilan terbaik dari kelas kesetaraan adalah nilai yang berada di antara rentang tersebut.
Untuk contoh di atas, kita memiliki kelas berikut yang akan diuji:
Sebagai contoh, untuk skenario #1:
Kelas 1: Anak-anak dengan kelompok usia 5 hingga 10 tahun (Usia >5 dan <=10)
Nilai batas:
- Nilai harus sama dengan atau kurang dari 10. Oleh karena itu, usia 10 tahun harus dimasukkan dalam kelas ini.
- Nilainya harus lebih besar dari 5. Oleh karena itu, usia 5 tahun tidak boleh dimasukkan dalam kelas ini.
- Nilai harus sama dengan atau kurang dari 10. Oleh karena itu, usia 11 tahun tidak boleh dimasukkan dalam kelas ini.
- Nilainya harus lebih besar dari 5. Oleh karena itu, usia 6 tahun harus dimasukkan dalam kelas ini.
Nilai partisi kesetaraan:
Partisi kesetaraan mengacu pada kondisi di mana kita hanya perlu menguji satu kondisi dari setiap partisi. Dalam hal ini, kita berasumsi bahwa jika satu kondisi dalam suatu partisi terpenuhi, maka semua kondisi lainnya juga akan terpenuhi. Dengan cara yang sama, jika satu kondisi dalam partisi tersebut tidak terpenuhi, maka kita berasumsi bahwa tidak ada kondisi lain yang akan terpenuhi. 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 dipilih. Oleh karena itu, usia yang dipilih "8" adalah usia masukan yang valid untuk kelompok usia antara (Usia >5 dan <=10). Pembagian semacam ini disebut sebagai pembagian kesetaraan.
| 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?
Keberhasilan penerapan fungsionalitas tidak hanya bergantung pada hasil skenario di atas. Masukan yang diberikan dan keluaran yang diharapkan akan memberikan hasil, dan ini membutuhkan pengetahuan domain.
Menentukan hasil contoh: tampilan layar di bawah ini menunjukkan hasil penerbitan tiket untuk setiap kombinasi usia dan jenis kelamin.
Oleh karena itu, jika semua kasus uji di atas berhasil, domain penerbitan tiket dalam kompetisi dinyatakan berhasil. Jika tidak, domain tersebut dinyatakan gagal.
Struktur Pengujian Domain
Biasanya, penguji mengikuti langkah-langkah di bawah ini dalam pengujian domain. Langkah-langkah ini dapat disesuaikan atau dilewati sesuai dengan kebutuhan pengujian kita.
- 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, di mana pengujian tabel keputusan membantu.
- Bayangkan risiko yang belum tentu sesuai dengan dimensi yang jelas.
- Identifikasi dan daftarkan variabel yang belum dianalisis. Kumpulkan informasi untuk analisis selanjutnya.
- Ringkaslah analisis Anda dengan tabel risiko/ekivalensi.


