A mobil teszt piramis
Milyen rétegei vannak egy tipikus tesztautomatizálási piramisnak? Aki egy kicsit is járatos az automatizálásban, annak valószínűleg ismerős a piramis és annak szintjei. Alkalmazható a piramis a mobil applikációk fejlesztésénél is? Milyen kihívások vannak a mobil applikációk területén, amik az asztali és webes applikációknál nincsenek?
Aki a szoftverteszteléssel és szoftvertesztelés automatizálással foglalkozik, ismernie kell a tesztautomatizálási piramist, amelyet Mike Cohn vezetett be.
Ahogy az a következő képen látható, egy tipikus piramis három rétegből épül fel. Az alján található az automatikus unit teszt réteg, középen az automatizált integrációs teszt réteg, legfelül pedig az automatizált end-to-end teszt réteg (ideértve a user interfész teszteket is). Minden egyes réteg különböző méretű, jelezve a tesztek számát, amelyeket meg kell írni minden szinten. A manuális tesztelés nem része a teszt piramisnak, ezért ez további tesztelési feladatokat jelképező felhőként jelenik meg.
Azonban ez a piramis nem alkalmazható mobil applikációkra és mobil tesztautomatizálásra. A mobil applikációk tesztelése más szoftverekhez képest – mint pl. az asztali és a webes applikációk – olyan teljesen különböző tesztelési tevékenységeket igényel, mint a mozgás, a szenzorok, különböző eszközök és hálózatok. Rengeteg manuális tesztelés szükséges, hogy meggyőződjünk arról, egy mobil applikáció az elvárt módon működik a különböző használati esetek során.
A mobil tesztautomatizálási eszközök még nem olyan kiforrottak, mint a webes és asztali alkalmazásokhoz használt megfelelőik, ami egy felfordított tesztautomatizációs piramist eredményez (lásd a piramis képét lenn). Ahogy az eszközök egyre kiforrottabbak, e piramis valószínűleg megfordul, mert az alapértelmezett tesztautomatizálási piramis szilárdabb alapokon nyugszik.
Az alapértelmezett piramis ezért nem használható a tesztautomatizálás és a manuális tesztelés indikátoraként a mobil eszközök világában.
A piramis ezen verziójában az automatizált unit teszt réteg a legkisebb. Ez azért van így, mert nem minden mobil applikációs egység vagy módszer tesztelhető elkülönítve. Bizonyos esetekben különböző API-kat, rétegeket és rendszereket mockolni szükséges annak érdekében, hogy a kisebb egységek működjenek. Ugyanez a helyzet minden más szoftveralkalmazás esetében is, de bizonyos esetekben a más rendszerek mockolása a mobil applikációknál a legkomplexebb. Ez egyáltalán nem hatékony műszaki vagy gazdasági szempontból. Azonban ez nem mentség arra, hogy egyáltalán ne írjunk mobil unit teszteket. Az alkalmazás üzleti logikáját unit szinten kell tesztelni.
A következő szint az end-to-end teszt automatizációs réteg. Ezen szinten az egész alkalmazást teszteljük felhasználói szempontból. A tesztelés azért történik, hogy meggyőződjünk róla, az egész rendszer működik, kezdve az alkalmazás felhasználói felületétől, a háttérrendszereken és a vezeték nélküli hálózatokon keresztül, beleértve az integrációs teszteket különböző könyvtárakkal és API-kal. Az integrációs teszt réteg ezért az end-to-end réteg része.
A legjelentősebb változás ebben a piramisban az, hogy része a manuális tesztelés. A mobil tesztelés rengeteg manuális tesztelést igényel, és ezt sajnos nem helyettesítheti a tesztautomatizálás vagy bármely más eszköz. Mindazonáltal a mobiltesztelés automatizálása egy nagyon lényeges kérdés és minden mobil tesztelőnek képesnek kellene lennie automatizált regressziós tesztek írására, melyek gyors visszacsatolást biztosítanak az alkalmazás mindenkori minőségi állapotáról. Továbbá a tesztautomatizálás segít a csapatnak olyan megbízható és masszív mobilapplikációt alkotni, mellyel az ügyfél elégedett lesz.
A mobil teszt piramis
A felfordított tesztelési piramisnak nincs szilárd alapja és a mobiltesztelés rengeteg manuális tesztelést igényel, amely miatt megalkottam a négy rétegű, manuális és automatizált lépéseket is tartalmazó saját mobil teszt piramisomat. A legnagyobb rétege a piramisnak a manuális tesztelés és ez képezi az erős alapját minden mobil applikációs projektnek; ezt követi az end-to-end tesztelés, a béta tesztelés és a legfelső réteget alkotó unit teszt. A piramis szürke részei jelzik az automatizált lépéseket, a fehér részek pedig a manuális tesztelési lépéseket. A béta tesztelési réteg új a piramisban, de alapvető minden mobil applikációs projekthez. Szem előtt tartva a mobilfelhasználók magas szintű igényeit, e réteg szükséges része minden mobil projektnek annak érdekében, hogy korai visszacsatolást kapjunk a mobilfelhasználóktól. Vagy crowdtesting megközelítést alkalmazunk a béta teszteléshez, vagy megkérhetjük kollégáinkat az alkalmazásunk korai verzióinak béta tesztelésére, hogy fontos visszajelzéseket adjanak.
Figyelj a felfordított piramis problémájára és használd a mobil teszt piramist a projektben a manuális és automatizált tesztelés megfelelő keverékéhez. Én is használtam a piramist számos projektben és segítséget nyújtott egy megbízható, hatékony és értékes tesztelési folyamat kialakításában.
Forrás: http://www.ministryoftesting.com/2014/10/ mobile-test-pyramid/
Szerző: Daniel Knott
A szerző
-
Daniel Knott 2003 óta a szoftverfejlesztés és tesztelés számos területén dolgozottmár. Pályafutását gyakornokként az IBM-nél kezdte, ahol részt vett a vállalati szoftverek fejlesztésében, tesztelésében.
Eközben számí tástechnikát tanult a Wiesbaden-i Egyetemen. Az egyetemen töltött idő alatt vált szenvedélyévé a szoftvertesztelés, és ezért választotta ezt a karrierében. Daniel számos iparágban dolgozott különböző cégeknél, ahol ő volt a felelős a webes, asztali és mobil tesztelésért. Számos projektben ő alakította ki a teljesen automatizált tesztelési keretrendszert mobil és webes alkalmazások esetében.