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.

  • 🔘 Ide inti: Pisahkan setiap domain input ke dalam kelas-kelas kesetaraan dan uji satu nilai representatif per kelas, bukan setiap kemungkinan input.
  • ☑️ Fokus batas: Nilai-nilai di tepi kelas, dan tepat di luarnya, lebih sering mengungkap kesalahan selisih satu angka dibandingkan nilai-nilai di tengah kelas.
  • Teknik berpasangan: Analisis kelas kesetaraan menentukan kelompokpingAnalisis nilai batas menentukan anggota mana dari setiap kelompok yang akan dijalankan.
  • 🧪 Contoh yang dikerjakan: Modul penjualan tiket yang mengelompokkan kompetisi berdasarkan usia dan jenis kelamin mengurangi empat kelompok usia menjadi serangkaian tes singkat yang bernilai tinggi.
  • 📈 Ketergantungan pengetahuan: Menilai apakah suatu keluaran benar atau tidak membutuhkan aturan bisnis, sehingga teknik ini cocok untuk bagian-bagian logika yang kecil dan mudah dipahami.

Pengujian Domain dalam pengujian perangkat lunak dengan kelas kesetaraan dan nilai batas.

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.

Strategi pengujian domain yang menunjukkan variabel input mengalir ke dalam suatu domain dan menghasilkan output.

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.

Output tiket untuk setiap kombinasi usia dan jenis kelamin digunakan untuk menentukan hasil pengujian domain.

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.

Pertanyaan Umum Demo Slot

Kedua label tersebut muncul dalam praktiknya. Kelas-kelas yang diturunkan dari spesifikasi menjadikannya sebuah kotak hitam teknik; kelas-kelas yang diturunkan dari kode tersebut menjadikannya white box. Analisisnya sendiri identik.

Metode ini mencakup bagian-bagian yang rawan kesalahan dengan sangat sedikit kasus uji. Keterbatasannya nyata: batasan sulit ditentukan secara tepat, dan seluruh alur kerja tidak pernah diuji coba, sehingga metode ini melengkapi metode lain daripada menggantikannya.

Pemartisian kesetaraan adalah salah satu langkah dalam pengujian domain, yang juga mengurutkan variabel, menambahkan analisis batas, menangani dimensi sekunder dan variabel keluaran, dan diakhiri dengan tabel risiko.

Keduanya saling tumpang tindih tanpa identik. Artikel ini membahas analisis domain input, sedangkan penggunaan industri seperti pengujian domain perawatan kesehatan berarti melakukan pengujian dengan pengetahuan sektor, yang masih dibutuhkan untuk menilai hasil yang diharapkan.

Asisten AI membaca persyaratan dan mengusulkan kelas kesetaraan kandidat, nilai tepi, dan kasus tidak valid yang hilang. Penguji tetap mengkonfirmasi batasan sebenarnya, karena rentang yang disimpulkan secara salah menghasilkan kumpulan data uji yang meyakinkan tetapi tidak berguna.

Kopilot GitHub Menulis metode pengujian berparameter setelah kelas dan edge muncul di prompt atau kode. Batasan bisnis yang tidak disebutkan harus diberikan oleh penguji.

Setiap kombinasi tumbuh secara multiplikatif, sehingga jarang praktis. Analisis setiap variabel secara terpisah terlebih dahulu, kemudian gunakan pasangan atau susunan ortogonal pemilihan untuk kombinasi berisiko.

Hanya menguji kelas yang valid dan melewatinya.ping pengujian negatif, menggunakan batasan inklusif di mana aturannya eksklusif, dan mengabaikan variabel keluaran sepenuhnya.

Ringkaslah postingan ini dengan: