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.

  • 🎯 Janji inti: Setiap pasangan level antara dua faktor apa pun akan muncul setidaknya sekali dalam hasil simulasi yang dihasilkan.
  • 🔢 Notasi: Sebuah array ditulis LBerjalan(Tingkat)faktor), jadi L9(3⁴) berarti sembilan run untuk empat faktor tiga level.
  • 📉 Skala tabungan: Empat faktor pada tiga level masing-masing menyusut dari 81 kombinasi lengkap menjadi sembilan percobaan ortogonal.
  • 🧮 Aturan keseimbangan: Kolom harus diisi sedemikian rupa sehingga tidak ada dua faktor yang bergerak bersamaan, jika tidak, tabel tersebut tidak ortogonal.
  • Perkakas: GeneratorSistem seperti PICT dan ACTS membangun array secara otomatis, yang menghilangkan sumber utama kesalahan manual.
  • ⚠️ Batas yang diketahui: Cakupan berpasangan tidak dapat mendeteksi cacat yang membutuhkan tiga atau lebih nilai spesifik secara bersamaan.

Pengujian Larik Ortogonal mengurangi kombinasi input menjadi kumpulan kasus uji yang kecil dan seimbang.

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.

Notasi larik ortogonal yang menunjukkan run, faktor, dan level dalam rumus L(Run).

  • 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

  1. Identifikasi variabel independen untuk skenario tersebut.
  2. Temukan array terkecil dengan jumlah proses.
  3. Petakan faktor-faktor tersebut ke dalam array.
  4. Pilih nilai untuk level “sisa” mana pun.
  5. 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.

Pertanyaan Umum Demo Slot

Ini adalah teknik kotak hitam. Larik dibangun hanya dari parameter masukan dan nilai yang diizinkan, tanpa mengacu pada kode sumber, percabangan, atau keadaan internal, sehingga dapat dirancang sebelum implementasi selesai.

Penguji membangun model input, biasanya dengan bantuan analis bisnis untuk mengkonfirmasi nilai mana yang valid. Pengembang berkontribusi jika parameter bersifat internal, seperti pengaturan cache. Kualitas model, bukan array, yang menentukan nilai rangkaian pengujian.

Tidak, itu tergantung pada mereka. Pemartisian dan analisis batas mengurangi setiap bidang menjadi beberapa nilai representatif, dan array kemudian memutuskan nilai mana yang akan digabungkan. Menjalankan array pada nilai mentah yang tidak difilter akan menghasilkan tabel yang terlalu besar.

Diperlukan array tingkat campuran, misalnya L18 yang menggabungkan kolom dua tingkat dan tiga tingkat. Jika tidak ada array standar yang sesuai, generator array penutup akan menangani bentuknya secara langsung dan mengembalikan tabel yang lebih kecil daripada memaksa setiap faktor ke jumlah tingkat yang sama.

Kegagalan apa pun yang membutuhkan tiga atau lebih nilai tertentu sekaligus. Studi empiris data kesalahan melaporkan bahwa sebagian besar kegagalan dipicu oleh satu atau dua parameter, itulah sebabnya cakupan berpasangan efektif, tetapi cakupan tiga arah disarankan untuk fitur-fitur kritis.

Sebagian besar berada pada tingkat integrasi dan sistem, di mana beberapa komponen atau pengaturan saling berinteraksi. Ini juga sesuai dengan matriks lingkungan, seperti peramban, sistem operasi, dan ukuran layar, serta produk yang dapat dikonfigurasi di mana kombinasi yang dikirimkan melebihi jendela pengujian yang tersedia.

Pembelajaran mesin membaca persyaratan dan log produksi untuk mengusulkan faktor dan tingkatan yang penting, dan model riwayat cacat memberi peringkat kombinasi mana yang layak mendapatkan cakupan tiga arah. Matematika array bersifat deterministik — bagian yang cerdas adalah memilih apa yang masuk ke dalam model.

Ini menyusun file model untuk generator, perulangan berbasis data yang membaca baris, dan pernyataan di sekitarnya. Verifikasi klaim cakupan dengan generator itu sendiri, karena model bahasa dapat menghasilkan tabel yang masuk akal tetapi tidak ortogonal.

Ringkaslah postingan ini dengan: