Apa itu Pengujian Domain?
Domain Testing adalah proses Pengujian Perisian di mana aplikasi diuji dengan memberikan jumlah input minimum dan menilai output yang sesuai. Tujuan utama pengujian Domain adalah untuk memeriksa sama ada aplikasi perisian menerima input dalam jangkauan yang dapat diterima dan memberikan output yang diperlukan.
Ini adalah teknik Pengujian Fungsional di mana output sistem diuji dengan jumlah input minimum untuk memastikan sistem tidak menerima nilai input yang tidak sah dan di luar jangkauan. Ia adalah salah satu kaedah Ujian Kotak Putih yang paling penting. Ini juga mengesahkan bahawa sistem tidak boleh menerima input, syarat dan indeks di luar julat yang ditentukan atau sah.
Pengujian domain berbeza untuk setiap domain tertentu sehingga anda perlu memiliki pengetahuan khusus domain untuk menguji sistem perisian.
Dalam tutorial ini, anda akan belajar-
- Amalan Pengujian Domain yang Lebih Mudah
- Strategi Pengujian Domain
- Contoh Ujian Domain
- Struktur Ujian Domain
Amalan Pengujian Domain yang Lebih Mudah
Dalam pengujian domain, kami membahagikan domain menjadi sub-domain (kelas kesetaraan) dan kemudian menguji menggunakan nilai dari setiap subdomain. Sebagai contoh, jika laman web (domain) telah diberikan untuk pengujian, kami akan membahagikan laman web menjadi beberapa bahagian (subdomain) untuk kemudahan pengujian.
Domain mungkin melibatkan pengujian salah satu pemboleh ubah input atau kombinasi pemboleh ubah input.
Pengamal sering mengkaji kes pengujian domain yang paling mudah daripada dua nama lain, "ujian sempadan" dan "analisis kelas kesetaraan."
Pengujian sempadan - Analisis nilai sempadan (BVA) berdasarkan pengujian di sempadan antara partisi. Kami akan menguji nilai input yang sah dan tidak sah di partisi / kelas.
Pengujian Kelas Kesetaraan - Idea di sebalik teknik ini adalah untuk membahagikan (iaitu untuk membahagi) satu set syarat ujian ke dalam kumpulan atau set yang boleh dianggap sama (iaitu sistem harus mengatasinya secara setara), oleh itu 'pembahagi kesetaraan.'
Borang yang dipermudahkan itu digunakan untuk ujian Domain -
- Hanya untuk ujian pemboleh ubah input
- Hanya apabila diuji di peringkat sistem
- Hanya apabila diuji satu demi satu
- Hanya apabila diuji dengan cara yang sangat dangkal
Ia boleh dipermudahkan seperti di bawah:
Pembolehubah | Kelas Kesetaraan Kelas yang Sah | Kelas Kesetaraan Kelas Tidak Sah | Sempadan & Kes khas | Catatan |
---|---|---|---|---|
X | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Penjelasan:
- Sekiranya medan menerima berkisar antara 0-100, bidang tidak boleh menerima -1 dan 101 kerana mereka adalah entri yang tidak sah dan melampaui batas.
- Medan harus menerima nilai seperti 0,100 dan sebarang nombor di antara mereka.
Membina meja seperti ini (dalam praktiknya)
- Untuk membina analisis kelas kesetaraan dari masa ke masa memasukkan maklumat ke dalam spreadsheet. Mulakan dengan menyenaraikan pemboleh ubah. Tambahkan maklumat mengenai mereka semasa anda memperolehnya.
- Jadual akhirnya harus mengandungi semua pemboleh ubah. Ini bermaksud, semua pemboleh ubah input, semua pemboleh ubah output, dan sebarang pemboleh ubah perantaraan yang dapat anda perhatikan.
- Dalam praktiknya, kebanyakan jadual yang saya lihat tidak lengkap. Yang terbaik dilihat menyenaraikan semua pemboleh ubah dan menambahkan perincian untuk pemboleh ubah kritikal.
Strategi Pengujian Domain
Semasa ujian domain, anda perlu mempertimbangkan untuk mengikuti perkara-perkara,
- Domain apa yang kami uji?
- Bagaimana untuk mengumpulkan nilai ke dalam kelas?
- Nilai kelas mana yang akan diuji?
- Bagaimana menentukan hasilnya?
Domain apa yang kami uji?
Setiap domain yang kami uji mempunyai beberapa fungsi input dan fungsi output. Akan ada beberapa pemboleh ubah input yang akan dimasukkan, dan output yang sesuai harus disahkan.
Contoh Ujian Domain
- Pertimbangkan senario ujian input tunggal:
C = a + b, di mana a dan b adalah pemboleh ubah input dan C adalah pemboleh ubah keluaran.
Di sini dalam contoh di atas, tidak perlu pengelasan atau kombinasi pemboleh ubah diperlukan.
- Pertimbangkan beberapa input di bawah dan senario output yang sesuai:
Pertimbangkan pameran permainan untuk Kanak-kanak, 6 pertandingan disusun, dan tiket harus diberikan sesuai dengan umur dan input jantina. Tiket adalah salah satu modul yang akan diuji untuk keseluruhan fungsi pameran Permainan.
Mengikut senario, kami mendapat enam senario berdasarkan umur dan pertandingan:
- Umur> 5 dan <10, Anak lelaki harus mengambil bahagian dalam Bercerita.
- Umur> 5 dan <10, gadis harus mengambil bahagian dalam Pertandingan Melukis.
- Umur> 10 dan <15, Boy harus mengambil bahagian dalam Kuiz.
- Umur> 10 dan <15 tahun, gadis harus mengambil bahagian dalam penulisan Esei.
- Umur <5 tahun, kedua-dua lelaki dan perempuan harus menyertai Pertandingan Rhymes.
- Umur> 15 tahun, kedua-dua lelaki dan perempuan harus menyertai pertandingan Puisi.
Di sini inputnya adalah Umur dan Jantina dan oleh itu tiket untuk pertandingan akan dikeluarkan. Bahagian kes input atau sekelompok nilai sahaja terdapat dalam gambar.
Bagaimana untuk mengumpulkan nilai ke dalam kelas?
Membahagi beberapa nilai bermaksud membahagikannya kepada subset yang tidak bertindih.
Seperti yang telah kita bincangkan sebelumnya terdapat dua jenis partition:
- Partitioning Equivalence - Partitioning Equivalence adalah teknik pengujian perisian yang membahagikan data input unit perisian ke dalam partisi data setara dari mana kes ujian dapat diturunkan. Pada prinsipnya, kes ujian dirancang untuk menutup setiap partisi sekurang-kurangnya sekali.
- Analisis nilai sempadan - Analisis nilai sempadan adalah teknik pengujian perisian di mana ujian dirancang untuk memasukkan perwakilan nilai batas dalam julat. Idea itu datang dari batas .
Untuk contoh di atas, kami membahagikan nilai menjadi subset atau subset. Kami membahagikan usia ke dalam kelas di bawah:
- Kelas 1: Kanak-kanak dengan kumpulan umur 5 hingga 10 tahun
- Kelas 2: Kanak-kanak dengan kumpulan umur kurang dari 5 tahun
- Kelas 3: Kanak-kanak dengan kumpulan umur 10 hingga 15 tahun
- Kelas 4: Kanak-kanak dengan kumpulan umur lebih daripada 15 tahun.
Nilai kelas mana yang akan diuji?
Nilai yang diambil untuk ujian mestilah nilai Batas:
- Batas adalah wakil kelas kesetaraan dari mana kita mengambil sampel. Mereka lebih cenderung mendedahkan kesalahan daripada ahli kelas yang lain, jadi mereka lebih baik mewakili.
- Wakil terbaik bagi kelas kesetaraan adalah nilai di antara julat.
Untuk contoh di atas, kami mempunyai kelas berikut untuk diuji:
Contohnya untuk senario # 1:
- Kelas 1: Kanak-kanak dengan kumpulan umur 5 hingga 10 tahun (Umur> 5 dan <= 10)
Nilai sempadan:
- Nilai harus sama dengan atau kurang dari 10. Oleh itu, usia 10 harus dimasukkan dalam kelas ini.
- Nilai harus lebih besar daripada 5. Oleh itu, umur 5 tidak boleh dimasukkan ke dalam kelas ini.
- Nilai harus sama dengan atau kurang dari 10. Oleh itu, usia 11 tidak boleh dimasukkan ke dalam kelas ini.
- Nilai harus lebih besar daripada 5. Oleh itu, umur 6 harus dimasukkan ke dalam kelas ini.
Nilai partisi kesetaraan:
Partisi kesetaraan disebut apabila seseorang harus menguji hanya satu keadaan dari setiap partisi. Dalam hal ini, kita menganggap bahawa jika satu syarat dalam partition berfungsi, maka semua syarat tersebut harus berfungsi. Dengan cara yang sama, jika satu keadaan di partisi itu tidak berfungsi, maka kita menganggap bahawa tidak ada syarat lain yang akan berfungsi. Sebagai contoh,
(Umur> 5 dan <= 10)
Oleh kerana nilai dari 6 hingga 10 adalah nilai yang sah, salah satu nilai antara 6,7,8,9 dan 10 harus diambil. Oleh itu umur yang dipilih "8" adalah umur input yang sah untuk kumpulan umur antara (Umur> 5 dan <= 10). Partisi semacam ini disebut sebagai partisi kesetaraan.
Senario | Nilai sempadan yang akan diambil | Nilai pembahagian kesetaraan |
---|---|---|
Lelaki - Umur> 5 dan <= 10 | Umur input = 6 Umur input = 5 Umur input = 11 Umur input = 10 | Umur input = 8 |
Gadis - Umur> 5 dan <= 10 | Umur input = 6 Umur input = 5 Umur input = 11 Umur input = 10 | Umur input = 8 |
Budak - Umur> 10 dan <= 15 | Umur input = 11 Umur input = 10 Umur input = 15 Umur input = 16 | Umur input = 13 |
Gadis - Umur> 10 dan <= 15 | Umur input = 11 Umur input = 10 Umur input = 15 Umur input = 16 | Umur input = 13 |
Umur <= 5 | Umur input = 4 Umur input = 5 | Umur input = 3 |
Umur> 15 | Umur input = 15 Umur input = 16 | Umur input = 25 |
Bagaimana kita menentukan sama ada program lulus atau gagal dalam ujian?
Melewati fungsi tidak hanya bergantung pada hasil senario di atas. Input yang diberikan dan output yang diharapkan akan memberi kita hasil dan ini memerlukan pengetahuan domain.
Menentukan hasil contoh:
Oleh itu, jika semua kes ujian lulus di atas, domain penerbitan tiket dalam pertandingan lulus. Sekiranya tidak, domain gagal.
Struktur Ujian Domain
Biasanya, penguji mengikuti langkah-langkah berikut dalam ujian domain. Ini mungkin disesuaikan / dilangkau mengikut keperluan ujian kami.
- Kenal pasti pemboleh ubah yang berpotensi menarik.
- Kenalpasti pemboleh ubah yang boleh anda analisis sekarang dan susunlah (terkecil hingga terbesar dan sebaliknya)
- Buat dan kenal pasti nilai sempadan dan nilai kelas kesamaan seperti di atas.
- Kenal pasti dimensi sekunder dan analisa masing-masing dengan cara klasik. (Dalam contoh di atas, Jantina adalah dimensi sekunder).
- Mengenal dan menguji pemboleh ubah yang menahan hasil (pemboleh ubah output)
- Nilaikan bagaimana program menggunakan nilai pemboleh ubah ini.
- Kenal pasti pemboleh ubah yang berpotensi berkaitan untuk ujian gabungan.
- Bayangkan risiko yang tidak semestinya memetakan ke dimensi yang jelas.
- Kenal pasti dan senaraikan pemboleh ubah yang tidak dianalisis. Kumpulkan maklumat untuk analisis kemudian.
- Ringkaskan analisis anda dengan jadual risiko / kesetaraan.
Ringkasan:
Pengujian domain, seperti yang dijelaskan di atas, memerlukan pengetahuan untuk memberikan input yang tepat untuk mencapai output yang diinginkan. Oleh itu, hanya boleh menggunakannya untuk sekeping kecil kod.