A mobileszközök tesztelése egyedülálló kihívásokat jelent. Szorosan lépést kell tartani a mobiloperációs rendszerek frissítéseivel, az új eszközökkel és funkciókkal, a webes-, natív- és hibrid- alkalmazások keretrendszereivel és az új DevOps-eszközökkel annak biztosítására, hogy a mobilalkalmazások megbízhatóak legyenek és jól teljesítsenek.
Amikor mobiltesztelési stratégiát tervezünk, sok döntést kell hozni, és sok hibát véthetünk. A megfelelő megközelítéssel azonban a mobiltesztelés kulcsfontosságú előnyt jelenthet számunkra.
Az alábbi öt stratégiát érdemes minden mobiltesztelő csapatnak szem előtt tartania, annak érdekében, hogy a legtöbbet hozzák ki magukból.
1. Mobil tesztelés valós eszközökön
Az emulátorok (és szimulátorok – ezek különbözőek, de az egyszerűség kedvéért emulátorokra fogok hivatkozni végig a cikkben) a tesztelés első szakaszában tökéletesen alkalmazhatók, és helyük van az általános QA folyamatokban. Ha azonban minden tesztünk csak emulátorokon futna, az alkalmazásban kritikus hibák is maradhatnának. A valódi mobilon történő tesztelés lehetővé teszi számos kulcsfontosságú egyéb szolgáltatás tesztelését is, mint például a GPS, a hordozhatósági és csatlakozási funkciók, az akkumulátor lemerülése, a beszélgetés- és SMS-megszakadás, a fényképezőgép funkciói, stb.
Az emulátorokon tesztelhetjük, hogy az alkalmazás minden eszközön működik-e, de közben figyelmen kívül maradhat az egyes eszközök egyedi konfigurációja. Ha például olyan probléma merül fel, amely csak a Samsung Galaxy eszközeire vonatkozik, emulátor használatával valószínűleg nem találjuk meg.
Csábító gondolat a rendelkezésre álló eszközöket minden operációs rendszer kombinációjában tesztelni – de ez mégsem lehetséges, figyelembe véve az összes eset számosságát, amelyekre a teszteket futtatni kellene. A legjobb megoldás azonosítani a felhasználók leggyakrabban használt eszközeit, és azokon tesztelni. Ha ez lefedi a mobilok 80%-át, akkor meglehetősen biztosak lehetünk a kapott teszteredmények életszerűségében.
Egy eszközlabor házon belüli fenntartása meglehetősen drága, kevésbé hatékony és akadály a tényleges tesztelésben. Ehelyett a valós mobileszközök felhő alapú bérlése igéretesebb lehetőség. Tipikusan az olyan eszközfelhők, mint például a TestObject (Sauce Labs cég), számos telefonnal rendelkeznek, és rendszeresen cserélik őket.
2. Automata tesztelés
Az automatizált tesztelés a mobilalkalmazásoknál még fontosabb, mint más hagyományos alkalmazásoknál. Az automatizálással párhuzamosan több emulátor és valós eszköz tesztelhető. Ez felgyorsítja a teszteredmények érkezését, és segít az alkalmazások mielőbbi piacra dobásában. Ráadásul a konfigurációk elmenthetők a tesztek indítása előtt, és szükség esetén újra felhasználhatók. Rengeteg időt spórolhatunk meg, ha ezeket megosztjuk a csapatok között is.
Nem minden tesztet kell automatizálni. Néhány tesztet célszerűbb manuálisan futtatni, különösen, ha ritkán kerül rájuk sor, és sok konfigurálást igényelnek. A mobiltesztek automatizálásához megfelelő eszközkészlet szükséges. Kezdésnek az Appium a legnépszerűbb nyílt forráskódú mobil tesztautomatizálási keretrendszer, amely támogatja mind az iOS, mind az Android operációs rendszert, és lehetővé teszi, hogy a teszteket csak egyszer kelljen megírni ahhoz, hogy mindkét platformon futtathatók legyenek.
3. Tartsunk lépést a webes alkalmazásokkal
A folyamatos szállítás és telepítés számának növekedésével a webalkalmazások napi frissítése elengedhetetlen, mivel a szoftver közvetlenül a felhasználókhoz kerül. Azonban a mobilalkalmazásokat az OS-szolgáltatóknak (iOS és Android) jóvá kell hagyni, azaz ellenőrként funkcionálnak. Szigorú szabályokat alkalmaznak, ami lassítja vagy akár blokkolhatja is a kiadást.
Az iOS és az Android már lépéseket tett a folyamat felgyorsítása érdekében. Például lehetővé tették az alkalmazások automatikus frissítését, ezzel megkönnyítve az alkalmazások gyors javítását anélkül, hogy a felhasználókat minden esetben értesítésekkel és engedélyekkel bosszantanák. Hasonlóképpen az iOS TestFlight és az Android béta tesztjei lehetővé teszik a gyors és gyakori kiadásokat az olyan, általunk meghatározott zárt körbe tartozó felhasználók számára, akik az új funkciókat letesztelhetik számunkra.
Az Android a progressív update-jével még inkább megkönnyíti a saját alkalmazásaink frissítését. Ezzel a módszerrel az első felhasználóknál jelentkező hibák és problémák kezelhetővé válnak, és miután az alkalmazás elfogadhatóan stabillá válik, elérhetővé tehetjük a teljes felhasználói kör számára.
4. Teljesítmény- és terheléses teszt
Jó ötlet korán, még a fejlesztési ciklusban tesztelni, mielőtt a termék elkészül, de a teljesítmény- és terhelésvizsgálat esetében az ellenőrzést későbbi fázisban kell elvégezni. A kiemelkedő forgalmi időszakok vizsgálatához számos olyan felhőalapú emulátort használhatunk, amelyek a felhasználói szokásokat is megjelenítik. Ráadásul egy olyan eszköz, mint például a JMeter, segíthet a protokoll szintű terheléses tesztelésében. Ettől függetlenül számos valós eszközön is érdemes ellenőrizni a teljesítményt a memóriaszivárgás, az alkalmazások elszállásának vagy a hívások megszakadásának ellenőrzésére.
Az Android ’Monkey’ eszköze olyan véletlenszerű tevékenységeket is képes emulálni, mint a kattintások, a kézmozdulatok, a rendszerszintű események, valamint a stresszhatások. A teljesítmény és a terhelés tesztelésénél különböző taktikákra van szükségünk az összes alapfunkció lefedéséhez, ami elengedhetetlen feltétele annak, hogy az alkalmazás zökkenőmentesen működjön a kiadása után.
5. Mobilspecifikus eszközök alkalmazása
Csábítóan hangzik az ember által végzett manuális funkcionális tesztelés, de a mobiltesztelés megfelelő módja megköveteli a céleszközök használatát. Szerencsére ma már számos alkalmas szoftver áll rendelkezésre ehhez.
Az Appium vezető szerepet tölt be mint a legalkalmasabb és legnépszerűbb mobil tesztelési platform. Ezzel együtt sok más eszköz létezik: a Robotium egy könnyen használható keret Androidhoz. Rögzíti, majd tesztként eltárolja az alkalmazásban végrehajtott műveleteket. Hasonlóképpen az Espresso segítségével könnyen létrehozhatók és automatizálhatók UI tesztek. Végül ott van a Google EarlGrey-je, ami egy Espresso alternatíva iOS-re.
Összefoglalás
A mobilalkalmazások működésének ellenőrzése nem könnyű feladat, és a helyzet folyamatosan változik, azonban az alapelvek ugyanazok maradnak. Mind az emulátoroknak, mind a valós eszközöknek megvan a saját helyük a tesztelésben. A béta tesztelők minél korábban kapják meg a funkciókat tesztelésre, illetve győződjünk meg arról, hogy történt terheléses és teljesítménytesztelés is. Végül használjuk a teszteszközök kombinációját az erősségeiknek megfelelően. A helyes alapelvek és eszközök kombinációja biztosítja, hogy a mobilalkalmazások kulcsfontosságú előnyt, és ne csak egy kötelezettséget jelentsenek szervezetünk számára.
Forrás: https://saucelabs.com/blog/5-tips-for-effective-mobile-testing
Szerző: Twain Taylor
A szerző
- Twain pályafutását a Google-nél kezdte, ahol többek között részt vett az AdWords csapatának technikai támogatásában. Feladatai közé tartozott kiértékelni a hibanaplókat, és megoldani azokat a kérdéseket, amelyek az ügyfeleket, a támogató csapatot, valamint az eszkaláció kezelését érintik. Később olyan márkás közösségi médiaalkalmazásokat és automatizálási szkripteket hozott létre, amelyek az induló vállalkozásokat segítik marketingtevékenységükben. Napjainkban technológiai újságíróként segíti az informatikai folyóiratokat, valamint startup-okat támogat a csapatépítési és alkalmazáskiadási igényeik megvalósításában.