Apa itu Pengujian Array Ortogonal? (Contoh)
⚡ Ringkasan Cerdas
Pengujian Array Ortogonal adalah teknik kotak hitam yang menggunakan array statistik untuk membangun kumpulan data uji yang ringkas, mencakup setiap pasangan nilai input dengan jumlah kasus uji yang jauh lebih sedikit daripada yang dibutuhkan oleh pengujian kombinasi menyeluruh.

Pengujian Array Ortogonal
Pengujian Array Ortogonal (OAT) Pengujian array ortogonal adalah teknik pengujian perangkat lunak yang menggunakan array ortogonal untuk membuat kasus uji. Ini adalah pendekatan pengujian statistik, dan sangat berguna ketika sistem yang diuji menerima sejumlah besar input data. Pengujian array ortogonal memaksimalkan cakupan pengujian dengan memasangkan dan menggabungkan input, sehingga sistem dijalankan dengan kasus uji yang relatif lebih sedikit dan waktu eksekusi yang lebih singkat.
Sebagai contoh, ketika tiket kereta api harus diverifikasi, faktor-faktor seperti jumlah penumpang, nomor tiket, nomor kursi, dan nomor kereta harus diuji. Menguji setiap faktor satu per satu sangat merepotkan. Akan lebih efisien jika insinyur QA menggabungkan beberapa input dan mengujinya dalam satu kali proses. Dalam kasus seperti itu, kita dapat menggunakan metode pengujian Array Ortogonal.
Jenis penggabungan atau pemasangan input untuk menghemat waktu ini disebut pengujian berpasangan (pairwise testing), dan teknik OATS adalah salah satu cara untuk menghasilkan set pengujian berpasangan. Karena teknik ini bekerja murni dari nilai input dan hasil yang diharapkan, tanpa melihat kode internal, maka teknik ini termasuk dalam kategori... pengujian kotak hitam keluarga.
Mengapa OAT (Pengujian Array Ortogonal)?
Dalam skenario saat ini, penyediaan produk perangkat lunak berkualitas kepada pelanggan menjadi tantangan karena kompleksitas kodenya.
Dalam metode konvensional, rangkaian pengujian mencakup kasus uji yang berasal dari setiap kombinasi nilai masukan dan prasyarat. Akibatnya, sejumlah n kasus uji harus dicakup.
Namun dalam skenario nyata, para penguji tidak akan memiliki waktu luang untuk menjalankan semua kasus uji untuk mengungkap cacat, karena ada aktivitas lain seperti dokumentasi, saran, dan umpan balik dari pelanggan yang harus diakomodasi dalam fase pengujian.
Oleh karena itu, pengelola pengujian ingin mengoptimalkan jumlah dan kualitas kasus pengujian untuk memastikan hasil yang maksimal Cakupan tes dengan upaya minimal. Upaya ini disebut Optimasi Kasus Uji.
- Cara sistematis dan statistik untuk menguji interaksi berpasangan.
- Titik interaksi dan integrasi merupakan sumber utama cacat.
- Jalankan serangkaian kasus uji yang terdefinisi dengan baik dan ringkas yang kemungkinan besar akan mengungkap sebagian besar (bukan semua) bug.
- Pendekatan ortogonal menjamin cakupan berpasangan dari semua variabel.
Oleh karena itu, teknik ini berada di samping metode pengurangan input lainnya yang sudah digunakan oleh tim. Pembagian kesetaraan dan analisis nilai batas Menentukan nilai mana yang layak diuji untuk satu bidang; susunan ortogonal menentukan nilai mana yang harus diuji bersama.
Bagaimana Pengujian Array Ortogonal Direpresentasikan
Susunan ortogonal dijelaskan oleh rumus singkat, bukan oleh isinya. Diagram di bawah ini menunjukkan bagaimana ketiga besaran dalam rumus tersebut berhubungan dengan bentuk susunan tersebut.
- Lari (N) – Jumlah baris dalam array, yang berarti jumlah kasus uji yang akan dihasilkan.
- Faktor (K) – Jumlah kolom dalam larik, yang berarti jumlah maksimum variabel yang dapat ditangani.
- Tingkat (V) – Jumlah maksimum nilai yang dapat diambil pada setiap faktor tunggal.
Suatu faktor tunggal biasanya memiliki 2 hingga 3 input yang akan diuji. Jumlah input maksimum tersebut menentukan Levelnya.
Baca nama array dari kiri ke kanan. Di L9(34) Angka 9 adalah jumlah run, angka 3 adalah jumlah level yang dapat diambil setiap faktor, dan angka 4 sebagai superskrip adalah jumlah faktor. Artikel yang sama menggunakan L4(23), yang merupakan empat putaran untuk tiga faktor yang masing-masing memiliki dua level.
Dua sifat membuat sebuah array menjadi ortogonal, dan keduanya harus terpenuhi sebelum jumlah run dapat dipercaya:
- Saldo: setiap level faktor muncul dengan jumlah yang sama di kolomnya masing-masing.
- Kelengkapan berpasangan: Untuk setiap dua kolom, setiap kombinasi satu level dari masing-masing kolom akan muncul dengan jumlah yang sama.
Jika properti kedua gagal, tabel tersebut hanyalah kumpulan data uji yang dipersingkat, bukan susunan ortogonal, dan jaminan berpasangan yang membenarkan pengurangan tersebut tidak lagi berlaku.
Bagaimana melakukan Pengujian Array Ortogonal: Contoh
- Identifikasi variabel independen untuk skenario tersebut.
- Temukan array terkecil dengan jumlah proses.
- Petakan faktor-faktor tersebut ke dalam array.
- Pilih nilai untuk level “sisa” mana pun.
- Transkripsikan alur tersebut menjadi kasus uji, menambahkan kombinasi mencurigakan apa pun yang tidak dihasilkan.
Dua contoh soal di bawah ini menerapkan kelima langkah tersebut, pertama pada masalah kecil dua tingkat dan kemudian pada masalah yang lebih besar tiga tingkat.
Contoh 1
Sebuah halaman web memiliki tiga bagian berbeda (Atas, Tengah, Bawah) yang dapat ditampilkan atau disembunyikan dari pengguna secara terpisah.
- Jumlah Faktor = 3 (Atas, Tengah, Bawah)
- Jumlah Level (Visibilitas) = 2 (Tersembunyi atau Ditampilkan)
- Tipe Array = L4(2)3)
(4 adalah jumlah run yang dicapai setelah membuat array OAT)
Jika kita menggunakan teknik konvensional dengan mengubah satu bagian pada satu waktu, kita membutuhkan kasus uji seperti 2 x 3 = 6 kasus uji.
| Kasus Uji | Skenario | Nilai-nilai yang akan diuji |
|---|---|---|
| Tes #1 | HIDDEN | Atasan |
| Tes #2 | DITAMBAHKAN | Atasan |
| Tes #3 | HIDDEN | Bawah |
| Tes #4 | DITAMBAHKAN | Bawah |
| Tes #5 | HIDDEN | Tengah |
| Tes #6 | DITAMBAHKAN | Tengah |
Keenam percobaan tersebut bervariasi satu bagian demi satu bagian dan tidak pernah menempatkan dua bagian dalam kondisi yang dipilih secara bersamaan. Menguji setiap kombinasi akan memakan waktu 23 = 8 kali lari.
Jika kita melakukan Pengujian OAT kita memerlukan 4 kasus Uji seperti yang ditunjukkan di bawah ini:
| Kasus Uji | TOP | Tengah | Bawah |
|---|---|---|---|
| Tes #1 | Tersembunyi | Tersembunyi | Tersembunyi |
| Tes #2 | Tersembunyi | Terlihat | Terlihat |
| Tes #3 | Terlihat | Tersembunyi | Terlihat |
| Tes #4 | Terlihat | Terlihat | Tersembunyi |
Periksa dua kolom mana pun dari tabel tersebut dan keempat pasangan Tersembunyi/Terlihat akan muncul tepat sekali, yang merupakan sifat ortogonalitas dalam bentuk terkecilnya.
Contoh 2
Fungsionalitas mikroprosesor harus diuji:
- Suhu: 100C, 150C dan 200C.
- Tekanan: 2 psi, 5 psi, dan 8 psi
- Doping Jumlah: 4%, 6% dan 8%
- Laju pengendapan: 0.1 mg/s, 0.2 mg/s dan 0.3 mg/s
Dengan menggunakan metode konvensional, kita membutuhkan 34 = 81 kasus uji untuk mencakup semua input. Mari kita gunakan metode OATS sebagai gantinya:
Jumlah faktor = 4 (suhu, tekanan, do)ping jumlah dan tingkat pengendapan)
Level = 3 level per faktor (suhu memiliki 3 level – 100C, 150C, dan 200C – dan demikian pula faktor-faktor lainnya juga memiliki 3 level masing-masing)
Buat array seperti di bawah ini:
1. Kolom dengan Jumlah faktor
| Kasus cobaan # | Suhu | Tekanan | Doping jumlah | Tingkat pengendapan |
|---|
2. Masukkan jumlah baris yang sama dengan level per faktor. Misalnya, suhu memiliki 3 level. Oleh karena itu, masukkan 3 baris untuk setiap level suhu.
| Kasus cobaan # | Suhu | Tekanan | Doping jumlah | Tingkat pengendapan |
|---|---|---|---|---|
| 1 | 100C | |||
| 2 | 100C | |||
| 3 | 100C | |||
| 4 | 150C | |||
| 5 | 150C | |||
| 6 | 150C | |||
| 7 | 200C | |||
| 8 | 200C | |||
| 9 | 200C |
3. Sekarang bagi tekanannya, lakukanping jumlah dan tingkat pengendapan di dalam kolom.
Misalnya: Masukkan 2 psi pada suhu 100C, 150C, dan 200C, demikian pula masukkan doping sebesar 4% untuk 100C, 150C, dan 200C dan seterusnya.
| Kasus cobaan # | Suhu | Tekanan | Doping jumlah | Tingkat pengendapan |
|---|---|---|---|---|
| 1 | 100C | 2 psi | 4% | 0.1mg/detik |
| 2 | 100C | 5 psi | 6% | 0.2mg/detik |
| 3 | 100C | 8 psi | 8% | 0.3mg/detik |
| 4 | 150C | 2 psi | 4% | 0.1mg/detik |
| 5 | 150C | 5 psi | 6% | 0.2mg/detik |
| 6 | 150C | 8 psi | 8% | 0.3mg/detik |
| 7 | 200C | 2 psi | 4% | 0.1mg/detik |
| 8 | 200C | 5 psi | 6% | 0.2mg/detik |
| 9 | 200C | 8 psi | 8% | 0.3mg/detik |
Oleh karena itu, di OA, kita memerlukan 9 kasus Uji untuk dicakup.
Catatan akurasi: mengisi tiga kolom yang tersisa lurus ke bawah, seperti langkah 3, mengulangi tekanan yang sama, lakukanping dan pengendapan tiga kali lipat di dalam setiap blok suhu. Tekanan dan lakukanping Oleh karena itu, jumlah tersebut bergerak bersama, dan pasangan seperti 2 psi dengan 6% tidak pernah muncul, sehingga sembilan baris di atas adalah himpunan uji yang dikurangi daripada susunan ortogonal yang sebenarnya. L9(3) yang seimbang4Array di bawah ini mempertahankan sembilan run yang sama sambil mencakup semua sembilan pasangan level di antara setiap dua faktor.
| Kasus cobaan # | Suhu | Tekanan | Doping jumlah | Tingkat pengendapan |
|---|---|---|---|---|
| 1 | 100C | 2 psi | 4% | 0.1mg/detik |
| 2 | 100C | 5 psi | 6% | 0.2mg/detik |
| 3 | 100C | 8 psi | 8% | 0.3mg/detik |
| 4 | 150C | 2 psi | 6% | 0.3mg/detik |
| 5 | 150C | 5 psi | 8% | 0.1mg/detik |
| 6 | 150C | 8 psi | 4% | 0.2mg/detik |
| 7 | 200C | 2 psi | 8% | 0.2mg/detik |
| 8 | 200C | 5 psi | 4% | 0.3mg/detik |
| 9 | 200C | 8 psi | 6% | 0.1mg/detik |
Pengujian Array Ortogonal vs Pengujian Berpasangan (Semua Pasangan)
Kedua istilah tersebut digunakan secara bergantian di banyak tim, namun keduanya tidak identik. Keduanya bertujuan untuk mencakup pasangan nilai, tetapi berbeda dalam seberapa ketat tabel yang dihasilkan dibatasi.
| Aspek | Pengujian susunan ortogonal | Pengujian berpasangan (semua pasangan) |
|---|---|---|
| Struktur yang mendasari | Susunan ortogonal, dipinjam dari desain eksperimen. | Array penutup, yang dihasilkan oleh algoritma pencarian |
| Aturan cakupan | Setiap pasangan muncul dalam jumlah yang sama. | Setiap pasangan muncul setidaknya sekali. |
| Faktor-faktor dengan tingkat yang tidak sama | Membutuhkan array tingkat campuran, yang mungkin tidak ada untuk bentuk yang dibutuhkan. | Ditangani langsung oleh generator |
| Jumlah lari tipikal | Sama atau sedikit lebih tinggi, karena persyaratan keseimbangan. | Sama atau lebih rendah untuk input yang sama |
| Batasan antara nilai-nilai | Sulit untuk diungkapkan di dalam array. | Didukung oleh sebagian besar generator modern |
Dalam praktiknya, susunan ortogonal seimbang adalah model pengajaran yang lebih jelas dan pilihan yang lebih aman ketika faktor-faktor memiliki jumlah level yang sama, sedangkan susunan penutup adalah apa yang dihasilkan sebagian besar alat untuk proyek nyata dengan input yang rumit dan tidak sama. Keduanya saling melengkapi. pengujian tabel keputusan ke pengujian transisi negarayang menargetkan aturan bisnis dan urutan, bukan kombinasi nilai.
Alat Pengujian Susunan Ortogonal
Membangun array secara manual hanya praktis untuk contoh-contoh kecil di atas. Di luar empat atau lima faktor, tim menggunakan generator, dan alat tersebut menentukan jumlah run untuk mereka.
- PICT: generator baris perintah sumber terbuka dari MicrosoftParameter dan nilainya ditulis dalam file model teks biasa, dan alat ini mencetak himpunan kombinasinya. Batasan dan sub-model didukung, yang penting ketika pasangan nilai tertentu tidak valid. Lihat Repositori PICT.
- TINDAKAN: Sebuah alat penelitian dari NIST yang menghasilkan susunan penutup untuk cakupan dua arah hingga enam arah, dan juga menerbitkan pustaka susunan yang telah dihitung sebelumnya. Alat ini tersedia dari [tautan]. Proyek pengujian kombinatorial NIST.
- Platform kombinatorial komersial: Alat yang dihosting menambahkan persyaratan trackeandalan, hasil yang diharapkan, dan ekspor ke dalam sistem manajemen pengujian, yang cocok untuk tim yang lebih besar yang membutuhkan jejak audit.
- Pustaka array yang diterbitkan: Susunan standar seperti L4, L8, L9, L16, dan L18 ditabulasi dan dapat disalin langsung jika jumlah faktor dan levelnya cocok.
Terlepas dari alat mana yang menghasilkan tabel, baris yang dihasilkan tetap harus diubah menjadi kasus yang dapat dijalankan dengan data nyata dan hasil yang diharapkan, lalu dijadwalkan seperti rangkaian pengujian lainnya di dalam teknik pengujian perangkat lunak Sudah digunakan dalam proyek tersebut.
Keunggulan Pengujian Array Ortogonal
- Menjamin pengujian kombinasi berpasangan dari semua variabel yang dipilih.
- Mengurangi jumlah kasus uji.
- Menghasilkan lebih sedikit kasus uji yang tetap mencakup interaksi setiap pasangan variabel.
- Kombinasi variabel yang kompleks dapat ditangani.
- Lebih mudah untuk dibuat dan tidak terlalu rawan kesalahan dibandingkan set pengujian yang dibuat dengan tangan.
- Ini berguna untuk Tes integrasi, dan sama bermanfaatnya untuk pengujian konfigurasi, di mana kombinasi browser, sistem operasi, dan perangkat berkembang pesat.
- Ini meningkatkan produktivitas karena berkurangnya siklus pengujian dan waktu pengujian.
Tabungan tersebut bertambah selama pengujian regresi, karena rangkaian pengujian seimbang yang lebih kecil cukup murah untuk dijalankan ulang setiap siklus, sedangkan rangkaian pengujian kombinasi yang lengkap biasanya dijalankan sekali dan kemudian ditinggalkan begitu saja.
Kekurangan Pengujian Array Ortogonal
- Seiring bertambahnya jumlah data masukan, kompleksitas desain kasus uji juga meningkat. Akibatnya, upaya manual dan waktu yang dihabiskan pun meningkat, dan para penguji harus melakukan lebih banyak hal. Pengujian Otomatisasi.
- Cakupan berpasangan bukanlah cakupan penuh. Cacat yang hanya muncul ketika tiga nilai spesifik terjadi bersamaan dapat lolos dari array tanpa terpengaruh.
- Faktor dengan jumlah level yang berbeda tidak dapat dipetakan ke array standar dengan rapi, sehingga diperlukan array level campuran atau generator array penutup.
- Memilih level adalah sebuah keputusan. Jika nilai penting dihilangkan dari model input, tidak ada array yang dapat memulihkannya.
- Batasan antar nilai, seperti metode pembayaran yang hanya berlaku di satu negara, sulit untuk diungkapkan dan biasanya menghasilkan baris yang tidak valid yang harus dihapus secara manual.
Tak satu pun dari keterbatasan ini yang mengesampingkan teknik tersebut; keterbatasan tersebut hanya menetapkan batasnya. Susunan ortogonal mengurangi masalah kombinasi, sementara analisis risiko dan pengujian domain Tentukan faktor mana yang layak dimasukkan ke dalam model sejak awal.
Kesalahan atau error pada saat melakukan OAT
- Mengarahkan upaya pengujian ke area aplikasi yang salah.
- Memilih parameter yang salah untuk dikombinasikan.
- Menggunakan pengujian larik ortogonal di mana himpunan input cukup kecil untuk diuji secara menyeluruh.
- Menerapkan pengujian susunan ortogonal secara manual pada model yang cukup besar sehingga membutuhkan generator.
- Mengandalkan pengujian susunan ortogonal saja untuk aplikasi berisiko tinggi, di mana cakupan yang lebih dalam diperlukan.
Item terakhir adalah item yang menyebabkan kerusakan paling besar dalam praktiknya. Pada fitur yang kritis terhadap keselamatan atau keuangan, himpunan berpasangan merupakan batas bawah dan bukan batas atas, dan biasanya dilengkapi dengan kasus-kasus yang ditargetkan. pengujian sistem setara dan dengan rencana yang lebih luas yang dijelaskan dalam jenis pengujian perangkat lunak.

