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.

Android Tesztelés

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és

Android Tesztelési stratégia

A helyes android tesztelési stratégiának a következőket kell tartalmaznia

  1. Egységvizsgálat
  2. Integrációs teszt
  3. Operanemzeti teszt
  4. Rendszer teszt

Android Tesztelési stratégia

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.

Integrációja Android és a JUnit Keretrendszer
A Android és a JUnit keret

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.

Gyakori felhasználói felületi műveletek az alkalmazáson
Gyakori felhasználói felületi műveletek az alkalmazáson

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

Integrációs tesztek
Az integrációs teszt típusai on Android

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.

Android Tesztelési keretrendszer
Android tesztelési keretrendszer Architectúra
  1. Pályázati csomag a célalkalmazás, amelyet tesztelni kell
  2. 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.

  1. 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

Android Tesztesetek osztályai
AndroidTestCase osztálydiagram
  1. Próbaper magában foglalja a JUnit futtatási módszerek JUnit teszt
  2. TestSuite tesztesetek futtatására szolgál
  3. InstrumentationTestSuite egy TestSuite, amely befecskendezi az InstrumentationTestCase-be az InstrumentationTestCase-ba, mielőtt futtatná azokat.
  4. InstrumentationTestRunner a teszteset futtatója, amely tesztesetet hajt végre a célalkalmazáson.
  5. 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.
  6. ApplicationTestCase ellenőrzi az Application osztályokat egy ellenőrzött környezetben.
  7. 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.
  8. ActivityTestCase egy alaposztály, amely támogatja az alkalmazástevékenységek tesztelését.
  9. ProviderTestCase osztály egyetlen ContentProvider tesztelésére.
  10. ServiceTestCase szolgáltatásosztályok tesztelésére szolgál tesztkörnyezetben. Támogatja a szolgáltatás életciklusát is.
  11. SingeLauchActivityTestCase Egyetlen tevékenység tesztelésére szolgál egy InstrumentationTestCase eszközzel.
  12. ActivityUnitTestCase egyedi izolált aktivitás tesztelésére használják.
  13. 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.

ActivityInstrumentationTestCase2 Tesztelés
ActivityInstrumentationTestCase2 tesztelési példa

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.

A Robolectric fejlett tulajdonságai
A Robolectric fejlett funkciói

Robolectric teszteset osztályok

Operaa Robolectric
Operaa Robolectric
  • 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:

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 alkalmazás összeomlik a végrehajtás során a valódi eszközön
Az alkalmazás összeomlik a valós eszközön való 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