Csoport neve: ICECUBE

Feladat címe: Intelligens hűtőszekrény szoftver tervezete





Analízis modell



Gyakorlatvezető:

Ficsor Lajos



Csoport tagok:

Név

Neptun

E-mail

Nábrádi Benedek

LQXR1J

nabradi@iit.uni-miskolc.hu

Hadházy Péter

G36XRN

hadhazy@iit.uni-miskolc.hu

Herendy Gábor

PJVH3F

herendy@iit.uni-miskolc.hu

Hegedűs Gábor

QLEY6S

hegedus11@iit.uni-miskolc.hu

Csizmadia Dávid

EGV0GY

csizmadiad@iit.uni-miskolc.hu

Lalusz Gábor

GD9ETX

lalusz@iit.uni-miskolc.hu

Rácz Tamás

UAFAY3

racz8@iit.uni-miskolc.hu

2009.12.04



Történet


Dátum

Verzió

Leírás

Szerző

2009-12-04

1.0

Dokumentum elkészítése

Nábrádi Benedek





Tesztelés


Ezen rész fontossága a rendszer pontos és megbízható működésének megvizsgálása.

Elgondolásaink és előírásainknak túlnyomó részt megfelel. Erre a tesztelés ad teret.


Tesztelési lehetőségek:

Két módszer:


Statikus

Dinamikus

Az inputból előállított outputokat vizsgálja. A programot teszt adatokkal le futtatjuk. A lefutás végén kapott outputokat elemezzük, s következtetünk a program működésének helyességre.


Program tesztelésére két módszert használunk:

Fekete doboz módszer: A programot fekete doboznak tekintjük, amelynek adatokat adunk s arra reagál. Mivel minden bemeneti adatot nem tudunk meg határozni ezért osztályokra osztjuk (ekvivalencia-osztályok). Amennyiben a program rosszul válaszol úgy az osztály többi adatára is rosszul válaszolna. Ugyanígy viselkedve jó válaszra is.

Ha minden ekvivalencia-osztályra jól reagál akkor minden inputra megfelelő a program.

(Ekvivalencia-osztályokat úgy határozunk meg, hogy megfelelő és nem megfelelő input adatokat is tartalmazzon.) Kipróbálásnál adatokat úgy választunk, hogy lehetőleg minden osztályt lefedjen.


Fehér doboz módszer:

A program logikai menetéhez igazodik. Összes lehetséges utasítás végrehajtás sorrendjét ki kell próbálnunk, de szinte kivitelezhetetlen. Ezért következő módszereket használata előnyös:

Utasítások egyszeri lefedése: Teszt t adatokat úgy választunk hogy minden utasítás legalább egyszer végrehajtódjon.

Döntés lefedés: Az elv célja hogy a programban szereplő összes döntés felvegye minden lehetséges állapotát. Elágazások esetén mint hamis és igaz.


Hibakeresés a programban

A tesztelési folyamat során valamilyen hibát észlelünk, annak helyére szükségünk van.

Indukciós módszer: Teszt adatokat rendezzük, és ezek alapján próbálunk következtetni a hibára.

Dedukciós módszer: Összes hiba felsorolása és ennek csökkentése.

Visszalépéses módszer: A hiba jelentkezésének pontjától visszafelé keressük azt a pontot ahol még még nincs hiba.



Hibakeresési eszközök

Ezen módszerek célja a könnyed és gyors hiba keresés.



A felderítendő hibák fajtái:

Bemeneti/kimeneti hibák:

Logikai hiba:

Számítási hiba:

Interface hiba:

Adathiba:

Komponensek tesztelése

Külön álló egységek: Azon tesztelés amelyben meg bizonyosodhatunk, hogy az egyes komponensek/egységek működése helyes e.

Modultest: Magasabb szintű egységek tesztelése.



Rendszerek, alrendszerek tesztelése

rendszer teszt: Alrendszerek közti kommunikáció helységét figyeljük meg. Megvizsgáljuk, hogy a modulok megfelelően együtt működnek és illeszkednek.

alrendszer teszt: Használt modulok együttesének tesztelése. Ennek a tesztelésnek a modulok közti kommunikációs hibák felderítése a célja.



Tesztelési formák:

Top-down: A legfelső hierarchiai szintről indulva végig vizsgáljuk az összes útvonalat miközben ellenőrizzük a program részek megfelelő működését.

Bottom-up: Alulról felfelé. A legalapvetőbb programrészektől haladunk felfele s vizsgáljuk a részek közti átadott érték helyességét.



Végső teszt folyamatok:

Béta teszt: Amikor már a program a test adatokkal már megfelelően működik lehetőséget adhatunk néhány felhasználó számára a rendszer tesztelésére valós adatokkal. Ezzel is segítve a program hibáinak feltárását.

RC (Release Candidate): A kiadásra szánt modell de még nem a végleges. Itt a tesztelő felhasználok köre bővül. Hibák száma kevesebb.

Bug Report: Mivel tesztelés folyamán nem lehetséges mindent letesztelni a gyártó terén. Ezért a kiadás után a felhasználok találhatnak hibákat még. Ezen hibákat a gyártó felé jelezhetik. Így a felhasználók is valamilyen szinten tesztelőknek számítanak. Egy tökéletes program megvalósítása és egy jól használható hibamentes rendszer érdekében.