Professional Documents
Culture Documents
tétel
(még sajnos nincs 100%-osan kidolgozva, később még kiegészítem. Csanád)
Abban szinte biztosak lehetünk, hogy a szoftverben van hiba, hiszen azt emberek fejlesztik és az
emberek hibáznak. Tesztelésre azért van szükség, hogy a szoftver termékben meglévő hibákat még az
üzembe helyezés előtt megtaláljuk, ezzel növeljük a termék minőségét, megbízhatóságát. A tesztelés
után azt tudjuk elmondani, hogy a letesztelt részekben nincs hiba, így nő a program megbízhatósága.
Ez azt is mutatja, hogy a program azon funkcióit kell tesztelni, amiket a felhasználók legtöbbször fognak
használni.
– Validáció és verifikáció.
• Verifikációs: a rendszer olyan hibáinak megtalálása, amelyek az eddigi tesztelési tevékenységek
során nem mutatkoztak meg.
• Validációs: főleg a nem funkcionális követelmények tesztelése segítségével meggyőződni arról,
hogy a felhasználó céljainak megfelelő a rendszer működése.
Ezen célok elérésére a rendszert több szempont szerint tesztelhetjük.
Szolgáltatás tesztelés
Célja annak megállapítása, hogy a rendszer minden funkcionális követelményt implementál, és azok
helyesen működnek.
Mennyiségi tesztelés
A szoftver működését nagy mennyiségű adattal teszteljük a kapacitáskorlátok ellenőrzésére.
Ellenőrizzük, hogy az adatmennyiség nem okoz-e hibás működést. Végrehajtási / válasz időket is
figyelhetünk, mérhetünk, amely már a terhelési tesztek előkészítését jelenti.
Terheléses tesztelés (Stressz-tesztelés)
A tesztelt rendszert valamilyen szempontból erős terhelésnek teszi ki. Fontos feladata a megfelelő
válaszidők ellenőrzése. Ennek érdekében:
• Vizsgálni kell, hogy a rendszer adott időkorláton belül hogyan teljesít nagy mennyiségű adatokon
dolgozva.
• Intenzív feldolgozást kívánó helyzeteket kell teremteni, melyek szélsőségesek, de előfordulhatnak.
• A robosztusság ellenőrzésére érdemes a terhelést olyan szintre is emelni, amely (elvileg) a
használat során nem fordulhat elő.
Használhatósági tesztelés
A rendszer egy meghatározott felhasználó által, egy meghatározott felhasználási körben használva,
meghatározott célok hatékony és produktív elérésére, mennyire kielégítő és mennyire vezet
megelégedésre. Minden felhasználói szerepkört, minden használati módot meg kell vizsgálni.
Biztonsági tesztelés
Az adatbiztonsággal és adatvédelemmel kapcsolatos hibák vizsgálata.
Teljesítménytesztelés
A teljesítmény vagy a hatékonyság mérése különböző terheléseknél és konfigurációkra
meghatározott válaszidők és feldolgozási sebességek formájában.
Konfigurációtesztelés
Különböző környezetek (hardver, operációs rendszer, egyéb szoftver installációk) lehetségesek. Ha a
programnak korábbi rendszerekhez kell kapcsolódniuk, vagy a program egy korábbi változatát váltják
le: ellenőrizni kell a kompatibilitást vagy a konverziós eljárásokat.
Dokumentációtesztelés
Felhasználói és fejlesztési dokumentumokra egyaránt vonatkozik. A fejlesztési dokumentáció esetén
annak teljességét és az elkészült rendszerrel való összhangját kell vizsgálni.
A komponensteszt csak a rendszer egy komponensét teszteli önmagában. Az integrációs teszt kettő
vagy több komponens együttműködési tesztje. A rendszerteszt az egész rendszert, tehát minden
komponenst együtt, teszteli. Ez első három teszt szintet együttesen fejlesztői tesztnek hívjuk, mert
ezeket a fejlesztő cég alkalmazottai vagy megbízottjai végzik. Az átvételi teszt során a felhasználók a
kész rendszert tesztelik. Ezek általában időrendben is így követik egymást.
Az integrációs teszt során a komponensek közti interfészeket, az operációs rendszer és a rendszer közti
interfészt, illetve más rendszerek felé nyújtott interfészeket tesztelik.
Az alfa teszt a késztermék tesztje a fejlesztő cégnél, de nem a fejlesztő csapat által. Ennek része,
amikor egy kis segédprogram több millió véletlen egérkattintással ellenőrzi, hogy össze-vissza
kattintgatva sem lehet kifektetni a programot.
Ezután következik a béta teszt. A béta tesztet a végfelhasználók egy szűk csoportja végzi.
Ezután jön egy sokkal szélesebb béta teszt, amit felhasználói átvételi tesztnek nevezünk. Ekkor már az
összes, vagy majdnem az összes felhasználó, megkapja a szoftvert és az éles környezetben
használatba veszi. Azaz installálják és használják, de még nem a termelésben. Ennek a tesztnek a
célja, hogy a felhasználók meggyőződjenek, hogy a termék biztonságosan használható lesz majd éles
körülmények között is. Itt már elvárt, hogy a fő funkciók mind működjenek, de előfordulhat, hogy az
éles színhelyen előjön olyan környezet függő hiba, ami a teszt környezetben nem jött elő. Lehet ez pl.
egy funkció lassúsága.
Ezután már csak az üzemeltetői átvételi teszt van hátra. Ekkor a rendszergazdák ellenőrzik, hogy a
biztonsági funkciók, pl. a biztonsági mentés és a helyreállítás, helyesen működnek-e.
A fehérdobozos tesztelést strukturális tesztelésnek is nevezzük, mert mindig egy már kész struktúrát,
pl. program kódot, tesztelünk. A strukturális teszt esetén értelmezhető a (struktúra) lefedettség. A
lefedettség azt mutatja meg, hogy a struktúra hány százalékát tudjuk tesztelni a meglévő
tesztesetekkel. Általában ezeket a struktúrákat teszteljük:
• kódsorok
• elágazások
• metódusok
• osztályok
• funkciók
• modulok
1. Integrációs tesztelés: ahol a tesztelést végző csapat hozzáfér a rendszer forráskódjához. Leginkább
a rendszer hiányosságainak megtalálásával foglalkozik.
2. Kiadástesztelés: ahol a rendszer egy felhasználók számára kiadható verziója kerül tesztelésre. Itt a
tesztcsapat azt vizsgálja, hogy a rendszer megfelel-e a követelményeknek. A kiadástesztelés
általában fekete doboz tesztelés, ahol a teszt csapatnak egész egyszerűen csak azt kell bemutatnia,
hogy a rendszer jól működik-e, avagy sem. Ha ebbe a kiadástesztelésbe a vásárlót is bevonják, akkor
ezt elfogadási tesztelésnek nevezzük. Ha a verzió elég jó, a vásárló elfogadhatja használatra.
1. Teszteli a rendszer viselkedését szélsőséges körülmények között. Ilyen körülmények között fontos,
hogy a túlterhelés ne okozzon adatvesztést vagy a felhasználói szolgáltatások váratlan eltűnését.
JUnit egy egységteszt keretrendszer Java programozási nyelvhez. A teszt vezérelt fejlesztés (TDD)
szabályai szerint ez annyit tesz, hogy a kód írásával párhuzamosan fejlesztjük a kódot tesztelő
osztályokat is (ezek az egység tesztek). Ezeken egységtesztek karbantartására, csoportos futtatására
szolgál ez a keretrendszer. A JUnit teszteket gyakran a build folyamat részeként szokták beépíteni. Pl.
napi build-ek esetén ezek a tesztek is lefutnak. A release akkor hibátlan, ha az összes teszt hibátlanul
lefut.
JUnit-ot alapul véve más programozási nyelvekre is megírták (portolták) ezt az egységteszt
keretrendszert.
C# - NUnit
PHP - PHPUnit