Fekete doboz tesztelése

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. február 4-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

A fekete doboz tesztelés vagy viselkedésteszt  egy olyan stratégia (módszer), amely egy objektum (program, rendszer) funkcionális viselkedését a külső világ szempontjából teszteli, amely nem használja fel az objektum belső szerkezetére (kódjára) vonatkozó ismereteket. tesztelés alatt áll. Más szóval, a fekete doboz tesztelését olyan tesztelők végzik, akik nem férnek hozzá az alkalmazás forráskódjához. A stratégia egy tesztkészlethez tartozó tesztek kiválasztásának és létrehozásának szisztematikus módszereit jelenti. A viselkedési vizsgálati stratégia a műszaki követelményekből és azok specifikációiból származik [1] .

A "fekete" doboz fogalma

A "fekete doboz" olyan vizsgálati tárgy, amelynek belső szerkezete ismeretlen. A "fekete doboz" fogalmát W. R. Ashby javasolta . A kibernetikában lehetővé teszi a rendszerek viselkedésének, azaz a különféle külső hatásokra való reakcióinak tanulmányozását, ugyanakkor elvonatkoztatást belső szerkezetüktől.

Csak bemenetekkel és kimenetekkel történő manipulációval bizonyos vizsgálatok elvégezhetők. A gyakorlatban mindig felmerül a kérdés, hogy a „fekete” doboz homomorfizmusa mennyiben tükrözi a vizsgált modell megfelelőségét, vagyis mennyire tükröződik az eredeti alapvető tulajdonságai a modellben.

Bármely vezérlőrendszer időbeni leírását az állapotok sorrendjének képe jellemzi, ahogyan az előtte álló cél felé halad. A vezérlőrendszerben az átalakulás lehet egy az egyhez, majd ezt nevezzük izomorfnak, vagy csak egy az egyhez, egy irányba. Ebben az esetben a transzformációt homomorfnak nevezzük.

A „fekete doboz” egy olyan kibernetikai rendszer komplex homomorf modellje, amelyben tiszteletben tartják a sokféleséget. Csak akkor tekinthető kielégítő modellnek a rendszernek, ha olyan mennyiségű információt tartalmaz, amely tükrözi a rendszer sokszínűségét. Feltételezhető, hogy minél több perturbáció hat a rendszermodell bemeneteire, annál nagyobb diverzitással kell rendelkeznie a vezérlőnek.

Jelenleg kétféle „fekete” doboz ismeretes. Az első típusba tartozik bármely "fekete" doboz, amely automatának tekinthető, végesnek vagy végtelennek nevezhető . Az ilyen "fekete" dobozok viselkedése ismert. A második típusba olyan "fekete" dobozok tartoznak, amelyek viselkedése csak kísérletben figyelhető meg. Ebben az esetben explicit vagy implicit formában egy hipotézis fogalmazódik meg a „fekete” doboz viselkedésének valószínűségi értelemben vett kiszámíthatóságáról. Előzetes hipotézis nélkül lehetetlen bármiféle általánosítás, vagy ahogy mondani szokás, lehetetlen induktív következtetést levonni a fekete doboz-kísérletek alapján. N. Wiener a „fehér” doboz koncepcióját javasolta a „fekete” doboz modell megjelölésére. A „fehér” doboz ismert komponensekből áll, azaz ismert X, Y, δ, λ. Tartalma kifejezetten úgy lett megválasztva, hogy megvalósítsa ugyanazt a kimeneti-bemeneti függőséget, mint a megfelelő "fekete" dobozé. A folyamatban lévő kutatások és általánosítások, hipotézisek, minták felállítása során szükségessé válik a „fehér” doboz szerveződésének módosítása és a modellek megváltoztatása. Ezzel kapcsolatban a modellezés során a kutatónak többször is hivatkoznia kell a "fekete" - "fehér" doboz kapcsolati sémára.

A "fekete" doboz viselkedésének tanulmányozása

Nézzük meg, hogyan tanulmányozzák és vizsgálják a második típusú „fekete doboz” viselkedését. Tételezzük fel, hogy kapunk valamilyen ellenőrzési rendszert, amelynek belső felépítése ismeretlen. A vezérlőrendszer bemenetekkel és kimenetekkel rendelkezik .

Ennek a "fekete" doboznak a viselkedésének tanulmányozásának módja egy kísérlet elvégzése, amelynek eredményeit táblázat formájában lehet bemutatni. egy.

A "fekete" doboz tanulmányozásának ezt a módszerét protokollnak nevezik. A bemeneti mennyiségek értékei időnként tetszőlegesen megválaszthatók.

Asztal 1

A „fekete” doboz tanulmányozásának módja
Beviteli állapot Kimenet állapota Idő
............ ............ ....
............ ............ ....

A felfedezés másik módja néhány szabványos szekvencia betáplálása a bemenetekre. Ez a módszer különösen vonzó, mert lehetővé teszi több "fekete" doboz viselkedésének összehasonlítását azzal a feltétellel, hogy kiválasztja azokat, amelyek megfelelnek a követelményeknek.

A vezérlőrendszerek tanulmányozása a " valószínűségi automata ", a "valószínűségi rendszer" fogalmaihoz kapcsolódik, ami megköveteli valószínűségi tulajdonságaik tanulmányozását. Ebből a célból létrehozhat egy valószínűségi mátrixot (2. táblázat), amelyben minden bemenethez és kimenethez a feltételes valószínűséget jelzi , amely a táblázatban megadott [7]-re válaszul történik . 2.

A „fekete doboz” matematikai modelljeinek megalkotására szolgáló módszerek kidolgozása az egyik fontos kibernetikai probléma. Feltéve, hogy létezik a „fekete” doboz matematikai modellje, lehetségessé válik bármely osztályhoz hozzárendelni, amelynek minden rendszere izomorf viselkedésű.

A "fekete" doboz matematikai leírásának elkészítése egyfajta művészet. Bizonyos esetekben lehetőség van olyan algoritmus kialakítására, amely szerint a „fekete” doboz tetszőleges bemeneti jelre reagál. A legtöbb esetben azonban olyan differenciálegyenleteket próbálnak felállítani, amelyek a "fekete" doboz reakcióját a bemeneteihez, vagy ahogy mondják, a bemeneti ingereihez kapcsolják.

A tudomány számára a „fekete doboz” módszer nagy jelentőséggel bír. Segítségével számos kiemelkedő felfedezés született a tudományban. Például Harvey tudós megjósolta a szív szerkezetét a 17. században. A szív munkáját pumpával modellezte, ötleteket kölcsönzött a kortárs tudás egy teljesen más területéről - a hidraulikából. A „fekete doboz” módszer gyakorlati értéke egyrészt a nagyon összetett dinamikus rendszerek tanulmányozásának lehetőségében rejlik, másrészt abban, hogy az egyik „dobozt” le lehet cserélni egy másikkal. A környező valóság és a biológia rengeteg példát hoz a rendszerek szerkezetének feltárására a „fekete doboz” módszerrel.

A fekete doboz tesztelésének elvei

Ennél a módszernél a programot fekete dobozként kezeljük . A tesztelés célja, hogy kiderítse, milyen körülmények között a program viselkedése nem felel meg a specifikációnak . A program összes hibájának észleléséhez kimerítő tesztelést kell végezni , azaz mindenféle adatkészleten tesztelni kell . A legtöbb program esetében ez nem lehetséges, ezért ésszerű tesztelést alkalmaznak , amelyben a program tesztelése a lehetséges adatkészletek egy kis részhalmazára korlátozódik. Ebben az esetben a legmegfelelőbb részhalmazokat kell kiválasztani, azokat a részhalmazokat, amelyeknél a legnagyobb valószínűséggel észlelnek hibákat.

A helyesen kiválasztott teszt tulajdonságai

  1. Csökkenti egynél több egyéb teszt számát, amelyet az ésszerű teszteléshez kell tervezni.
  2. Lefedi az egyéb lehetséges tesztek jelentős részét, ami némileg jelzi a hiba meglétét vagy hiányát egy korlátozott tesztsorozat előtt és után.

Fekete doboz tesztelési technikák

  1. Egyenértékű partíció.
  2. A határértékek elemzése.
  3. Ok-okozati összefüggések elemzése.
  4. Hiba tipp.

Nézzük meg közelebbről az egyes módszereket:

Egyenértékű partíció

A módszer két elven alapul:

  1. A kiindulási adatokat véges számú ekvivalenciaosztályra kell felosztani. Egy ekvivalenciaosztály olyan teszteket tartalmaz, hogy ha az ekvivalenciaosztály egyik tesztje valamilyen hibát észlel, akkor ebből az ekvivalenciaosztályból bármely másik tesztnek ugyanazt a hibát kell kimutatnia.
  2. Minden tesztnek a lehető legtöbb ekvivalenciaosztályt kell tartalmaznia, hogy a tesztek száma minimális legyen.

A tesztek fejlesztése ezzel a módszerrel két szakaszban történik : az ekvivalencia osztályok kiválasztása és a teszt felépítése.

Az ekvivalenciaosztályokat az egyes bemeneti feltételek kiválasztásával lehet megkülönböztetni, amelyek a referencia- vagy specifikációból származnak, és két vagy több csoportra oszthatók. Ehhez a következő táblázat szolgál:

Bemeneti feltétel Megfelelő ekvivalencia osztályok Rossz ekvivalencia osztályok
' ' '

Az ekvivalenciaosztályok kiválasztása heurisztikus módszer, de számos szabály érvényesül:

  1. Ha a bemeneti feltétel egy tartományt ír le, például "Egy egész szám 0 és 999 közötti értéket vesz fel", akkor van egy érvényes ekvivalenciaosztály és két érvénytelen.
  2. Ha a beviteli feltétel több értéket ír le, például "A bemeneti fájl sorainak száma az (1..6) intervallumban van", akkor van egy helyes osztály és két hibás is.
  3. Ha a bemeneti feltétel bemeneti értékek halmazát írja le, akkor a helyes osztályok száma megegyezik a bemeneti értékkészlet elemeinek számával. Ha a beviteli feltétel egy „kell lennie” helyzetet ír le, például „Az első karaktert nagybetűvel kell írni”, akkor az egyik osztály helyes, egy pedig helytelen.
  4. Ha okkal feltételezhető, hogy az azonos ekvivalenciaosztályon belüli elemeket a program különbözőképpen értelmezheti, akkor ezt az osztályt alosztályokra kell bontani. Ebben a lépésben a tesztelőnek a táblázat segítségével olyan teszteket kell létrehoznia, amelyek lefedik az összes helyes és helytelen ekvivalenciaosztályt. Ebben az esetben a fordítónak minimálisra kell csökkentenie a tesztek számát.

A tesztek meghatározása:

  1. Minden ekvivalenciaosztályhoz egyedi szám tartozik.
  2. Ha még mindig vannak megfelelő osztályok, amelyek nem szerepelnek a tesztekben, akkor olyan teszteket írnak, amelyek a lehető legtöbb óraszámot lefedik.
  3. Ha vannak hibás osztályok, amelyek nem szerepelnek a tesztekben, akkor olyan teszteket írnak, amelyek csak egy osztályt fednek le.
Határérték elemzés

A peremfeltételek  olyan helyzetek, amelyek a bemeneti ekvivalencia osztályok felső és alsó határán fordulnak elő.

A határérték-elemzés a következő módokon különbözik az egyenértékű particionálástól:

  1. Az ekvivalencia osztály bármely elemének reprezentatív kiválasztását úgy kell végrehajtani, hogy ennek az osztálynak minden határát egy teszttel teszteljék.
  2. A tesztek kidolgozásakor nem csak a bemeneti értékeket (beviteli területet) veszik figyelembe, hanem a kimeneti értékeket is (kimeneti tér).

A módszer bizonyos fokú kreativitást és szakosodást igényel az adott feladatban.

Számos szabály létezik:

  1. Készítsen teszteket rossz bemenetekkel kisebb, hatótávolságon kívüli helyzetekre. Ha a bemeneti értékeknek a [-1.0 .. +1.0] tartományban kell lenniük, ellenőrizze a −1.0, 1.0, −1.000001, 1.000001 értékeket.
  2. Feltétlenül írjon teszteket a tartomány minimális és maximális határaira.
  3. Mindegyik bemeneti értékhez használja az első két szabályt (az összes kimeneti értékhez használja a 2. lépést).
  4. Ha a program bemenete és kimenete rendezett halmaz, akkor a lista első és utolsó elemére összpontosítson.

A határérték-elemzés, ha helyesen alkalmazzák, nagyszámú hibát észlelhet. Ezeknek a határoknak az egyes feladatokhoz való meghatározása azonban külön nehéz feladat lehet. Ezenkívül ez a módszer nem ellenőrzi a bemeneti értékek kombinációit.

Ok-okozati elemzés

Tesztépítési lépések:

  1. A specifikáció munkarészekre oszlik.
  2. A specifikáció számos okot és következményt határoz meg. Az ok egyetlen bemeneti feltétel vagy egy ekvivalenciaosztály. A következmény egy kimeneti feltétel vagy a rendszer átalakítása. Itt minden ok és okozat egy számot kap.
  3. A specifikáció szemantikai (szemantikai) tartalmának elemzése alapján összeállítunk egy igazságtáblázatot, amelyben az okok összes lehetséges kombinációját egymás után sorba rendezzük, és az okok minden kombinációjára meghatározzuk a következményeket.

A táblázat korlátozásokkal és a nem lehetséges kombinációk leírásával van ellátva. Ennek a megközelítésnek a hátránya a peremfeltételek nem megfelelő tanulmányozása.

Hiba tipp

A nagy tapasztalattal rendelkező tesztelő mindenféle módszer nélkül talál hibákat, ugyanakkor tudat alatt alkalmazza a hiba kitalálásának módszerét. Ez a módszer nagyrészt az intuíción alapul. A módszer fő gondolata egy lista készítése, amely felsorolja a lehetséges hibákat és helyzeteket, amelyekben ezek a hibák előfordulhatnak. Ezután a lista alapján teszteket állítanak össze.

Jegyzetek

  1. Beizer, 2004 , p. 33.

Irodalom

  • Ross Ashby W. 6. fejezet A fekete doboz // Bevezetés a kibernetikába = Bevezetés a kibernetikába. - Külföldi Irodalmi Kiadó, 1959. - S. 127-169. — 432 p.
  • Beizer B. Fekete doboz tesztelése. Szoftverek és rendszerek funkcionális tesztelésének technológiái. - Péter, 2004. - 320 p. — ISBN 5-94723-698-2 .