facebook-pixel

Progresszív webes alkalmazások tesztelésének alapjai

Mobil teszteléssel foglalkozó sorozatunkban írtunk már a PWA-król és azok teszteléséről, ami itt olvasható. Jelen írásban szeretnénk egy kicsit mélyebbre merülni ebben a témában, érintve a manuális és automata tesztelés felosztását, néhány tesztelendő alap funkciót és az automatizálásra használható eszközöket is.

Röviden nézzük meg, mi is az a PWA?

A progresszív webes alkalmazások (PWA-k) több mint egyszerű weboldalak. A webes és a mobilalkalmazások legjobb tulajdonságainak innovatív keverékei.

Vegyük sorra a PWA-k néhány jellemzőjét, ami a jobb megértésben és a tesztelésben is segíteni fog:

  • Offline elérés: A PWA-k internetkapcsolat nélkül is elérhetők. 
  • Telepíthetőség: A felhasználók a PWA-kat hozzáadhatják a kezdőképernyőjükhöz, így a natív alkalmazásokhoz hasonlóan könnyen elérhetővé válnak.
  • Push értesítések: Ezek az alkalmazások értesítéseket küldhetnek a felhasználók bevonása érdekében.
  • Háttérben történő szinkronizálás: A PWA-k a háttérben szinkronizálhatják az adatokat, így biztosítva a naprakész információkat.  
  • Gyorsaság és megbízhatóság: A modern webes technológiákat kihasználva a PWA-k gyorsan betöltődnek, még instabil hálózatokon is.  
  • Biztonság és védelem: HTTPS-en keresztül kerülnek kiszolgálásra az illetéktelenek behatolásának megakadályozása, és a tartalom integritásának biztosítása érdekében. 

PWA-tesztelés

Mivel a PWA-k sokoldalúak és több egyedi előnnyel rendelkeznek a hagyományos webes alkalmazásokkal szemben ezért nagyobb számú a szükséges tesztek mennyisége. Az alkalmazás tesztelése azért is összetettebb feladat ebben az esetben, mert nagyon sokféle gyártó különböző eszközein kell megfelelően működnie. Azért, hogy ezeknek az elvárásoknak meg tudjon felelni a PWA  fontos szerep hárul a QA-ra.

Korábbi cikkünkben már foglalkoztunk több lényeges szemponttal, amiket figyelembe kell venni PWA tesztelésben, mint pl. A Reszponzivitás, Push értesítések, biztonságos kapcsolat stb. Nézzünk még néhányat ezek közül:

  • Különböző böngészőkből való letöltés gördülékenysége.
  • Offline funkcionalitás: Az alkalmazás teljesítményének ellenőrzése az internetkapcsolat megszakításakor.
  • Betöltési teljesítmény: Annak értékelése, hogy az alkalmazás milyen gyorsan töltődik be és válik interaktívvá.   
  • Biztonsági szempontok: Az adatvédelem és a biztonságos tranzakciók biztosítása. 
     

Nem szabad megállni a PWA-k esetében (sem) a teszteléssel a hibák megtalálásánál, hanem törekedni kell a teljes felhasználói élmény vizsgálatára. Egyrészt egyre magasabbak az elvárások a felhasználók részéről, másfelől a konkurens oldalak megoldásaival is tartani kell a lépést, harmadrészt az emberek egyre türelmetlenebbek, és a nagy választék miatt hajlamosabbak máshol kényelmesebb megoldást keresni. Ehhez szükség van rá, hogy a felhasználók fejével gondolkodjuk, a valós felhasználási eseteket, utakat és azok könnyű használatát ellenőrizzük.

  • Offline funkcionalitás: Ellenőrizni kell, hogy internet kapcsolat nélkül megfelelően működik-e az alkalmazás.
  • Telepítési folyamat: Meg kell vizsgálni, hogy a „Hozzáadás a kezdőképernyőhöz” funkció helyesen működik-e a célközönség által használt különféle böngészőkben.
  • Push-értesítések: Ellenőrizni kell az értesítések megjelenését, valamint az azokra adható interakciók megfelelő működését. 
  • Háttéradatok szinkronizálása: Ellenőrizendő az adatok pontossága a háttérben történő szinkronizálás után. 
  • Oldalbetöltés gyorsasága: Tesztelni kell az oldalbetöltés sebességét különböző hálózati feltételek mellett.
  • Biztonsági protokollok: Az SSL-tanúsítványok és az adattitkosítási módszerek ellenőrzése szintén szükséges. 

Kézi és automatizált tesztelési stratégiák

A manuális tesztelés elengedhetetlen a felhasználói élmény megítéléséhez, az akadálymentesítés sikerességének ellenőrzéséhez.

  • Felhasználói élmény (UX) tesztelés: A manuális tesztelők valós felhasználói forgatókönyveket szimulálnak, hogy biztosítsák az intuitív és felhasználóbarát kialakítást. A tesztelés során kulcsfontosságú, hogy a tesztelők a felhasználók szemszögéből közelítsék meg a feladatot, és az ő igényeiket és szokásaikat figyelembe véve végezzék az ellenőrzéseket.
  • Felfedező vagy felderítő tesztelés: Ez a megközelítés segít abban, hogy a nem szokványos, de felhasználóként végigjárható utakat ellenőrizzük, valamint hogy az összetett problémákat feltárjuk.
  • Hozzáférhetőségi tesztelés: Ez az ellenőrzés biztosítja, hogy a PWA-k minden felhasználó számára hozzáférhetőek legyenek, beleértve a fogyatékkal élőket, gyerekeket, időseket is.

     

     

Az automata tesztek fontos szerepet játszanak a funkcionális, regressziós és teljesítménytesztelésben is.

  • Funkcionális tesztelés: Mivel sokféle eszközön és környezetben kell ellenőrizni a megfelelő működést, az automata tesztek jó megoldást jelentenek.
  • Regressziós tesztelés: A Frissítések után futtatott automata tesztek ellenőrzik, hogy a meglévő funkciók továbbra is megfelelően működnek-e.
  • Teljesítménytesztelés: A számos környezetben és eltérő feltétel mellett képet adnak arról, hogy a PWA sebessége, betöltési- és reakcióideje hogyan alakul.

 

A PWA alapfunkciók tesztelése

Telepítés tesztelése különböző eszközökön és böngészőkben.

  • Hordozhatóság: Ellenőrizni kell különböző, lehetőleg a célcsoport által használt okostelefonokon, tableteken és számítógépeken.
  • Böngészőkompatibilitás: Tesztelni kell a célcsoport által használ főbb böngészőkből való telepítés gördülékenységét, gyorsaságát.
  • Telepítési utasítás: Ellenőrizni kell, hogy a „Hozzáadás a kezdőképernyőhöz” utasítás megfelelően működik. 

Offline funkcionalitás tesztelése.

  • Adatok megmaradása: Ellenőrizni kell, hogy az adatok tárolása és visszakeresése offline állapotban is helyesen történik-e. 
  • UI-interakciók: Tesztelni kell, hogy az UI-elemek megfelelően reagáljanak-e internethozzáférés nélkül.
  • Hálózati átmenet: Az alkalmazás viselkedésének tesztelése az online és offline állapotok közötti átmenetek során. 

Push-értesítés tesztelése:

  • Megjelenési idő: Az értesítéseknek azonnal meg kell jelenniük.  
  • Tartalom: Az üzenet tartalma helyes és releváns kell, hogy legyen. 
  • Felhasználói interakció: Tesztelni kell, hogy a felhasználók interakcióba tudnak-e lépni az értesítésekkel, és hogy ez megfelelően működik-e.

Háttérszinkronizálás, hálózati függetlenség.

  • Tárolási mechanizmusok: A tartalom hatékony és helyes gyorsítótárazásának ellenőrzése.  
  • Háttérszinkronizálás: Az adatok megfelelő szinkronizálásának biztosítása a háttérben. 
  • Hálózati függetlenség: Az alkalmazásnak zökkenőmentesen kell működnie a különböző hálózati körülmények között.

Teljesítmény- és kompatibilitási tesztelés

Teljesítménytesztelés: Betöltési idő, erőforrás-felhasználás, válaszidő különböző hálózatokon

  • Betöltési idők: Ellenőrizendő, hogy a PWA milyen gyorsan töltődik be és lesz használatra kész.  
  • Erőforrás-felhasználás: Vizsgálni kell a processzor- és memóriahasználatot a hatékonyság biztosítása érdekében.  
  • Reakcióidő: Tesztelni kell a PWA viselkedését különböző hálózati sebességek mellett.

     

     

Kompatibilitási tesztelés: Különböző eszközök, böngészők és operációs rendszerek esetén 

  • Eszközválaszték: A célcsoportnak megfelelően kiválasztott eszközök minél szélesebb palettáján érdemes tesztelni, beleértve a kijelzőméreteket és az eszközök teljesítményét is.  
  • Operációs rendszerek: A terméket tesztelni kell különböző operációs rendszereken az egységes, és az adott platformon megszokott élmény biztosítása érdekében. 
  • Egységes, zökkenőmentes felhasználói élmény biztosítása az eszköz vagy a hálózat korlátaitól függetlenül.

 

Automatizált PWA tesztelés

Maguk a PWA-ra optimalizált weboldalak nagyon hasonlítanak a hagyományos oldalakhoz, így az automatizálásuk is hasonló, nem sokkal bonyolultabb azoknál. A letöltött applikáció tesztelése viszont már összetettebb feladat.

Automatizálási eszközök, amelyek a PWA-k tesztelésére használhatók:

Számos felhőalapú tesztelési platform létezik az automatizált webes tesztek indítására, ahol a PWA-kat méretarányosan tesztelhetjük. Nézzünk néhány példát:

Testsigma

A Testsigma az egyik legnépszerűbb PWA-tesztelő eszköz, amely egyszerű angolsággal és intuitív felhasználói felületével meggyorsíthatja a tesztek automatizálásának sebességét. Célja, hogy olyan egyszerű legyen az automata tesztek létrehozása, mint a manuális tesztek írása. A Test Recorder segítségével akár automatikusan is létrehozhatunk tesztlépéseket. A PWA localhoston történő teszteléséhez telepíteni kell a Testsigma programot, mivel egyes alkalmazásokhoz biztonsági okokból nem rendelkezik hozzáféréssel. 

CloudQA 

A kódolási tapasztalattal nem rendelkező tesztelők számára is elérhető a funkcionális tesztesetek fejlesztése és futtatása a CloudQA Test Recorder-ének a használatával, amit a kód nélküli automatizáláshoz fejlesztettek. Ezzel a Chrome-bővítményként elérhető eszközzel tesztlépéseket rögzíthetünk és tárolhatunk, valamint egyszerűen vezérelhetjük a tesztesetek végrehajtását. Emellett egy egyszerű felületen manuálisan is elvégezhetjük a funkcionális teszteket, az eszköz pedig rögzíti a lépéseket a későbbi hivatkozáshoz.

Appium 

Az Appium egy mobil teszt automatizálási keretrendszer natív, hibrid és m-web alkalmazásokhoz. JSON Wire protocollt használ. Ez egy http szerver a Node.js-ben, amely teszteket indít az eszközökön, és várja a fő szerver parancsait. A nyílt forráskódú Appium könyvtárak hozzáadásával egy meglévő automatizálási keretrendszerrel is használható.

Lighthouse

A Lighthouse egy automatizált, nyílt forráskódú eszköz a weboldalak minőségének javítására. Az alkalmazás a PWA-irányelvek alapján értékeli az alkalmazásokat, és olyan kritériumokat ellenőriz, mint az offline funkcionalitás, a sebesség optimalizálás, HTTPS megléte, és a legjobb hozzáférhetőségi gyakorlatok betartása. A Lighthouse használható Node-modulként, parancssorból vagy a Chrome DevTools segítségével. Miután megadtuk a Lighthouse-nak az ellenőrizendő URL-címet, a program számos vizsgálatot végez az oldalon, és jelentést készít a teljesítményéről.

Puppeteer 

A Puppeteer egy Node könyvtár, amely magas szintű API-t biztosít a böngésző automatizálásához a headless Chrome böngésző használatával. Olyan kulcsfontosságú funkciókat tartalmaz, mint a Javascript-alapú tesztelés, amely ideális a PWA funkciók, például a Service workers teszteléséhez, és támogatja a headless és a teljes oldalas böngészőtesztelést

Playwright

A Playwright egy nyílt forráskódú tesztelési keretrendszer, amely lehetővé teszi a modern webes alkalmazások automatizálását és megbízható tesztelését. Tartalmaz egy Playwright könyvtárat a harmadik féltől származó programok egyszerű összekapcsolásához és egy beépített Playwright Test Runner-t a tesztek automatizálásához. Támogat több programozási nyelvet, például Javascriptet, C#-ot és a böngésző automatizálását egyetlen API-val.

Összegzés

Egy kiváló minőségű PWA fejlesztése egyszerre jelent
kihívást és egy kifizetődő befektetést. A teszteléséhet a technológia
fejlődésének követése, az elvárások és felhasználói igények alapos ismerete
elengedhetetlen. Ha sikerül a fejlesztő és tesztelő csapatnak biztosítani a
kiváló felhasználói élményt, a gördülékenységet és a megbízhatóságot, akkor van
lehetőség előnybe kerülni mind a hagyományos, mind a PWA alapú megoldásokat
használó versenytársakkal szemben

 

A jövő persze mindig kérdéses, de ha a PWA
térhódítása továbbra is töretlen marad – márpedig most annak látszik, – nagy a
valószínűsége, hogy a jelenleg még hiányzó megoldások is el fognak készülni a
letöltött alkalmazás tesztautomatizálásának támogatására, ami még jobban meg
fogja könnyíteni a munkát.

Megosztás

Facebook
LinkedIn
Twitter

Nem szeretnél lemaradni az új bejegyzésekről?

Tartalomjegyzék

Egyéb
Erdei Krisztián

AI-t tesztelnél? Mutatunk egy módszert!

Az AI alkalmazások létrehozásában, szakértőként felhívjuk az ügyfelek figyelmét az ehhez kapcsolódó sajátosságokra. Mivel a szoftvertermékek speciálisak, a minőségbiztosításuk is az. Az AI alkalmazások teszteléséről,

Egyéb
Erdei Krisztián

Szoftvertesztelés a mesterséges intelligenciával

Mit nyerhetünk és mire vigyázzunk? A mesterséges intelligencia napjainkban egyre meghatározóbb szerepet tölt be a szoftvertesztelés területén. Az elmúlt egy év során jelentős változások történtek

Érdekel a tesztelés világa?

Dolgozz velünk hazai és nemzetközi projekteken

egy csoport ember ül egy asztalnál laptopokkal

Várj, ne maradj le legújabb szakmai cikkeinkről

Iratkozz fel hírlevelünkre és minden hónapban elküldjük a legizgalmasabb cikkeket

egy laptop számítógépet tartó szemüveges férfi
egy süti csokireszelékkel
Tájékoztatjuk, hogy a honlap felhasználói élmény fokozásának érdekében sütiket alkalmazunk. A honlapunk használatával ön a tájékoztatásunkat tudomásul veszi.