Android APP tesztelési útmutató automatizálási keretrendszerrel
Miért Android Tesztelés?
Android a világ legnagyobb operációs rendszere. Egy időben, Android töredezett. rengeteg készülék van és Android verziók, amelyekkel az alkalmazásnak kompatibilisnek kell lennie.
Nem számít, mennyi időt fektet a tervezésbe és a megvalósításba, a hibák elkerülhetetlenek, és hibák jelennek meg.
Android Tesztelési stratégia
A helyes android tesztelési stratégiának a következőket kell tartalmaznia
- Egységvizsgálat
- Integrációs teszt
- Operanemzeti teszt
- Rendszer teszt
Mértékegységek
Az egységtesztek egy vagy több programból álló készleteket tartalmaznak, amelyek a forráskód egy atomegységének, például metódusnak vagy osztálynak az ellenőrzésére szolgálnak.
Android platform előre integrált Junit 3.0 keretrendszer. Ez egy nyílt forráskódú keretrendszer az automatizáláshoz Egység tesztelése. Android A Testing Framework hatékony eszköz a fejlesztők számára a hatékony egységteszt program megírásához.
Az egységtesztelés kiegészítése a felhasználói felület (UI) tesztjei. Ezek a tesztek a célalkalmazás UI összetevőire vonatkoznak. A felhasználói felület tesztjei biztosítják, hogy az alkalmazás a megfelelő felhasználói felületi kimenetet adja vissza az eszközön végrehajtott felhasználói műveletek sorrendjében.
Az eszközön végzett felhasználói felülettesztek általános módja a következő Android Hangszerelés. De ennek teljesítményproblémái vannak. Az egyik legjobb eszköz a felhasználói felület tesztelésére Android is Robotium.
Integrációs tesztek
In Integrációs tesztelés, minden egységtesztelt modul kombinálva van és ellenőrzött. Ban ben Android, az integrációs tesztek gyakran magukban foglalják az integráció ellenőrzésétAndroid olyan összetevőket, mint a szolgáltatásteszt, a tevékenységteszt, a tartalomszolgáltató tesztelése stb
Számos tesztelési keretrendszert használnak az integrációs teszt elvégzésére Android mint például a Troyd, Robolectric, Robotium.
Operanemzeti tesztek
- Operafunkcionális teszteknek vagy elfogadási teszteknek is nevezik. Ezek magas szintű tesztek az alkalmazás teljességének és helyességének ellenőrzésére.
- In Android, FitNesse egy nyílt forráskódú keretrendszer, amely megkönnyíti a célalkalmazás működési tesztjeit.
Rendszertesztek
In Rendszer tesztelés a rendszer egészét tesztelik, és ellenőrzik az összetevők, a szoftver és a hardver közötti interakciót.
In Android, A rendszertesztelés általában tartalmazza
- GUI tesztek
- Használhatósági tesztek
- Teljesítményvizsgálatok
- Stresszteszt
A fenti listában Teljesítményfelmérés nagyobb hangsúlyt kap. Használhat olyan eszközöket, mint pl Traceview teljesítményteszt elvégzéséhez Android .Ez az eszköz segíthet az alkalmazás hibakeresésében és teljesítményének profiljában.
Automatizált ANDROID TESZTELÉS
Mivel az android töredezett, sok eszközön kell tesztelni. De ez pénzbe is kerül. Automatizált Android A tesztelés segíthet a költségek csökkentésében
Az automatizált Android tesztelés előnyei
- Csökkentse a tesztesetek végrehajtásának idejét
- Növelje fejlesztési folyamatának termelékenységét
- Korai hibafelismerés, megtakaríthatja a szoftver karbantartási költségeit
- Gyorsan megtalálta és kijavította a megvalósítás során fellépő hibákat
- Biztosítsa a szoftver minőségét
A következő 2 keretrendszert vizsgáljuk meg
- Android Tesztelési keretrendszer
- Robolectric tesztelési keretrendszer
Android tesztelési keretrendszer
Az egyik szabványos tesztelési keretrendszer a Android alkalmazás Android tesztelési keretrendszer. Ez egy hatékony és könnyen használható tesztelési keretrendszer, amely jól integrálható a Android SDK eszközök.
- Pályázati csomag a célalkalmazás, amelyet tesztelni kell
- InstrumentationTestRunner a Teszt eset futó, amely tesztesetet hajt végre a célalkalmazáson. Magába foglalja:
2) Teszteszközök: SDK-eszközök építési teszteléshez. Be vannak integrálva Eclipse IDE vagy futtatni parancssorként.
2b) MonkeyRunner: Egy eszköz, amely API-kat biztosít olyan programok írásához, amelyek vezérlik a Android eszköz vagy emulátor kívül Android kód.
- Tesztcsomag tesztprojektekbe szerveződnek. Ez a csomag az elnevezési konvenciót követi. Ha a tesztelt alkalmazás csomagneve „com.mydomain.myapp”, akkor a tesztcsomagnak „com.mydomain.myapp.test”-nek kell lennie. A tesztcsomag 2 objektumot tartalmaz az alábbiak szerint:
3a) Teszteset osztályok: a célalkalmazáson végrehajtandó tesztmódszereket tartalmazzák.
3b) Álobjektumok: áladatokat tartalmaz, amelyeket minta bemenetként használnak a tesztesetekhez.
Android Tesztesetek osztályai
- Próbaper magában foglalja a JUnit futtatási módszerek JUnit teszt
- TestSuite tesztesetek futtatására szolgál
- InstrumentationTestSuite egy TestSuite, amely befecskendezi az InstrumentationTestCase-be az InstrumentationTestCase-ba, mielőtt futtatná azokat.
- InstrumentationTestRunner a teszteset futtatója, amely tesztesetet hajt végre a célalkalmazáson.
- AndroidPróbaper nyúlik JUnit Próbaper. Olyan módszereket tartalmaz, amelyekkel elérheti az erőforrásokat, például a tevékenységi környezetet.
- ApplicationTestCase ellenőrzi az Application osztályokat egy ellenőrzött környezetben.
- InstrumentationTestCase ellenőrzi a célalkalmazás egy adott funkcióját vagy viselkedését, például az alkalmazás felhasználói felületének ellenőrzését.
- ActivityTestCase egy alaposztály, amely támogatja az alkalmazástevékenységek tesztelését.
- ProviderTestCase osztály egyetlen ContentProvider tesztelésére.
- ServiceTestCase szolgáltatásosztályok tesztelésére szolgál tesztkörnyezetben. Támogatja a szolgáltatás életciklusát is.
- SingeLauchActivityTestCase Egyetlen tevékenység tesztelésére szolgál egy InstrumentationTestCase eszközzel.
- ActivityUnitTestCase egyedi izolált aktivitás tesztelésére használják.
- ActivityInstrumentationTestCase2 kiterjeszti a JUnit TestCase osztály. Műszerekkel összekapcsolja Önt a célalkalmazással. Ezzel az osztállyal hozzáférhet az alkalmazás grafikus felhasználói felületéhez, és elküldheti a felhasználói felület eseményét (billentyűleütés vagy érintés) a felhasználói felületre.
Az alábbiakban az ActivityInstrumentationTestCase példája látható. Ellenőrzi a Calculator alkalmazás felhasználói felületének működését, ellenőrzi az UI kimenetek helyességét.
Roboelektromos tesztelési keretrendszer
Tesztelés segítségével Android A keretrendszer tesztelése eszközzel vagy emulátorral nehéz. A teszt felépítése és futtatása lassú, és sok fejlesztési erőfeszítést igényel. A probléma megoldására van egy másik lehetőség – Robolectric tesztelési keretrendszer.
A robolectric framework lehetővé teszi a futtatást Android tesztek közvetlenül a JVM-en nélkül eszköz vagy emulátor szükségessége.
Robolectric teszteset osztályok
- Amint fentebb látható, a Robolectric a következő műveleteket tudja végrehajtani:
- Regisztráljon és hozzon létre egy Shadow osztályt
- Elfogja a betöltését Android osztály
- Javassist használ a metódustörzsek felülírására Android osztály
- Árnyék objektum hozzárendelése Android osztály
- Ez lehetővé teszi a tesztelt kód futtatását anélkül Android környezetben.
Mások tesztelési keretrendszer
A fent említett tesztelési keretrendszereken kívül sok más tesztelési keretrendszer is létezik, mint például:
- Android Junit jelentés, egy egyedi műszerezési tesztfutó számára Android amely XML-jelentéseket készít más eszközökkel való integrációhoz.
- Expresso
- Appium
Mítoszok a Android Tesztelés
Sok vállalat fejleszt Androidot Tesztelés olyan stratégiák, amelyek általános tévhiteken alapulnak. Ez a rész néhány népszerű mítoszt és valóságot vizsgál meg Android tesztelés.
1. mítosz: Minden Android az eszközök ugyanazok… elég tesztelni az emulátorokon
Kezdjük egy egyszerű példával. Egy alkalmazás tökéletesen működik emulátorokon, de néhány valódi eszközön összeomlik a végrehajtás során
Az emulátorok azok nem elegendő a mobil teszteléshez. Az alkalmazást valós eszközökön kell tesztelnie.
2. tévhit: Elég néhány általános eszközön tesztelni
- Különböző eszközökön az alkalmazás eltérően néz ki, mivel a különböző eszközök hardverrel, képernyőmérettel, memóriával stb. eltérőek. Az alkalmazást különböző eszközökön, operációs rendszer verziókon, szolgáltatói hálózatokon és helyeken kell tesztelni.
3. tévhit: Elég egy feltáró tesztelés közvetlenül az indítás előtt
- Általában minden tesztelésnél megtervezzük a teszteseteket, majd végrehajtjuk azokat. A feltáró tesztelésben azonban a teszttervezés és a végrehajtás együtt történik.
- A feltáró tesztelésnél nincs terv és nincs felkészülés, akkor a tesztelő olyan teszteket végez, amelyeket szeretne. Egyes funkciókat ismételten, míg néhány funkciót nem tesztelünk teljesen.
4. tévhit: Ha vannak hibák az alkalmazásban, a felhasználók megértik
- Ha az alkalmazás nem működik, és hibákat tartalmaz, a felhasználók eltávolítják az alkalmazást
- A minőségi problémák az első okai a rossz értékelésnek a Google Playen. Ez hatással van az Ön hírnevére, és elveszíti az ügyfelek bizalmát.
Ezért elengedhetetlen egy megfelelő android tesztelési stratégia kialakítása
A legjobb gyakorlatok itt Android Tesztelés
- Az alkalmazásfejlesztőknek a kódírással egyidejűleg kell létrehozniuk a teszteseteket
- Minden tesztesetet a verzióvezérlésben kell tárolni a forráskóddal együtt
- Használjon folyamatos integrációt, és futtasson teszteket minden alkalommal, amikor a kódot módosítja
- Kerülje az emulátorok és a rootolt eszközök használatát