Android APP testēšanas apmācība ar automatizācijas sistēmu

Satura rādītājs:

Anonim

Kāpēc Android testēšana?

Android ir lielākā operētājsistēma pasaulē. Tajā pašā laikā Android ir sadrumstalots. ir daudz ierīču un Android versiju, ar kurām jūsu lietotnei jābūt saderīgai.

Nav svarīgi, cik daudz laika jūs ieguldāt dizainā un ieviešanā, kļūdas ir neizbēgamas, un parādīsies kļūdas.

Šajā apmācībā jūs uzzināsiet

  • Kāpēc Android testēšana?
  • Android testēšanas stratēģija
    • Vienības testi
    • Integrācijas testi
    • Ekspluatācijas testi
    • Sistēmas testi
  • Automatizēta android testēšana
    • Android testēšanas ietvars
    • Robolektrisko testēšanas ietvars
  • Android testēšanas mīti
  • Android testēšanas paraugprakse

Android testēšanas stratēģija

Pareizā android testēšanas stratēģijā jāietver sekojošais

  1. Vienības pārbaude
  2. Integrācijas tests
  3. Ekspluatācijas pārbaude
  4. Sistēmas pārbaude

Vienības testi

Vienības testi ietver vienas vai vairāku programmu kopas, kas paredzētas, lai pārbaudītu avota koda atomu vienību, piemēram, metodi vai klasi.

Android platformā ir iepriekš integrēta Junit 3.0 sistēma. Tas ir atvērtā koda ietvars vienību testēšanas automatizēšanai. Android Testing Framework ir spēcīgs rīks izstrādātājam, lai uzrakstītu efektīvu vienības testēšanas programmu.

Android un JUnit ietvara integrācija

Vienības testēšanas papildinājums ir lietotāja saskarnes (UI) testi. Šie testi attiecas uz jūsu mērķa lietojumprogrammas lietotāja saskarnes komponentiem. UI testi nodrošina, ka jūsu lietojumprogramma atgriež pareizo lietotāja saskarnes izvadi, reaģējot uz lietotāja darbību secību ierīcē.

Biežas lietotāja lietotāja saskarnes darbības lietojumprogrammā

Ierīces UI testu veiktspējas izplatītākais veids ir Android Instrumentation. Bet tam ir problēmas ar veiktspēju. Viens no labākajiem rīkiem lietotāja saskarnes testēšanai Android ierīcēs ir Robotium.

Integrācijas testi

Integrācijas testēšanā visi vienībā pārbaudītie moduļi tiek apvienoti un verificēti. Operētājsistēmā Android integrācijas testi bieži ietver integrācijas pārbaudi ar Android komponentiem, piemēram, pakalpojumu testēšanu, darbību pārbaudi, satura nodrošinātāja testēšanu utt.

Integrācijas testa veidi Android ierīcēs

Lai veiktu integrācijas testu Android, piemēram, Troyd, Robolectric, Robotium, tiek izmantotas daudzas testēšanas sistēmas.

Ekspluatācijas testi

  • Operatīvos sauc arī par funkcionālajiem testiem vai pieņemšanas testiem. Tie ir augsta līmeņa testi, kas paredzēti, lai pārbaudītu pieteikuma pilnīgumu un pareizību.
  • Operētājsistēmā Android FitNesse ir atvērtā koda sistēma, kas atvieglo mērķa lietojumprogrammas darbības testu veikšanu.

Sistēmas testi

Veicot sistēmas pārbaudi, sistēma tiek pārbaudīta kopumā, un tiek pārbaudīta mijiedarbība starp komponentiem, programmatūru un aparatūru.

Android sistēmā sistēmas testēšana parasti ietver

  • GUI testi
  • Lietojamības testi
  • Veiktspējas testi
  • Stresa testi

Iepriekš minētajā sarakstā veiktspējas pārbaudei tiek pievērsta lielāka uzmanība. Lai veiktu veiktspējas pārbaudi Android ierīcē, varat izmantot tādus rīkus kā Traceview. Šis rīks var palīdzēt atkļūdot lietojumprogrammu un profilēt tās veiktspēju.

Automatizēta android testēšana

Tā kā android ir sadrumstalots, ir jāpārbauda daudzas ierīces. Bet tas arī maksās jums naudu. Automatizētā Android testēšana var palīdzēt samazināt izmaksas

Automātiskās android testēšanas priekšrocības

  • Samaziniet testu izpildes laiku
  • Palieliniet sava attīstības procesa produktivitāti
  • Agrīna kļūdu noteikšana ļauj ietaupīt programmatūras uzturēšanas izmaksas
  • Ātri atrodiet un novērsiet ieviešanas kļūdas
  • Nodrošiniet programmatūras kvalitāti

Mēs pētīsim šādus 2 ietvarus

  • Android testēšanas ietvars
  • Robolektrisko testu ietvars

Android testēšanas ietvars

Viens no Android lietojumprogrammu standarta testēšanas ietvariem ir Android testēšanas ietvars . Tas ir spēcīgs un viegli lietojams testēšanas ietvars, kas ir labi integrēts Android SDK rīkos.

Android testēšanas ietvara arhitektūra

  1. Lietojumprogrammu pakete ir jūsu mērķa lietojumprogramma, kas jāpārbauda
  2. InstrumentationTestRunner ir Test Case skrējējs, kas izpilda testa gadījumu mērķa lietojumprogrammā. Tas iekļauj:

2.a) Pārbaudes rīki: SDK rīki testa testēšanai. Tie ir integrēti Eclipse IDE vai darbojas kā komandrinda.

2.b) MonkeyRunner: rīks, kas nodrošina API programmu ierakstīšanai, kas kontrolē Android ierīci vai emulatoru ārpus Android koda.

  1. Testa pakete ir sakārtota testa projektos. Šī pakete seko nosaukumu piešķiršanas konvencijai. Ja testējamās lietojumprogrammas pakotnes nosaukums ir “com.mydomain.myapp”, testa pakotnei jābūt “com.mydomain.myapp.test”. Pārbaudes paketē ir 2 objekti, kā norādīts zemāk:

3.a) Pārbaudes gadījumu klases: ietver testa metodes, kas jāveic mērķa lietojumprogrammā.

3.b) Izspēles objekti: ietver izspēles datus, kas tiks izmantoti kā parauga ievade testa gadījumiem.

Android testa lietu klases

AndroidTestCase klases diagramma

  1. TestCase ietver JUnit metodes, lai palaistu JUnit testu
  2. TestSuite tiek izmantots, lai palaistu testa gadījumu kopu
  3. InstrumentationTestSuite ir TestSuite, kas injicē Instrumentation InstrumentationTestCase pirms to palaišanas.
  4. InstrumentationTestRunner ir testa gadījuma skrējējs, kurš izpilda testa gadījumu mērķa lietojumprogrammā.
  5. AndroidTestCase paplašina JUnit TestCase. Tas satur metodes, kā piekļūt resursiem, piemēram, Activity Context.
  6. ApplicationTestCase pārbauda lietojumprogrammu klases kontrolētā vidē.
  7. InstrumentationTestCase pārbauda noteiktu mērķa lietojumprogrammas funkciju vai darbību, piemēram, lai pārbaudītu lietojumprogrammas lietotāja saskarnes izvadi.
  8. ActivityTestCase ir bāzes klase, kas atbalsta lietojumprogrammu darbību testēšanu.
  9. ProviderTestCase ir viena ContentProvider testēšanas klase.
  10. ServiceTestCase tiek izmantots, lai pārbaudītu pakalpojumu klases testēšanas vidē. Tas atbalsta arī pakalpojuma dzīves ciklu.
  11. SingeLauchActivityTestCase tiek izmantots, lai pārbaudītu vienu darbību ar InstrumentationTestCase.
  12. ActivityUnitTestCase tiek izmantots, lai pārbaudītu atsevišķu izolētu darbību.
  13. ActivityInstrumentationTestCase2 paplašina JUnit TestCase klasi. Tas savieno jūs ar mērķauditorijas atlasi ar instrumentiem. Izmantojot šo klasi, varat piekļūt lietojumprogrammas GUI komponentam un nosūtīt lietotāja saskarnei notikumu (taustiņsitienu vai pieskārienu).

Zemāk ir ActivityInstrumentationTestCase piemērs. Tas pārbauda kalkulatora lietojumprogrammas lietotāja saskarnes darbību, pārbauda lietotāja saskarnes izejas pareizību.

Testēšanas piemērs ActivityInstrumentationTestCase2

Robolektrisko testēšanas ietvars

Testēšana, izmantojot Android testēšanas sistēmu ar ierīci vai emulatoru, ir sarežģīta. Pārbaudes veidošana un veikšana notiek lēni un prasa daudz izstrādes. Lai novērstu šo problēmu, ir vēl viena izvēle - Robolectric testing framework.

Robolektriskais ietvars ļauj palaist Android testus tieši JVM bez ierīces vai emulatora.

Robolectric priekšrocības

Robolektrisko testu lietu klases

Robolektriskā darbība

  • Kā parādīts iepriekš, Robolectric var veikt šādas darbības:
  • Reģistrējieties un izveidojiet ēnu klasi
  • Pārtrauciet Android klases ielādi
  • Izmanto javaassist, lai ignorētu Android klases metodi
  • Saistīt ēnu objektu ar Android klasi
  • Tas ļauj testējamo kodu izpildīt bez Android vides.

Citi testēšanas ietvari

Papildus iepriekšminētajām testēšanas sistēmām ir daudz citu testēšanas sistēmu, piemēram:

  • Android Junit Report, pielāgots Android ierīču testēšanas skrējējs, kas ģenerē XML pārskatus integrēšanai ar citiem rīkiem.
  • Expresso
  • Appium

Android testēšanas mīti

Daudzi uzņēmumi izstrādā android testēšanas stratēģijas, kuru pamatā ir izplatīti nepareizi uzskati. Šajā sadaļā tiek apskatīti daži populāri Android testēšanas mīti un realitāte.

1. mīts: visas Android ierīces ir vienādas ... pietiek ar emulatoru pārbaudi

Sāksim ar vienkāršu piemēru. Lietojumprogramma lieliski darbojas emulatoros, bet dažās reālās ierīcēs tā avarē izpildes laikā

Lietojumprogramma avarē izpildes laikā reālā ierīcē

Emulatori nav pietiekami jūsu mobilajai testēšanai. Pārbaudiet savu lietotni reālās ierīcēs.

2. mīts: pietiek ar testēšanu dažās izplatītās ierīcēs

  • Dažādās ierīcēs jūsu lietojumprogramma izskatās citādi, jo dažādām ierīcēm ir atšķirīga aparatūra, ekrāna izmēri, atmiņa utt. Jums ir jāpārbauda lietojumprogramma dažādās ierīcēs, OS versijās, mobilo sakaru tīklos un vietās.

3. mīts: pietiek ar izpētes testēšanu tieši pirms palaišanas

  • Visās pārbaudēs mēs izstrādājam testēšanas gadījumus, pēc tam tos izpildām. Izpētes testos gan testu noformējums, gan izpilde tiks veikti kopā.
  • Izpētes pārbaudēs nav plāna un sagatavošanās, tad testētājs veic testus, kurus viņš vēlas. Dažas funkcijas tiks pārbaudītas atkārtoti, savukārt dažas funkcijas netiks pārbaudītas pavisam.

Mīts Nr. 4: Ja lietojumprogrammā būs dažas kļūdas, lietotāji to sapratīs

  • Ja lietojumprogramma nedarbojas un tajā ir kļūdas, lietotāji atinstalē jūsu lietotni
  • Kvalitātes problēmas ir pirmais sliktas pārskatīšanas iemesls pakalpojumā Google Play. Tas ietekmē jūsu reputāciju un jūs zaudējat klienta uzticību.

Tāpēc ir svarīgi, lai būtu izveidota pareiza android testēšanas stratēģija

Android testēšanas paraugprakse

  • Lietojumprogrammu izstrādātājiem testa gadījumi jāizveido vienlaikus, kad viņi raksta kodu
  • Visi testa gadījumi kopā ar pirmkodu ir jāuzglabā versiju vadībā
  • Izmantojiet nepārtrauktu integrāciju un veiciet testus katru reizi, kad tiek mainīts kods
  • Izvairieties no emulatoru un sakņotu ierīču lietošanas