A nem funkcionális tesztelés a szoftveralkalmazás nem funkcionális szempontjainak tesztelésére szolgáló szoftvertesztelés.
A nem funkcionális tesztelésnek sokféle típusa létezik, és a szoftvertesztelés egyes típusai egyszerre tekinthetők funkcionális és nem funkcionális tesztelésnek is.
A nem funkcionális tesztelésre azért van szükség, mert olyan alapvető felhasználói kritériumokat értékel, mint a teljesítmény és a használhatóság, és ellenőrzi, hogy a szoftver az alapvető funkcionalitáson kívül is az elvárásoknak megfelelően működik-e.
Ebben a cikkben a nem funkcionális tesztelés definícióját és jellemzőit vizsgáljuk meg a nem funkcionális tesztelés típusai, a nem funkcionális tesztelés megközelítései és a tesztelési eszközök mellett, amelyek segíthetnek optimalizálni és javítani a saját nem funkcionális tesztelési folyamatait.
Mi a nem funkcionális tesztelés?
A nem funkcionális tesztelés a szoftvertesztelés bármely típusa, amely során a szoftver felépítésének nem funkcionális szempontjait tesztelik.
A nem funkcionális tesztelésre például a kapacitás, a teljesítmény, a használhatóság, a helyreállítás és a hordozhatóság értékelésére irányuló tesztelés.
Az egyes nem funkcionális kritériumok minőségének és állapotának ellenőrzése ugyanolyan fontos, mint a szoftver funkcióinak ellenőrzése, de ezeket a paramétereket nem tesztelik a szokásos funkcionális tesztelés során.
A nem funkcionális tesztelés lényegében a szoftverfunkciók működésének „hogyan” tesztelését jelenti ahelyett, hogy azt vizsgálnánk, hogy működnek-e.
1. Mikor van szükség nem funkcionális tesztelésre?
A nem funkcionális tesztelést a szoftvertesztelés rendszertesztelési fázisában végzik, miután az egységtesztelés és az integrációs tesztelés megtörtént.
A rendszertesztelés során a tesztelők funkcionális és nem funkcionális tesztelést is végeznek, kezdve a funkcionális teszteléssel.
Miután a tesztelők megállapították, hogy a szoftver az elvárásoknak megfelelően működik, nem funkcionális tesztelést végeznek annak felmérésére, hogy a szoftver megfelel-e a nem funkcionális paramétereknek is.
A funkcionális tesztelést általában a nem funkcionális tesztelés előtt kell elvégezni, mivel lehetetlen tesztelni a megbízhatóságot vagy a teljesítményt olyan funkciók esetében, amelyek egyáltalán nem működnek. A nem funkcionális tesztelés a szoftvertesztelés egyik utolsó szakasza a felhasználói elfogadási tesztelés és a termék végleges kiadása előtt.
2. Amikor nincs szükség nem funkcionális tesztelésre
Mindig fontos a szoftver nem funkcionális aspektusainak tesztelése, kivéve, ha azokat már tesztelték és megfelelőnek találták.
Még ha korábban már végzett is nem funkcionális tesztelést a szoftveren, előfordulhat, hogy szükség lesz a nem funkcionális paraméterek újbóli tesztelésére, például ha a szoftver új funkciókkal bővült, vagy ha a kódon olyan változtatásokat hajtottak végre, amelyek hatással lehetnek a teljesítményre és a megbízhatóságra.
A nem funkcionális tesztelés céljai
A nem funkcionális tesztelés célja annak ellenőrzése, hogy a termék megfelel-e a felhasználói elvárásoknak, valamint a termék kiadás előtti optimalizálása.
A fejlesztőknek és a tesztelőknek is segíthet abban, hogy jobban megértsék a szoftvert, és ezt a tudást a jövőbeli optimalizálás során felhasználhassák.
1. Minőségellenőrzés
A nem funkcionális tesztelés célja a termék használhatóságát, megbízhatóságát, karbantarthatóságát, hordozhatóságát és hatékonyságát befolyásoló tényezők vizsgálata.
Ezen elemek tesztelése biztosítja, hogy a piacra kerülő termék megfelelő minőségű legyen, és megfeleljen a felhasználói elvárásoknak a teljesítmény, a betöltési idő és a felhasználói kapacitás tekintetében.
2. Kockázatkezelés
A nem funkcionális tesztelés csökkenti a termék piacra dobásával járó kockázatot és költségeket is, mivel maximalizálja annak esélyét, hogy a csapat kielégítő terméket adjon ki.
A szoftverkészítés nem funkcionális paramétereinek ellenőrzésével csökkenthetők a termék kiadásának költségei, mivel a későbbi továbbfejlesztés és szoftvermódosítások szükségessége csökken.
3. Optimalizálás
A nem funkcionális tesztelés segít a tesztelőknek és a fejlesztőknek optimalizálni a szoftver felépítését és a teljesítményt a telepítés, a telepítés, a végrehajtás és a használat során.
A nem funkcionális teszteléssel optimalizálhatja a szoftverkészítés irányításának és felügyeletének módját is.
4. Adatgyűjtés
A nem funkcionális tesztelés lehetővé teszi a tesztelők számára, hogy olyan méréseket és mérőszámokat gyűjtsenek és készítsenek, amelyeket a tesztelő csapatok belső kutatáshoz és fejlesztéshez használhatnak.
A nem funkcionális tesztelésből származó adatokat felhasználhatja arra, hogy megértse, hogyan működik a terméke, és hogyan optimalizálhatja azt hatékonyabban a felhasználók számára.
5. Tudásbővítés
A nem funkcionális tesztelés javítja és bővíti a tesztelő csapat ismereteit a termék viselkedéséről és az általa használt technológiákról.
Ez nem csak abban segít a tesztelő csapatoknak, hogy jobban megértsék a szoftvert, amelyen dolgoznak, hanem hasznos ismeretekkel is szolgálhat, amelyek segítik a tesztelőket a jövőbeli buildek jobb megértésében.
Ki vesz részt a nem funkcionális tesztelésben?
A nem funkcionális tesztelést általában a tesztelők végzik a minőségbiztosítási környezetben, de néha a fejlesztők is végezhetnek nem funkcionális tesztelést a fejlesztés során.
A rendszertesztelést szinte mindig tesztelők végzik, és ez az a tesztelési fázis, ahol a legtöbb nem funkcionális tesztelésre kerül sor.
Ha a nem funkcionális tesztek sikertelenek, a tesztelők visszaküldik a szoftvert a fejlesztőknek, hogy javítsák ki a teljesítménybeli hibákat, mielőtt újra tesztelnék.
A nem funkcionális tesztelés előnyei
A nem funkcionális tesztelésnek számos előnye van, és a nem funkcionális tesztelés a rendszer tesztelésének alapvető lépése.
A nem funkcionális tesztelés nélkül a tesztelő csapatok nem lennének képesek ellenőrizni, hogy a szoftver valóban megfelel-e az ügyfél követelményeinek, vagy hogy megfelel-e a szoftverfejlesztési tervben meghatározott követelményeknek.
1. A szoftver teljesítményének javítása
A nem funkcionális tesztelés segíthet a tesztelőknek és a fejlesztőknek a szoftveralkalmazások általános teljesítményének javításában. A nem funkcionális tesztek azonosítják azokat a területeket, ahol a szoftver teljesítménye nem megfelelő, például a betöltési sebesség vagy a feldolgozási kapacitás tekintetében, és arra ösztönzik a szoftvercsapatokat, hogy változtatásokat hajtsanak végre e hibák kijavítására.
Ez biztosítja, hogy a szoftvercsapatok csak akkor adják ki a nyilvánosságnak a szoftvert, ha az készen áll, és ha a teljesítménye elég jó.
2. Tartsa biztonságban a szoftvert
A nem funkcionális tesztelés magában foglalja a biztonsági tesztelést, amely kritikus fontosságú annak biztosításában, hogy a szoftver biztonságos és védett legyen a külső fenyegetésekkel és támadásokkal szemben.
A biztonsági tesztelés lehetővé teszi a tesztelők és a fejlesztők számára annak ellenőrzését, hogy a szoftver megfelelően védi-e a bizalmas adatokat, és elegendő biztonsággal rendelkezik-e a kortárs kibertámadások elleni védelemhez.
3. A szoftver felhasználóbarátságának növelése
A nem funkcionális tesztelés a legjobb módja annak, hogy szoftverét felhasználóbarátabbá tegye, különösen a használhatósági teszteléssel, amely azt vizsgálja, hogy a felhasználók számára mennyire könnyű megtanulni a szoftver használatát és működtetését.
A felhasználóbarátság nagyon fontos, mert meghatározza, hogy a felhasználók mennyire elégedettek a szoftverrel, és biztosítja, hogy a felhasználók képesek legyenek teljes mértékben kihasználni mindazt, amit a szoftver kínál.
4. Annak biztosítása, hogy a szoftver megfeleljen a felhasználói igényeknek
Annak biztosítása, hogy a szoftver megfeleljen a felhasználók igényeinek, minden szoftverfejlesztő és tesztelő csapat egyik legfőbb prioritása kell, hogy legyen. A felhasználók nemcsak azt várják el, hogy a szoftver működőképes legyen, hanem azt is, hogy a szoftver jól működjön, zökkenőmentesen fusson, és védje a bizalmas adatokat.
A nem funkcionális tesztelés az egyik egyetlen módja annak, hogy a szoftver megfeleljen ezeknek a követelményeknek.
A nem funkcionális tesztelés kihívásai
A nem funkcionális tesztelésnek van néhány hátránya. Bár a nem funkcionális tesztelés elengedhetetlen a szoftvertesztelés rendszertesztelési szakaszában, a nem funkcionális tesztelés folyamata kihívások elé állíthatja azokat a szoftvercsapatokat, amelyek nem rendelkeznek elegendő erőforrással és eszközzel.
1. Ismétlés
A nem funkcionális tesztelést a szoftvertesztelésben minden alkalommal el kell végezni, amikor a fejlesztők frissítik a szoftvert, vagy amikor a kódot megváltoztatják. Ez azt jelenti, hogy a nem funkcionális tesztelés nagyon ismétlődő lehet, ami nemcsak időt vesz igénybe, hanem a tesztelőket is kifárasztja.
A fáradt tesztelők, akik nagyon ismétlődő feladatokat végeznek, nagyobb eséllyel vonják el a figyelmüket és követnek el hibákat.
2. Költségek
Mivel a nem funkcionális tesztelés annyira ismétlődő, meglehetősen költséges is lehet, különösen a manuális nem funkcionális tesztelésre támaszkodó tesztelő csapatok számára.
A szoftvercsapatoknak időt és költségvetést kell elkülöníteniük a gyakori nem funkcionális tesztelésre, és a szoftverfejlesztőknek külön kell fizetniük ezért a kiegészítő tesztelésért.
Mit tesztelünk a nem funkcionális tesztelés során?
A nem funkcionális tesztelés számos különböző nem funkcionális paraméter tesztelésére használható, amelyek mindegyike befolyásolja a rendszer minőségét és használhatóságát. E paraméterek mindegyikét a rendszer tesztelése során a tesztelési tervben meghatározott kritériumok alapján tesztelik.
1. Biztonság
A biztonsági tesztelés a nem funkcionális tesztelés egy típusa, amely azt méri, hogy egy rendszer mennyire van védve a külső fenyegetések és támadások ellen. Ezek közé tartoznak a biztonság szándékos megsértése, valamint az adatszivárgás és más gyakori jogsértések.
A biztonsági tesztelés a nem funkcionális tesztelés fontos lépése, mivel a végfelhasználók és az ügyfelek számára biztosítékot nyújt arra, hogy adataik biztonságban vannak.
2. Megbízhatóság
A tesztelők a nem funkcionális tesztelést a szoftver megbízhatóságának értékelésére és annak biztosítására használják, hogy a szoftver folyamatosan, hiba nélkül képes legyen a meghatározott funkciókat ellátni.
Míg a funkcionális tesztelés biztosítja, hogy a szoftver végrehajtja a legfontosabb funkciókat, addig a nem funkcionális tesztelés csak ezeknek az eredményeknek a megbízhatóságát és megismételhetőségét vizsgálja.
3. Túlélőképesség
A túlélőképesség azt írja le, hogyan reagál egy szoftverrendszer a működés meghibásodása esetén, és a túlélőképesség tesztelése biztosítja, hogy hibák és meghibásodások esetén a rendszer képes legyen helyreállni.
A túlélhetőségi teszteléssel például azt lehet ellenőrizni, hogy a szoftver képes-e az adatok mentésére, hogy hirtelen meghibásodás esetén minimálisra csökkentse az adatvesztést.
4. Elérhetőség
A szoftver rendelkezésre állása azt jelenti, hogy a felhasználó mennyire támaszkodhat a rendszer működésére. Ezt stabilitásnak is nevezik, és ezt stabilitási tesztekkel vizsgálják.
A stabilitási tesztelés némileg hasonlít a megbízhatósági teszteléshez, mivel azt ellenőrzi, hogy a rendszer képes-e az elvárt szabványoknak megfelelően, következetesen teljesíteni.
5. Használhatóság
A használhatósági tesztelés a nem funkcionális tesztelés másik fontos típusa a szoftvertesztelésben. Ez a fajta tesztelés azt vizsgálja, hogy a felhasználó mennyire képes megtanulni, működtetni és használni a szoftverrendszert a képernyőn megjelenő utasítások és egyéb alapvető útmutatók követésével.
A használhatósági tesztelés azért fontos, mert ha a szoftver nem jól használható, a legtöbb felhasználó egyszerűen elhagyja, vagy valami mást választ.
6. Skálázhatóság
A skálázhatósági tesztelés azt vizsgálja, hogy egy szoftveralkalmazás milyen mértékben képes bővíteni a feldolgozási kapacitását a növekvő igények kielégítésére.
Például, ha a szoftvert úgy tervezték, hogy egy hálózaton egyszerre több felhasználó használja, hogyan működik, ha tíz felhasználó egyszerre jelentkezik be? A nagyobb felhasználószám jelentősen befolyásolja a teljesítményt vagy a betöltési időt?
7. Átjárhatóság
Az átjárhatósági tesztelés a nem funkcionális tesztelés egy típusa, amely azt ellenőrzi, hogy egy szoftverrendszer mennyire jól illeszkedik más szoftverrendszerekhez.
Ez különösen akkor fontos, ha a szoftvert olyan termékcsalád részeként tervezik, amelyek mindegyike integrálható egymással.
8. Hatékonyság
A hatékonyság a szoftvertesztelésben arra utal, hogy egy szoftverrendszer milyen mértékben képes kezelni a kapacitást, a mennyiséget és a válaszidőt.
A tesztelők például felmérhetik, hogy hány felhasználó tud egyszerre bejelentkezni a rendszerbe, mennyi időbe telik az adatok lekérdezése az adatbázisból, vagy hogy a szoftver milyen gyorsan képes alapvető feladatokat elvégezni.
9. Rugalmasság
A rugalmasság azt méri, hogy egy szoftverrendszer milyen mértékben képes együttműködni különböző típusú hardverekkel és perifériákkal.
Például, hogy mennyi RAM-ot igényel a szoftver, vagy hogy szükség van-e bizonyos mennyiségű CPU-ra. Minél alacsonyabbak a szoftveralkalmazással szemben támasztott követelmények, annál rugalmasabb a szoftver.
10. Hordozhatóság
A hordozhatósági teszteléssel azt vizsgálják, hogy a szoftver mennyire rugalmasan és könnyen átvihető a jelenlegi hardver- vagy szoftverkörnyezetből.
A hordozhatóság azért fontos, mert befolyásolja, hogy a végfelhasználók mennyire könnyen tudják kezelni a szoftvert és áthelyezni azt különböző rendszerek között.
11. Újrafelhasználhatóság
Az újrafelhasználhatósági tesztelés a nem funkcionális tesztelés egy típusa, amely azt vizsgálja, hogy a szoftverrendszer egyes részei átalakíthatók-e egy másik alkalmazáson belüli újrafelhasználásra.
Bár az újrafelhasználhatósági tesztelés általában nem érinti az ügyfeleket és a végfelhasználókat, jól tükrözi, hogy a fejlesztők mennyire hatékonyan hoznak létre olyan komponenseket, amelyek a jövőben újrafelhasználhatók.
A nem funkcionális tesztek jellemzői
A nem funkcionális tesztek megértése magában foglalja a nem funkcionális tesztek jellemzőinek megértését. Ezek a jellemzők határozzák meg a nem funkcionális tesztelést a szoftvertesztelésben.
1. Mérhető
A nem funkcionális tesztelés mindig mennyiségi és mérhető, ami azt jelenti, hogy a tesztelők nem használnak olyan szubjektív kifejezéseket, mint a „szép” vagy a „jó”, hanem számokkal és tényekkel írják le a nem funkcionális tesztelés eredményeit.
Például a betöltési idők „gyors” vagy „lassú” leírása helyett a nem funkcionális tesztelésnek konkrét számadatokat kell eredményeznie, amelyek megmutatják az idők számát.
2. Speciális
A nem funkcionális tesztelés során a tesztek céljának a szoftver tervezési specifikációira kell vonatkoznia.
Ha például a szoftverprojekttervben szerepel, hogy hány felhasználónak kell egyszerre bejelentkeznie, akkor a nem funkcionális tesztelés során ezt kell előtérbe helyezni.
3. Ismeretlen
Bár a nem funkcionális tesztelés kifejezetten a projekttervekben meghatározott attribútumok mérésére is tervezhető, sok esetben ezeket az attribútumokat nem határozzák meg előre.
Ebben az esetben a tesztelőknek egyszerűen nem funkcionális tesztelést kell végezniük, hogy az egyes paraméterek alapján értékeljék a szoftvert, és később összehasonlítsák ezeket az elvárásokkal.
A nem funkcionális tesztek életciklusa
Mivel a nem funkcionális tesztelés nem a szoftvertesztelési életciklus egy konkrét fázisára utal, hanem egyszerűen egy olyan tesztelési típusra, amely általában a szoftvertesztelés rendszertesztelési fázisában történik, a nem funkcionális tesztelés életciklusa projektről projektre nagyon eltérő lehet.
Általában a szoftvertesztelés más típusaihoz hasonló életciklust követ, amely a projektkövetelmények elemzésével kezdődik, és a tesztek végrehajtásával és a ciklus teljesítésével végződik.
1. Szoftverkövetelmény-elemzés
A nem funkcionális tesztelés életciklusának első szakasza a szoftverkövetelmények elemzése. A szoftvercsapatok az alkalmazások építése és tesztelése során meghatározott kritériumok szerint dolgoznak, és ezeknek a kritériumoknak kell meghatározniuk, hogy milyen típusú teszteket kell elvégezniük.
2. Teszttervezés
Az életciklus következő szakasza a teszttervezés. A teszttervezési szakaszban a minőségbiztosítási vezető részletes teszttervet állít össze, amely részletezi, hogy mit fognak tesztelni, ki fogja elvégezni a tesztelést, és milyen tesztelési megközelítéseket, módszereket és eszközöket fognak használni.
A teszttervnek tartalmaznia kell minden szükséges részletet, amelyre a tesztelőknek szükségük van a tesztesetek létrehozásához és végrehajtásához.
3. Teszteset létrehozása
A teszteset létrehozása a nem funkcionális tesztelés következő szakasza. Ez a szakasz magában foglalja a nem funkcionális tesztesetek kidolgozását, amelyeket a tesztelők egy későbbi szakaszban hajtanak végre a rendszer nem funkcionális követelményeinek tesztelésére.
A tesztesetek leírják, hogy mit és hogyan tesztelnek, és mi a tesztelés várható eredménye.
4. Tesztkörnyezet beállítása
A nem funkcionális tesztelési életciklus következő szakasza a tesztkörnyezet beállítása a tesztelés megkezdése előtt.
A tesztelési környezet az a hely, ahol minden tesztelés zajlik, és ahol a nem funkcionális tesztek végrehajtásához használt erőforrások és eszközök találhatók.
A tesztelő csapat a teszt végrehajtása előtt előkészíti a tesztkörnyezetet.
5. A teszt végrehajtása
A teszt végrehajtása a nem funkcionális tesztelési életciklus következő fázisa. Ez magában foglalja a korábban létrehozott tesztesetek végrehajtását a szoftveralkalmazások különböző aspektusainak, például a biztonság, a betöltési idő, a kapacitás és a hordozhatóság tesztelésére.
A tesztelő csoport minden egyes esetet külön-külön hajt végre, és ellenőrzi az egyes tesztek eredményét a várt eredményhez képest.
6. Ciklus ismétlés
A nem funkcionális tesztelési életciklus utolsó szakasza a ciklus teljesítése és ismétlése. Az összes teszteset végrehajtása után a tesztelők ellenőrzik, hogy mely tesztek mentek át, és mely tesztek buktak meg.
A sikertelen tesztek általában azt jelzik, hogy van egy hiba, amelyet a fejlesztőknek ki kell javítaniuk. Miután a fejlesztők javították vagy szerkesztették a kódot, a szoftvertesztelési ciklus ismétlődik, amíg nem találnak hibát.
Tisztázzuk a félreértéseket:
Nem funkcionális tesztelés vs. funkcionális tesztelés
A funkcionális tesztelés és a nem funkcionális tesztelés a szoftvertesztelés két különböző, de egyformán fontos típusa, amelyek együttesen annak értékelésére szolgálnak, hogy a szoftveralkalmazás megfelel-e a felhasználók által a projektismertetőben meghatározott követelményeknek.
Bár mindkettő a tesztelés szükséges típusa, amely lehetővé teszi a szoftvercsapatok számára, hogy azonosítsák a hibákat a szoftverek felépítésében, a funkcionális és a nem funkcionális tesztelés teljesen különbözik egymástól.
1. Mi a különbség a funkcionális és a nem funkcionális tesztelés között?
A funkcionális és a nem funkcionális tesztelés közötti különbség abban van, hogy mit tesztelnek. A funkcionális tesztelés az alkalmazás funkcióit teszteli, és ellenőrzi, hogy azok az elvárásoknak megfelelően működnek-e. A nem funkcionális tesztelés az alkalmazás egyéb, a felhasználói elégedettséget és az alkalmazás minőségét befolyásoló aspektusait vizsgálja.
A funkcionális és a nem funkcionális tesztelés a szoftvertesztelés különböző fázisaiban történik, de mindkét tesztelési típus általában a rendszertesztelési fázisban kerül elvégzésre.
Mind a funkcionális, mind a nem funkcionális tesztelés segíthet megérteni, hogy mennyire jól működik egy alkalmazás, és hogy megfelelően végzi-e a feladatát.
Ha például egy olyan mobilalkalmazást tesztel, amely lehetővé teszi a felhasználók számára, hogy feladat- és bevásárlólistákat mentsenek, a funkcionális tesztelés során olyan funkciókat tesztelhet, mint például új lista létrehozása, lista mentése és a meglévő listák szerkesztése.
A nem funkcionális teszteléssel felmérhető, hogy az alkalmazás mennyire jól működik a különböző mobileszközökön, milyen gyorsan töltődnek be a listák, és mennyire befolyásolja az alkalmazás teljesítményét, ha más alkalmazások futnak a háttérben.
2. Következtetés: nem funkcionális tesztelés vs. funkcionális tesztelés
Mind a funkcionális, mind a nem funkcionális tesztelés a szoftvertesztelés fontos típusai, amelyek segíthetnek a tesztelőknek és a minőségbiztosítási csapatoknak felmérni, hogy egy alkalmazás megfelel-e az aktuális követelményeknek.
Míg a funkcionális tesztelés a szoftver funkcióit vizsgálja, a nem funkcionális tesztelés más, a teljesítményt, a hatékonyságot és a biztonságot befolyásoló szempontokat tesztel.
Az egységtesztelés, az integrációs tesztelés és az API-tesztelés mind a funkcionális tesztelés formái. A szoftvertesztelés minden egyes szakaszában a tesztelők értékelik, hogy a funkciók és funkciók mennyire jól működnek külön-külön vagy együttesen, és azonosítják azokat a hibákat és hiányosságokat, amelyek megakadályozzák, hogy a funkciók az elvárásoknak megfelelően működjenek.
A biztonsági tesztelés, a használhatósági tesztelés, a hordozhatósági tesztelés és a terheléses tesztelés mind a nem funkcionális tesztelés formái, amelyek lehetővé teszik a tesztelők számára, hogy felmérjék, mennyire jól teljesíti egy alkalmazás a funkcióit és támogatja a felhasználók igényeit.
A nem funkcionális tesztelés típusai
A nem funkcionális tesztelésnek számos különböző típusa létezik, amelyek mindegyike a szoftveralkalmazás teljesítményének vagy hatékonyságának különböző nem funkcionális aspektusát teszteli.
Az ilyen típusú tesztek mindegyike különböző paramétereket tesztel, és egyes tesztek ugyanazokat a paramétereket különböző módon tesztelhetik.
1. Teljesítménytesztek
A teljesítménytesztek a nem funkcionális tesztek egyik típusa, amely azt ellenőrzi, hogy a különböző szoftverkomponensek mennyire jól működnek. A funkcionalitás tesztelése helyett – ami a funkcionális tesztelés feladata – a teljesítménytesztek a válaszidőt, a szűk keresztmetszeteket és a hibapontokat tesztelik. A teljesítménytesztelés segít a tesztelőknek abban, hogy biztosítsák a szoftverek magas minőségét, gyorsaságát, stabilitását és megbízhatóságát.
2. Stressztesztek
A stressztesztelés a nem funkcionális tesztelés egy típusa, amely azt vizsgálja, hogy a szoftver mennyire jól teljesít, amikor rendellenes mértékű stressznek van kitéve. Ez azt jelentheti, hogy teszteljük, hogyan működik a szoftver, amikor valaki egyszerre sok különböző funkciót próbál használni, vagy amikor sok más alkalmazást futtat egyszerre.
A stressztesztelés célja annak megállapítása, hogy hol van az a határ, ahol a szoftver már nem működik megfelelően, és mi történik, amikor a rendszer stressznek van kitéve. Ez lehetővé teszi a tesztelők számára, hogy megértsék, a rendszer képes-e helyreállítani önmagát, és hogy megfelelő hibaüzenetekkel értesíti-e a felhasználókat.
3. Terhelési tesztek
A terheléses tesztelés a tesztelés egy olyan típusa, amely azt vizsgálja, hogy a szoftver mennyire viselkedik normál körülmények között és nagyobb terhelés esetén. Ez annak meghatározására szolgál, hogy a szoftver mennyit tud egyszerre kezelni anélkül, hogy a teljesítményt negatívan befolyásolná.
A terheléses teszteléssel azt lehet tesztelni, hogyan működnek az alkalmazások, ha egyszerre sok felhasználó használja őket, vagy ha a felhasználók egyszerre sok adatot próbálnak letölteni.
A terheléses tesztelés fontos, ha ellenőrizni szeretné, hogy a szoftvere skálázható-e.
4. Biztonsági tesztek
A biztonsági tesztek értékelik a szoftveralkalmazásokat, és a szoftver biztonsági réseit keresik. Ezek közé tartoznak a potenciális biztonsági kockázatok, amelyek adatvesztéshez vagy bizalmas adatokat felfedő jogsértésekhez vezethetnek.
A biztonsági tesztelés azért fontos, mert biztosítja, hogy a termék megfelelő védelmet élvezzen a hackertámadásokkal, adatszegésekkel és egyéb külső biztonsági fenyegetésekkel szemben.
Néhány példa a tesztelők által végzett biztonsági tesztekre: biztonsági auditok, etikus hackelés, behatolástesztelés, biztonsági vizsgálatok és helyzetértékelések.
5. Frissítési és telepítési tesztek
A frissítési és telepítési tesztelés a nem funkcionális szoftvertesztelés egyik típusa, amely azt ellenőrzi, hogy a szoftver mennyire jól működik a különböző gépeken.
Az ilyen típusú tesztelés célja annak biztosítása, hogy az új felhasználók könnyen telepíthessék a szoftvert a gépükre, a meglévő felhasználók pedig frissíthessék azt, amikor új frissítések jelennek meg.
A frissítési és telepítési tesztelés azért fontos, mert a végfelhasználóknak könnyen telepíteniük kell a terméket, feltéve, hogy olyan géppel dolgoznak, amely kompatibilis vele.
6. Térfogatvizsgálatok
A volumentesztelés a tesztelés egy olyan típusa, amely annak ellenőrzésére szolgál, hogy mi történik, ha egyszerre nagy mennyiségű adat kerül az adatbázisba. Ez meghatározza, hogy az alkalmazás képes-e kezelni a nagy adatmennyiséget, és mi történik a rendszerrel, ha nem képes.
A volumentesztelés más néven árvízi tesztelés, és arra használható, hogy felmérje az adatvesztést és a hibaüzeneteket, amelyek akkor jelentkeznek, amikor jelentős mennyiségű adatot adunk a rendszerhez.
A volumentesztelés az egyetlen módja annak, hogy a szoftver képes legyen kezelni azt az adatmennyiséget, amelyet a felhasználók elvárnak tőle.
7. Visszanyerési tesztek
A helyreállítási tesztek során a szoftverrendszert hibára kényszerítik, hogy teszteljék, mennyire jól helyreáll a rendszer az összeomlás után.
A helyreállítási tesztelés segíthet a tesztelőknek megérteni, hogy a szoftver hogyan állítja helyre az adatokat és hogyan akadályozza meg a veszteségeket, ha a hardvert használat közben kihúzzák, ha a szoftver adatátvitel közben leválasztják a hálózatról, vagy ha váratlanul újraindítják a rendszert.
Ez a fajta tesztelés azért fontos, mert a megfelelő helyreállítási protokollok nélküli rendszerek súlyos adatveszteségeket szenvedhetnek el, amikor ilyen balesetek történnek.
Amire a nem funkcionális tesztelés megkezdéséhez szüksége van
A nem funkcionális tesztelés megkezdése előtt meg kell győződnie arról, hogy előkészítette a tesztelési környezetet, és összegyűjtötte a szükséges eszközöket és adatokat.
1. Tesztterv
Mielőtt elkezdené a nem funkcionális tesztelést, győződjön meg róla, hogy rendelkezik egy kész teszttervvel, amelyet a megfelelő személyek aláírtak.
A teszttervnek tartalmaznia kell minden lényeges részletet arról, hogy mit és hogyan fog tesztelni. El kell magyaráznia, hogy mikor fog manuális és mikor automatizált tesztelést alkalmazni, valamint meg kell határoznia a tesztelési folyamatban részt vevő személyek szerepét és felelősségét.
2. Tesztek
A nem funkcionális tesztek végrehajtása előtt teszteseteket kell létrehoznia. Minden egyes teszteset felvázol egy konkrét dolgot, amelyet tesztelni fog, elmagyarázza, hogyan fogja tesztelni, és leírja a teszt várható eredményét.
Ha például terheléses tesztelést végez, akkor egy példa teszteset lehet annak tesztelése, hogy hogyan viselkedik a szoftver, ha tíz felhasználó egyszerre használja ugyanazt a modult.
3. Funkcionális ellenőrzés
Nem végezhet nem funkcionális tesztelést a szoftverkomponenseken, ha azok nem működnek.
Ha például azt szeretné tesztelni, hogy a szoftver hány felhasználó egyidejű bejelentkezését tudja kezelni, először azt kell ellenőrizni, hogy az egyes felhasználók valóban be tudnak-e jelentkezni a szoftverbe.
Mielőtt elkezdené a nem funkcionális tesztelést, győződjön meg arról, hogy az összes funkcionális tesztje átment, és hogy a szoftvere az elvárásoknak megfelelően működik.
Ez általában azt jelenti, hogy a füsttesztelés, a szanitástesztelés, az egységtesztelés, az integráció és a funkcionális rendszertesztelés már megtörtént.
4. Tesztelési eszközök
Mielőtt elkezdené a nem funkcionális tesztelést, gyűjtse össze a teszteléshez használni kívánt eszközöket.
Akár automatizálási eszközökkel részben automatizálja a tesztek egy részét vagy dokumentációs eszközök, amelyek segítenek a tesztjelentések kezelésében és későbbi felhasználás céljából történő tárolásában, győződjön meg arról, hogy a használni kívánt eszközök rendelkezésre állnak és használatra készek, és hogy a tesztelési csapatban mindenki tudja, hogyan kell az egyes eszközöket megfelelően használni.
5. Tesztelési környezet
A nem funkcionális tesztelés megkezdése előtt állítsa be a tesztelési környezetet. Lehet, hogy már rendelkezik megfelelő tesztelési környezettel, különösen, ha ugyanazt a környezetet használhatja a nem funkcionális és a funkcionális rendszerteszteléshez.
Az ideális tesztelési környezet lehetővé teszi, hogy minden szükséges elemet a megfelelő eszközökön tesztelhessen.
Ha például a hangerő kezelését teszteli okostelefonokon, akkor jobb, ha ezt egy valódi okostelefonon teszteli, mintha egy asztali számítógépen próbálná meg emulálni a mobil környezetet.
A nem funkcionális tesztelési folyamat
A szoftverkészítés nem funkcionális aspektusainak tesztelése többlépcsős folyamat, amely magában foglalja a tesztkörnyezet előkészítését, a tesztesetek létrehozását, a tesztadatok gyűjtését és a nem funkcionális tesztek végrehajtását.
A tesztelési folyamatot kis részekre lehet bontani, hogy a nem funkcionális tesztelésben kezdők számára könnyebben követhető legyen.
1. Nem funkcionális tesztelési készültségi ellenőrzések
Mielőtt elkezdené a nem funkcionális tesztelést, fontos meggyőződnie arról, hogy készen áll-e a tesztelés ezen szakaszára.
Ez jelentheti a tesztelés utolsó fázisának kilépési kritériumainak értékelését, hogy megbizonyosodjon arról, hogy a szoftver átment-e rajta, valamint annak ellenőrzését, hogy a szoftver átment-e az összes szükséges funkcionális teszten, mielőtt a nem funkcionális tesztelésre sor kerülne.
Egyes csapatok létrehozhatják a nem funkcionális tesztelés belépési kritériumait, amelyek tartalmazzák azokat a feltételeket, amelyeknek teljesülniük kell a nem funkcionális tesztelés megkezdése előtt.
2. Készítsen teszttervet
Ezt a lépést már korábban elvégezhette, ha a nem funkcionális tesztelést a rendszertesztelés részeként végzi, és követi a rendszertesztelési tervet. A tesztterv felvázolja az összes elvégzendő tesztet, és azt, hogy hogyan kívánja azokat elvégezni.
Egyértelmű tesztterv nélkül könnyen szem elől tévesztheti az elvégzendő tesztek hatókörét és céljait.
3. Tesztes esetek létrehozása
A nem funkcionális tesztelés következő szakasza a szoftver minden egyes nem funkcionális paraméterének tesztelésére tervezett tesztesetek létrehozása.
Minden tesztesetnek rendelkeznie kell egy teszteset azonosítóval, egy teszteset nevével, egy leírással, a teszt várható eredményének részleteivel, valamint az előre meghatározott, sikeres vagy sikertelen tesztelési kritériumokkal. Ez segít a tesztelőknek abban, hogy megértsék, hogyan kell elvégezni az egyes teszteket, és milyen eredményeket kell keresniük.
4. Gyűjtse össze a tesztadatokat
Mielőtt az egyes teszteseteket végrehajtaná, össze kell gyűjtenie a tesztadatokat, amelyeket az egyes tesztesetekhez használni fog.
Ez általában azt jelenti, hogy kódot és adatokat kell gyűjteni a különböző modulokból és komponensekből, amelyek a tesztelni kívánt funkciókat és területeket alkotják. Ha maximalizálja a tesztlefedettséget, akkor sok tesztadattal kell dolgoznia.
5. Készítse elő a tesztkörnyezetet
A nem funkcionális tesztelés következő szakasza a tesztkörnyezet előkészítése. A tesztkörnyezet egy olyan tesztkiszolgáló, amelyet a különböző típusú szoftvertesztelések elvégzésére használ.
Lehetővé teszi, hogy azonos feltételeket hozzon létre a szoftver teszteléséhez, és különböző konfigurációkkal állítsa be szoftverét a konfigurációs teszteléshez, a biztonsági teszteléshez és más típusú, nem funkcionális teszteléshez.
6. Nem funkcionális tesztek végrehajtása
Ha a tesztkörnyezet készen áll, itt az ideje a nem funkcionális tesztek végrehajtásának. Dönthet úgy is, hogy a teszteket típusuk szerinti sorrendben hajtja végre, például a teljesítményteszteléssel kezdheti, mielőtt a biztonsági tesztekkel és más típusú, nem funkcionális tesztekkel folytatná.
Az egyes tesztek elvégzése során jegyezze fel az eredményeket a tesztelési jelentésben. Ha automatizálod a tesztelést, az automatizálási eszközödnek szabványos módja lesz az eredmények világos és egyértelmű jelentésére is.
7. A vizsgálati eredmények jelentése
Az egyes tesztesetek végrehajtása után állítsa össze a nem funkcionális tesztek eredményeit egyetlen jelentésbe.
Ennek a jelentésnek világosan meg kell határoznia az egyes tesztek eredményeit, és egyértelműen meg kell határoznia, hogy az egyes tesztek megfeleltek-e vagy nem.
Kövesse a vizsgálati jelentés szabványos szerkezetét, hogy minden olyan információ benne legyen, amelyet tovább kell adnia.
8. Hibák kijavítása
A teszteredmények beérkezése után adja vissza a szoftvert a fejlesztőknek, ha a tesztek nem sikerültek, vagy ha olyan nem funkcionális hibákat azonosított, amelyek javításra szorulnak.
Ha például a szoftver nem kezeli egyszerre a megfelelő számú felhasználót, vagy ha a teljesítmény túlságosan lelassul, amikor több program fut egyszerre, akkor ezeket a problémákat valószínűleg a kódon belül kell javítani, hogy a felhasználók elégedettek legyenek a termékkel.
9. A vizsgálati ciklus megismétlése
Miután a fejlesztők kijavították a kezdeti nem funkcionális tesztelési fázisban talált hibákat, a tesztelési ciklus újra kezdődhet.
A fejlesztők tesztelik a változtatásokat, és átadják az új buildet a QA tesztelőknek, akik ezután elvégzik a teljes tesztelési csomagot, kezdve a füstteszteléssel, a unit teszteléssel, az integrációs teszteléssel és végül a rendszerteszteléssel.
A tesztelési ciklus addig ismétlődik, amíg egyetlen ponton sem fordulnak elő hibák vagy hiányosságok, majd az építmény a tesztelés utolsó szakaszába léphet: a felhasználói átvételi tesztelésbe.
Tesztesetek a nem funkcionális teszteléshez
A tesztesetek minden szoftvertesztelés fontos részét képezik, és amikor funkcionális és nem funkcionális tesztelést egyaránt végez, tesztesetekkel határozza meg, hogy mit és hogyan fog tesztelni.
Minden egyes teszteset egy mini-tesztnek tekinthető, és minden tesztesetnek megvan a maga meghatározott kimenete és eredménye.
1. Mik a nem funkcionális tesztelés tesztesetei?
A teszteset egy szoftverépítésen végrehajtott műveletek összessége, amelyekkel tesztelhető, hogy a szoftver megfelel-e a szoftvertervben meghatározott feltételeknek. Minden egyes teszteset gyakorlatilag megmondja a tesztelőknek, hogy mit és hogyan kell tesztelniük, és a szoftveralkalmazás egy adott funkciójának vagy nem funkcionális jellemzőjének tesztelésére szolgál.
A nem funkcionális tesztelési esetek közé tartozhat annak tesztelése, hogy mi történik, ha valaki megpróbál hozzáférni a rendszeren belüli biztonságos adatokhoz, vagy annak vizsgálata, hogy a szoftver indításkor milyen gyorsan töltődik be.
2. Hogyan tervezzünk nem funkcionális teszteseteket?
Amikor teszteseteket tervez a nem funkcionális teszteléshez, fontos, hogy kövesse a szabványos teszteset-gyakorlatokat, miközben szem előtt tartja a nem funkcionális tesztek célkitűzéseit.
Kövesse az alábbi lépéseket a nem funkcionális teszteléshez szükséges tesztesetek megírásához, amelyek világosan felvázolják, hogy a tesztelőknek mit kell tenniük az egyes tesztek elvégzéséhez.
1. Határozza meg a lefedni kívánt területet
Minden egyes tesztelési esethez mérlegelje, hogy az adott tesztelési eset a szoftver mely területére terjed ki.
Ha például teszteseteket ír a telepítés és frissítés teszteléséhez, akkor olyan teszteseteket is tartalmazhat, amelyek azt vizsgálják, hogy mennyire könnyű az alkalmazást telepíteni különböző eszközökre, és mennyi időbe telik a szoftver frissítése egy új javítással.
2. Egyedi teszteset azonosító létrehozása
Minden tesztesetnek egyedi teszteset-azonosítóval kell rendelkeznie. Ez megkönnyíti a teszteset leírásának és eredményeinek későbbi megtalálását, és ha két tesztesetnek hasonló a neve vagy a leírása, akkor tisztázza, hogy melyik tesztesetre hivatkozik.
3. Nevezze meg és írja le az egyes teszteket
Míg a teszteset azonosítója azonosítja a tesztet, minden egyes megírt tesztesethez egy nevet és egy leírást is meg kell adnia.
Egy egyszerű névnek kell lennie, amely összefoglalja, hogy mit tesztel, míg a leírás egy mondat, amely ezt egy kicsit részletesebben kifejti.
A leírásnak elég világosnak kell lennie ahhoz, hogy a tesztelők tudják, mit és hogyan kell tesztelni, valamint hogy a tesztelés során milyen különleges feltételeknek kell megfelelni.
4. Adja meg a várt eredményt
Minden egyes tesztesethez vázolja fel azt az eredményt, amelynek akkor kell bekövetkeznie, ha a szoftver az elvárásoknak megfelelően működik.
A nem funkcionális tesztek, például a teljesítmény- és terhelési tesztek esetében ez sok esetben azt jelentheti, hogy a szoftver egyszerűen normálisan működik tovább, anélkül, hogy lelassulna, késne vagy összeomlana.
Más esetekben ez azt is jelentheti, hogy bizonyos hibaüzenetek jelennek meg, amelyek értesítik a felhasználót a problémáról, és megoldást javasolnak.
5. Ajánlja a tesztelési technikákat
Minden egyes tesztelési esethez javasoljon olyan tesztelési technikákat és nem funkcionális tesztelési eszközöket, amelyeket a tesztelőnek a tesztelés során Ön szerint alkalmaznia kellene.
A nem funkcionális tesztelés során a tesztelők nagyon különböző megközelítéseket alkalmazhatnak a különböző típusú tesztelésekhez.
A terhelés- és stressztesztelés például automatizálást igényelhet, mivel a rendkívül nagy forgalom kézzel történő szimulálása nem kivitelezhető, míg más típusú teszteléseket könnyebb lehet speciális eszközök vagy technológiák nélkül elvégezni.
6. Minden egyes teszteset szakértői véleményezése
Mielőtt minden egyes tesztesetet aláírna, minden egyes esetet ellenőriztessen valakivel, akivel együtt dolgozik. Ez lehet egy másik tesztelő vagy egy minőségbiztosítási vezető.
A tesztesetek szakértői felülvizsgálata biztosítja, hogy azok elég világosak ahhoz, hogy egy harmadik fél tesztelő is követni tudja őket, és nem tartalmaznak olyan kétértelműségeket vagy hibákat, amelyek helytelen teszteléshez vezethetnek.
3. Példák a nem funkcionális tesztesetekre
Ha nem funkcionális teszteléshez írsz teszteseteket, akkor azok úgy nézhetnek ki, mint az alábbi nem funkcionális tesztelési példák.
A skálázhatósági tesztelés példája
Teszteset azonosítója: 6671
Teszteset neve: Több felhasználó bejelentkezési tesztje
Leírás: Emulálja, hogy több mint 20 felhasználó egyszerre jelentkezzen be a szoftverbe az automatizálási eszközök segítségével.
Várható eredmények: A szoftvernek minden felhasználó esetében a szokásos módon kell futnia, és minden felhasználónak 5 másodperc alatt sikeresen be kell jelentkeznie.
Kompatibilitási tesztelési példa
Teszteset azonosítója: 5214
Teszteset neve: Az alkalmazás betöltése az Opera böngészőben
Leírás: Az alkalmazás betöltése az Opera webböngészőben.
Várható eredmények: Az alkalmazás normál módon töltődik be az Opera webböngészőben a szokásos felbontással és elrendezéssel.
Kézi vagy automatizált nem funkcionális tesztek?
Amikor a különböző nem funkcionális tesztelési technikák között választ, el kell döntenie, hogy manuális vagy automatizált nem funkcionális teszteket szeretne-e végezni.
A kézi teszteket emberi tesztelők végzik, ami azt jelenti, hogy általában időigényesebbek, de lehetőséget nyújtanak a feltáró tesztelésre is.
Az automatizált nem funkcionális tesztek gyorsabbak és bizonyos szempontból megbízhatóbbak, de több erőforrást vagy eszközt is igényelnek. Az automatizálás és a hiperautomatizálás egyre népszerűbbé válik a tesztelésben, különösen a nem funkcionális tesztelés terén.
Kézi nem funkcionális tesztelés: Előnyök, kihívások és folyamatok
A kézi nem funkcionális tesztelést kizárólag tesztelők végzik, akik minden egyes nem funkcionális elemet önállóan tesztelnek.
A manuális nem funkcionális tesztek elvégzésekor a tesztelőknek információt kell gyűjteniük a szoftverről, egyedi teszteseteket kell létrehozniuk, amelyek megfelelnek a teszttervnek, és ezeket a teszteseteket kézzel kell végrehajtaniuk.
Ez jelentős időt vesz igénybe, de azt is jelenti, hogy a minőségbiztosítási tesztelők szabadon határozhatják meg, hogy mit és hogyan teszteljenek.
1. A kézi tesztelés néhány előnye:
● A kézi tesztelés olcsóbb lehet, mint az automatizált tesztelés, mivel nem igényel speciális technológiákat vagy műszaki ismereteket.
● A kézi tesztelés lehetővé teszi a tesztelők számára, hogy emberi betekintést és szubjektivitást nyújtsanak a szoftver működésébe, és hogy az kielégítően működik-e.
● A kézi tesztelés olyan esetekben is használható a rendszer tesztelésére, amikor az automatizálás nem lehetséges.
● A kézi tesztelés lehetővé teszi a tesztelők számára, hogy értékeljék a rendszer vizuális aspektusait, például a grafikus felületet és más, a használhatóságot befolyásoló tényezőket.
● A kézi tesztelés szélesebb perspektívát nyújt a tesztelőknek a rendszer egészéről, valamint arról, hogy a különböző modulok és komponensek hogyan működnek együtt.
A kézi tesztelésnek azonban hátrányai is vannak.
2. A kézi tesztelés néhány kihívása:
● A nem funkcionális tesztelés egyes típusai, beleértve a terhelés- és teljesítménytesztelést, nem kivitelezhetőek kézzel.
● A kézi tesztelés lényegesen több időt vesz igénybe, mint az automatizált nem funkcionális tesztelés.
● A kézi tesztelők figyelmét elterelhetik, elveszíthetik a fókuszt, és hibázhatnak, különösen a nagyon ismétlődő tesztelési feladatok elvégzésekor.
Automatizált nem funkcionális tesztelés: Előnyök, kihívások és folyamatok
Az automatizált nem funkcionális tesztelést automatizált szkriptek és tesztelési eszközök végzik. Az automatizált tesztelési módszerek alkalmazásakor a tesztelők a háttérben végezhetik a teszteket, miközben más feladatokkal foglalkoznak, miután az automatizált teszteket elindították.
1. A nem funkcionális tesztek automatizálásának néhány előnye:
1. Időt és erőforrásokat takarít meg azáltal, hogy csökkenti a hosszadalmas, időigényes feladatokra fordított időt.
2. Az automatizálás lehetővé teszi a tesztelés lefedettségének növelését azáltal, hogy az összetevők és funkciók szélesebb körére terjed ki.
3. Az automatizált tesztek gyakori elvégzése megvalósíthatóbb, mert kevesebb időt vesz igénybe a végrehajtásuk.
4. Az automatizált tesztelés ideális az olyan időigényes tesztelési feladatokhoz, mint a terheléses tesztelés, a volumentesztelés és a stressztesztelés, amelyeket manuálisan nagyon nehéz elvégezni.
5. Az automatizált tesztelés során kisebb az esélye a hibák keletkezésének.
Az automatizált tesztelésnek azonban vannak hátrányai is, ami azt jelenti, hogy nem mindig ez a megfelelő megközelítés a nem funkcionális tesztelés minden típusához.
2. Az automatizált nem funkcionális tesztelés néhány kihívása:
1. Az automatizált tesztelés drágább, mint a manuális tesztelés.
2. A tesztautomatizálás beállítása időt és technikai erőforrásokat igényelhet.
3. A teszt automatizálás nem enged teret a feltáró tesztelésnek
4. A tesztek automatizálása még mindig időt igényel a tesztesetek létrehozásához.
Következtetés: Kézi vagy automatizált
nem funkcionális tesztelés?
A legtöbb szoftvertesztelés esetében a kézi és az automatizált tesztelés kombinációja általában a legjobb eredményt nyújtja. Ez lehetővé teszi a tesztelő csapatok számára, hogy kihasználják az automatizált tesztelés hatékonyságát, megbízhatóságát és pontosságát, miközben feltáró tesztelést is végeznek, amely lehetővé teszi a tesztelők számára, hogy szubjektívebb nézőpontból értékeljék a szoftvert.
A nem funkcionális tesztelésben a legtöbb tesztelő csapat számára gyakorlatilag mind a manuális, mind az automatizált tesztelés szükséges.
A manuális tesztelés a legjobb a nem funkcionális tesztelési feladatok, például a használhatósági tesztelés elvégzésére, míg az automatizált tesztelést leggyakrabban olyan tesztek elvégzésére használják, amelyek kézzel történő elvégzése túl időigényes és nehézkes lenne, mint például a stressztesztelés vagy a volumentesztelés.
A nem funkcionális tesztelés az egyik legkézenfekvőbb terület a teszt automatizálási technikák alkalmazására, mivel ez egy kvantitatív, mérhető tesztelési típus, amely nem kér szubjektív eredményeket.
A többi tesztelési típushoz hasonlóan a nem funkcionális tesztelést is általában kézi és automatizált tesztelés keverékével végzik.
Az automatizált tesztelés azonban gyakorlatilag szükséges a nem funkcionális tesztelés számos típusához, és a nem funkcionális tesztelés paraméterei és mérőszámai azt jelentik, hogy az automatizálás alkalmasabb az ilyen típusú tesztelésre, mint a funkcionális tesztelés.
Legjobb gyakorlatok a nem funkcionális teszteléshez
Ha először végez nem funkcionális tesztelést, a legjobb tesztelési gyakorlatok követése segíthet a tesztelési folyamat szabványosításában és a tesztek hatékonyságának optimalizálásában.
A legjobb gyakorlatok iránymutatásként szolgálnak azon szoftvertesztelő csapatok számára, amelyek javítani kívánják a tesztelési folyamatokat és igazodni kívánnak az iparági szabványokhoz.
1. Automatizálási eszközök használata
A nem funkcionális tesztelésben, jobban, mint más típusú teszteléseknél, fontos, hogy automatizálási eszközöket használjunk bizonyos típusú tesztelések automatizálására, különösen a volumentesztelés, a stressztesztelés és a terheléses tesztelés automatizálására.
Az ilyen típusú tesztelések általában azt ellenőrzik, hogy a szoftver mennyire jól működik a felhasználók, az adatok és a forgalom nagy nyomása alatt, ami manuálisan nagyon nehezen emulálható.
Az ilyen típusú nem funkcionális tesztek automatizálása nem csak hatékonyabb, de pontosabb is lesz, és lehetővé teszi a tesztelők számára a nagyobb terhelések és stresszek könnyű reprodukálását.
2. Az összes dokumentáció szakértői felülvizsgálata
Amellett, hogy megkérheti társait, hogy vizsgálják felül az Ön által létrehozott teszteseteket, kérje meg a tesztelési csoporton belüli társait, hogy vizsgálják felül a hibajelentéseket, tesztjelentéseket, tesztterveket és a tesztelési folyamat során létrehozott hivatalos dokumentáció egyéb formáit.
Ez csökkenti az apró hibák kockázatát, amelyek komoly késedelmet okozhatnak a tesztelési és fejlesztési folyamatban.
3. Mérhető követelmények meghatározása
Amikor a nem funkcionális tesztelés megkezdése előtt meghatározza a szoftver követelményeit, győződjön meg arról, hogy minden egyes követelmény objektív és mérhető.
Ez megkönnyíti a tesztelők számára annak megállapítását, hogy a szoftver a tesztelés során megfelel-e ezeknek a követelményeknek, és nem hagy teret az értelmezésnek.
Mi számít „gyorsnak” vagy „hatékonynak”? Használjon számokat és mennyiségi értékeket annak meghatározásához, hogy mit keres.
4. Gondosan fontolja meg a tesztelési metrikákat
Mielőtt eldöntené, hogy milyen mérőszámokat fog használni a szoftver teljesítményének mérésére, fontolja meg, hogy a szoftver felhasználói mit szeretnének, és hogy mely mérőszámok igazodnak a szoftvertervhez és a követelményekhez.
A legtöbb szoftvernek gyorsnak és megbízhatónak kell lennie, de milyen más mérőszámokat keresnek még a felhasználók? Vannak olyan szoftverspecifikus mérőszámok, amelyeket a tesztelési folyamat során figyelembe kell vennie?
A nem funkcionális tesztek kimeneti típusai
Amikor nem funkcionális tesztelést végez, különböző típusú kimeneteket kap az elvégzett tesztekből.
Ezek általában teljesen különböznek a funkcionális tesztek kimeneteitől, amelyek gyakran egyértelműbbek, mivel a funkcionális tesztek egyszerűen azt vizsgálják, hogy egy funkció működik-e úgy, ahogyan kell, vagy sem.
A funkcionális teszteléshez hasonlóan a tesztelőknek minden egyes tesztesetre vonatkozóan egyértelmű elvárásokat kell megfogalmazniuk, amelyek alapján könnyen megállapítható, hogy az egyes tesztek átmennek-e vagy sem.
1. Abszolút számok
Teljesítménytesztelés, stressztesztelés és más típusú nem funkcionális tesztelés során a leggyakrabban a sebességet és más abszolút számokat kell vizsgálni.
A teljesítménytesztelés azt ellenőrzi, hogy a rendszer milyen gyorsan képes elvégezni bizonyos feladatokat, és ezt másodpercekben vagy milliszekundumokban mérik.
Ha terheléses tesztelést végez, felmérheti, hogy a szoftver mennyi adatot képes egyszerre kezelni anélkül, hogy összeomlana vagy lemaradna.
2. Hibaüzenetek
A nem funkcionális tesztelés azt is ellenőrzi, hogyan működik a rendszer hiba esetén, például biztonsági hibák, érvényesítési hibák és konfigurációs hibák esetén.
Fontos, hogy a rendszerek hiba esetén pontos és egyértelmű hibaüzeneteket jelenítsenek meg, hogy a felhasználók lépéseket tehessenek a probléma kijavítására és a szoftver további használatára.
A biztonsági tesztelés során hibaüzeneteknek is meg kell jelenniük, amikor a rendszer megakadályozza, hogy a felhasználók áthágják a szoftver beépített biztonsági funkcióit.
3. Összeomlik
Az összeomlás a rendszerhiba jele, és általában azt jelzi, hogy a rendszer nem képes a tesztelés szintjén teljesíteni, és azt is jelentheti, hogy a teszt átmegy.
Bizonyos esetekben a rendszer összeomolhat, és mégis átmegy a teszteseten, amin éppen dolgozol, például ha a rendszer kibírja a szükséges mennyiségű stresszt vagy forgalmat, mielőtt összeomlik.
A nem funkcionális tesztelés során a tesztelőknek számítaniuk kell arra, hogy a rendszer rendszeresen összeomlik, különösen akkor, amikor a stressztesztelés és más teljesítménytesztek során a rendszer a határaiig feszítik.
Példák a nem funkcionális tesztekre
A nem funkcionális tesztelési példák hasonlóak a fenti, nem funkcionális tesztesetekre vonatkozó példákhoz.
A nem funkcionális tesztek példáit megnézheti, hogy jobban megértse, mi a nem funkcionális tesztelés, és mit tesztel egy szoftveralkalmazáson belül.
1. Teljesítménytesztelési példa
Ha olyan mobilalkalmazáson dolgozik, amely összekapcsolja a felhasználókat egy online adatbázissal, fontos, hogy nagyszámú felhasználó egyszerre férhessen hozzá és tölthesse le az adatokat az adatbázisból.
Ez a skálázhatósági tesztelés kulcsfontosságú része is, különösen akkor, ha a jövőben növelni szeretné az alkalmazás felhasználóinak számát.
Ezután tesztelni fogja, hogyan reagál a rendszer, amikor például 1000 felhasználó próbál egyszerre hozzáférni ugyanahhoz az adatbázishoz, és meghatározza azokat a követelményeket, amelyek szerint az alkalmazásnak ilyen körülmények között milyen gyorsan kell betöltődnie.
2. Kompatibilitási vizsgálat
Ha egy új dokumentumkezelő alkalmazást tesztel, tesztelnie kell, hogy az minden olyan eszközön működik-e, amelyre szánták.
Ez azt jelenti, hogy tesztelni kell, hogy az alkalmazás telepíthető és betölthető-e a Windows, a Mac és bármely más operációs rendszer (például Linux) legújabb verzióira, amelyekkel a szoftver kompatibilisnek kell lennie.
3. Biztonsági tesztelés
A biztonsági tesztelés során tesztelni fog néhány olyan módot, amelyekkel az emberek megpróbálhatnak hozzáférni bizalmas adatokhoz, vagy áthághatják a szoftver biztonsági biztosítékait, hogy meggyőződjön arról, hogy a rendszer úgy viselkedik-e, ahogyan azt Ön elvárja ezekben a helyzetekben.
Például bejelentkezhet felhasználóként, és megpróbálhat olyan fájlokhoz hozzáférni, amelyekhez nincs biztonsági engedélye, hogy megbizonyosodjon arról, hogy a rendszer nem engedi hozzáférni ezeket a fájlokat.
Az észlelt hibák és hibák típusai
nem funkcionális teszteléssel
A nem funkcionális tesztelés sok olyan hibát és hiányosságot fedezhet fel, amelyeket nem olyan könnyű megtalálni, mint a funkcionális tesztelés során azonosítottakat. Ez azért van így, mert a nem funkcionális tesztelés gyakran megköveteli, hogy a tesztelők különböző konfigurációkat, beállításokat és a feltételek kombinációit ellenőrizzék, hogy felmérjék, mennyire jól működik a rendszer számtalan különböző beállításban.
1. Teljesítményhibák
Teljesítményhibák akkor keletkeznek, amikor a rendszer működik, de nem olyan gyorsan vagy hatékonyan, ahogyan azt Ön elvárja.
Előfordulhat például, hogy a rendszer bizonyos körülmények között nem töltődik be elég gyorsan, vagy akár össze is omlik, ha túl sok felhasználó jelentkezik be egyszerre.
A teljesítményhibák nem akadályozzák meg teljesen az embereket a szoftver használatában, de a szoftver kevésbé használhatóvá válhat, és kevésbé valószínű, hogy megfelel a felhasználói követelményeknek.
2. Biztonsági hibák
A biztonsági hibák azok a hibák, amelyek hatással vannak a szoftverrendszer és a benne tárolt adatok biztonságára.
Biztonsági hiányosságok akkor merülhetnek fel, ha például a felhasználók olyan bizalmas adatokhoz is hozzáférhetnek, amelyekhez nem lenne szabad, vagy ha az alkalmazás bizonyos részei nem megfelelően jelszóval védettek, vagy ha a titkosítás nem működik.
Ezek biztonsági résekhez vezethetnek, amelyek komoly hatással lehetnek a szoftverkiadó hírnevére.
3. Funkcionális hibák
Bár a nem funkcionális tesztelés nem a szoftveralkalmazás funkcióinak tesztelésére szolgál, bizonyos esetekben a nem funkcionális tesztelés azonosíthatja a szoftver funkcionális hibáit.
A megbízhatósági tesztelés célja például nem az, hogy teszteljük, hogy az alkalmazás működik-e, hanem az, hogy teszteljük, hogy az alkalmazás megbízhatóan működik-e az ismételt próbálkozások során.
Ez felfedheti, hogy egyes funkciók nem megbízhatóan működnek megfelelően egy művelet megismétlésekor, és ezek funkcionális hibáknak minősíthetők.
Gyakori nem funkcionális tesztelési metrikák
A nem funkcionális tesztelési metrikák azokat a metrikákat írják le, amelyekkel a rendszer teljesítményét és hatékonyságát mérik.
A nem funkcionális tesztelés különböző típusai különböző mérőszámokra támaszkodnak, és a projekt végső célkitűzéseitől függően többféle mérőszámot is használhat.
1. Idő
Az időmetrikák azt mérik, hogy mennyi időbe telik bizonyos feladatok elvégzése, vagy hogy a felhasználóknak mennyi ideig kell várniuk a funkciók betöltésére.
Néhány példa az időmetrikákra: az alkalmazás által egy adott időkereten belül elvégezhető tranzakciók vagy letöltések száma, a különböző funkciók válaszideje, valamint az az idő, amely alatt az alkalmazás egy adott műveletet befejez.
A különböző típusú tesztek az eredményeket másodpercekben vagy a másodpercenkénti műveletek számának bemutatásában mérik.
2. Tér
A nem funkcionális tesztelés másik fontos mérőszáma a tér. A helymérésekkel azt lehet tesztelni, hogy a rendszer mennyi CPU-területet igényel, vagy hogy a szoftver mennyi helyet foglal el a merevlemezen, ha már teljesen telepítve van.
Néhány példa a helymérőkre: a gyorsítótár, a főmemória és a segédmemória.
A zökkenőmentes működéshez nagy mennyiségű helyet igénylő szoftverek kisebb számú ügyfél számára lehetnek alkalmasak.
3. Használhatóság
A nem funkcionális tesztelés egyes mérőszámai a rendszer használhatóságát veszik figyelembe, például azt, hogy mennyi időbe telik betanítani a felhasználókat a rendszer megfelelő használatára, hány választási lehetőség között kell a felhasználóknak navigálniuk a kulcsfontosságú funkciók elvégzéséhez, vagy hány egérkattintás szükséges bizonyos feladatok elvégzéséhez.
A nem funkcionális tesztek kvantitatív módon mérhetik e metrikák mindegyikét, és az alacsonyabb számok általában a használhatóság magasabb szintjét jelentik.
4. Megbízhatóság
A nem funkcionális tesztelés másik fontos mérőszáma a megbízhatóság. A megbízhatóság azt a valószínűséget tükrözi, hogy a rendszer újra és újra ugyanúgy viselkedik, vagy hosszú ideig úgy működik, ahogyan kell.
Néhány példa a megbízhatóság mérésére használt mérőszámokra: a meghibásodásig eltelt átlagos idő, a meghibásodási arány, a rendelkezésre állás és a leállási idő valószínűsége.
E mérőszámok mindegyike segít a tesztelőknek annak ellenőrzésében, hogy a rendszer hosszú ideig képes-e hibák vagy összeomlások nélkül futni.
5. Robusztusság
A robusztusság azt méri, hogy a rendszer mennyire jól kezeli a hibákat, és mennyire képes helyreállni hiba esetén.
Néhány példa a robusztusságot mérő mérőszámokra: a rendszer meghibásodás utáni helyreállási ideje, a katasztrofális meghibásodáshoz vezető incidensek százalékos aránya, valamint annak valószínűsége, hogy a rendszer meghibásodása után az adatfájlok sérülnek.
Ezek fontos mérőszámok, mivel a felhasználók elvárják, hogy a rendszerek néha meghibásodhatnak anélkül, hogy minden adat elveszne vagy a fájlok megsérülnének.
6. Hordozhatóság
A hordozhatósági mérőszámok azt mérik, hogy a szoftver mennyire könnyen átvihető különböző rendszerekre vagy áthelyezhető egy hálózaton belüli új helyre.
Néhány példa a hordozhatóságot mérő mérőszámokra: a nem hordozható kód százalékos aránya és azon rendszerek száma, amelyeken a szoftver futtatható.
Ideális esetben a sok különböző rendszeren futtatható szoftverek hordozhatóbbak, és ezért kényelmesebbek olyan környezetben, ahol gyakori áthelyezésekre vagy áthelyezésekre lehet szükség.
A nem funkcionális tesztek elvégzésének stratégiái
A nem funkcionális tesztelés megkezdésekor fontos, hogy a tesztelésnek ezt a fázisát egy stratégiát szem előtt tartva közelítse meg. A minőségbiztosítási vezetőknek és a szoftvertesztelésért felelős vezetőknek a nem funkcionális tesztelés megkezdése előtt mérlegelniük kell a tesztelés kockázatait, a rendelkezésükre álló erőforrásokat és a tesztelés célját.
A stratégia kidolgozása segíthet a nem funkcionális tesztek optimalizálásában már a kezdetektől fogva.
1. Szerepek és felelősségi körök kiosztása
A nem funkcionális tesztelés megkezdése előtt ossza ki a szerepeket és felelősségi köröket a tesztelő csapat kulcsfontosságú tagjai között. Ez megkönnyíti a nem funkcionális tesztelés munkaterhelésének kezelését, és biztosítja, hogy tapasztalt tesztelők feleljenek az elvégzett tesztek minőségének és hatékonyságának fenntartásáért.
Győződjön meg arról, hogy az e feladatok ellátására kiválasztott személyek rendelkeznek-e az elvárt feladatok elvégzéséhez szükséges tudással és tapasztalattal, különösen, ha ezek a feladatok műszaki ismereteket igényelnek.
2. Releváns tesztelési eszközök összegyűjtése
Gyűjtse össze az összes olyan technológiát és eszközt, amelyet a nem funkcionális tesztelés elvégzéséhez használni kíván. Győződjön meg arról, hogy a csapat minden tagja tudja, hogyan kell ezeket hatékonyan használni, és szükség esetén végezzen képzést a készségbeli hiányosságok pótlására.
Ha a nem funkcionális tesztelés megkezdése előtt mindenki tisztában van azzal, hogy milyen tesztelési eszközöket kell használni, és hogyan kell azokat használni, csökken annak a kockázata, hogy a tesztelést szüneteltetni kell, vagy a teszteket újra meg kell csinálni a nem megfelelő ismeretek miatt.
3. A tesztelés prioritásainak meghatározása
Mielőtt elkezdené a nem funkcionális tesztelést, készítsen egy listát a rendszer összes tesztelendő aspektusáról, és rangsorolja őket sürgősség és fontosság alapján.
A nem funkcionális teszteléseket a tesztelt rendszer egyes aspektusainak kockázati szintje alapján rangsorolhatja.
Például alapvető biztonsági tesztelésre kerülhet sor, mivel a megfelelő biztonságot rendkívül fontosnak tartják a modern szoftverekben. Minél korábban azonosítja a nagy kockázatú hibákat, annál kisebb lehet a hibák potenciális hatása a rendszer más aspektusaira.
A 7 legjobb nem funkcionális tesztelési eszköz
A nem funkcionális tesztelési eszközök racionalizálhatják a tesztelési folyamatot, megkönnyítik és költséghatékonyabbá teszik a tesztelés automatizálását, és segítik a minőségbiztosítási vezetőket a tesztelési és dokumentációs folyamat irányításában.
Számos ingyenes, nem funkcionális tesztelési eszköz érhető el az interneten, valamint néhány olyan eszköz, amelyek frissítéséért havi díjat fizethet.
1. ZAPTEST FREE kiadás
A ZAPTEST egy népszerű szoftvertesztelő eszköz, amely lehetővé teszi a felhasználók számára, hogy gyorsan és egyszerűen funkcionális és nem funkcionális szoftverteszteket végezzenek. A ZAPTEST segítségével automatizálhatja a szoftverteszteket, és az RPA-technológiát felhasználhatja a különböző funkciók és feltételek emulálására a nem funkcionális tesztelés során.
A ZAPTEST FREE kiadás a vállalati kiadás lecsökkentett változata, amely számos azonos funkciót kínál kisebb mértékben. A ZAPTEST fórumon kérhet támogatást, és korlátlan számú virtuális felhasználóval végezhet teljesítményteszteket.
2. Appium
Az Appium egy ingyenes szoftvertesztelő eszköz, amely leginkább mobilalkalmazások tesztelésére alkalmas különböző platformokon, beleértve az iOS és az Android eszközöket is. Az Appium nagy rugalmasságot kínál a felhasználóknak, hogy saját tesztelési keretrendszereket és stratégiákat dolgozzanak ki, miközben kihasználják az Appium által kínált automatizálási képességeket.
3. Loadium
A Loadium egy nem funkcionális tesztelési eszköz, amelyet leginkább a teljesítménytesztelés és a terheléstesztelés elvégzésére használnak, a nem funkcionális tesztelés két olyan típusára, amelyeket sokkal könnyebb automatizálási eszközökkel elvégezni.
A Loadium lehetővé teszi a felhasználók számára, hogy nagyszabású terheléses teszteket futtassanak, és egyedi megoldásokat kínál, hogy tesztjeit a szoftver céljaihoz igazíthassa.
A Loadiumot ingyenesen kipróbálhatja, vagy fizethet az alkalmazás teljes verziójának letöltéséért.
4. Obkio
Az Obkio egy olyan szoftvertesztelési eszköz, amely segít a QA-vezetőknek és tesztvezetőknek a problémák rangsorolásában és kategorizálásában aszerint, hogy mennyire súlyosak. Az Obkio képes a felhasználók előtt észlelni a problémákat, intelligens értesítéseket kínál a felhasználóknak, és segíthet felismerni, hogy hol van a probléma.
Az Obkio nem csak a nem funkcionális teszteléshez használható, hanem egy rendkívül hasznos ingyenes tesztelési eszköz, amely a tesztelési életciklus minden szakaszában alkalmazható.
5. SonarQube
A SonarQube egy nyílt forráskódú biztonságtesztelő eszköz, amely automatikusan elemzi a kódot a hibák és sebezhetőségek felderítése érdekében. A Java nyelven írt SonarQube segítségével több mint húsz különböző programozási nyelv kódját elemezheti, és a rendszer letisztult felülete megkönnyíti az olyan problémák felderítését, amelyek a jövőben biztonsági réseket okozhatnak.
6. Tsung
A Tsung egy másik nem funkcionális tesztelési eszköz, amely ideális, ha automatizálni szeretné a terhelés- és stressztesztelést, de nem boldogul a Loadium ingyenes verziójával.
A Tsung egy nyílt forráskódú eszköz, amely lehetővé teszi a felhasználók számára, hogy nagy volumenű terheléses tesztelést végezzenek több protokollon és szerveren, beleértve a HTTP-t és a SOAP-ot.
A Tsung teljesen ingyenes, és segíthet a tesztelőknek abban, hogy a szoftver, amelyen dolgoznak, nagy teljesítményt nyújtson különböző kihívást jelentő körülmények között.
7. Sikuli
A Sikuli egy másik alkalmazás, amely robotizált folyamatautomatizálást használ a tesztelési folyamat automatizálására. Az alkalmazás mindent automatizálhat, ami a képernyőn látható. A Sikuli segítségével tesztelheti a nem webes alkalmazásokat és gyorsan reprodukálhatja a hibákat.
Nem funkcionális tesztelési ellenőrző lista, tippek és trükkök
Mielőtt elkezdené a nem funkcionális tesztelést, ellenőrizze, hogy minden szükséges eszközzel rendelkezik-e az alapos nem funkcionális tesztek elvégzéséhez egy előkészített környezetben.
A nem funkcionális tesztelés megkezdése előtt kövesse az alábbi ellenőrző listát a tippekért és trükkökért.
1. Dolgozzon ütemterv szerint
Akár a teszttervbe építi be, akár külön dokumentumot készít hozzá, a szoftverteszteket a tesztelési ütemterv köré strukturálja.
Ha több hibát és hiányosságot talál, mint amennyire számít, akkor néha eltérhet az ütemtervtől, de ha van egy ütemterv a kezdéshez, az segíthet a tesztelőket irányítani és motiválni őket a hatékony munkavégzésre, különösen az időigényes kézi tesztek elvégzésekor.
2. Azonosítsa a tesztcsapatot
A felelősségek delegálása és a tesztelési csapat tagjainak hivatalos szerepek és címek kijelölése segíthet abban, hogy a tesztelési folyamat zökkenőmentesen menjen.
A tesztelés megkezdése előtt világosan közölje a szerepeket és felelősségi köröket a csapaton belül, és ossza ki a különböző tesztelőknek a nem funkcionális tesztelés különböző aspektusainak felelősségét, hogy mindenki felelős legyen a saját feladataiért.
3. Eszközök és technológiák kiválasztása a tesztelés előtt
Ha csak a nem funkcionális tesztelés megkezdése után dönt úgy, hogy bizonyos eszközökkel és technológiákkal dolgozik, ez hátráltathatja a tesztelési folyamatot, és zavart okozhat a tesztelők körében.
Ehelyett végezzen előzetes kutatást, és döntse el, hogy vannak-e olyan eszközök, amelyeket a tesztelés megkezdése előtt szeretne használni. Ez megkönnyíti ezen eszközök beépítését a tesztelési tervbe, és a tesztelőket még a tesztelés megkezdése előtt ki kell képezni a használatukra.
4. Mindig szerezzen be hivatalos jóváhagyást a tesztekről és a dokumentációról
A tesztelés egy minőségbiztosítási folyamat, és az elvégzett tesztek értékének maximalizálásának legjobb módja az, ha a megtervezett és lefuttatott tesztek alapvető minőségbiztosítását is elvégzi.
Egyszerű protokollok bevezetése, amelyek megkövetelik a tesztelőktől, hogy a QA vezetőktől és a vezetőtől kérjék a teszttervek és tesztjelentések felülvizsgálatát és aláírását, mielőtt továbblépnének a következő szakaszba.
Ez jelentősen növeli annak az esélyét, hogy a tesztelési hibákat időben észreveszik és kijavítják.
7 hiba és buktató, amit el kell kerülni a nem funkcionális tesztek implementálásakor
Ha még új a nem funkcionális tesztelésben, könnyen elkövethet néhány gyakori hibát, amelybe a tesztelők és a minőségbiztosítási szakemberek gyakran beleesnek.
A nem funkcionális tesztelés összetett feladat, amely magában foglalja a szoftver minden szempontból és perspektívából történő vizsgálatát.
Az alábbiakban felsoroljuk a tesztelők által a nem funkcionális tesztelés során elkövetett leggyakoribb buktatókat.
1. Nem tervezünk
Ha még új a nem funkcionális tesztelésben, azt gondolhatja, hogy csak úgy belevetheti magát a tesztelési szakaszba anélkül, hogy előzetesen alapos teszttervet készítene.
Egyes tesztelő csapatok hiányos tesztelési dokumentumokat vagy a tesztelési terv felületes összefoglalóit állítják össze, amelyek nem tartalmazzák megfelelően a tesztelők által a nem funkcionális tesztelés során elvégzendő műveleteket.
2. Rosszul végzett tesztelés
Problémák merülhetnek fel, ha a teszteket a tesztelési folyamat bármely szakaszában rosszul kezelik. A nem megfelelő irányítás azt jelentheti, hogy a tesztelők nem rendelkeznek a megfelelő erőforrásokkal a tesztelés alapos elvégzéséhez, vagy hogy a tesztelők nem kapnak elegendő időt az építés minden egyes aspektusának tesztelésére.
A tesztvezetőknek képesnek kell lenniük arra, hogy tanuljanak az elkövetett hibákból, és a jövőben hatékonyabb tesztelési terveket dolgozzanak ki.
3. Rossz kommunikáció
A rossz kommunikáció sok problémát okozhat a tesztelési folyamat során, különösen a nem funkcionális tesztelés során.
Ez jelentheti a tesztelő csapaton belüli rossz kommunikációt, vagy a tesztelők, a fejlesztők és az érdekelt felek közötti rossz kommunikációt.
Ez gyakran akkor fordul elő, ha a tesztelők nem tartják megfelelően karban a tesztelési dokumentumokat, vagy nem kommunikálnak rendszeresen más részlegekkel a tesztelési folyamat során.
4. A fejlesztők figyelmen kívül hagyása
A tesztelők és a fejlesztők általában egymástól meglehetősen elkülönülten dolgoznak, de a fejlesztőkkel szorosan együttműködő tesztelői csapatok számára előnyös lehet a szoftver működésével és a különböző modulok egymás közötti kölcsönhatásával kapcsolatos további tudás.
A fejlesztők bevonása a tesztelési folyamatba, vagy a fejlesztők visszajelzéseinek bekérése a kulcsfontosságú időpontokban segíthet a tesztelő csapatoknak hatékonyabb és alaposabb teszttervek összeállításában.
5. A vizsgálat célja
Sok tesztelő még mindig úgy gondolja, hogy a tesztelés célja annak ellenőrzése, hogy a szoftver működik-e, vagy annak demonstrálása az érdekeltek és a befektetők számára, hogy a szoftver működik.
Ehelyett a tesztelőknek azzal a hozzáállással kell megközelíteniük a tesztelést, hogy a tesztelés célja a hibák keresése.
Azok a tesztelők, akik nem találnak hibákat, csak akkor lehetnek elégedettek azzal, hogy az általuk tesztelt szoftver hibamentes, ha meggyőződtek arról, hogy mindenhol megnézték, ahol hibákat találhatnak.
6. Kézi és automatizált hibák
Fontos, hogy időt szánjon annak mérlegelésére, hogy a kézi vagy az automatizált tesztelés jobb-e az egyes tesztelési típusok esetében.
Az automatizált tesztelési módszerek rendkívül jól alkalmazhatók a nem funkcionális tesztelés szinte minden formájára, és a funkcionális teszteléshez szokott tesztelő csapatok elkövethetik azt a hibát, hogy azt feltételezik, hogy a nem funkcionális funkciókat manuálisan is ugyanolyan könnyen tesztelhetik.
7. Rossz tesztelési eszközök használata
Könnyen előfordulhat, hogy a nem funkcionális tesztelés megkezdése előtt rossz tesztelési eszközöket és technológiákat választunk, különösen akkor, ha a tesztelő csapatok a manuális teszteléshez szoktak, és nincsenek hozzászokva a tesztelési eszközök használatához.
Előzetesen kutassa fel a használni kívánt nem funkcionális tesztelési módszereket, és válassza ki azokat a szoftvereszközöket és automatizálási eszközöket, amelyek megfelelnek a projekt egyedi követelményeinek.
Következtetés
A nem funkcionális tesztelés a tesztelési folyamat lényeges lépése, amely lehetővé teszi a tesztelők számára annak ellenőrzését, hogy a rendszer mennyire jól működik, és milyen mértékben felel meg a nem funkcionális követelményeknek, például a betöltési időnek, a kapacitásnak és a biztonsági védelemnek.
A nem funkcionális tesztelés sokféleképpen végezhető, de a kortárs automatizálási eszközök megkönnyítik a tesztek lefedettségének és pontosságának maximalizálását anélkül, hogy az eredmények minősége romlana.
GYIK és erőforrások
Ha többet szeretne megtudni a nem funkcionális tesztelésről, rengeteg GYIK és forrás érhető el az interneten.
Böngésszen az alábbiakban kedvenc online nem funkcionális tesztelési forrásaink között, vagy olvassa el a nem funkcionális teszteléssel kapcsolatos leggyakrabban feltett kérdésekre adott válaszokat.
1. A legjobb tanfolyamok a nem funkcionális tesztelésről
Rengeteg online tanfolyam áll rendelkezésre, amelyek segíthetnek a nem funkcionális tesztelési módszerek és megközelítések ismereteinek bővítésében.
E tanfolyamok némelyike ingyenesen elérhető, mások pedig díj ellenében tanúsítványt vagy képesítést adhatnak. Ha akkreditált tanfolyamot szeretne elvégezni, megkérdezheti a munkáltatóját, hogy támogatja-e Önt, és fedezi-e a tandíj költségeit.
A nem funkcionális teszteléssel kapcsolatos legjobb tanfolyamok közé tartozik:
- TSG: Nem funkcionális képzés 2 napos tanfolyam
- Udemy: A teljes 2023-as szoftvertesztelési bootcamp
- Edx: Szoftvertesztelési Szakmai Tanúsítvány
- Tanulságos: Teljesítményteszt-automatizálás 101
2. Mi az 5 legfontosabb interjúkérdés a nem funkcionális teszteléssel kapcsolatban?
Ha szoftver teszteléssel kapcsolatos állásinterjúra készülsz, az interjúztató kérdezhet a nem funkcionális tesztelésről, hogy megbizonyosodjon arról, hogy érted, hogyan működik a szoftvertesztelésnek ez az alapvető szakasza. Készüljön fel az interjúra úgy, hogy előre elkészíti a gyakori interjúkérdésekre adott hatékony válaszokat.
● Miben különbözhetnek a nem funkcionális tesztelés során alkalmazott megközelítések és módszerek a funkcionális tesztelés során alkalmazott megközelítésektől és módszerektől?
● Miben különbözik a nem funkcionális tesztelés a funkcionális teszteléstől?
● Milyen különböző típusú nem funkcionális tesztelések léteznek?
● Hogyan rangsorolja a funkcionális teszteket és teszteseteket?
● A szoftvertesztelés melyik szakaszában szokták elvégezni a funkcionális tesztelést?
3. A legjobb YouTube oktatóanyagok a nem funkcionális tesztelésről
Ha inkább videók megtekintésével tanul, akkor a YouTube-on a nem funkcionális tesztelésről szóló oktatóanyagokat hasznosnak találhatja, ha többet szeretne megtudni a szoftvertesztelésnek erről a típusáról.
Az alábbiakban bemutatjuk a legjobb YouTube oktatóanyagokat a szoftvertesztelésről.
Mi a nem funkcionális szoftvertesztelés? Szoftvertesztelés oktatóprogram
Szoftvertesztelési segítség: Nem funkcionális tesztelés
Nem funkcionális tesztelés a szoftvertesztelésben
Látogasson el a W3Schools oldalra
Funkcionális és nem funkcionális tesztelés
4. Hogyan kell karbantartani a nem funkcionális teszteket
A megfelelő tesztkarbantartás biztosítja, hogy a szoftvertesztek a teszteredmények minőségének romlása nélkül megismételhetők legyenek.
A nem funkcionális tesztek karbantartásával biztosíthatja, hogy a tesztelés a fejlesztési folyamat minden egyes szakaszában megfelelő legyen, és hogy a tesztek mindig a folyamatosan változó kóddal összhangban frissüljenek.
A nem funkcionális teszteket az alábbi tippjeinket követve tarthatja fenn.
● Világos kommunikáció a tesztelési csoporton belül a tesztesetek létrehozásakor és a dokumentáció megírásakor
● Mindig kövesse a legjobb teszttervezési gyakorlatokat
● A vizsgálati protokollok újraértékelése a vizsgálati folyamat különböző szakaszaiban
● Frissítsd a tesztedben lévő változásokat menet közben
A jelenlegi tesztek módosításakor vegye figyelembe a jövőbeli projekteket
5. A nem funkcionális tesztelés fekete dobozos vagy fehér dobozos tesztelés?
A nem funkcionális tesztelés a fekete dobozos tesztelés egy fajtája, ami azt jelenti, hogy a tesztelők nem foglalkoznak a rendszer belső működésével, csak a külső kimenetekkel.
Ez ellentétben áll a fehérdobozos teszteléssel, amely a rendszer belső működését vizsgálja. A fehérdobozos tesztelésre példa az egységtesztelés és az integrációs tesztelés.
A funkcionális és a nem funkcionális követelmények tesztelése a fekete dobozos tesztelés példái. Ez azt jelenti, hogy a tesztelőknek nincs szükségük fejlett műszaki ismeretekre vagy számítógépes programozási ismeretekre a fekete dobozos tesztelés elvégzéséhez, és nem kell megtanulniuk, hogyan kell megvalósítaniuk a tesztelt rendszereket.