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.
Ei ole väliä kuinka paljon aikaa panostat suunnitteluun ja toteutukseen, virheet ovat väistämättömiä ja virheitä tulee näkyviin.
Android Testausstrategia
Oikean Android-testausstrategian tulisi sisältää seuraavat asiat
- Yksikkötesti
- Integraatiotesti
- Operakansallinen testi
- Järjestelmän testi
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.
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.
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
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.
- Sovelluspaketti on kohdesovelluksesi, joka on testattava
- 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.
- 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
- Testitapaus sisältää JUnit menetelmiä juosta JUnit testi
- TestSuite käytetään suorittamaan testitapauksia
- InstrumentationTestSuite on TestSuite, joka ruiskuttaa instrumentoinnin InstrumentationTestCaseen ennen niiden suorittamista.
- InstrumentationTestRunner on testitapauksen suorittaja, joka suorittaa testitapauksen kohdesovelluksessa.
- AndroidTestitapaus ulottuu JUnit Testitapaus. Se sisältää menetelmiä käyttää resursseja, kuten Activity Context.
- ApplicationTestCase tarkistaa sovellusluokat valvotussa ympäristössä.
- InstrumentationTestCase varmistaa kohdesovelluksen tietyn ominaisuuden tai toiminnan, esimerkiksi sovelluksen käyttöliittymän ulostulon tarkistamiseksi.
- ActivityTestCase on perusluokka, joka tukee sovellustoimintojen testaamista.
- ProviderTestCase on luokka yhden ContentProviderin testaamiseen.
- ServiceTestCase käytetään palveluluokkien testaamiseen testausympäristössä. Se tukee myös Palvelun elinkaarta.
- SingeLauchActivityTestCase käytetään yksittäisen toiminnan testaamiseen InstrumentationTestCasella.
- ActivityUnitTestCase käytetään yksittäisen eristetyn aktiivisuuden testaamiseen.
- 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.
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.
Robolectric Test Case -luokat
- 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:
- Android Junitin raportti, räätälöity instrumenttien testaaja Android joka luo XML-raportteja integroitaviksi muihin työkaluihin.
- ilmaista
- Appium
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
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öä