Mikä on ortogonaalisen taulukon testaus? (Esimerkki)

⚡ Älykäs yhteenveto

Ortogonaalinen taulukkotestaus on musta laatikkotekniikka, joka käyttää tilastollisia taulukoita kompaktin testijoukon rakentamiseen, kattaen jokaisen syöttöarvoparin paljon vähemmillä testitapauksilla kuin mitä kattava yhdistelmätestaus vaatisi.

  • 🎯 Ydinlupaus: Jokainen kahden tekijän välinen tasopari esiintyy ainakin kerran luoduissa ajoissa.
  • 🔢 Arvostelu: Taulukko kirjoitetaan L:ksiToimii(TasotTekijät), joten L9(3⁴) tarkoittaa yhdeksää suoritusta neljälle kolmitasoiselle tekijälle.
  • 📉 Säästön asteikko: Neljä tekijää kolmella tasolla romahtaa kukin 81 tyhjentävästä yhdistelmästä yhdeksään ortogonaaliseen sarjaan.
  • 🧮 Tasapainosääntö: Sarakkeet on täytettävä siten, ettei mikään kaksi tekijää liiku yhdessä, muuten taulukko ei ole ortogonaalinen.
  • 🛠️ työkalut: GeneratorPICT:n ja ACTS:n kaltaiset ohjelmat rakentavat taulukon automaattisesti, mikä poistaa manuaalisten virheiden pääasiallisen lähteen.
  • ⚠️ Tunnettu raja: Parittainen kattavuus ei pysty havaitsemaan vikaa, joka vaatii kolmea tai useampaa tiettyä arvoa yhdessä.

Ortogonaalinen taulukkotestaus, jossa syöteyhdistelmiä supistetaan pieneksi tasapainoiseksi joukoksi testitapauksia

Ortogonaalisen taulukon testaus

Ortogonaalisen taulukon testaus (OAT) on ohjelmistotestaustekniikka, joka käyttää ortogonaalisia taulukoita testitapausten luomiseen. Se on tilastollinen testausmenetelmä, ja se on erityisen hyödyllinen silloin, kun testattava järjestelmä hyväksyy suuren määrän datasyötteitä. Ortogonaalinen taulukkotestaus maksimoi testien kattavuuden parittamalla ja yhdistämällä syötteet, joten järjestelmää testataan suhteellisesti vähemmillä testitapauksilla ja lyhyemmällä suoritusajalla.

Esimerkiksi junalippua varmennettaessa on testattava tekijöitä, kuten matkustajien lukumäärä, lipun numero, istumapaikkojen numerot ja junien numerot. Kunkin tekijän testaaminen yksi kerrallaan on hankalaa. On tehokkaampaa, kun laadunvarmistusinsinööri yhdistää useita syötteitä ja testaa ne yhdellä kertaa. Tällaisissa tapauksissa voimme käyttää ortogonaalista matriisitestausmenetelmää.

Tämän tyyppistä syötteiden parittamista tai yhdistämistä ajan säästämiseksi kutsutaan pareittain tehdyksi testaukseksi, ja OATS-tekniikka on yksi tapa tuottaa pareittainen testijoukko. Koska tekniikka toimii pelkästään syötearvojen ja odotettujen tulosten perusteella ilman minkäänlaista näkemystä sisäiseen koodiin, se kuuluu musta ruutu testaus perhe.

Miksi OAT (Orthogonal Array Testing)?

Tässä skenaariossa laadukkaan ohjelmistotuotteen toimittaminen asiakkaalle on muodostunut haasteelliseksi koodin monimutkaisuuden vuoksi.

Perinteisessä menetelmässä testijoukot sisältävät testitapauksia, jotka on johdettu kaikista syötearvojen ja esiehtojen yhdistelmistä. Tämän seurauksena on katettava n määrä testitapauksia.

Mutta todellisessa tilanteessa testaajilla ei ole aikaa suorittaa kaikkia testitapauksia vikojen paljastamiseksi, koska testausvaiheeseen on sisällytettävä muita toimintoja, kuten dokumentointi, ehdotukset ja asiakkaan palaute.

Tästä syystä testipäälliköt halusivat optimoida testitapausten määrän ja laadun varmistaakseen parhaan mahdollisen Testin kattavuus minimaalisella vaivalla. Tätä vaivaa kutsutaan testitapausten optimoinniksi.

  • Systemaattinen ja tilastollinen tapa testata parikohtaisia ​​vuorovaikutuksia.
  • Vuorovaikutukset ja integraatiopisteet ovat merkittävä vikojen lähde.
  • Suorita hyvin määritelty ja ytimekäs joukko testitapauksia, jotka todennäköisesti paljastavat useimmat (ei kaikkia) virheet.
  • Ortogonaalinen lähestymistapa takaa kaikkien muuttujien parittaisen peiton.

Siksi tekniikka sopii yhteen muiden tiimin jo käyttämien panosten vähentämismenetelmien kanssa. Ekvivalenssiositus ja reuna-arvoanalyysi päättää, mitkä arvot kannattaa testata yksittäiselle kentälle; ortogonaaliset taulukot päättävät, mitkä näistä arvoista tulisi testata yhdessä.

Miten ortogonaalinen matriisitestaus esitetään

Ortogonaalista taulukkoa kuvataan lyhyellä kaavalla eikä sen sisällöllä. Alla oleva kaavio näyttää, miten kaavan kolme suuretta liittyvät taulukon muotoon.

Ortogonaalinen taulukkomerkintä, joka näyttää juoksut, tekijät ja tasot L(Runs)-kaavassa

  • Juoksut (N) – Taulukon rivien lukumäärä, joka muunnetaan luotavien testitapausten lukumääräksi.
  • Tekijät (K) – Taulukon sarakkeiden lukumäärä, joka tarkoittaa käsiteltävien muuttujien enimmäismäärää.
  • Tasot (V) – Yksittäiselle tekijälle otettavien arvojen enimmäismäärä.

Yksittäisellä tekijällä on yleensä 2–3 testattavaa syötettä. Tämä syötteiden enimmäismäärä määrää tasot.

Lue taulukon nimi vasemmalta oikealle. L9(34) 9 on juoksumäärä, 3 on tasojen lukumäärä, jonka kukin tekijä voi saada, ja yläindeksi 4 on tekijöiden lukumäärä. Samassa artikkelissa käytetään L4(23), mikä on neljä ajoa kolmelle tekijälle, joilla kullakin on kaksi tasoa.

Kaksi ominaisuutta tekee taulukosta ortogonaalisen, ja molempien on oltava voimassa, ennen kuin juoksumäärään voidaan luottaa:

  • Balance: jokainen tekijän taso esiintyy yhtä monta kertaa omassa sarakkeessaan.
  • Parittainen täydellisyys: Missä tahansa kahdessa sarakkeessa jokainen yhden tason yhdistelmä kummastakin esiintyy yhtä monta kertaa.

Jos toinen ominaisuus epäonnistuu, taulukko on yksinkertaisesti lyhennetty testijoukko, ei ortogonaalinen taulukko, ja supistuksen oikeuttava pareittakuu ei enää päde.

Ortogonaalisen taulukon testaus: Esimerkkejä

  1. Tunnista skenaarion riippumaton muuttuja.
  2. Etsi pienin matriisi ajojen lukumäärällä.
  3. Yhdistä tekijät taulukkoon.
  4. Valitse arvot mille tahansa "jäljelle jääville" tasoille.
  5. Litteroi juoksut muotoon testitapaukset, lisäämällä kaikki erityisen epäilyttävät yhdistelmät, joita ei generoida.

Alla olevat kaksi käytännön esimerkkiä soveltavat näitä viittä vaihetta ensin pieneen kaksitasoiseen ongelmaan ja sitten suurempaan kolmitasoiseen ongelmaan.

Esimerkki 1

Verkkosivulla on kolme erillistä osiota (yläosa, keskiosa ja alaosa), jotka voidaan näyttää tai piilottaa käyttäjältä erikseen.

  • Tekijöiden lukumäärä = 3 (ylhäällä, keskellä, alhaalla)
  • Tasojen lukumäärä (näkyvyys) = 2 (piilotettu tai näytetty)
  • Taulukon tyyppi = L4(23)

(4 on OAT-taulukon luomisen jälkeen tehtyjen suoritusten lukumäärä)

Jos käytämme perinteistä tekniikkaa, jossa muutetaan yksi osio kerrallaan, tarvitsemme testitapauksia, kuten 2 X 3 = 6 testitapausta.

Testitapaukset skenaariot Testattavat arvot
Testi #1 PIILOTETTU ylin
Testi #2 NÄYTTÄÄ ylin
Testi #3 PIILOTETTU pohja
Testi #4 NÄYTTÄÄ pohja
Testi #5 PIILOTETTU Keskimmäinen
Testi #6 NÄYTTÄÄ Keskimmäinen

Nuo kuusi ajoa vaihtelevat yhden osion kerrallaan eivätkä koskaan aseta kahta osiota samaan tilaan samanaikaisesti. Jokaisen yhdistelmän testaaminen veisi sen sijaan kaksi3 = 8 juoksua.

Jos lähdemme OAT-testaukseen, tarvitsemme 4 testitapausta alla esitetyllä tavalla:

Testitapaukset TOP Keskimmäinen pohja
Testi #1 kätketty kätketty kätketty
Testi #2 kätketty näkyvä näkyvä
Testi #3 näkyvä kätketty näkyvä
Testi #4 näkyvä näkyvä kätketty

Tarkista kyseisen taulukon mitkä tahansa kaksi saraketta, ja kaikki neljä Piilotettu/Näkyvä-paria esiintyvät täsmälleen kerran, mikä on ortogonaalisuusominaisuus pienimmässä muodossaan.

Esimerkki 2

Mikroprosessorin toimivuus on testattava:

  • Lämpötila: 100C, 150C ja 200C.
  • Paine: 2 psi, 5 psi ja 8 psi
  • Doping Määrä: 4 %, 6 % ja 8 %
  • Laskeutumisnopeus: 0.1 mg/s, 0.2 mg/s ja 0.3 mg/s

Perinteistä menetelmää käyttämällä tarvitsemme 34 = 81 testitapausta kaikkien syötteiden kattamiseksi. Työskennellään sen sijaan OATS-metodilla:

Tekijöiden lukumäärä = 4 (lämpötila, paine, doping määrä ja laskeutumisnopeus)

Tasot = 3 tasoa tekijää kohden (lämpötilalla on 3 tasoa – 100 °C, 150 °C ja 200 °C – ja samoin muillakin tekijöillä on kullakin 3 tasoa)

Luo taulukko seuraavasti:

1. Sarakkeet, joissa on tekijöiden lukumäärä

Testitapaus # Lämpötila Paine Doping määrä Laskeumanopeus

2. Syötä tasoja vastaava rivien lukumäärä tekijää kohden. Esimerkiksi lämpötilalla on 3 tasoa. Lisää siis 3 riviä kutakin lämpötilatasoa kohden.

Testitapaus # Lämpötila Paine Doping määrä Laskeumanopeus
1 100C
2 100C
3 100C
4 150C
5 150C
6 150C
7 200C
8 200C
9 200C

3. Jaa nyt paine, teeping määrä ja laskeumanopeudet sarakkeissa.

Esim.: Syötä 2 psi lämpötiloissa 100 °C, 150 °C ja 200 °C, syötä samoin doping määrä 4 % 100 °C:lle, 150 °C:lle ja 200 °C:lle ja niin edelleen.

Testitapaus # Lämpötila Paine Doping määrä Laskeumanopeus
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

Siksi OA:ssa tarvitsemme 9 testitapausta.

Tarkkuushuomautus: täyttämällä loput kolme saraketta suoraan alaspäin, kuten vaiheessa 3 tehdään, toista sama paine, teeping ja laskeuma kolminkertaistuu jokaisen lämpötilalohkon sisällä. Paine japing määrä liikkuu siis yhdessä, eikä pareja, kuten 2 psi ja 6 %, koskaan esiinny, joten yllä olevat yhdeksän riviä ovat supistettu testijoukko pikemminkin kuin todellinen ortogonaalinen taulukko. Tasapainotettu L9(34Alla oleva ) taulukko pitää samat yhdeksän juoksua kattaen samalla kaikki yhdeksän tasoparia jokaisen kahden tekijän välillä.

Testitapaus # Lämpötila Paine Doping määrä Laskeumanopeus
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

Ortogonaalinen matriisitestaus vs. pareittainen (kaikki parit) testaus

Näitä kahta termiä käytetään monissa tiimeissä keskenään vaihtokelpoisesti, mutta ne eivät ole identtisiä. Molemmat pyrkivät kattamaan arvopareja, mutta ne eroavat toisistaan ​​siinä, kuinka tiukasti tuloksena olevaa taulukkoa rajoitetaan.

Aspect Ortogonaalisen matriisin testaus Pareittain (kaikki parit) testaus
Pohjana oleva rakenne Ortogonaalinen matriisi, lainattu kokeiden suunnittelusta Hakualgoritmin luoma peittävä taulukko
Kattavuussääntö Jokainen pari esiintyy yhtä monta kertaa Jokainen pari esiintyy ainakin kerran
Epätasaiset tekijät Tarvitsee sekatasoisen taulukon, jota ei välttämättä ole olemassa vaaditulle muodolle Generaattorin suoraan käsittelemä
Tyypillinen juoksumäärä Sama tai hieman korkeampi tasapainovaatimuksen vuoksi Sama tai pienempi samoilla syötteillä
Arvojen väliset rajoitukset Vaikea ilmaista taulukon sisällä Useimpien nykyaikaisten generaattoreiden tukema

Käytännössä tasapainotettu ortogonaalinen taulukko on selkeämpi opetusmalli ja turvallisempi valinta, kun tekijöillä on sama tasomäärä, kun taas peittävä taulukko on se, mitä useimmat työkalut tuottavat todellisiin projekteihin, joissa käytetään hankalia, epätasaisia ​​syötteitä. Molemmat täydentävät toisiaan päätöstaulutestaus ja tilasiirtymätestaus, jotka kohdistuvat liiketoimintasääntöihin ja -järjestykseen arvojen yhdistelmien sijaan.

Ortogonaalisten ryhmien testaustyökalut

Taulukon rakentaminen käsin on käytännöllistä vain yllä mainituissa pienissä esimerkeissä. Neljän tai viiden tekijän jälkeen tiimit käyttävät generaattoria, ja työkalu päättää juoksumäärän heidän puolestaan.

  • KUVA: avoimen lähdekoodin komentorivigeneraattori osoitteesta MicrosoftParametrit ja niiden arvot kirjoitetaan pelkkää tekstiä sisältävään mallitiedostoon, ja työkalu tulostaa yhdistelmäjoukon. Rajoituksia ja alimalleja tuetaan, mikä on tärkeää, kun tietyt arvoparit ovat virheellisiä. Katso PICT-arkisto.
  • TEOT: NIST:n tutkimustyökalu, joka luo peittotaulukoita kaksi- tai kuusisuuntaiseen kattavuuteen ja julkaisee myös kirjaston valmiiksi lasketuista taulukoista. Se on saatavilla osoitteesta NIST:n kombinatorinen testausprojekti.
  • Kaupalliset kombinatoriset alustat: isännöidyt työkalut lisäävät vaatimuksen trackäytettävyys, odotetut tulokset ja vienti testauksenhallintajärjestelmään, joka sopii suuremmille tiimeille, jotka tarvitsevat auditointiketjun.
  • Julkaistut taulukkokirjastot: Vakiotaulukot, kuten L4, L8, L9, L16 ja L18, on taulukkomuodossa ja ne voidaan kopioida suoraan, kun tekijä- ja tasomäärät vastaavat toisiaan.

Riippumatta siitä, mikä työkalu taulukon tuottaa, luodut rivit on silti muutettava ajettaviksi tapauksiksi, joissa on todellista dataa ja odotettuja tuloksia, ja sitten ne on ajoitettava kuten mikä tahansa muu työkalupaketti. ohjelmistotestaustekniikat jo käytössä projektissa.

Ortogonaalisen matriisitestauksen edut

  • Takaa kaikkien valittujen muuttujien parikohtaisten yhdistelmien testauksen.
  • Vähentää testitapausten määrää.
  • Luo vähemmän testitapauksia, jotka silti kattavat jokaisen muuttujaparin vuorovaikutuksen.
  • Muuttujien monimutkaisia ​​yhdistelmiä voidaan käsitellä.
  • On yksinkertaisempi luoda ja vähemmän virhealttiita kuin käsin luodut testisarjat.
  • Se on hyödyllinen Integraation testausja yhtä hyödyllinen konfiguraatiotestaus, jossa selaimen, käyttöjärjestelmän ja laitteen yhdistelmät moninkertaistuvat nopeasti.
  • Se parantaa tuottavuutta lyhentyneiden testisyklien ja testausaikojen ansiosta.

Säästävät yhdisteet aikana regressiotestaus, koska pienempi tasapainotettu sarja on tarpeeksi halpa suoritettavaksi uudelleen joka syklissä, kun taas kattava yhdistelmäsarja ajetaan yleensä kerran ja sitten hiljaa hylätään.

Ortogonaalisen matriisitestauksen haitat

  • Datasyötteiden kasvaessa testitapausten suunnittelun monimutkaisuus kasvaa. Tämän seurauksena manuaalinen työmäärä ja käytetty aika lisääntyvät, ja testaajien on pyrittävä Automaatiotestaus.
  • Parittainen peitto ei ole täydellinen peitto. Vika, joka ilmenee vain, kun kolme tiettyä arvoa esiintyy yhdessä, voi kulkea taulukon läpi koskemattomana.
  • Eri tasomäärillä varustetut tekijät eivät kuvaudu standarditaulukkoon puhtaasti, joten tarvitaan sekatasoinen taulukko tai peittävä taulukkogeneraattori.
  • Tasojen valinta on harkintakykyyn perustuva prosessi. Jos syötemallista jätetään pois tärkeä arvo, mikään taulukko ei pysty palauttamaan sitä.
  • Arvojen väliset rajoitteet, kuten vain yhdessä maassa kelvollinen maksutapa, ovat hankalia ilmaista ja tuottavat yleensä virheellisiä rivejä, jotka on poistettava käsin.

Mikään näistä rajoituksista ei sulje pois tekniikkaa; ne yksinkertaisesti asettavat sen rajat. Ortogonaaliset matriisit vähentävät yhdistämisongelmaa, kun taas riskianalyysi ja verkkotunnuksen testaus päättää, mitkä tekijät ansaitsevat paikan mallissa alun perin.

Virheitä tai virheitä suoritettaessa OAT

  • Testaustyön suuntaaminen väärään kohtaan sovelluksessa.
  • Väärien parametrien valitseminen yhdistämistä varten.
  • Käytetään ortogonaalista taulukkotestausta, jossa syötejoukko on riittävän pieni testattavaksi tyhjentävästi.
  • Ortogonaalisen matriisitestauksen manuaalinen soveltaminen malliin, joka on riittävän suuri generaattorin käyttöön.
  • Pelkästään ortogonaaliseen matriisitestaukseen turvautuminen korkean riskin sovelluksissa, joissa vaaditaan laajempaa kattavuutta.

Viimeinen kohta aiheuttaa käytännössä eniten vahinkoa. Turvallisuuskriittisillä tai taloudellisilla ominaisuuksilla parittainen joukko on pikemminkin pohja kuin katto, ja sitä yleensä täydennetään kohdennetuilla tapauksilla. järjestelmän testaus tasolla ja laajemman suunnitelman kanssa, joka on kuvattu kohdassa ohjelmistotestauksen tyypit.

UKK

Se on musta laatikko -tekniikka. Taulukko rakennetaan vain syöteparametreista ja niiden sallituista arvoista ilman viittauksia lähdekoodiin, haaroihin tai sisäiseen tilaan, joten se voidaan suunnitella ennen toteutuksen valmistumista.

Testaaja rakentaa syötemallin, ja yleensä liiketoiminta-analyytikko vahvistaa, mitkä arvot ovat sallittuja. Kehittäjät osallistuvat, jos parametri on sisäinen, kuten välimuistiasetus. Mallin laatu, ei taulukko, määrää sarjan arvon.

Ei, se riippuu heistä. Osiointi ja reuna-analyysi supistavat jokaisen kentän muutamaan edustavaan arvoon, ja sitten taulukko päättää, mitkä näistä arvoista yhdistetään. Taulukon suorittaminen suodattamattomilla raaka-arvoilla tuottaa tarpeettoman suuren taulukon.

Tarvitaan sekatasoinen taulukko, esimerkiksi L18, joka yhdistää kaksi- ja kolmitasoisia sarakkeita. Jos mikään vakiotaulukko ei sovi, peittävä taulukkogeneraattori käsittelee muodon suoraan ja palauttaa pienemmän taulukon kuin pakottamalla kaikki tekijät samalle tasolle.

Mikä tahansa vika, joka tarvitsee samanaikaisesti kolme tai useampia tiettyjä arvoja. Vikadatan empiiriset tutkimukset osoittavat, että useimmat viat laukaisevat yksi tai kaksi parametria, minkä vuoksi parittainen kattavuus on tehokasta, mutta kolmisuuntainen kattavuus on suositeltavaa kriittisten ominaisuuksien osalta.

Pääasiassa integraatio- ja järjestelmätasolla, jossa useat komponentit tai asetukset ovat vuorovaikutuksessa keskenään. Se sopii myös ympäristömatriiseihin, kuten selaimeen, käyttöjärjestelmään ja näytön kokoon, sekä mihin tahansa konfiguroitavaan tuotteeseen, jossa toimitettujen yhdistelmien määrä ylittää käytettävissä olevan testi-ikkunan.

Koneoppiminen lukee vaatimuksia ja tuotantolokeja ehdottaakseen tärkeitä tekijöitä ja tasoja, ja vikahistoriamallit luokittelevat yhdistelmät, jotka ansaitsevat kolmiosaisen kattavuuden. Taulukkomatematiikka on determinististä – älykäs osa valitsee, mitä malliin syötetään.

Se luonnostelee mallitiedoston generaattorille, datapohjaiselle silmukalle, joka lukee rivit, ja niiden ympärillä olevat väitteet. Tarkista kattavuusväite itse generaattorilla, koska kielimalli voi tuottaa uskottavan taulukon, joka ei ole ortogonaalinen.

Tiivistä tämä viesti seuraavasti: