7 perc olvasás
2025.03.14

A követelményspecifikáció és a tesztelés kapcsolata

A követelményspecifikáció és a tesztelés kapcsolata

Az ember azt gondolná, hogy az elmúlt 20-30 év globális informatikai projekttapasztalatának birtokában teljesen meddő dolog nekilátni egy projektnek átgondolt, teljeskörű és a végfelhasználók által elfogadott követelményspecifikáció (vagy másnéven igényspecifikáció) nélkül. Ezzel szemben még manapaság is rendkívül gyakori, hogy az informatikai rendszerek fejlesztése és bevezetése ezen dokumentációk hiányában kezdődik meg vagy megy teljes egészében végbe.

A precízen megtervezett és sztenderd módon lemodellezett üzleti folyamatok, valamint a hozzájuk tartozó funkcióleírások nemcsak a fejlesztés minőségi megvalósíthatóságát szavatolják.

A tesztelés fundamentumát is jelentik. Enélkül tehát a projektek rendszerint félresiklanak, ami kontraproduktív működéshez, magas költségekhez, alacsony minőséghez, elégedetlen felhasználókhoz és megrendelőkhöz vezet. A következő cikkben részletesen bemutatjuk, hogyan kapcsolódik egymáshoz a minőségi követelményspecifikáció és a tesztkészlet.

A követelményspecifikáció (másnéven igényspecifikáció) szerepe

Ahhoz, hogy bemutatható legyen a követelmények és a tesztelés között a kapcsolat, először a követelményspecifikáció jelentésével kell megismerkednünk. Ez a specifikáció egy olyan dokumentum, amely (jó esetben) félreérthetetlenül meghatározza a fejlesztendő szoftver:

  • folyamatait,
  • funkcióit,
  • tulajdonságait,
  • design elemeit,
  • teljesítményparamétereit,
  • a leendő felhasználók típusát, azok jogosultságait.

Követelményspecifikáció részei
Követelményspecifikáció elemei

Egyszóval mindent, amit a jövőbeni alkalmazás működésétől elvárunk. Fontos tisztázni, hogy az igényspecifikáció egy sztenderd üzleti dokumentum, ennek megfelelő struktúrával, szövegezéssel és tartalommal. Ez természetesen nem azt jelenti, hogy nem fogalmazhatunk meg benne technikai jellegű igényeket. Inkább arra ösztönöz, hogy ragaszkodjunk az üzleti hasznosság és az elvárt üzleti működés bemutatásához.

Szoftverkövetelmények dokumentálása

Az igények sztenderd, több szintű dokumentálása elengedhetetlen a későbbi félreértések és hiányosságok elkerüléséhez. A jelenlegi fejlett módszertanok és eszközök segítségével, több sztenderd, követelményspecifikációs metodológia közül választhatunk. A lényeg, hogy az általunk alkalmazott tervezői, elemzői és specifikációs eljárásokat a modellezni kívánt rendszereink, üzleti folyamataink tükrében válasszuk ki. Valamint számít elemző kollégáink tudásszintje és a rendelkezésre álló modellezői eszközkészlet is.

Minden esetben célszerű és javasolt a jövőben elvárt rendszereken átívelő (end-to-end) és rendszeren belüli folyamatok meghatározásával kezdeni, majd azokat egyre mélyebb szinten, folyamatlépésekben kifejteni, az elvárt üzleti működés alapján. Ezt követően az egyes lépésekhez már könnyebben meghatározhatóak a részletes funkcionális követelmények.

Az így felépülő többszintű architektúránk (folyamat, lépés, funkció) jelenti majd az igényspecifikáció vázát. Ez az architektúra strukturálisan kikényszeríti az igények kompromisszummentes átgondolását, dokumentálását. A funkcionális elvárások mellett az egyes folyamatok eredménytermékeivel, üzleti entitásaival is foglalkoznunk kell. Ennek oka, hogy az összes olyan tulajdonság feljegyzésre kerüljön, amelyet a későbbi működés során használni kívánunk. Elengedhetetlen továbbá tisztázni, hogy milyen típusú felhasználókat szeretnénk megkülönböztetni, azokat milyen jogosultságokkal, hozzáférésekkel, esetleges korlátozásokkal szeretnénk ellátni.

Követelményspecifikációs eszközhasználat

Az igényspecifikációs feladat teljes lebonyolításához érdemes olyan modellező eszközöket, célszoftvereket alkalmazni, amelyek támogatják:

  • az általunk bevezetett igényspecifikációs módszertant
  • segítenek rendszerezni az információkat.

Valamint megteremtik a kommunikáció és kollaboráció lehetőségét, a projekttagok, az üzleti szakértők és a döntéshozók között.

A követelményspecifikáció létrehozása

A kérdéskör teljes átlátásához célszerű nagyvonalúan megismerni egy általános informatikai projekt működését. A választott projektmódszertantól függetlenül, legyen az akár egy régebbi klasszikus vagy akár valamilyen modernebbnek gondolt agilis jellegű módszertan, az alapvető folyamati lépések csak adott sorrendben hajthatóak végre.

Ezek a lépések az igények felmerülését követően sorrendben a következőek:

1. igényspecifikáció

2. fejlesztés

3. tesztelés.

Természetesen előfordulhat, hogy párhuzamosan több iteráció is zajlik, így a gyakorlatban az egyes lépések tulajdonképpen folyamatosan történnek. Azonban, ha egy jól körül határolt funkcióhalmazra (pl.: sprintre) tekintünk, ez a sorrend fixnek mondható.

Az igények pontos meghatározása

Mind a fejlesztés, mind a tesztelés ugyanazon követelményspecifikáció alapján történik. Ez az, ami miatt nélkülözhetetlen, hogy az abban szereplő igények, precízen, hiánytalanul, egymással értelmezhető logikai összefüggésben kerüljenek megfogalmazásra és dokumentálásra. Máskülönben a projekt zátonyra fut, nehéz helyzetbe hozva ezzel a megrendelőt.

A specifikációk módosítása

Csodálatos dolog lenne, ha minden esetben képesek lennénk már a projekt kezdeti, igényspecifikációs szakaszában elképzelni, megfogalmazni és dokumentálni egy nagyvállalati alkalmazás teljes működését.

Ettől azonban a valóság távol áll.

A gyakorlatban egy projekt alatt rendszeresen változó és újonnan felmerülő üzleti igényekkel találkozunk. Ezen felmerült „új” elvárások megvalósítása érdekében rugalmasan kell tudnunk kezelni a követelményspecifikáció változásait. Ehhez egy megfelelő, jól definiált belső igénykezelési folyamat és eszköztámogatás szükséges, amely lehetővé teszi a változások követését, kezelését, az üzleti szereplők és a projekttagok (pl.: szoftver minőségbiztosító csapat) informálását. Garantálva ezzel a következetes és hibamentes projektműködést.

A követelményspecifikáció és a tesztelés kapcsolata

Talán a legtöbbször felmerülő és legtöbb megrökönyödést kiváltó kérdés, amit a szakmai találkozókon kapunk az az, hogy mi alapján írjuk a teszteseteket. Egészen pontosan nem is a kérdés okozza a meglepődésbe burkolt aggodalmat, hanem az arra adott válaszunk, ami így hangzik: a követelményspecifikáció alapján.

Ekkor a fennakadás leggyakoribb oka, hogy a megrendelő sok esetben nem rendelkezik megfelelő követelményspecifikációval, markánsan megnehezítve ezzel a tesztelésre való felkészülést. A leggyakoribb hiányosságok, amivel találkozunk az alábbiak:

  • nincs, vagy hiányos a specifikáció
  • nem friss, vagy nem tartalmazza a bevezetés óta módosított funkciók leírását a dokumentum
  • több helyen, több fájlban megtalálható a specifikáció, így nincs központi nyilvántartás és verziókezelés
  • már nincs ott a kolléga, aki írta, így nem lehet értelmezni
  • elavult más rendszerekre vagy dokumentumokra való hivatkozásokat tartalmaz
  • már lejárt a licence a vállalati tervező/elemző alkalmazásnak, emiatt nem elérhetőek benne bizonyos adatok
  • és így tovább…
Követelményspecifikáció és tesztelés folyamata
Követelményspecifikáció és tesztelés kapcsolata

Jó hír, hogy ha ilyen szituációban találjuk magunkat, feloldva ezt a rossz érzést általában rögtön az első pillanatba jelezzük, hogy természetesen a tesztesetek írása, a tesztkészlet létrehozása ennek hiányában is elvégezhető, csak az elvártnál jóval több energiát, időt és ráfordítást vehet igénybe. Ennek oka, hogy a tesztesetek írásához szükséges rendszerismereti, folyamati tudást más forrásokból kell összegyűjteni.

De mit is gyűjtünk össze pontosan, mi az, amit szeretnénk kiolvasni egy specifikációból és miért ez számunkra a legmegfelelőbb dokumentum?

A tesztelési stratégia összeállítása

Első lépésben a specifikációt megvizsgálva, a tesztelési folyamatunk nagy egészére vonatkozó információkat igyekszünk összegyűjteni. Körbejárjuk a főbb folyamatok, az alkalmazás alapvető funkcionalitását, megértjük az alkalmazás alapvető üzleti hasznát. Ezek alapján megkezdjük a tesztelés nagyvonalú tervezését. Megismerve a folyamatok és funkciók számát, bonyolultságát, a kapcsolódó rendszerek tulajdonságait egy tesztelési tervet alakítunk ki, amely a projekttervhez, annak ütemezéséhez kell, hogy igazodjon.

A tesztkészlet lefedettsége, terjedelme

Ismereteink bővülésével egyre inkább a teljesség lefedésére törekszünk, az egyes folyamati, logikai vagy üzleti kérdések, hiányosságok és hibák feltárása mellett. Ezt követően a specifikáció részleteit felhasználva a mélyebb és precízebb, a folyamatok apróbb, kevésbé gyakori lefutási ágaira, eseteire koncentrálunk, létrehozva ezzel a tesztesetek halmazát, a tesztkészletet.

A tesztadatok kinyerése a követelményspecifikációból

  1. Miután megismertük a folyamatokat, a funkciók működését, megvizsgáljuk az azok futtatásához, végrehajtásához szükséges üzleti entitásokat, pontosabban azok attribútumait.
  2. Ezen tulajdonságokat összegyűjtve és rendszerezve felépítjük a tesztadatok összességét, a variánsokat.
  3. Meghatározzuk, hogy egy általános tesztelési körben a tesztesetek futtatásához adott tesztadatból hány variánst, milyen darabszám mellett kell létrehozni a tesztelési kör hiánytalanul végrehajtható lehessen.

A követelményspecifikáció és a tesztuserek

Ami a tesztelés során a tesztuser, az az éles működésben a végfelhasználó. Emiatt a tesztesetek és tesztadatok összegyűjtésével egyidejűleg a felhasználók típusát és azok jogosultságait is gyűjtjük rendszerezzük a későbbi, (a valóságnak leginkább megfelelő) szerepkörhelyes tesztelés lefuttatásához. Szerencsés esetben rendelkezésünkre áll a specifikáció részeként, vagy annak csatolmányaként egy szerepkör-jogosultság mátrix, ami egyértelműen bemutatja a rendszer használatának felhasználói feltételeit, amivel kiegészítve a tesztkészletet már szinte nyert ügyünk is van.

A teszteset-követelmény összerendelés

Amennyiben az igényspecifikáció alapján képesek voltunk egy számunkra megfelelő tesztkészletet és a futtatáshoz szükséges tesztelési forgatókönyveket összeállítani, azokat betöltjük egy tesztmenedzsment alkalmazásba.

E célra célszerű olyan alkalmazást választani, ami „ismeri, érti és kezeli” a követelményt, mint entitást.

Ezzel támogatva a későbbi tesztelési metrikák precízebb, üzleti szemléletű kimutatását. Ennek segítségével ugyanis a tesztelés későbbi fázisaiban minden teszteset követelményhez kapcsolható, azzal relációban áll, permanens információt biztosítva az alkalmazás aktuálisan működő funkcióinak üzleti lefedettségéről. Természetesen egy specifikációban megjelenő funkciót több teszteset fed le, és egy teszteset is reprezentálhat több funkciót, a lényeg, hogy az egyes tesztelési körök eredményeit képesek leszünk a specifikációra, annak terjedelmére vetíteni, valós üzleti képet adva ezzel a projekt aktuális sikerességéről, a funkciók tényleges használhatóságáról.

Összegzés és ajánlások

Talán ez a pár sor elegendő volt arra, hogy nagyvonalúan bemutassuk a követelményspecifikáció és a tesztelés között fennálló erős kapcsolatot. A projekt sikerességének kulcsa tehát a pontosan definiált folyamatokban és követelményekben, valamint azok precíz adminisztrációjában rejlik, lehetővé téve ezzel a ráépülő tevékenységek, a fejlesztés és a szoftverminőségbiztosítás végrehajthatóságát.

Amennyiben felkeltettük érdeklődését, további információra lenne szüksége, vegye fel velünk a kapcsolatot!

Ezek is
érdekelhetnek

Dolgozzunk
együtt!

Dolgozz
nálunk!

Küldj nekünk üzenetet, és írd meg, miben lehetünk a segítségedre, értékesítőink pedig amint lehet, felveszik veled a kapcsolatot és egyeztetjük a részleteket!

Van üres asztalunk, ami lehet hogy épp rád vár! Töltsd ki a formot, mondd el, miért szeretnél Te lenni a TestIT csapat legújabb tagja, és ismerjük meg egymást!

Dolgozz Velünk Dolgozz Nálunk
Adatvédelmi áttekintés

Ez a weboldal sütiket használ, hogy a lehető legjobb felhasználói élményt nyújthassuk. A cookie-k információit tárolja a böngészőjében, és olyan funkciókat lát el, mint a felismerés, amikor visszatér a weboldalunkra, és segítjük a csapatunkat abban, hogy megértsék, hogy a weboldal mely részei érdekesek és hasznosak.

További információkat itt olvashat a cégünk adatkezeléséről.