Ugrás a tartalomhoz

ÁAFK módszertani ajánlás alkalmazásfejlesztés átvételi tesztelésének lefolytatására

1. Bevezetés

Jelen dokumentum az IdomSoft Zrt., mint az egységes Állami Alkalmazás-fejlesztési Környezetről és az Állami Alkalmazás-katalógusról, valamint az egyes kapcsolódó kormányrendeletek módosításáról szóló 314/2018. (XII. 27) Korm. rendeletben (továbbiakban: ÁAFK Kr.) kijelölt központi alkalmazás-szolgáltató (a továbbiakban: Szolgáltató) által kialakított Állami Alkalmazás-fejlesztési Környezet (a továbbiakban: ÁAFK) igénybevételével fejlesztett alkalmazások átvételi tesztelését mutatja be.

Az ÁAFK szolgáltatási rendszerének keretében kifejlesztett alkalmazástermékek tekintetében kiemelten fontos azon peremfeltételek tervezése és biztosítása, amelyek mentén az alkalmazástermékek elvárt funkcionális működése teljeskörűen ellenőrizhető. Annak érdekében, hogy a fejlesztési ciklus végén az átvételi tesztelés elvégzésének hiánya ne lehessen akadálya az alkalmazástermék bevezetésének, valamint az alkalmazásfejlesztési projekt határidőben történő teljesülésének, az alkalmazástermékek átvételi tesztelését szolgáló feladatok előzetes tervezése és az érintett szervezetek (pl. SZEÜSZ/KEÜSZ szolgáltatók, nyilvántartást vezető szervek) hatékony bevonása szükséges.

Jelen dokumentum célja egy átfogó, igazgatási megközelítésű tesztelési módszertan kidolgozása, amely iránymutatást ad egy adott alkalmazástermék elvárt funkcionális működésének integrált minőségellenőrzéséhez és a szükséges tervezési feladatok végrehajtásához. A Szolgáltató által ajánlott módszertan kiterjed az integrált átvételi tesztelés során érintett feladatkörökre, szereplőkre, valamint azok bevonásának feltételeire és módjára.

2. Átvételi teszt

2.1. Célok

Az ÁAFK Kr.-ben előírt műszaki-szakmai átadás-átvételi eljárás lefolytatása abban az esetben kezdeményezhető a Megrendelő szerv által, ha a tesztelések teljeskörűen elvégezésre kerültek a Megrendelő igényei által meghatározott igazgatási folyamatok megvalósításával, az alkalmazásra vonatkozó jogszabályi előírásoknak megfelelően.

Az átvételi teszt az alkalmazástermék felhasználók általi használatra való alkalmasságát ellenőrzi. Célja az alkalmazástermékbe, annak egyes részeibe vagy az alkalmazástermék adott nem funkcionális jellemzőibe vetett bizalom megteremtése. Az átvételi teszt elsődlegesen nem hibakeresésre irányul, célja a rendszer kibocsáthatóságának és használhatóságának elemzése.

Amennyiben adott alkalmazás rendszerkapcsolatokkal rendelkezik, az átvételi tesztelést megelőzően rendszerintegrációs tesztek elvégzése is szükséges.

Az átvételi teszt elvégzése a Megrendelő szervezet és/vagy a rendszer használóinak feladata, ugyanakkor más projektrésztvevők is bevonhatók ezen tevékenységbe.

Az átvételi teszt az életciklus különböző szintjein is megjelenhet. Jellemzően az ütemtervben meghatározott fejlesztési mérföldkövek elkészültével a meghatározott átvételi kritériumok, illetve előírások alapján, ilyenek lehetnek például közigazgatási, jogi vagy biztonsági rendelkezések.

Az átvételi tesztelés alapjául a következő, Szolgáltató által biztosított dokumentumok szolgálhatnak:

  • Felhasználói követelmények
    • Funkcionális specifikáció
    • Funkcionális tesztelési terv
    • Felhasználói kézikönyv
  • Rendszerkövetelmények
    • Terheléses tesztelési terv
  • Igazgatási folyamatok
    • Igazgatási rendszerterv
    • Módszertani útmutató

Az átvételi tesztelés alapjául ajánlott továbbá a következő dokumentumok elkészítése:

  • Kockázatelemzés jelentések
  • Használati esetek

A teszt jellemzően az alábbi folyamatokat fedi le:

  • Igazgatási folyamatok integrált rendszeren
  • Működési és karbantartási folyamatok
  • Felhasználói eljárások

2.2. Funkcionális tesztkörnyezet biztosítása

Az ÁAFK funkcionális tesztkörnyezetet biztosít, amelyben ellenőrizhető az alkalmazás funkcionális működése, azonban éles és szenzitív adatok tárolására ez a környezet nem használható, illetve ezen funkcionális tesztkörnyezet nem feltétlenül egyezik meg infrastrukturálisan a leendő üzemeltetési környezettel. Ebből fakadóan a teljeskörű átvételi teszt elvégzésére a Megrendelő szervnek saját tesztkörnyezetet kell biztosítania, ahol a leendő saját éles környezethez, az éles üzemi működéshez a lehető legnagyobb mértékben hasonló adatokon és infrastrukturális környezetben végezheti el a műszaki és igazgatási szemléletű átvételi tesztelést.

2.3. Szakaszok

Az átvételi tesztelés teljes folyamata az alábbi szakaszok szerint épül fel:

  • Tesztelőkészítés
  • Teszttervezés
  • Tesztvégrehajtás
  • Tesztlezárás

3. Tesztelőkészítés

A teszt előkészítési fázisában történik a Megrendelő szerv által a tesztelés műszaki-technikai és személyi feltételeinek biztosítása. Szintén az előkészítési szakaszban kell biztosítani a különböző teszttípusok végrehajtásához szükséges környezeteket. Az informatikai környezet kialakításához tartozik a teszteléshez szükséges – tesztelők számára biztosítandó – tesztadminisztrációs és bejelentő eszköz paraméterezése is (az ÁAFK által biztosított feladat- és hibakezelő rendszer). A teszteléshez szükséges tesztadatokat szintén az előkészítés során kell megtervezni, kialakítani, illetve amennyiben szükséges, a Szolgáltatónál a 3.2 pontban meghatározott tesztadatok igénylését elindítani.

Feladatok

  • Tesztkörnyezet kialakítása
  • Tesztkörnyezet rendelkezésre állásának biztosítása
  • Tesztkörnyezetben az tesztelendő alkalmazás rendelkezésre állásának biztosítása
  • Szolgáltatások és felhasználók rendelkezésre állásának biztosítása
  • Adatbázisok rendelkezésre állásának biztosítása
  • Alkalmazás paraméterezése
  • Tesztelést támogató eszköz előkészítése, hozzáférések biztosítása
  • Tesztelési terv és forgatókönyv előkészítése

3.1. Tesztelői erőforrás

Feladatok

  • Tesztelő csapat összeállítása
  • Idő- és erőforrásbecslés
  • Tesztelő csapat rendelkezésre állásának biztosítása

3.2. Tesztadatok

Feladatok

  • Tesztadatok előkészítése
  • Tesztadatigénylés

Az alkalmazástermékek átvételi tesztelését szolgáló feladatok előzetes tervezése során fontos az érintett szervezetek (pl. SZEÜSZ/KEÜSZ szolgáltatók, nyilvántartást vezető szervek) hatékony bevonása annak érdekében, hogy a fejlesztési ciklus végén az átvételi tesztelés hiánya ne lehessen a projekt határidőben történő teljesítésének.

A Megrendelő szerv által támasztott minőségi követelményeknek való megfelelés elsődleges szempont minden készülő informatikai rendszer esetében. Ennek fontos állomása a magas színvonalon és körültekintően elvégzett tesztelés, melyhez a Szolgáltató – többek között – tesztadatok előállításával nyújt segítséget. A Szolgáltató az általa kötelezően biztosítandó központosított alkalmazásüzemeltetési és e rendszereket érintő alkalmazásfejlesztési szolgáltatások esetében, a központosított informatikai és elektronikus hírközlési szolgáltatásokról szóló 309/2011. (XII. 23.) Korm. rendelet 3. mellékletében felsorolt rendszerek tekintetében szolgáltat tesztadatot. A felsorolásban szereplő rendszerekben integrált tesztadatok is előállíthatók, vagyis egy teszt személy szerepelhet egy primer nyilvántartásban (pl.: Személyiadat- és lakcímnyilvántartás), emellett szekunder nyilvántartásokban is (pl.: „rendelkezhet” vezetői engedéllyel, útlevéllel, egyéni vállalkozással), illetve kapcsolódhat hozzá elektronikus ügyintézéshez szükséges adat (pl.: ügyélkapu, RKTA) egyaránt.

A tesztelés előkészítési fázisában javasolt megigényelni a szükséges tesztadatokat. Az igénylés előfeltétele, a használati esetek alapján a tesztelés végrehajtásához szükséges tesztadatok meghatározása. A Szolgáltató a tesztadatigényléseket az alábbi e-mail címen fogadja:

teszteles.termektamogatas@idomsoft.hu

4. Teszttervezés

A teszttervezés feladata, hogy létrehozza a tesztelés hatékony végrehajtásához szükséges kereteket, és meghatározza a tesztelés során alkalmazandó teszteket. A teszttervezés során a tesztelés célja és tevékenységei kerülnek definiálásra annak érdekében, hogy a kijelölt feladatok elvégzésével elérjék a kitűzött célokat. Ez a szakasz határozza meg továbbá a szükséges módszertani hátteret és a kapcsolódó ütemezést.

Feladatok

  • Módszertani háttér meghatározása
  • Ütemezés meghatározása
  • Funkcionális, illetve integrációs tesztesetek összeállítása
  • Funkcionális, integrációs, illetve rendszerintegrációs tesztesetek jóváhagyása
  • Tesztelési terv és forgatókönyv összeállítása
  • Tesztesetek kiosztása tesztelőknek
  • Teszteléshez kapcsolódó tájékoztatás a tesztelésben résztvevőkkel, oktatás

4.1. Igazgatási szempontok beépítése a tesztelési folyamatba

Az igazgatási szemszögből végzett átvételi tesztelés során kiemelten fontos, hogy már a tesztelés tervezése során a megvalósított vagy támogatott igazgatási folyamatokban, az igazgatási rendszertervben, a módszertani útmutató dokumentumokban, továbbá a vonatkozó jogszabályokban megfogalmazott követelmények és előírások ellenőrzése beépítésre kerüljön.

Elengedhetetlen, hogy a tesztelés rendszerszempontú megközelítését olyan kontextus váltsa fel, amely előtérbe helyezi az igazgatási folyamatok helyes működését.

Ezen szempontok figyelembevétele segítséget nyújt az elvégzett teszt eredményeinek kiértékelése során is abban, hogy az alkalmazás tesztelésénél tapasztalt hibák, illetve hiányosságok megfelelő prioritások megadásával kerüljenek továbbításra a Fejlesztő szervezet felé.

4.2. Tesztelési terv

A tesztelési terv, mely az elvégzendő tesztelési munka projektterve, az alábbi fő tartalmi elemekkel rendelkezhet:

  • Tesztelési környezetek kialakítása
  • Végrehajtandó teszttípusok
  • Végrehajtás módja
  • Tesztelést támogató eszközrendszer
  • Tesztelési ciklusok ütemezése, tervezett száma, előfeltételei
  • Szükséges kompetenciák, erőforrásigények
  • Szerepkörök és feladatkörök
  • Dokumentációs elvárások
  • Hibakezelés meghatározása

A tesztek tervezésénél elsődleges szempont, hogy azok megfelelő szintűek és típusúak legyenek az adott rendszer teszteléséhez, és az elkészülő tesztelési terv és forgatókönyv megfelelő lefedettséget biztosítson a Megrendelő szerv által meghatározott követelmények, illetve az igazgatási jellegű előírások ellenőrzéséhez.

Fontos, hogy a tervben szerepelő tesztesetek elvégzésével meg lehessen győződni az alkalmazás megfelelő működéséről, illetve a tesztelési folyamat a feltárt hibák esetén biztosítsa a javítások ellenőrzését is. Ehhez természetesen szükséges, hogy a tesztelendő alkalmazással szemben támasztott összes követelményt a Megrendelő szerv egyértelműen rögzítse.

A Fejlesztő szervezet a projekt keretében átadhatja a funkcionális és terheléses tesztelési tervek általa ajánlott dokumentumait, azonban ezek Megrendelő szerv általi felülvizsgálata és kiegészítése szükséges, figyelembevéve a Megrendelő által meghatározott igazgatási és műszaki követelményeket.

4.3. Tesztelési forgatókönyv

A tesztelési forgatókönyv a tesztelés során egymás után elvégzendő tesztesetek összessége.

A tesztelési forgatókönyv az alábbi fő tartalmi elemekkel rendelkezik:

  • Tesztesetek meghatározása
  • Tesztlépések
  • Szükséges tesztadatok meghatározása
  • Tesztek sikerességi kritériuma, elvárt eredmény

4.4. Teszteset

A tesztesetek kidolgozásánál fontos, hogy a tesztelést végző személy számára egyértelműen meghatározott legyen a feladat. Ennek érdekében egy teszteset kidolgozása az alábbi tartalmi elemek alapján javasolt:

  • Teszteset azonosító
  • Tesztelési környezet (URL-lel)
  • Tesztelendő funkció megnevezése
  • Tesztelendő funkció elérési útvonala
  • Végrehajtáshoz szükséges jogosultság
  • Végrehajtás előfeltételei
  • Input adatok
  • Egymásra épülő tesztlépések
  • Elvárt eredmény

Amennyiben bizonyos tartalmi elemek több teszteset vonatkozásában azonosak, ebben az esetben nem szükséges tesztesetenként meghatározni, hanem javasoljuk változóként kiemelve rögzíteni.

5. Tesztvégrehajtás

A teszt végrehajtása a tesztelési forgatókönyvekben rögzített tesztesetek elvégzését jelenti. A teszteredményeket, illetve az elvárttól eltérő működéshez kapcsolódó hibajelenségeket a Megrendelő szervnek dokumentálnia kell.

Feladatok

  • Tesztesetek végrehajtása
  • Tesztelés eredményeinek dokumentálása
  • Végrehajtott tesztelés eredményeinek kiértékelése: a kapott és az elvárt eredmények összehasonlítása
  • Eltérések hibaként való jelentése
  • Hibakezelés, hibák elemzése a kiváltó ok felderítése érdekében, kategorizálás
  • Hibajavítást követően a javítások visszaellenőrzése
  • Tesztmonitoring (tesztmenedzsment feladat: a teszttevékenység státuszának vizsgálata, az elvárt eredmények aktuális eredményekkel történő összehasonlítása)

5.1. Hibakezelés

A tesztelés során azonosított hibák kezelését javasolt egy a Megrendelő szerv és a Fejlesztő szervezet által közösen, előre meghatározott folyamat és dokumentációs rend alapján végezni, amely a tesztelési tervben rögzítésre kerül. Ezt a munkát támogatja az ÁAFK által biztosított feladat- és hibakezelő rendszer.

A tesztelés során feltárt hibák leírását javasolt a következő tartalmi elemek mentén felépítve továbbítani a Fejlesztő szervezet felé:

  • Alkalmazás neve
  • Tesztkörnyezet neve
  • Pontos idő
  • Verziószám
  • Tesztelési forgatókönyv azonosítója
  • Teszteset azonosítója
  • Pontos reprodukálhatóság leírása
  • Képernyőkép
  • Prioritás

A hibajavítást követően:

  • a tesztelést visszaellenőrzés céljából újból végre kell hajtani, annak eredményét ismételten dokumentálni kell,
  • meg kell győződni róla, hogy egyéb funkciót nem befolyásolt a módosítás (regressziós teszt).

A tesztelés eredménye akkor tekinthető elfogadottnak, ha:

  • a hibák rögzítésre és továbbításra kerültek,
  • a hibák javítása megtörtént,
  • az érintett funkciók tesztelése, a javítás visszaellenőrzése ismételten megtörtént.

6. A tesztelés lezárása

A tesztelés akkor tekinthető befejezettnek, ha a feltárt hibák javítása, illetve a hibák javítását követően az érintett, illetve egyéb funkciók tesztelése ismételten végrehajtásra került (regressziós teszt). A tesztelési folyamat lezárásakor a tesztelést végző Megrendelő szerv (vagy az általa megbízott szervezet) elkészíti a tesztelés eredményét tartalmazó dokumentumokat.

A tesztelés lezárásakor az alkalmazás működéséről tesztelési jegyzőkönyv készítése szükséges a 2.1 pontban ajánlott dokumentumok felhasználásával, amelyben a Megrendelő szerv rögzíti, hogy az alkalmazás az általa meghatározott követelményeket teljesítve működik-e. A tesztelési jegyzőkönyv mellékleteként javasolt a tesztvégrehajtáshoz kapcsolódó részleteket (eredmény, hibatípus, a funkció tesztelésének végrehajtása során észlelt tapasztalatok, stb.) tesztelési naplóban rögzíteni.

Amennyiben a tesztelési folyamat sikeresen lezárult, a Megrendelő szerv az ÁAFK Kr.-ben meghatározott eljárás szerint a készre jelentett alkalmazás műszaki-szakmai átadás-átvételére irányuló eljárásába – függetlenül attól, hogy a készre jelentett alkalmazást az ÁAFK-ban vagy azon kívül fejlesztették – bevonja a Szolgáltatót, amely a Megrendelő szerv nyilatkozata, illetve a rendelkezésre álló dokumentáció alapján meggyőződik arról, hogy a Megrendelő szerv az alkalmazás műszaki-szakmai átvétele során a szükséges szakmai megfelelőségi ellenőrzéseket és teszteléseket elvégezte-e.