Mi az az ortogonális tömb tesztelése? (Példa)

⚡ Okos összefoglaló

Az ortogonális tömbtesztelés egy fekete doboz technika, amely statisztikai tömböket használ egy kompakt teszthalmaz felépítéséhez, amely minden bemeneti érték párt lefed sokkal kevesebb tesztesettel, mint amennyit a kimerítő kombinációs tesztelés megkövetelne.

  • 🎯 Fő ígéret: Bármely két tényező közötti szintpár legalább egyszer megjelenik a generált futtatásokban.
  • 🔢 Értékelés: Egy tömböt L-lel jelölünk.Runs(SzintekTényezők), tehát L9(3⁴) kilenc futtatást jelent négy háromszintű tényező esetén.
  • 📉 A megtakarítás mértéke: Négy tényező három szinten, mindegyik 81 kimerítő kombinációból kilenc ortogonális futtatásra omlik össze.
  • 🧮 Egyenleg szabály: Az oszlopokat úgy kell kitölteni, hogy két tényező ne mozduljon el együtt, különben a táblázat nem lesz ortogonális.
  • 🇧🇷 szerszámozás: GeneratorAz olyan programok, mint a PICT és az ACTS, automatikusan felépítik a tömböt, ami kiküszöböli a manuális hibák fő forrását.
  • ⚠️ Ismert határérték: A páros lefedettség nem képes olyan hibát észlelni, amelyhez három vagy több specifikus érték együttes szükséges.

Ortogonális tömbtesztelés, amely a bemeneti kombinációkat egy kis, kiegyensúlyozott teszteset-készletre redukálja

Ortogonális tömb tesztelése

Ortogonális tömb tesztelése (OAT) egy olyan szoftvertesztelési technika, amely ortogonális tömböket használ tesztesetek létrehozásához. Ez egy statisztikai tesztelési megközelítés, és különösen hasznos, ha a tesztelt rendszer nagyszámú adatbemenetet fogad el. Az ortogonális tömbtesztelés maximalizálja a teszt lefedettségét a bemenetek párosításával és kombinálásával, így a rendszer viszonylag kevesebb tesztesettel és kevesebb végrehajtási idővel tesztelhető.

Például, amikor egy vonatjegyet kell ellenőrizni, olyan tényezőket kell tesztelni, mint az utasok száma, a jegyszám, az ülésszámok és a vonatszámok. Az egyes tényezők egyenkénti tesztelése nehézkes. Hatékonyabb, ha a minőségbiztosítási mérnök több bemenetet kombinál, és egyetlen menetben teszteli azokat. Ilyen esetekben az ortogonális tömb tesztelési módszert használhatjuk.

Az ilyen típusú párosítást vagy bemeneti elemek időmegtakarítás céljából történő kombinálását páros tesztelésnek nevezik, és az OATS technika az egyik módja a páros tesztkészlet létrehozásának. Mivel a technika tisztán bemeneti értékekből és várható eredményekből dolgozik, a belső kód bármilyen megtekintése nélkül, a következőhöz tartozik: fekete doboz tesztelés család.

Miért OAT (Orthogonal Array Testing)?

Jelen forgatókönyvben a kód összetettsége miatt kihívást jelent a minőségi szoftvertermék vevőhöz való eljuttatása.

A hagyományos módszerben a tesztsorozatok a bemeneti értékek és előfeltételek minden kombinációjából származtatott teszteseteket tartalmaznak. Ennek eredményeként n számú tesztesetet kell lefedni.

Egy valós forgatókönyvben azonban a tesztelőknek nem lesz idejük az összes tesztesetet végrehajtani a hibák feltárása érdekében, mivel vannak más tevékenységek is, például a dokumentáció, a javaslatok és az ügyfél visszajelzései, amelyeket a tesztelési fázison belül kell elvégezni.

Ezért a tesztmenedzserek optimalizálni akarták a tesztesetek számát és minőségét, hogy biztosítsák a maximumot Teszt lefedettség minimális erőfeszítéssel. Ezt az erőfeszítést teszteset-optimalizálásnak nevezik.

  • Páros interakciók tesztelésének szisztematikus és statisztikai módja.
  • Az interakciós és integrációs pontok a hibák egyik fő forrását jelentik.
  • Végezzen el egy jól definiált, tömör teszteset-készletet, amely valószínűleg a legtöbb (nem az összes) hibát feltárja.
  • Az ortogonális megközelítés garantálja az összes változó páronkénti lefedettségét.

A technika tehát a többi, a csapat által már alkalmazott input-csökkentési módszer mellett helyezkedik el. Ekvivalencia particionálás és határérték-elemzés eldönti, hogy mely értékeket érdemes egyetlen mező esetében tesztelni; az ortogonális tömbök döntik el, hogy ezek közül az értékek közül melyeket kell együtt tesztelni.

Hogyan ábrázolják az ortogonális tömbtesztelést?

Egy ortogonális tömböt egy rövid képlettel írunk le, nem pedig a tartalmával. Az alábbi ábra azt mutatja, hogy a képletben szereplő három mennyiség hogyan viszonyul a tömb alakjához.

Ortogonális tömbjelölés, amely az L(Runs) képletben szereplő futásokat, tényezőket és szinteket mutatja

  • Futások (N) – A tömb sorainak száma, amely a generálandó tesztesetek számára utal.
  • Tényezők (K) – A tömb oszlopainak száma, amely a kezelhető változók maximális számát jelenti.
  • Szintek (V) – Bármelyik tényezőhöz felvehető értékek maximális száma.

Egyetlen faktorhoz általában 2-3 bemenetet kell tesztelni. Ez a maximális bemeneti szám határozza meg a szinteket.

Olvasd fel a tömb nevét balról jobbra. L9(34) a 9 a futtatások számát, a 3 az egyes tényezők által felvehető szintek számát, a felső indexben szereplő 4 pedig a tényezők számát jelöli. Ugyanez a cikk a következőt használja: L4(23), ami négy futtatást jelent három olyan tényezőre, amelyek mindegyikének két szintje van.

Két tulajdonság teszi ortogonálissá a tömböt, és mindkettőnek teljesülnie kell ahhoz, hogy a futtatásszámláló megbízható legyen:

  • Egyenleg: Egy tényező minden szintje ugyanannyiszor jelenik meg a saját oszlopában.
  • Páronkénti teljesség: bármely két oszlop esetén az egyes oszlopok egy-egy szintjének minden kombinációja ugyanannyiszor jelenik meg.

Ha a második tulajdonság nem igazolható, a tábla egyszerűen egy rövidített teszthalmaz, nem pedig egy ortogonális tömb, és a csökkentést indokoló páronkénti garancia már nem érvényes.

Az ortogonális tömb tesztelésének módja: Példák

  1. Határozza meg a forgatókönyv független változóját.
  2. Keresse meg a legkisebb tömböt a futtatások számával.
  3. Leképezzük a tényezőket a tömbhöz!
  4. Válassza ki az értékeket bármely „maradék” szinthez.
  5. Írd át a futásokat erre a nyelvre: teszt esetek, hozzáadva minden különösen gyanús, de nem generált kombinációt.

Az alábbi két kidolgozott példa ezt az öt lépést alkalmazza, először egy kisebb, kétszintű problémára, majd egy nagyobb, háromszintűre.

Példa 1

Egy weboldal három különálló szekcióval rendelkezik (felső, középső, alsó), amelyek egyenként megjeleníthetők vagy elrejthetők a felhasználó elől.

  • Tényezők száma = 3 (felső, középső, alsó)
  • Szintek száma (láthatóság) = 2 (rejtett vagy megjelenített)
  • Tömb típusa = L4(23)

(A 4 az OAT tömb létrehozása után elért futtatások száma)

Ha a hagyományos technikát alkalmazzuk, amely szerint egyszerre csak egy szakaszt módosítunk, akkor 2 X 3 = 6 tesztesetre van szükségünk.

Tesztsorozat forgatókönyvek Tesztelendő értékek
Teszt #1 REJTETT Csúcs
Teszt #2 LÁTHATÓ Csúcs
Teszt #3 REJTETT Alsó
Teszt #4 LÁTHATÓ Alsó
Teszt #5 REJTETT Középső
Teszt #6 LÁTHATÓ Középső

Ez a hat futtatás egyszerre egy szakaszt változtat, és soha nem helyez két szakaszt egy kiválasztott állapotba egyszerre. Ehelyett minden kombináció tesztelése 2-t vesz igénybe.3 = 8 futás.

Ha OAT tesztelésre megyünk, 4 tesztesetre van szükségünk, az alábbiak szerint:

Tesztsorozat TOP Középső Alsó
Teszt #1 Rejtett Rejtett Rejtett
Teszt #2 Rejtett Látható Látható
Teszt #3 Látható Rejtett Látható
Teszt #4 Látható Látható Rejtett

Vizsgáljuk meg a táblázat bármely két oszlopát, és mind a négy Rejtett/Látható pár pontosan egyszer jelenik meg, ami az ortogonalitás tulajdonság legkisebb formájában.

Példa 2

A mikroprocesszor működését tesztelni kell:

  • Hőmérséklet: 100C, 150C és 200C.
  • Nyomás: 2 psi, 5 psi és 8 psi
  • Doping Összeg: 4%, 6% és 8%
  • Lerakódási sebesség: 0.1 mg/s, 0.2 mg/s és 0.3 mg/s

A hagyományos módszerrel 3-ra van szükségünk4 = 81 teszteset az összes bemenet lefedésére. Dolgozzunk inkább az OATS metódussal:

Tényezők száma = 4 (hőmérséklet, nyomás, doping mennyiség és lerakódási sebesség)

Szintek = 3 szint tényezőnként (a hőmérsékletnek 3 szintje van – 100°C, 150°C és 200°C – és hasonlóképpen a többi tényezőnek is 3 szintje van)

Hozzon létre egy tömböt az alábbiak szerint:

1. Oszlopok a tényezők számával

Próbaper # Hőmérséklet Nyomás Doping összeg Lerakódási arány

2. Adja meg a sorok számát, amely megegyezik a szintek számával tényezőnként. Például a hőmérsékletnek 3 szintje van. Ezért szúrjon be 3 sort minden hőmérsékleti szinthez.

Próbaper # Hőmérséklet Nyomás Doping összeg Lerakódási arány
1 100C
2 100C
3 100C
4 150C
5 150C
6 150C
7 200C
8 200C
9 200C

3. Most oszd meg a nyomást, és csináldping mennyiség és a lerakódási sebesség az oszlopokban.

Például: Írjon be 2 psi-t 100 °C, 150 °C és 200 °C hőmérsékleten, hasonlóképpen írja be: doping 4% mennyiség 100°C, 150°C és 200°C esetén, és így tovább.

Próbaper # Hőmérséklet Nyomás Doping összeg Lerakódási arány
1 100C 2 psi 4% 0.1 mg/s
2 100C 5 psi 6% 0.2 mg/s
3 100C 8 psi 8% 0.3 mg/s
4 150C 2 psi 4% 0.1 mg/s
5 150C 5 psi 6% 0.2 mg/s
6 150C 8 psi 8% 0.3 mg/s
7 200C 2 psi 4% 0.1 mg/s
8 200C 5 psi 6% 0.2 mg/s
9 200C 8 psi 8% 0.3 mg/s

Ezért az OA-kban 9 tesztesetre van szükségünk.

Pontossági megjegyzés: a fennmaradó három oszlopot egyenesen lefelé töltve, ahogy a 3. lépés is teszi, ismételje meg ugyanazt a nyomást, tegyeping és a lerakódás megháromszorozódik minden hőmérsékleti blokkon belül. Nyomás ésping mennyiség ezért együtt mozog, és az olyan párok, mint a 2 psi 6%-kal, soha nem jelennek meg, így a fenti kilenc sor egy redukált teszthalmaz, nem pedig egy valódi ortogonális tömb. A kiegyensúlyozott L9(34Az alábbi ) tömb ugyanazt a kilenc futást tartja meg, miközben mind a kilenc szintpárt lefedi minden két tényező között.

Próbaper # Hőmérséklet Nyomás Doping összeg Lerakódási arány
1 100C 2 psi 4% 0.1 mg/s
2 100C 5 psi 6% 0.2 mg/s
3 100C 8 psi 8% 0.3 mg/s
4 150C 2 psi 6% 0.3 mg/s
5 150C 5 psi 8% 0.1 mg/s
6 150C 8 psi 4% 0.2 mg/s
7 200C 2 psi 8% 0.2 mg/s
8 200C 5 psi 4% 0.3 mg/s
9 200C 8 psi 6% 0.1 mg/s

Ortogonális tömbtesztelés vs. páronkénti (minden páros) tesztelés

A két kifejezést sok csapat felcserélhetően használja, mégis nem azonosak. Mindkettő értékpárok lefedésére szolgál, de abban különböznek, hogy mennyire szigorúan korlátozzák a kapott táblázatot.

Aspect Ortogonális tömbvizsgálat Páros (minden páros) tesztelés
Alapvető szerkezet Ortogonális tömb, a kísérletek tervéből kölcsönözve Lefedő tömb, egy keresési algoritmus által generált
Lefedettségi szabály Minden pár ugyanannyiszor jelenik meg Minden pár legalább egyszer megjelenik
Egyenlőtlen szintű tényezők Vegyes szintű tömböt igényel, amely a kívánt alakhoz esetleg nem létezik. Közvetlenül a generátor kezeli
Tipikus futásszám Azonos vagy kissé magasabb az egyensúlyi követelmény miatt Ugyanazon bemenetek esetén egyenlő vagy alacsonyabb
Értékek közötti korlátok Nehéz kifejezni a tömbön belül A legtöbb modern generátor támogatja

A gyakorlatban a kiegyensúlyozott ortogonális tömb a tisztább tanítási modell és a biztonságosabb választás, ha a faktorok azonos szintű számmal rendelkeznek, míg a lefedő tömb az, amit a legtöbb eszköz létrehoz valós projektekhez, nehézkes, egyenlőtlen bemenetekkel. Mindkettő kiegészíti egymást döntési tábla tesztelés és a állapotátmenet-tesztelés, amelyek az értékek kombinációi helyett az üzleti szabályokat és a sorrendet célozzák meg.

Ortogonális tömbtesztelő eszközök

Egy tömb kézi felépítése csak a fenti kisebb példáknál praktikus. Négy vagy öt tényezőn túl a csapatok egy generátort használnak, és az eszköz határozza meg számukra a futtatások számát.

  • KÉP: egy nyílt forráskódú parancssori generátor a következőtől: MicrosoftA paraméterek és azok értékei egy egyszerű szöveges modellfájlba vannak írva, és az eszköz kinyomtatja a kombinációs halmazt. A korlátozások és az almodellek támogatottak, ami akkor fontos, ha bizonyos értékpárok érvénytelenek. Lásd a PICT adattár.
  • CSELEKEDETEK: egy NIST kutatási eszköz, amely kétirányú, akár hatirányú lefedettségű lefedő tömböket generál, és előre kiszámított tömbök könyvtárát is közzéteszi. Elérhető a következő címen: NIST kombinatorikus tesztelési projekt.
  • Kereskedelmi kombinatorikus platformok: tárolt eszközök hozzáadási követelmény tracteljesítőképesség, várható eredmények és exportálás egy tesztkezelő rendszerbe, amely nagyobb csapatoknak felel meg, akiknek auditnaplóra van szükségük.
  • Közzétett tömbkönyvtárak: Az olyan szabványos tömbök, mint az L4, L8, L9, L16 és L18, táblázatba vannak foglalva, és közvetlenül másolhatók, ha a faktor- és szintszám megegyezik.

Bármelyik eszköz is állítja elő a táblázatot, a generált sorokat továbbra is futtatható esetekké kell alakítani valós adatokkal és várható eredményekkel, majd ütemezni kell őket, mint bármely más programcsomagot. szoftvertesztelési technikák már használatban van a projektben.

Az ortogonális tömbtesztelés előnyei

  • Garantálja az összes kiválasztott változó páronkénti kombinációinak tesztelését.
  • Csökkenti a tesztesetek számát.
  • Kevesebb tesztesetet hoz létre, amelyek továbbra is lefedik az összes változópár interakcióját.
  • A változók komplex kombinációi kezelhetők.
  • Egyszerűbb előállítása és kevésbé hibás, mint a kézzel készített tesztkészletek.
  • Ez hasznos Integrációs tesztelés, és ugyanilyen hasznos a konfigurációs tesztelés, ahol a böngésző, az operációs rendszer és az eszköz kombinációi gyorsan szaporodnak.
  • Javítja a termelékenységet a csökkentett tesztciklusoknak és tesztelési időknek köszönhetően.

A megtakarítási vegyületek a következő időszakban: regressziós teszt, mivel egy kisebb kiegyensúlyozott programcsomag elég olcsó ahhoz, hogy minden ciklusban újra lefuttassuk, míg egy kimerítő kombinációs programcsomagot általában egyszer lefuttatunk, majd csendben félreteszünk.

Az ortogonális tömbtesztelés hátrányai

  • Az adatbevitel növekedésével a teszteset-terv összetettsége is növekszik. Ennek eredményeként a manuális erőfeszítés és a ráfordított idő is megnő, és a tesztelőknek további erőfeszítéseket kell tenniük. Automatizálási tesztelés.
  • A páronkénti lefedettség nem teljes lefedettség. Egy olyan hiba, amely csak akkor jelenik meg, ha három adott érték együttesen fordul elő, érintetlenül áthaladhat a tömbön.
  • A különböző szintű faktorok nem illeszkednek tisztán egy szabványos tömbre, ezért vegyes szintű tömbre vagy lefedő tömbgenerátorra van szükség.
  • A szintek kiválasztása egyfajta megítélés kérdése. Ha egy fontos érték kimarad a bemeneti modellből, akkor azt egyetlen tömb sem tudja helyreállítani.
  • Az értékek közötti megszorítások, például egy csak egy országban érvényes fizetési mód, nehezen fejezhetők ki, és általában érvénytelen sorokat eredményeznek, amelyeket kézzel kell eltávolítani.

Ezen korlátozások egyike sem zárja ki a technikát; egyszerűen csak kijelölik a határait. Az ortogonális tömbök csökkentik a kombinációs problémát, míg a kockázatelemzés és domain tesztelés eldönteni, hogy mely tényezők érdemelnek helyet a modellben.

Hibák vagy hibák az OAT végrehajtása során

  • A tesztelési erőfeszítések az alkalmazás rossz területére irányítása.
  • Rossz paraméterek kiválasztása az egyesítéshez.
  • Ortogonális tömbtesztelés használata, ahol a bemeneti halmaz elég kicsi a kimerítő teszteléshez.
  • Ortogonális tömbtesztelés manuális alkalmazása egy olyan modellen, amely elég nagy ahhoz, hogy generátort igényeljen.
  • Kizárólag ortogonális tömbvizsgálatra támaszkodunk nagy kockázatú alkalmazásoknál, ahol mélyebb lefedettségre van szükség.

Az utolsó elem okozza a gyakorlatban a legtöbb kárt. Biztonságkritikus vagy pénzügyi jellemzők esetén a páronkénti halmaz inkább alsó, mint felső határt jelent, és általában célzott esetekkel egészül ki. rendszertesztelés szinten és a tágabb, a a szoftvertesztelés típusai.

GYIK

Ez egy fekete doboz technika. A tömböt kizárólag bemeneti paraméterekből és azok megengedett értékeiből építik fel, forráskódra, elágazásokra vagy belső állapotra való hivatkozás nélkül, így a megvalósítás befejezése előtt megtervezhető.

A tesztelő építi fel a bemeneti modellt, általában egy üzleti elemzővel megerősítve, hogy mely értékek megengedettek. A fejlesztők ott járulnak hozzá, ahol egy paraméter belső, például egy gyorsítótár-beállítás. A modell minősége, nem pedig a tömb, határozza meg a modellcsomag értékét.

Nem, ez tőlük függ. A particionálás és a határelemzés minden mezőt néhány reprezentatív értékre redukál, majd a tömb eldönti, hogy ezek közül melyeket kombinálja. A tömb szűretlen nyers értékekkel történő futtatása szükségtelenül nagy táblázatot eredményez.

Vegyes szintű tömbre van szükség, például L18-ra, amely két- és háromszintű oszlopokat kever. Ahol nem illik standard tömb, egy lefedő tömbgenerátor közvetlenül kezeli az alakzatot, és egy kisebb táblázatot ad vissza, mintha minden tényezőt ugyanarra a szintű számlálóra kényszerítene.

Bármely olyan hiba, amelyhez egyszerre három vagy több adott értékre van szükség. A hibaadatok empirikus vizsgálatai azt mutatják, hogy a legtöbb hibát egy vagy két paraméter váltja ki, ezért hatékony a páros lefedettség, de a kritikus jellemzők esetében a háromutas lefedettség ajánlott.

Leginkább integrációs és rendszerszinten, ahol több komponens vagy beállítás kölcsönhatásba lép egymással. Illeszkedik a környezeti mátrixokhoz is, mint például a böngésző, az operációs rendszer és a képernyőméret, valamint minden olyan konfigurálható termékhez, ahol a leszállított kombinációk száma meghaladja az elérhető tesztidőablakot.

A gépi tanulás a követelményeket és a termelési naplókat olvassa, hogy javaslatot tegyen a fontos tényezőkre és szintekre, a hibatörténeti modellek pedig rangsorolják, hogy mely kombinációk érdemesek háromirányú lefedettségre. A tömbmatematika determinisztikus – az intelligens rész a modellbe kerülő anyagok kiválasztása.

Megrajzolja a modellfájlt egy generátorhoz, az adatvezérelt ciklust, amely beolvassa a sorokat, és az azokat körülvevő állításokat. Ellenőrizd a lefedettségi állítást magával a generátorral, mivel egy nyelvi modell képes olyan hihető táblázatot előállítani, amely nem ortogonális.

Foglald össze ezt a bejegyzést a következőképpen: