Mustan laatikon testaus

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 4. helmikuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Black box -testaus eli käyttäytymistesti  on strategia (menetelmä), jolla testataan objektin (ohjelman, järjestelmän) toiminnallista käyttäytymistä ulkomaailman näkökulmasta, jossa ei käytetä tietoa kohteen sisäisestä rakenteesta (koodista). testataan. Toisin sanoen black box -testauksen tekevät testaajat, joilla ei ole pääsyä sovelluksen lähdekoodiin. Strategia tarkoittaa systemaattisia menetelmiä valita ja luoda testejä testisarjalle. Käyttäytymistestistrategia tulee teknisistä vaatimuksista ja niiden määrittelyistä [1] .

"Mustan" laatikon käsite

"Musta laatikko" ymmärretään tutkimuskohteena, jonka sisäistä rakennetta ei tunneta. "Mustan laatikon" käsitteen ehdotti W. R. Ashby . Kybernetiikassa sen avulla voidaan tutkia järjestelmien käyttäytymistä, eli niiden reaktioita erilaisiin ulkoisiin vaikutuksiin, ja samalla irrottaa niiden sisäisestä rakenteesta.

Vain syötteillä ja lähdöillä manipuloimalla voidaan suorittaa tiettyjä tutkimuksia. Käytännössä herää aina kysymys, missä määrin "mustan" laatikon homomorfismi heijastaa sen tutkitun mallin riittävyyttä, eli kuinka täydellisesti alkuperäisen perusominaisuudet heijastuvat mallissa.

Minkä tahansa ohjausjärjestelmän kuvaukselle ajassa on tunnusomaista kuva sen tilojen järjestyksestä sen edetessä kohti sitä edessä olevaa tavoitetta. Muutos ohjausjärjestelmässä voi olla joko yksi yhteen ja sitten sitä kutsutaan isomorfiseksi tai vain yksi yhteen, yhteen suuntaan. Tässä tapauksessa muutosta kutsutaan homomorfiseksi.

"Musta" laatikko on monimutkainen homomorfinen malli kyberneettisestä järjestelmästä, jossa monimuotoisuutta kunnioitetaan. Se on vain silloin tyydyttävä malli järjestelmästä, kun se sisältää sellaisen määrän tietoa, joka heijastaa järjestelmän monimuotoisuutta. Voidaan olettaa, että mitä enemmän järjestelmämallin tuloihin vaikuttavia häiriöitä on, sitä suurempi diversiteetti ohjaimella tulisi olla.

Tällä hetkellä tunnetaan kahdenlaisia ​​"mustia" laatikoita. Ensimmäinen tyyppi sisältää minkä tahansa "mustan" laatikon, jota voidaan pitää automaattina , jota kutsutaan äärelliseksi tai äärettömäksi. Tällaisten "mustien" laatikoiden käyttäytyminen tunnetaan. Toinen tyyppi sisältää sellaiset "mustat" laatikot, joiden käyttäytymistä voidaan havaita vain kokeessa. Tässä tapauksessa eksplisiittisessä tai implisiittisessä muodossa esitetään hypoteesi "mustan" laatikon käyttäytymisen ennustettavuudesta probabilistisessa mielessä. Ilman alustavaa hypoteesia mikään yleistäminen on mahdotonta tai, kuten sanotaan, on mahdotonta tehdä induktiivista johtopäätöstä mustan laatikon kokeiden perusteella. N. Wiener ehdotti "valkoisen" laatikon käsitettä "mustan" laatikon mallin nimeämiseksi. "Valkoinen" laatikko koostuu tunnetuista komponenteista, eli tunnetuista X, Y, 8, λ. Sen sisältö on erityisesti valittu toteuttamaan sama lähtö-tuloriippuvuus kuin vastaava "musta" laatikko. Jatkuvan tutkimuksen ja yleistysten, hypoteesien ja mallien muodostamisen prosessissa on välttämätöntä säätää "valkoisen" laatikon organisaatiota ja muuttaa malleja. Tässä suhteessa mallintaessaan tutkijan on viitattava toistuvasti "musta" - "valkoinen" laatikko -suhdekaavioon.

"Mustan" laatikon toiminnan tutkiminen

Tarkastellaanpa, kuinka toisenlaisen "mustan" laatikon käyttäytymistä tutkitaan ja tutkitaan. Oletetaan, että meille on annettu jokin ohjausjärjestelmä, jonka sisäistä rakennetta ei tunneta. Ohjausjärjestelmässä on tulot ja lähdöt .

Tapa tutkia tämän "mustan" laatikon käyttäytymistä on suorittaa koe, jonka tulokset voidaan esittää taulukon muodossa. yksi.

Tätä "mustan" laatikon tutkimismenetelmää kutsutaan protokollaksi. Syötesuureiden arvot ajoittain voidaan valita mielivaltaisesti.

pöytä 1

Tapa tutkia "mustaa" laatikkoa
Syötön tila Ulostulon tila Aika
............ ............ ....
............ ............ ....

Toinen tapa tutkia on syöttää joitain vakiosekvenssejä tuloihin. Tämä menetelmä on erityisen houkutteleva, koska sen avulla voit verrata useiden "mustien" laatikoiden käyttäytymistä ehtoihin valita ne, jotka täyttävät vaatimukset.

Ohjausjärjestelmien tutkimus liittyy käsitteisiin " todennäköisyysautomaatti ", "todennäköisyysjärjestelmä", mikä edellyttää niiden todennäköisyysominaisuuksien tutkimista. Näitä tarkoituksia varten voit rakentaa todennäköisyysmatriisin (taulukko 2), jossa jokaiselle sisääntulolle ja jokaiselle lähdölle ilmoitetaan ehdollinen todennäköisyys , joka tapahtuu vastauksena taulukossa annettuun [7]:een. 2.

Menetelmien kehittäminen "mustan" laatikon matemaattisten mallien rakentamiseksi on yksi tärkeimmistä kyberneettisistä ongelmista. Edellyttäen, että "mustasta" laatikosta on olemassa matemaattinen malli, on mahdollista liittää se mihin tahansa luokkaan, jonka kaikki järjestelmät ovat käyttäytymisellään isomorfisia.

"Mustan" laatikon matemaattisen kuvauksen luominen on eräänlainen taide. Joissakin tapauksissa on mahdollista muodostaa algoritmi, jonka mukaan "musta" laatikko reagoi mielivaltaiseen tulosignaaliin. Useimmissa tapauksissa kuitenkin yritetään luoda differentiaaliyhtälöitä, jotka yhdistävät "mustan" laatikon reaktion sen tuloihin tai, kuten sanotaan, sen syöttöärsykkeisiin.

Tieteelle "mustan" laatikon menetelmä on erittäin tärkeä. Hänen avullaan tehtiin monia merkittäviä löytöjä tieteessä. Esimerkiksi tiedemies Harvey ennusti sydämen rakenteen jo 1600-luvulla. Hän mallinsi sydämen työtä pumpulla lainaten ideoita täysin toiselta nykytiedon alueelta - hydrauliikasta. "Mustan" menetelmän käytännön arvo piilee ensinnäkin mahdollisuudessa tutkia erittäin monimutkaisia ​​dynaamisia järjestelmiä ja toiseksi mahdollisuudessa korvata yksi "laatikko" toisella. Ympäröivä todellisuus ja biologia antavat paljon esimerkkejä järjestelmien rakenteen paljastamisesta "mustan" laatikon menetelmällä.

Mustan laatikon testauksen periaatteet

Tässä menetelmässä ohjelmaa käsitellään mustana laatikkona . Testauksen tarkoituksena on selvittää olosuhteet, joissa ohjelman toiminta ei ole määritelmien mukaista . Kaikkien ohjelman virheiden havaitsemiseksi on suoritettava kattava testaus , eli testaus kaikenlaisille tietojoukoille . Useimmille ohjelmille tämä ei ole mahdollista, joten käytetään järkevää testausta , jossa ohjelman testaus rajoittuu pieneen osaan mahdollisia tietojoukkoja. Tässä tapauksessa on tarpeen valita sopivimmat osajoukot, osajoukot, joilla on suurin todennäköisyys havaita virheitä.

Oikein valitun testin ominaisuudet

  1. Vähentää useampaa kuin yhtä muiden testien määrää, jotka on suunniteltu järkevää testausta varten.
  2. Kattaa merkittävän osan muista mahdollisista testeistä, mikä on jonkin verran osoitus virheen olemassaolosta tai puuttumisesta ennen rajoitettua testisarjaa ja sen jälkeen.

Mustan laatikon testaustekniikat

  1. Vastaava osio.
  2. Raja-arvojen analyysi.
  3. Syy-seuraus-suhteiden analyysi.
  4. Virhe arvaus.

Tarkastellaanpa kutakin näistä menetelmistä tarkemmin:

Vastaava osio

Menetelmä perustuu kahteen periaatteeseen:

  1. Alkutiedot on jaettava äärelliseen määrään ekvivalenssiluokkia. Yksi ekvivalenssiluokka sisältää sellaisia ​​testejä, että jos yksi ekvivalenssiluokan testi havaitsee jonkin virheen, niin minkä tahansa muun testin tästä ekvivalenssiluokasta tulee havaita sama virhe.
  2. Jokaisen testin tulee sisältää mahdollisimman monta ekvivalenssiluokkaa testien kokonaismäärän minimoimiseksi.

Testien kehittäminen tällä menetelmällä suoritetaan kahdessa vaiheessa : ekvivalenssiluokkien valinta ja testin rakentaminen.

Ekvivalenssiluokat erotetaan valitsemalla jokainen syöttöehto, joka on otettu viite- tai määrittelystä ja jaettu kahteen tai useampaan ryhmään. Tätä varten käytetään seuraavaa taulukkoa:

Syöttöehto Oikeat vastaavuusluokat Väärät vastaavuusluokat
' ' '

Ekvivalenssiluokkien valinta on heuristinen tapa, mutta on olemassa useita sääntöjä:

  1. Jos syöttöehto kuvaa aluetta, kuten "Kokonaisluku saa arvon 0 - 999", on olemassa yksi kelvollinen ekvivalenssiluokka ja kaksi virheellistä.
  2. Jos syöttöehto kuvaa useita arvoja, esimerkiksi "Syötetiedoston rivien määrä on välissä (1..6)", on myös yksi oikea luokka ja kaksi väärää.
  3. Jos syöttöehto kuvaa syötearvojen joukon, oikeiden luokkien lukumäärä määritetään yhtä suureksi kuin syöttöarvojoukon elementtien määrä. Jos syöttöehto kuvaa "täytyy olla" -tilannetta, kuten "Ensimmäinen merkki on kirjoitettava isolla", yksi luokka on oikea ja yksi luokka on väärä.
  4. Jos on syytä uskoa, että samaan ekvivalenssiluokkaan kuuluvia elementtejä voidaan tulkita eri tavalla, tämä luokka on tarpeen jakaa alaluokkiin. Tässä vaiheessa testaajan tulee käyttää taulukkoa luodakseen testejä, jotka kattavat kaikki oikeat ja väärät ekvivalenssiluokat. Tässä tapauksessa kääntäjän tulee minimoida testien kokonaismäärä.

Testien määritelmä:

  1. Jokaiselle vastaavuusluokalle on annettu yksilöllinen numero.
  2. Jos vielä on oikeita luokkia, jotka eivät sisälly kokeisiin, kirjoitetaan kokeita, jotka kattavat mahdollisimman paljon luokkia.
  3. Mikäli kokeissa on vääriä luokkia, jotka eivät sisälly kokeisiin, kirjoitetaan kokeita, jotka kattavat vain yhden luokan.
Raja-arvoanalyysi

Rajaehdot  ovat tilanteita, jotka esiintyvät syöteekvivalenssiluokkien ylä- ja alarajoilla.

Raja-arvoanalyysi eroaa vastaavista osioista seuraavilla tavoilla:

  1. Minkä tahansa ekvivalenssiluokan elementin valinta edustavaksi suoritetaan siten, että jokainen tämän luokan raja testataan testillä.
  2. Testejä kehitettäessä ei oteta huomioon vain syöttöarvoja (syöttötilaa), vaan myös lähtöarvoja (tulostustila).

Menetelmä vaatii tiettyä luovuutta ja erikoistumista käsillä olevaan tehtävään.

Sääntöjä on useita:

  1. Rakenna testejä huonoilla tuloilla pieneen toiminta-alueen ulkopuoliseen tilanteeseen. Jos syöttöarvojen tulee olla alueella [-1.0 .. +1.0], tarkista −1.0, 1.0, −1.000001, 1.000001.
  2. Muista kirjoittaa testejä alueen minimi- ja maksimirajoista.
  3. Käytä kahta ensimmäistä sääntöä jokaiselle syöttöarvolle (käytä vaihetta 2 kaikille lähtöarvoille).
  4. Jos ohjelman syöte ja tulos ovat järjestetty joukko, keskity luettelon ensimmäiseen ja viimeiseen elementtiin.

Oikein käytettynä raja-arvoanalyysi voi havaita suuren määrän virheitä. Näiden rajojen määrittäminen kullekin tehtävälle voi kuitenkin olla erillinen vaikea tehtävä. Tämä menetelmä ei myöskään tarkista syöttöarvojen yhdistelmiä.

Syy-seuraus-analyysi

Testirakennuksen vaiheet:

  1. Erittely on jaettu työosiin.
  2. Erittely määrittelee monia syitä ja seurauksia. Syy on yksittäinen syöteehto tai ekvivalenssiluokka. Seurauksena on järjestelmän tulosehto tai muunnos. Tässä jokaiselle syylle ja seuraukselle on annettu numero.
  3. Määritelmän semanttisen (semanttisen) sisällön analyysin perusteella muodostetaan totuustaulukko, jossa kaikki mahdolliset syiden yhdistelmät lajitellaan peräkkäin ja kullekin syiden yhdistelmälle määritetään seuraukset.

Taulukkoon on merkitty rajoitukset ja kuvaukset yhdistelmistä, jotka eivät ole mahdollisia. Tämän lähestymistavan haittana on rajaehtojen huono tutkimus.

Virhe arvaus

Kokenut testaaja löytää virheet ilman menetelmiä, mutta samalla hän käyttää alitajuisesti virheen arvausmenetelmää. Tämä menetelmä perustuu suurelta osin intuitioon. Menetelmän perusideana on tehdä luettelo, jossa luetellaan mahdolliset virheet ja tilanteet, joissa näitä virheitä saattaa esiintyä. Sitten luettelon perusteella kootaan testit.

Muistiinpanot

  1. Beizer, 2004 , s. 33.

Kirjallisuus

  • Ross Ashby W. Luku 6. Musta laatikko // Johdatus kybernetiikkaan = An Introduction to Cybernetics. - Ulkomaisen kirjallisuuden kustantamo, 1959. - S. 127-169. — 432 s.
  • Beizer B. Mustan laatikon testaus. Ohjelmistojen ja järjestelmien toiminnallisen testauksen tekniikat. - Pietari, 2004. - 320 s. — ISBN 5-94723-698-2 .