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

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

QA staffing: hogyan lehet gyorsan és biztonságosan kapacitást bővíteni?

Bevezetés Előző cikkünkben (itt olvasható) arról írtunk, hogy mikor érdemes külsős tesztelőt bevonni, és mikor intő jel, ha csak tűzoltásra használnánk őket. Most, hogy már tudjuk a „mikor”-t, evezzünk gyakorlatiasabb vizekre, és nézzük meg a „hogyan”-t. Hogyan lehet úgy bővíteni a csapatot, hogy az ne a káoszt növelje, hanem a megoldást hozza el? (Megjegyzés: A szakmában gyakran

Külsős tesztelő bevonása: mikor segít, és mikor pénzkidobás?

Bevezetés Minden szoftverfejlesztési projekt életében eljön az a pont, amikor a csapat vezetője, a projektmenedzser vagy a cégtulajdonos a homlokára csap: „Nekünk azonnal tesztelők kellenek!” A hibák szaporodnak, a fejlesztők túlterheltek, az ügyfél pedig egyre türelmetlenebbül dobol az asztalon. Ilyenkor tűnik logikus és gyors megoldásnak a külsős szakértő bevonása. Felhívunk egy partnert, kérünk két senior

Hogyan teszteltünk új jogosultságkezelést egy vállalati HR rendszerben

Bevezető Egy vállalat HR rendszere nemcsak dolgozói adatokat tárol – bizalmat is kezel. Ha a jogosultságkezelésben hiba van, az nem csupán technikai probléma: adatvédelmi incidens, reputációs kár és jogi következmény is lehet belőle. Ebben az esettanulmányban bemutatjuk, hogyan zajlott egy valós, összetett tesztelési projekt, ahol a cél az volt, hogy a HR rendszer új, LDAP

Scroll to Top
Passed
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. Adatkezelési tájékoztató