Ortogonal Dizi Testi Nedir? (Örnek)

⚡ Akıllı Özet

Ortogonal Dizi Testi, kapsamlı kombinasyon testine kıyasla çok daha az test senaryosuyla her bir girdi değeri çiftini kapsayan, istatistiksel diziler kullanarak kompakt bir test kümesi oluşturan bir kara kutu tekniğidir.

  • 🎯 Temel vaat: Herhangi iki faktör arasındaki her seviye çifti, oluşturulan çalıştırmalarda en az bir kez görünür.
  • 🔢 Gösterim: Bir dizi L olarak yazılır. Runs(Seviyeler)Faktörler), bu nedenle L9(3⁴), dört üç seviyeli faktör için dokuz çalışma anlamına gelir.
  • 📉 Tasarruf miktarı: Her biri üç seviyede bulunan dört faktör, 81 kapsamlı kombinasyondan dokuz ortogonal çalışmaya indirgenir.
  • 🧮 Denge kuralı: Sütunlar, hiçbir iki faktörün birlikte hareket etmeyeceği şekilde doldurulmalıdır; aksi takdirde tablo ortogonal olmaz.
  • takım: GeneratorPICT ve ACTS gibi sistemler diziyi otomatik olarak oluşturarak manuel hataların ana kaynağını ortadan kaldırır.
  • ⚠️ Bilinen sınır: İkili kapsama yöntemi, üç veya daha fazla belirli değerin birlikte kullanılmasını gerektiren bir kusuru tespit edemez.

Ortogonal Dizi Testi, girdi kombinasyonlarını küçük ve dengeli bir test senaryosu kümesine indirger.

Ortogonal Dizi Testi

Ortogonal Dizi Testi (OAT) Ortogonal diziler kullanarak test senaryoları oluşturan bir yazılım test tekniğidir. İstatistiksel bir test yaklaşımıdır ve özellikle test edilen sistem çok sayıda veri girişi kabul ettiğinde kullanışlıdır. Ortogonal dizi testi, girdileri eşleştirerek ve birleştirerek test kapsamını en üst düzeye çıkarır, böylece sistem nispeten daha az test senaryosu ve daha kısa yürütme süresiyle çalıştırılır.

Örneğin, bir tren biletinin doğrulanması gerektiğinde, yolcu sayısı, bilet numarası, koltuk numaraları ve tren numaraları gibi faktörlerin test edilmesi gerekir. Her faktörü tek tek test etmek zahmetlidir. Kalite kontrol mühendisinin birden fazla girdiyi bir araya getirip tek bir çalıştırmada test etmesi daha verimlidir. Bu gibi durumlarda, Ortogonal Dizi test yöntemini kullanabiliriz.

Zaman kazanmak için girdilerin bu şekilde eşleştirilmesi veya birleştirilmesine Çiftli Test (Pairwise testing) denir ve OATS tekniği, çiftli test seti oluşturmanın bir yoludur. Bu teknik, iç koda dair herhangi bir bilgiye sahip olmadan, yalnızca girdi değerleri ve beklenen sonuçlar üzerinden çalıştığı için, kara kutu testi aile.

Neden OAT (Ortogonal Dizi Testi)?

Mevcut senaryoda, kodun karmaşıklığı nedeniyle müşteriye kaliteli bir yazılım ürünü sunmak zorlu bir hal almıştır.

Geleneksel yöntemde, test paketleri, girdi değerlerinin ve ön koşulların her kombinasyonundan türetilen test durumlarını içerir. Sonuç olarak, n sayıda test durumunun kapsanması gerekir.

Ancak gerçek bir senaryoda, test uzmanları, hataları ortaya çıkarmak için tüm test senaryolarını yürütme lüksüne sahip olmayacaklardır; çünkü test aşamasında dokümantasyon, öneriler ve müşteri geri bildirimleri gibi dikkate alınması gereken başka faaliyetler de vardır.

Bu nedenle test yöneticileri, maksimum performansı sağlamak için test senaryolarının sayısını ve kalitesini optimize etmek istediler. Test kapsamı Minimum çabayla. Bu çabaya Test Durumu Optimizasyonu denir.

  • İkili etkileşimleri test etmenin sistematik ve istatistiksel bir yolu.
  • Etkileşim ve entegrasyon noktaları, arızaların başlıca kaynağıdır.
  • Çoğu (ancak tümü değil) hatayı ortaya çıkarması muhtemel, iyi tanımlanmış ve özlü bir dizi test senaryosunu uygulayın.
  • Ortogonal yaklaşım, tüm değişkenlerin ikili olarak kapsanmasını garanti eder.

Bu nedenle bu teknik, bir ekibin halihazırda kullandığı diğer girdi azaltma yöntemlerinin yanında yer alır. Eşdeğerlik bölümlendirmesi ve sınır değer analizi Tek bir alan için hangi değerlerin test edilmeye değer olduğuna karar verir; ortogonal diziler ise bu değerlerden hangilerinin birlikte test edilmesi gerektiğine karar verir.

Ortogonal Dizi Testinin Nasıl Temsil Edildiği

Bir ortogonal dizi, içeriğiyle değil, kısa bir formülle tanımlanır. Aşağıdaki diyagram, bu formüldeki üç niceliğin dizinin şekliyle nasıl ilişkili olduğunu göstermektedir.

L(Çalışmalar) formülündeki çalışmaları, faktörleri ve seviyeleri gösteren ortogonal dizi gösterimi.

  • Koşular (N) – Dizideki satır sayısı, yani oluşturulacak test senaryolarının sayısı.
  • Faktörler (K) – Dizideki sütun sayısı, yani işlenebilecek maksimum değişken sayısı.
  • Seviyeler (V) – Herhangi bir faktör için alınabilecek maksimum değer sayısı.

Tek bir faktörün genellikle test edilecek 2 ila 3 girdisi vardır. Bu maksimum girdi sayısı, seviyeleri belirler.

Dizi adını soldan sağa doğru okuyun. L9(34) 9, çalışma sayısını, 3 her faktörün alabileceği seviye sayısını ve üst simge 4 ise faktör sayısını temsil eder. Aynı makalede bu ifade de kullanılmıştır. L4(23)Bu, her birinin iki seviyesi olan üç faktör için dört deneme anlamına gelir.

Bir dizinin ortogonal olmasını sağlayan iki özellik vardır ve sayım sonucuna güvenilebilmesi için bu iki özelliğin de geçerli olması gerekir:

  • Denge: Bir faktörün her seviyesi, kendi sütununda aynı sayıda kez görünür.
  • İkili tamlık: İki sütun için, her birinden bir seviyenin her kombinasyonu aynı sayıda tekrarlanır.

İkinci özellik başarısız olursa, tablo ortogonal bir dizi değil, kısaltılmış bir test kümesi olur ve indirgemeyi haklı çıkaran ikili garanti artık geçerli olmaz.

Ortogonal Dizi Testi nasıl yapılır: Örnekler

  1. Senaryonun bağımsız değişkenini tanımlayın.
  2. Çalıştırma sayısına göre en küçük diziyi bulun.
  3. Faktörleri diziyle eşleyin.
  4. Herhangi bir "kalan" seviye için değerleri seçin.
  5. Koşuları yazıya dökün test senaryolarıOluşturulmayan, özellikle şüpheli olan kombinasyonları da ekleyerek.

Aşağıdaki iki çözümlü örnek, bu beş adımı önce küçük iki seviyeli bir probleme, ardından daha büyük üç seviyeli bir probleme uygulamaktadır.

Örnek 1

Bir web sayfası, kullanıcıya ayrı ayrı gösterilebilen veya gizlenebilen üç farklı bölümden (Üst, Orta, Alt) oluşur.

  • Faktör Sayısı = 3 (Üst, Orta, Alt)
  • Seviye Sayısı (Görünürlük) = 2 (Gizli veya Gösterilen)
  • Dizi Türü = L4(2)3)

(4, OAT dizisi oluşturulduktan sonra elde edilen çalıştırma sayısıdır)

Geleneksel yöntemle, yani her seferinde bir bölümü değiştirerek ilerlersek, 2 x 3 = 6 test senaryosuna ihtiyacımız olur.

Test Durumları Senaryolar Test edilecek değerler
#1 testi HIDDEN Iyi
#2 testi GÖSTERİLEN Iyi
#3 testi HIDDEN Alt
#4 testi GÖSTERİLEN Alt
#5 testi HIDDEN Orta
#6 testi GÖSTERİLEN Orta

Bu altı deneme, her seferinde bir bölümü değiştirir ve asla iki bölümü aynı anda seçilen bir duruma getirmez. Bunun yerine her kombinasyonu test etmek 2 zaman alırdı.3 = 8 deneme.

OAT Testine gidersek aşağıda gösterildiği gibi 4 Test senaryosuna ihtiyacımız var:

Test Durumları ÜST Orta Alt
#1 testi Gizli Gizli Gizli
#2 testi Gizli Görünür Görünür
#3 testi Görünür Gizli Görünür
#4 testi Görünür Görünür Gizli

Bu tablonun herhangi iki sütununu inceleyin ve dört Gizli/Görünür çiftinin tamamının yalnızca bir kez göründüğünü göreceksiniz; bu da ortogonallik özelliğinin en küçük halidir.

Örnek 2

Bir mikroişlemcinin işlevselliği test edilmelidir:

  • Sıcaklık: 100C, 150C ve 200C.
  • Basınç: 2 psi, 5 psi ve 8 psi
  • Doping Miktar: %4, %6 ve %8
  • Biriktirme Hızı: 0.1 mg/s, 0.2 mg/s ve 0.3 mg/s

Geleneksel yöntemi kullanarak 3'e ihtiyacımız var.4 = Tüm girdileri kapsayacak 81 test durumu. Bunun yerine OATS yöntemini kullanalım:

Faktör sayısı = 4 (sıcaklık, basınç, sıcaklık)ping miktar ve yatırım oranı)

Seviyeler = Her faktör için 3 seviye (sıcaklığın 3 seviyesi vardır – 100°C, 150°C ve 200°C – ve diğer faktörlerin de her birinin 3 seviyesi vardır)

Aşağıdaki gibi bir dizi oluşturun:

1. Faktör Sayısını içeren Sütunlar

Test durumu # Sıcaklık Basınç Doping miktar Biriktirme oranı

2. Her faktör için seviye sayısına eşit sayıda satır girin. Örneğin, sıcaklığın 3 seviyesi vardır. Bu nedenle, sıcaklığın her seviyesi için 3 satır ekleyin.

Test durumu # Sıcaklık Basınç Doping miktar Biriktirme oranı
1 100C
2 100C
3 100C
4 150C
5 150C
6 150C
7 200C
8 200C
9 200C

3. Şimdi basıncı dağıtın,ping miktar ve kolonlardaki birikim oranları.

Örneğin: 100°C, 150°C ve 200°C sıcaklıklar için 2 psi girin, aynı şekilde do girinping 100C, 150C ve 200C için %4 oranında ve benzeri.

Test durumu # Sıcaklık Basınç Doping miktar Biriktirme oranı
1 100C 2 psi 4% 0.1 mg/sn
2 100C 5 psi 6% 0.2 mg/sn
3 100C 8 psi 8% 0.3 mg/sn
4 150C 2 psi 4% 0.1 mg/sn
5 150C 5 psi 6% 0.2 mg/sn
6 150C 8 psi 8% 0.3 mg/sn
7 200C 2 psi 4% 0.1 mg/sn
8 200C 5 psi 6% 0.2 mg/sn
9 200C 8 psi 8% 0.3 mg/sn

Bu nedenle OA'larda 9 Test senaryosunu kapsamamız gerekiyor.

Doğruluk notu: Kalan üç sütunu tıpkı 3. adımda olduğu gibi düz aşağı doğru doldururken aynı basıncı tekrarlayın.ping ve her sıcaklık bloğunun içinde üç kat birikim. Basınç ve yapın.ping Bu nedenle miktarlar birlikte hareket eder ve 2 psi ile %6 gibi çiftler asla görünmez, bu nedenle yukarıdaki dokuz satır gerçek bir ortogonal dizi yerine azaltılmış bir test kümesidir. Dengeli L9(34Aşağıdaki dizi, her iki faktör arasındaki dokuz seviye çiftinin tamamını kapsarken aynı dokuz çalışmayı korur.

Test durumu # Sıcaklık Basınç Doping miktar Biriktirme oranı
1 100C 2 psi 4% 0.1 mg/sn
2 100C 5 psi 6% 0.2 mg/sn
3 100C 8 psi 8% 0.3 mg/sn
4 150C 2 psi 6% 0.3 mg/sn
5 150C 5 psi 8% 0.1 mg/sn
6 150C 8 psi 4% 0.2 mg/sn
7 200C 2 psi 8% 0.2 mg/sn
8 200C 5 psi 4% 0.3 mg/sn
9 200C 8 psi 6% 0.1 mg/sn

Ortogonal Dizi Testi ile İkili (Tüm Çiftler) Testi Karşılaştırması

Bu iki terim birçok ekipte birbirinin yerine kullanılsa da, özdeş değillerdir. Her ikisi de değer çiftlerini kapsamayı amaçlar, ancak ortaya çıkan tablonun ne kadar sıkı bir şekilde sınırlandırıldığı konusunda farklılık gösterirler.

Görünüş Ortogonal dizi testi İkili (tüm çiftler) test
Altta yatan yapı Deney tasarımından ödünç alınan ortogonal dizi Arama algoritması tarafından oluşturulan kapsama dizisi
Kapsama kuralı Her çift eşit sayıda görünür. Her çift en az bir kez görünür.
Eşit olmayan düzeylere sahip faktörler Karma seviyeli bir diziye ihtiyaç duyulur, ancak gerekli şekil için bu tür bir dizi mevcut olmayabilir. Doğrudan jeneratör tarafından yönetilir.
Tipik çalışma sayısı Denge gerekliliği nedeniyle eşit veya biraz daha yüksek. Aynı girdiler için eşit veya daha düşük
Değerler arasındaki kısıtlamalar Dizi içinde ifade edilmesi zor Çoğu modern jeneratör tarafından desteklenmektedir.

Pratikte, dengeli bir ortogonal dizi, faktörlerin aynı seviye sayısına sahip olduğu durumlarda daha net bir öğretim modeli ve daha güvenli bir seçimdir; oysa çoğu araç, garip ve eşit olmayan girdilere sahip gerçek projeler için bir kapsama dizisi üretir. Her ikisi de birbirini tamamlayıcı niteliktedir. karar tablosu testi hem de durum geçiş testiDeğer kombinasyonlarından ziyade iş kurallarını ve sıralamasını hedefleyen yöntemler.

Ortogonal Dizi Test Araçları

Elle dizi oluşturmak yalnızca yukarıdaki küçük örnekler için pratiktir. Dört veya beş faktörün ötesinde, ekipler bir jeneratör kullanır ve araç onlar için çalıştırma sayısını belirler.

  • RESİM: açık kaynaklı bir komut satırı oluşturucu MicrosoftParametreler ve değerleri düz metin model dosyasına yazılır ve araç kombinasyon kümesini yazdırır. Kısıtlamalar ve alt modeller desteklenir; bu, belirli değer çiftlerinin geçersiz olduğu durumlarda önemlidir. Bkz. PICT deposu.
  • EYLEMLER: NIST'in iki yönlüden altı yönlüye kadar kapsama dizileri üreten ve ayrıca önceden hesaplanmış dizilerin bir kütüphanesini yayınlayan bir araştırma aracıdır. Şuradan edinilebilir: NIST kombinatoryal test projesi.
  • Ticari kombinatoryal platformlar: barındırılan araçlar gereksinim ekler tracDaha büyük ekiplerin denetim izine ihtiyaç duyduğu durumlarda uygun olan, verimlilik, beklenen sonuçlar ve test yönetim sistemine aktarım.
  • Yayınlanmış dizi kütüphaneleri: L4, L8, L9, L16 ve L18 gibi standart diziler tablo halinde sunulur ve faktör ve seviye sayıları eşleştiğinde doğrudan kopyalanabilir.

Tabloyu hangi araç oluşturursa oluştursun, oluşturulan satırların gerçek veriler ve beklenen sonuçlarla çalıştırılabilir test senaryolarına dönüştürülmesi ve ardından diğer test paketleri gibi planlanması gerekir. yazılım test teknikleri Projede halihazırda kullanımda.

Ortogonal Dizi Testinin Avantajları

  • Seçilen tüm değişkenlerin çiftler halinde kombinasyonlarının test edilmesini garanti eder.
  • Test senaryolarının sayısını azaltır.
  • Her değişken çiftinin etkileşimini kapsayan daha az test senaryosu oluşturur.
  • Değişkenlerin karmaşık bir kombinasyonu ele alınabilir.
  • Elle oluşturulan test setlerine göre oluşturulması daha basittir ve hataya daha az eğilimlidir.
  • Şunun için faydalıdır: Entegrasyon Testive aynı derecede faydalı olanlar için yapılandırma testiTarayıcı, işletim sistemi ve cihaz kombinasyonlarının hızla çoğaldığı bir ortamda.
  • Azaltılmış test döngüleri ve test süreleri nedeniyle üretkenliği artırır.

Tasarruf bileşikleri sırasında gerileme testiÇünkü daha küçük ve dengeli bir test paketi her döngüde yeniden çalıştırılacak kadar ucuzdur, oysa kapsamlı bir kombinasyon test paketi genellikle bir kez çalıştırılır ve ardından sessizce terk edilir.

Ortogonal Dizi Testinin Dezavantajları

  • Veri girişleri arttıkça, test senaryosu tasarımının karmaşıklığı da artar. Sonuç olarak, manuel çaba ve harcanan zaman artar ve test uzmanlarının daha karmaşık çözümlere yönelmesi gerekir. Otomasyon Testi.
  • İkili kapsama, tam kapsama anlamına gelmez. Yalnızca üç belirli değerin birlikte ortaya çıkması durumunda görünen bir hata, dizi boyunca dokunulmadan kalabilir.
  • Farklı sayıda seviyeye sahip faktörler standart bir diziye düzgün bir şekilde eşlenmez, bu nedenle karma seviyeli bir dizi veya kapsayan bir dizi oluşturucuya ihtiyaç duyulur.
  • Seviyeleri seçmek bir değerlendirme meselesidir. Giriş modelinde önemli bir değer eksik bırakılırsa, hiçbir dizi onu geri kazanamaz.
  • Değerler arasındaki kısıtlamalar, örneğin yalnızca bir ülkede geçerli olan bir ödeme yöntemi gibi, ifade edilmesi zor durumlardır ve genellikle elle kaldırılması gereken geçersiz satırlar üretir.

Bu sınırlamaların hiçbiri tekniği tamamen devre dışı bırakmaz; sadece sınırlarını belirler. Dikgen diziler birleştirme sorununu azaltırken, risk analizi ve alan testi Öncelikle modelde hangi faktörlerin yer almayı hak ettiğine karar verin.

OAT gerçekleştirirken yapılan hatalar veya hatalar

  • Test çalışmalarını uygulamanın yanlış alanına yönlendirmek.
  • Birleştirmek için yanlış parametreleri seçmek.
  • Giriş veri kümesinin kapsamlı bir şekilde test edilebilecek kadar küçük olduğu durumlarda ortogonal dizi testinin kullanılması.
  • Üreteç gerektirecek kadar büyük bir model üzerinde ortogonal dizi testini manuel olarak uygulamak.
  • Daha kapsamlı testlerin gerekli olduğu yüksek riskli uygulamalar için yalnızca ortogonal dizi testine güvenmek doğru değildir.

Son madde, pratikte en fazla hasara neden olan maddedir. Güvenlik açısından kritik veya finansal bir özellik söz konusu olduğunda, ikili küme bir tavan değil, bir tabandır ve genellikle hedefli durumlarla desteklenir. sistem testi seviye ve açıklanan daha geniş planla uyumlu olarak yazılım testi türleri.

SSS

Bu bir kara kutu tekniğidir. Dizi, kaynak koduna, dallara veya iç duruma hiçbir referans olmaksızın, yalnızca giriş parametrelerinden ve bunların izin verilen değerlerinden oluşturulur; bu nedenle uygulama tamamlanmadan önce tasarlanabilir.

Test uzmanı, genellikle bir iş analistinin hangi değerlerin geçerli olduğunu onaylamasıyla birlikte, girdi modelini oluşturur. Geliştiriciler, önbellek ayarı gibi dahili bir parametre söz konusu olduğunda katkıda bulunurlar. Test paketinin değerini belirleyen şey dizi değil, modelin kalitesidir.

Hayır, onlara bağlı. Bölümleme ve sınır analizi her alanı birkaç temsili değere indirger ve dizi daha sonra bu değerlerden hangilerinin birleştirileceğine karar verir. Diziyi filtrelenmemiş ham değerler üzerinde çalıştırmak gereksiz yere büyük bir tablo oluşturur.

Örneğin, iki ve üç seviyeli sütunları karıştıran L18 gibi karma seviyeli bir dizi gereklidir. Standart bir dizi uygun olmadığında, bir kapsayıcı dizi oluşturucu şekli doğrudan ele alır ve her faktörü aynı seviye sayısına zorlamaktan daha küçük bir tablo döndürür.

Aynı anda üç veya daha fazla belirli değere ihtiyaç duyan herhangi bir arıza. Arıza verilerine ilişkin ampirik çalışmalar, arızaların çoğunun bir veya iki parametre tarafından tetiklendiğini göstermektedir; bu nedenle ikili kapsama etkilidir, ancak kritik özellikler için üçlü kapsama önerilir.

Çoğunlukla entegrasyon ve sistem düzeyinde, çeşitli bileşenlerin veya ayarların etkileşimde bulunduğu durumlarda geçerlidir. Ayrıca tarayıcı, işletim sistemi ve ekran boyutu gibi ortam matrislerine ve mevcut test penceresinden daha fazla sayıda gönderilen kombinasyona sahip yapılandırılabilir ürünlere de uygundur.

Makine öğrenimi, gereksinimleri ve üretim kayıtlarını okuyarak önemli faktörleri ve seviyeleri önerir ve hata geçmişi modelleri, hangi kombinasyonların üç yönlü kapsama hak ettiğini sıralar. Dizi matematiği deterministiktir; zekice olan kısım ise modele neyin gireceğini seçmektir.

Bu, bir jeneratör için model dosyasını, satırları okuyan veri odaklı döngüyü ve bunların etrafındaki iddiaları taslak haline getirir. Kapsam iddiasını jeneratörün kendisiyle doğrulayın, çünkü bir dil modeli ortogonal olmayan makul bir tablo üretebilir.

Bu yazıyı şu şekilde özetleyin: