Android APP Testing Tutorial Automation Framework

Miksi Android Testaus?

Android on maailman suurin käyttöjärjestelmä. Samaan aikaan Android on pirstoutunut. laitteita on tonnia ja Android versiot, joiden kanssa sovelluksesi on oltava yhteensopiva.

Android Testaus

Ei ole väliä kuinka paljon aikaa panostat suunnitteluun ja toteutukseen, virheet ovat väistämättömiä ja virheitä tulee näkyviin.

Android Testaus

Android Testausstrategia

Oikean Android-testausstrategian tulisi sisältää seuraavat asiat

  1. Yksikkötesti
  2. Integraatiotesti
  3. Operakansallinen testi
  4. Järjestelmän testi

Android Testausstrategia

Yksikkötestejä

Yksikkötestit sisältävät yhden tai useamman ohjelman joukot, jotka on suunniteltu varmistamaan lähdekoodin atomiyksikkö, kuten menetelmä tai luokka.

Android alusta tulee esiintegroituna Junit 3.0 kehys. Se on avoimen lähdekoodin kehys automatisointiin Yksikkötestaus. Android Testing Framework on tehokas työkalu kehittäjälle tehokkaan yksikkötestiohjelman kirjoittamiseen.

Integrointi Android ja JUnit Puitteet
Integrointi Android ja JUnit puitteet

Yksikkötestauksen lisäys ovat käyttöliittymätestit (UI). Nämä testit liittyvät kohdesovelluksesi käyttöliittymäkomponentteihin. Käyttöliittymätesteillä varmistetaan, että sovelluksesi palauttaa oikean käyttöliittymälähdön vastauksena käyttäjän toimiin laitteessa.

Yleiset käyttöliittymätoiminnot sovelluksessa
Yleiset käyttöliittymätoiminnot sovelluksessa

Yleisin tapa suorittaa käyttöliittymätestejä laitteella on Android Instrumentit. Mutta tässä on suorituskykyongelmia. Yksi parhaista työkaluista käyttöliittymätestauksen suorittamiseen Android is Robotti.

Integrointitestit

In Integraation testaus, kaikki yksikkötestatut moduulit yhdistetään ja tarkistetaan. Sisään Android, integrointitesteihin kuuluu usein integraation tarkistaminen kanssaAndroid komponentit, kuten palvelun testaus, aktiviteettitestaus, sisällöntarjoajan testaus jne

Integraatiotestit
Integrointitestin tyypit päällä Android

Integraatiotestien suorittamiseen käytetään monia testauskehyksiä Android kuten Troyd, Robolectric, Robotium.

Operakansalliset testit

  • OperaNäitä kutsutaan myös toiminnallisiksi testeiksi tai hyväksymistesteiksi. Ne ovat korkean tason testejä, jotka on suunniteltu tarkistamaan sovelluksen täydellisyys ja oikeellisuus.
  • In Android, FitNesse on avoimen lähdekoodin kehys, jonka avulla on helppo suorittaa käyttötestejä kohdesovellukselle.

Järjestelmätestit

In Järjestelmän testaus järjestelmä testataan kokonaisuutena ja komponenttien, ohjelmiston ja laitteiston välinen vuorovaikutus tarkistetaan.

In Android, Järjestelmän testaus sisältää yleensä

  • GUI-testit
  • Käytettävyystestit
  • Suorituskykytestit
  • Stressitestit

Yllä olevassa luettelossa Suorituskykytestaus kiinnitetään enemmän huomiota. Voit käyttää työkaluja, kuten Traceview suorittaa suorituskykytestin Android . Tämän työkalun avulla voit korjata sovelluksesi virheitä ja profiloida sen suorituskykyä.

Automaattinen ANDROID-TESTAUS

Koska Android on pirstoutunut, testaus useilla laitteilla on välttämätöntä. Mutta tämä maksaa myös rahaa. Automatisoitu Android Testaus voi auttaa vähentämään kustannuksia

Automaattisen Android-testauksen edut

  • Vähennä testitapausten suorittamiseen kuluvaa aikaa
  • Lisää kehitysprosessisi tuottavuutta
  • Varhainen vikojen havaitseminen, säästää ohjelmiston ylläpitokustannuksia
  • Toteutuksen virheet löytyi ja korjattiin nopeasti
  • Varmista ohjelmiston laatu

Tutkimme seuraavia kahta viitekehystä

  • Android Testauskehys
  • Robolectric Testing -kehys

Android testauskehys

Yksi standardeista testauskehyksistä Android hakemus on Android testauskehys. Se on tehokas ja helppokäyttöinen testauskehys, joka on hyvin integroitu Android SDK-työkalut.

Android Testauskehys
Android testauskehys Archirakenne
  1. Sovelluspaketti on kohdesovelluksesi, joka on testattava
  2. InstrumentationTestRunner on Testitapaus runner, joka suorittaa testitapauksen kohdesovelluksessa. Se sisältää:

2) Testityökalut: SDK-työkalut rakennustestaukseen. Ne on integroitu sisään Eclipse IDE tai suorita komentorivillä.

2b) MonkeyRunner: Työkalu, joka tarjoaa API:t ohjelmien kirjoittamiseen, jotka ohjaavat Android laitteen tai emulaattorin ulkopuolella Android koodi.

  1. Testipaketti järjestetään testiprojekteiksi. Tämä paketti noudattaa nimeämiskäytäntöä. Jos testattavan sovelluksen paketin nimi on "com.mydomain.myapp", testipaketin tulee olla "com.mydomain.myapp.test". Testipaketti sisältää 2 alla olevaa objektia:

3a) Testitapausluokat: sisältävät testimenetelmät, jotka suoritetaan kohdesovelluksessa.

3b) Valeobjektit: sisältää valetietoa, jota käytetään esimerkkisyötteenä testitapauksissa.

Android Testitapausluokat

Android Testitapausluokat
AndroidTestCase-luokkakaavio
  1. Testitapaus sisältää JUnit menetelmiä juosta JUnit testi
  2. TestSuite käytetään suorittamaan testitapauksia
  3. InstrumentationTestSuite on TestSuite, joka ruiskuttaa instrumentoinnin InstrumentationTestCaseen ennen niiden suorittamista.
  4. InstrumentationTestRunner on testitapauksen suorittaja, joka suorittaa testitapauksen kohdesovelluksessa.
  5. AndroidTestitapaus ulottuu JUnit Testitapaus. Se sisältää menetelmiä käyttää resursseja, kuten Activity Context.
  6. ApplicationTestCase tarkistaa sovellusluokat valvotussa ympäristössä.
  7. InstrumentationTestCase varmistaa kohdesovelluksen tietyn ominaisuuden tai toiminnan, esimerkiksi sovelluksen käyttöliittymän ulostulon tarkistamiseksi.
  8. ActivityTestCase on perusluokka, joka tukee sovellustoimintojen testaamista.
  9. ProviderTestCase on luokka yhden ContentProviderin testaamiseen.
  10. ServiceTestCase käytetään palveluluokkien testaamiseen testausympäristössä. Se tukee myös Palvelun elinkaarta.
  11. SingeLauchActivityTestCase käytetään yksittäisen toiminnan testaamiseen InstrumentationTestCasella.
  12. ActivityUnitTestCase käytetään yksittäisen eristetyn aktiivisuuden testaamiseen.
  13. ActivityInstrumentationTestCase2 ulottuu JUnit TestCase-luokka. Se yhdistää sinut kohdesovellukseen instrumenttien avulla. Tällä luokalla voit käyttää sovelluksen GUI-komponenttia ja lähettää käyttöliittymätapahtuman (näppäinpainalluksen tai kosketustapahtuman) käyttöliittymään.

Alla on esimerkki ActivityInstrumentationTestCasesta. Se tarkistaa Laskin-sovelluksen käyttöliittymän toiminnan, tarkistaa käyttöliittymän lähtöjen oikeellisuuden.

ActivityInstrumentationTestCase2 Testaus
ActivityInstrumentationTestCase2-testausesimerkki

Roboelektrinen testauskehys

Testaus käyttäen Android Kehyksen testaus laitteella tai emulaattorilla on vaikeaa. Testin rakentaminen ja suorittaminen on hidasta ja vaatii paljon kehitystyötä. Tämän ongelman korjaamiseksi on toinen vaihtoehto - Robolectric testauskehys.

Robolectric-kehyksen avulla voit ajaa Android testit suoraan JVM:ssä ilman laitteen tai emulaattorin tarve.

Robolectricin edistyneet ominaisuudet
Robolectricin edistyneet ominaisuudet

Robolectric Test Case -luokat

OperaRobolectricin
OperaRobolectricin
  • Kuten yllä näkyy, Robolectric voi suorittaa seuraavat toiminnot:
  • Rekisteröidy ja luo varjoluokka
  • Keskeytä lataus Android luokka
  • Käyttää javaassistia ohittaakseen menetelmän rungot Android luokka
  • Sido Shadow-objekti Android luokka
  • Tämä mahdollistaa testattavan koodin suorittamisen ilman Android ympäristöön.

Muut testauskehys

Edellä mainittujen testauskehysten lisäksi on monia muita testauskehyksiä, kuten:

Myytit Android Testaus

Monet yritykset kehittävät Androidia Testaus strategioita, jotka perustuvat yleisiin väärinkäsityksiin. Tässä osiossa tarkastellaan muutamia suosittuja myyttejä ja todellisuutta Android testaus.

Myytti 1: Kaikki Android laitteet ovat samat… testaus emulaattoreissa riittää

Aloitetaan yksinkertaisella esimerkillä. Sovellus toimii täydellisesti emulaattorissa, mutta joissakin oikeissa laitteissa se kaatuu suorituksen aikana

Sovellus kaatuu suorituksen aikana oikealla laitteella
Sovellus kaatuu suorituksen aikana oikealla laitteella

Emulaattorit ovat ei riitä mobiilitestausta varten. Sinun on testattava sovellustasi oikeilla laitteilla.

Myytti 2: Joidenkin yleisten laitteiden testaus riittää

  • Eri laitteilla sovelluksesi näyttää erilaiselta, koska eri laitteilla on erilainen laitteisto, näytön koko, muisti jne. Sinun on testattava sovellustasi eri laitteissa, käyttöjärjestelmäversioissa, operaattoriverkoissa ja paikoissa.

Myytti#3: Tutkiva testaus juuri ennen julkaisua riittää

  • Yleensä kaikissa testauksissa suunnittelemme testitapaukset ja suoritamme ne. Mutta tutkivassa testauksessa, testin suunnittelu ja toteutus tehdään yhdessä.
  • Tutkivassa testauksessa ei ole suunnitelmaa eikä valmistelua, sitten testaaja tekisi testejä, joita hän haluaa tehdä. Joitakin toimintoja testataan toistuvasti, kun taas joitain toimintoja ei testata kokonaan.

Myytti#4:Jos sovelluksessa on virheitä, käyttäjät ymmärtävät

  • Jos sovellus ei toimi ja siinä on virheitä, käyttäjät poistavat sovelluksesi
  • Laatuongelmat ovat ensimmäinen syy huonoon arvosteluun Google Playssa. Se vaikuttaa maineeseesi ja menetät asiakkaan luottamuksen.

Siksi on välttämätöntä, että sinulla on oikea Android-testausstrategia

Parhaat käytännöt sisään Android Testaus

  • Sovelluskehittäjien tulee luoda testitapaukset samaan aikaan, kun he kirjoittavat koodia
  • Kaikki testitapaukset tulee tallentaa versionhallintaan yhdessä lähdekoodin kanssa
  • Käytä jatkuvaa integrointia ja suorita testit aina, kun koodia muutetaan
  • Vältä emulaattoreiden ja juurtuneiden laitteiden käyttöä