You are on page 1of 30

Nem funkcionális

tesztelés
Sokféle besorolás
Sokféle besorolás
Sokféle besorolás
Teljesítménnyel kapcsolatos tesztek
•Több féle típust is megkülönbözetettünk: •Szerves része a rendszer folyamatos figyelése a
• Terhelési teszt lefolyása alatt.
• Stressz •A monitorozás lehetővé teszi a felmerülő
• Kitartási probléma beazonosítását. Pl. magas memória
• Csúcs használat vagy valamilyen elem túlzottan
• Mennyiségi számításigényes.

•Céljuk a rendszer viselkedésének,


sebességének, válasz idejének vizsgálata.
•Azokra a funkcióra fókuszál amelyek a
felhasználó szempontjából kritikusak. És ezeket
vizsgáljuk többféle terhelés alatt.
Terheléses teszt (Load testing)
•Lényege, hogy az alkalmazáson szimuláljuk, hogy mi történik, ha a
várakozások szerinti mennyiségű felhasználót eresztünk rá.
•Segít megállapítani a rendszer kritikus pontjait. Ilyen lehet például az
adatbázis elérése vagy egy külső interfésszel való kommunikáció.
•Valamint hasonló lehet még ha a fejlesztés során nem figyeltek arra
hogy erőforrás takarékosan működjen a szoftver (erőforrás igényes
működés).
Stresszteszt (Stress Testing)
•Ekkor az alkalmazás teljesítményének határait teszteljük, keressük meg. Direkt a
lehető legnagyobb nyomást mérjük rá, hogy ellenőrizzük az egész
rendszer/kritikus pontok stabilitását. Ez segít megállapítani a rendszer
tűréshatárát és biztonságos korlátait.
•Felmérjük a leggyengébb pontokat és addig terheljük a rendszert.
•Ekkor az összeomlás mikéntjéről is információt nyerünk, amely később az
üzemelés során történő összeomlások elhárításában segít.
Kitartási teszt (Soak / Endurance Testing)
•Olyan terhelési teszt, amely folyamatosan hosszú időn keresztül teszteli a
rendszert.
•Azt vizsgáljuk hogyan működik a rendszer.
•Ilyen példa, ha huzamosabb ideig használatban van az alkalmazás vagyis nincs
üresjárat.
•Azt is ellenőrizhetjük, hogy egy idő elteltével változnak-e a rendszer válaszidejei
és milyen mértékben.
•(Extra: figyelhetünk esetleges memóriaszivárgást vagy garbage collector
működést.)
Csúcsteszt (Spike Testing)
•A rendszert egy normál működés után hirtelen nagy terheléssel
bombázzuk meg.
•Megnézzük hogyan viselkedik a rendszer ez idő alatt. Például annak
válaszidő változása.
•Majd ezt követően visszaállunk a normál terhelésre és azt vizsgáljuk
meg visszaálnak-e a rendszer normál működés közbeni paraméterei.
Mennyiségi teszt (Volume Testing)
•Célunk az alkalmazás adatfeldolgozási képességeinek ellenőrzése.
•Ilyen amikor nagy adatbázissal teszteljük a rendszert.
•Ilyenkor azt teszteljük, hogy az alkalmazásunk egy bizonyos méret
elérését követően hogyan viselkedik tovább. Például nagyobb
válaszidők vagy összeomlás.
•Valóságban nehéz ilyen mennyiségű tesztadatot előállítani.
Használhatósági teszt (Usability Testing)
•Ezen tesztelés alkalmával arról szeretnének • Mennyire kényelmes a felhasználó számára?
megbizonyosodni, hogy a jövő benni
felhasználok úgy kezelik-e az alkalmazást, mint •Főbb szempontjai a teszteknek
ahogy azt a fejlesztés során elvárták, vagy • Tanulhatóság
felmerül-e bármi eltérés a célcsoport • Hatékonyság
szokásaiban vagy felmerül-e bármiféle • Emlékezhetőség
félreértés, ami miatt másképpen használják a • Hibás használat
programot.
• Elégedettség
•A feketedoboz technikák közé is besorolható
•Főbb kérdései:
• Mennyire egyszerű használni?
• Mennyire egyszerű tanulni?
Használhatósági teszt (Usability Testing)
•Az előző dia alapján elmondható, hogy a használhatósági tesztek a
felhasználói felületre és az felhasználó és gép közötti interakcióra
építenek.
•Az eredmények pedig leginkább a designt minősítik.
•Sokszor a fejlesztéstől vagy IT-tól független emberek végzik ezt a
tesztet. Akár egy utcáról felkért ember (Teri néni).
Lokalizációs tesztelés, valamint
Nemzetköziesség tesztelés (Internationalization
/ Localization Testing)
•Ennek egyik legjobb példája talán a nyelvesítés. Mivel a legtöbb területen az
angol az általánosan használt nyelv, ha a nemzetközi vizekre akarunk evezni
akkor jó ellenőrizni, hogy a szoftver, amit kínálunk mennyire alakítható át hogy
nemzetközileg is megállja a helyét.
•Ennek ellentéte amikor egy rendszer egy adott régió igényeihez szeretnénk
igazítani.
•Azt vizsgáljuk, hogy a rendszer különböző országok szabályait, szokásait
mennyire képes követni.
Biztonsági teszt (Security Testing)
•Ez is egy nagyobb kategória, mint a •Ide tartozó fogalmak:
teljesítménnyel kapcsolatos tesztek. • Titoktartás (Confidentiality)
•Célja annak felmérése, hogy a rendszer • Sértetlenség (Integrity)
mennyire sebezhető rosszindulatú támadás • Hitelesítés (Authentication)
vagy használat esetén. • Meghatalmazás (Authorization)
• Elérhetőség (Availability)
•Ide tartoznak:
• Az adatok védelme. • Letagadhatatlanság (Non-repudiation)
• A környezet biztonsága.
• Valamint a rendszerben tárolt érzékeny adatok
titkosítása.
Titoktartás (Confidentiality)
•A rendszerből kikerülő adatok védelme a fontos ez esetben.
•Milyen megoldásokat használtunk ahhoz, hogy csak a jogosultak
vagy címzettek férjenek hozzá az információkhoz.
•Ne lehessen kártékony célra felhasználni azókat.
Sértetlenség (Integrity)
•Ennek lényege, hogy ellenőrizze a rendszer által kezelt
adatok egységét, módosíthatóságát és annak útját
alkalmazáson belül.
•Valamint, hogy a címzett megbizonyosodhasson a kapott
adatok helyességéről.
Hitelesítés, Autentikáció (Authentication)
•Szorosan összekapcsolható a jogosultságokkal, mivel fő
lényege, hogy azonosítsa az alkalmazást működtető
felhasználót.
•Vagy azonosítani tudja egy külső rendszerből érkező adat
hitelességet.
Meghatalmazás, Jogosultság
(Authorization)
•Annak tesztelése, hogy egy alkalmazáson belül csak a
felhasználó számára meghatározott szolgáltatásokhoz fér
hozzá.
•Ilyen lehet:
• Adat
• Funkció
• Művelet
Elérhetőség (Availability)
•Az információ hozzáférhetőségének tesztelése.
•Ez alatt érthetők:
•Csak a jogosan kérő férhet hozzá az adathoz.
•Akkor fér hozzá amikor szüksége van rá.
Letagadhatatlanság (Non-repudiation)
•Itt egy példával lehet a legegyszerűbben bemutatni.
•Üzenetváltás:
•A Küldő fél nem tagadhatja le, hogy üzenetet küldött.
•A fogadó fél pedig nem tagadhatja le, hogy megkapta-e az
üzenetet.
Lépései, típusai
•Felderítés (Discovery)
•Sebezhetőségi vizsgálat (Vulnerability Scan)
•Sebezhetőségi értékelés (Vulnerability Assessment)
•Biztonsági értékelés (Security Assessment)
•Behatolási teszt (Penetration Test)
•Biztonsági Audit (Security Audit)
•Biztonsági Felülvizsgálat (Security Review)
Skálázhatósági teszt (Scalability Testing)
•Szoros kapcsolatban van a stressz és terhelési teszteléssel.
•Célja, hogy megállapítsa azokat a határokat, ahol a még nem sérül a végfelhasználói élmény.
Attól függően milyen alkalmazásról beszélünk, más-más paraméterek kerülnek tesztelés alá.
•Tipikus példák:
• Terhelés
• Több egyidejű felhasználó
• Műveletek száma
• Adatmennyiség
Visszaállíthatósági teszt (Recovery
Testing)
•Ez leginkább a rendszerüzemeltetők átvételi tesztjének
része. Lényege, hogy megállapítsa egy alkalmazásról annak
bármilyen meghibásodása esetén legyen az program leállás,
hardver meghibásodás, áramszünet miatti leállás stb., hogy
mennyire megbízhatóan folytatható, visszaállítható a
munkamenet.
Hordozhatósági teszt (Portability Testing)
•Azt vizsgáljuk, hogyan működik a rendszerünk különböző operációs rendszerek, böngészők, stb.
között.
•A következőket célozzuk:
• Telepíthetőség
• Kompatibilitás
• Adaptálhatóság
• Helyettesítés

•Kompatibilitási teszt (Compatibility Testing):


• Amikor egy adott platformon meg győződünk arról, hogy az alkalmazásunk megfelelően működik.
Dokumentációkkal, szabályokkal
kapcsolatos tesztek.
•Ezen esetekben az vizsgáljuk mennyire felelünk meg
szabványoknak, szabályoknak, egyéb dokumentumoknak az
alkalmazásunkkal.
•Ide tartoznak:
•Megfelelési teszt (Contract Acceptance Testing)
•Szabályossági teszt (Compliance Testing / Regulation
Acceptance Testing)
Megfelelési teszt (Contract Acceptance
Testing)
•Itt azt vizsgáljuk meg, hogy fejlesztésünk mennyire felel meg
az azt megalapozó szerződésekben foglalt
követelményeknek.
•Segít elkerülni a kései változtatásokat, vitákat.
Szabályossági teszt (Compliance Testing /
Regulation Acceptance Testing)
•Lényege, hogy megállapítsuk egy szoftver termékről, hogy a
cég belső szabályzatainak (Pl. egy webfejlesztő cégnél
elvárás lehet, hogy bármilyen termék amit létrehoznak
responsive legyen) és esetleges külső szervezetek által
meghatározott szabályzatoknak megfelel.
Hatékonysági teszt (Efficiency Testing)
•Célunk, hogy megállapítsuk, hogy mennyi fejlesztés és tesztelés szükséges ahhoz, hogy egy adott
funkció működéséről megbizonyosodjunk.
•Néhány példa:
• Egy rendszerrel hány igényt elégítünk ki.
• Milyen szinten fedjük le a specifikációban leírtakat.
• Mekkora munka az ami szükséges a fejlesztés lebonyolításához.

•Tipikus mérőszámok:
• Tesztek hatékonysága: (megtalált hibák az egység + integrációs + rendszer tesztekben) / (megtalált hibák
az egység + integrációs + rendszer + megfelelési tesztekben)
• Tesztelés hatékonysága: (megtalált hibák / lejelentett hibák)*100
Megbízhatósági teszt (Reliability Testing)
•Egy olyan magas szintű tesztelés, amely során arról bizonyosodunk meg, hogy a rendszer által
elvégzendő feladatokat képes hosszú időn keresztül megbízhatóan elvégezni. Ha kisebb
egységeket nézünk, akkor hogy folyamatos végrehajtást követően is ugyanazt az eredményt adja
vissza.
•Általában magába foglalja:
• Funkcionális tesztek
• Terheléses tesztek
• Regressziós tesztek
Karbantartási teszt (Maintenance Testing)
•Ez leginkább a rendszer kiadását követő fejlődést foglalja magába.
•A fejlesztés élete során akár a környezet is változhat amin fut. Sőt a rendszer is folyamatosan
változhat a későbbiekben is.
•Az egyik legjobb példa talán a mobil játékok.
•Ötvözete a következő teszttípusoknak:
• Funkcionális
• Teszteset alapú teszteknek
• Regressziós teszteknek

•Feladata, hogy ha változás történik azok mennyire működőképesek, mennyire helyesek, többi
funkció továbbra is jól működik.

You might also like