android app testing tutorial
Прикупљање основног знања пре тестирања Андроид апликација:
Као што и сам наслов сугерише, у овом упутству ћемо разговарати о процесу тестирања Андроид-а.
Али, пре него што уђем у разне детаље процеса тестирања Андроид-а, желео бих да поставим неколико питања.
Да ли имате мобилни телефон?
Е сад, како је глупо то питање! „Наравно да сви то радимо. Сви имају мобилни телефон. Мобилни телефони су данас постали основна потреба човековог постојања.
Можете ли ми рећи који је ОС на вашем телефону?
Ако сте телефон купили између 2014-16, шансе да телефон ради на Андроиду су око 80-85%.
Шта ћете научити:
- Раст Андроида
- Увод у Андроид апликацију
- Листа „Обавезе“ пре почетка процеса тестирања
- Врсте тестирања за мобилне апликације
- Најбоље праксе у тестирању апликација за Андроид
- Андроид Тестинг Фрамеворк
- Закључак
- Препоручено читање
Раст Андроида
Статистике у наставку описују више о расту Андроида на лако разумљив начин.
- Још 2009. године Андроид је био почетник и чинио је само 3,9% укупног тржишта.
- Тада је највећи допринос дао Симбиан ОС са огромним бројем од 47% (Златни дани Нокиа).
- Тај тренд је почео да се мења током година и Андроид је сада достигао 85,2% у 2016. години.
( извор слике )
- Горњи бројеви су само за мобилне телефоне. Андроид ОС такође има велики утицај у индустрији таблета. Са 4,4% тржишног удела у 2011. на 35,7% у 2015. говори о интересу који људи развијају према таблет уређајима са Андроид-ом.
( извор слике )
- Гоогле Плаи продавница такође бележи брзи пораст броја преузимања. Од 2010. до 2016. бројеви су порасли са милијарде преузимања месечно на 65 милијарди преузимања месечно.
- На преузимања апликација такође у великој мери утичу ниске цене (Просек: 0,06 $ / апликација) андроид апликација у поређењу са иОС апликацијама.
Зашто сам те управо провео кроз све те бројеве?
Само да вас упознам како је огроман Андроид порастао, колико је развој апликација постао незгодан и колико је тржиште овај ОС заузео у протеклој деценији.
Свака веб локација, апликација за Виндовс и апликација за Мац сада имају андроид брата или сестру. Сви се залажу за развој апликације за Андроид чим планирају да развију апликацију за веб странице / прозоре. То је сада постало неопходно, јер су купци последњих година такође почели да преферирају мобилне апликације у односу на рачунарске апликације или веб локације.
Неке од апликација које се врло често користе у свакодневним активностима су Флипкарт, Амазон, Зомато, ДеливериХеро, Цити Банк, ТруеЦаллер, Фацебоок, Гмаил, Вхатсапп итд.
Разлог пораста Андроид тржишта је тај што:
- То је отворен систем, па га је лако прилагодити, лако научити, а чак је и развој апликација лакши.
- Објављивање апликације у Гоогле Плаи продавници је прилично једноставно у поређењу са осталим продавницама за репродукцију.
- На тржишту постоји неколико произвођача Андроид телефона као што су Сони, ХТЦ, Самсунг, Моторола итд.
- На Андроиду постоји огроман број функција попут ДуалСИМ-а, мицроСД-а, преносиве батерије итд., Што му је додатна предност.
- Цене андроид телефона нису превисоке и приступачне су итд.
Заједно са захтевима за развој Андроид апликација, порастао је и захтев за тестере који су упућени у андроид тестирање.
Као тестер, пре него што започнете тестирање било које андроид изграђене апликације, морате да урадите пуно домаћих задатака. Прво што треба урадити је проучавање ОС-а и његове историје. Ако не знате ОС, не можете да тестирате апликацију на основу различитих верзија. Основна функционалност верзије ОС-а, кориснички интерфејс, ГПС, подршка за мрежни тип, трајање батерије итд., Неки су од важних аспеката који утичу на апликацију.
Са Андроидом, није само ОС већ и мноштво уређаја такође потребно проучити.
На тржишту је доступан велики број уређаја, па пре финализације и замрзавања тестног кревета морате да сазнате удео циљне публике. Разни уређаји који нуде различите функције попут ДуалСИМ-а, двоструке камере, резолуције екрана, тема итд., Утичу на апликацију и треба их тестирати.
Отуда је веома важно за КА прикупити свеобухватно знање о комплетном Андроид екосистему.
Увод у Андроид апликацију
Постоје разне методе тестирања које прати успешно овјеравање Андроид апликације.
Типична архитектура Андроид апликације изгледала би слично дијаграму приказаном доле:
ц ++ компајлер за ецлипсе
На основу горње слике, постоје две могућности за апликацију:
1) Мобилна апликација за веб апликацију: Можда је могуће да купац има веб апликацију и жели да направи мобилну апликацију за исту. Амазон, Јабонг, Минтра итд. Учинили су исто, и чим су мобилне апликације почеле да стварају бум на тржишту, ове комерцијалне компаније схватиле су да ће људи ускоро прећи са веб апликација на мобилне апликације.
2) Мобилна апликација као засебан пословни субјект: Тестирао сам сличну логистичку апликацију, како бих повећао пословање, створио је засебну апликацију за своје возаче како би олакшала несметану испоруку и уклонила папире.
Возачи су на својим телефонима инсталирали апликацију за премештање пошиљке у различите фазе испоруке и њихов одговарајући статус, а ажурирања испоруке су се одразила у њиховој постојећој веб апликацији.
Други такви Примери где су мобилне апликације засебан ентитет су ВхатсАпп, апликације за праћење здравља попут С Хеалтх итд.
Листа „Обавезе“ пре почетка процеса тестирања
За разлику од уобичајеног циклуса тестирања, за прво издање мобилне апликације постоји неколико предмета којима је потребно додатно истраживање и планирање за успешну испоруку апликације.
Следе неке од активности које су важне за контролу квалитета пре него што стварно тестирање започне:
# 1) Истраживање ОС-а и уређаја:
Поред разумевања захтева апликације, такође морате да разумете утицај различитих верзија ОС-а и модела уређаја. Треба да направите тест случајеве или сценарије без ОС-а и модела уређаја.
#два) Тест Бед:
За разлику од апликација за рачунаре, веб и иОС, стварање пробног лежишта за андроид апликације је врло незгодно због отвореног Андроид система. Одлуку треба донети након разговора са БА, програмерима и власницима производа како би се пронашла циљна публика.
# 3) План теста:
Како је то прво издање, требало би да постоји одобрени план са одобреним испитним бројем, врстама испитивања итд. Ако је потребно посебно време за истраживање функционалности или правила пословања или ако ће тестирање бити незгодно итд., Све треба да буде обухваћено планом.
# 4) Алати за аутоматизацију:
Алати за аутоматизацију потребни за мобилне апликације веома се разликују од оних за рачунаре или веб апликације. Стога ћете можда морати потрошити додатно време и напор да бисте научили алатку. Време и напор потребни за исти треба да одобри власник производа или купац.
# 5) Технике или методе испитивања:
За разлику од уобичајених тестова које обично радимо, мало је тестова који су врло специфични за мобилне апликације. Наиме, теренски тест, ГПС тест, тест снимања слике итд. То треба документовати у тестним случајевима заједно са начином тестирања ове врсте.
Врсте тестирања за мобилне апликације
Следеће врсте тестирања се спроводе како би се потврдила Андроид апликација:
1) функционално испитивање:
Тестирање се обично постиже путем тестова покренутих од стране корисничког интерфејса. Не тестира се само ток употребе, већ се испитују и различита пословна правила. Тестирање се врши потврђивањем захтева. тј. да ли апликација ради на основу захтева.
Узмимо Пример апликације Зомато.
Када покренете апликацију, на основу локације, приказује се листа ресторана. Сада као КА морате да тестирате списак ресторана.
Ово је тестирање функционалности и овде ћете тестирати функционалности попут:
- Проверите да ли су картице ресторана приказане на локацији.
- Проверите да ли су приказани ресторани у датом опсегу (км) локације.
- Проверите да ли је број прегледа за сваку картицу синхронизован са датим рецензијама.
- Проверите да ли се додавање новог ресторана за локацију одражава на листи.
- Проверите да ли су ресторани наведени на основу правила филтрирања Зомато-а итд.
2) Андроид УИ тестирање:
Ово је тестирање апликације усмерено на корисника. У овој тест фази, под овим се тестирају ставке као што су видљивост текста на различитим екранима апликације, интерактивне поруке, поравнање података, изглед и изглед апликације за различите екране, величина поља итд.
За исти горњи Пример зомата, тестови корисничког интерфејса би били:
- Проверите да ли су картице приказане правилно поравнате са величином мобилног екрана.
- Проверите да ли је слика ресторана приказана према очекивањима.
- Проверите да ли су детаљи картице, оцена ресторана, врста кухиње, адреса итд. Приказани правилно поравнати.
- Проверите да ли је померање листе без грешака и да ли су картице приказане погрешно поравнате када се помера дугачка листа карата итд.
3) Испитивање компатибилности:
Ово тестирање се врши углавном у облику две матрице апликације ОС Вс и апликације Модел уређаја Вс. Листу подржаних ОС-а (а понекад и уређаја) обично даје власник производа или купац.
Потреба за овим тестирањем је:
- Када се узме у обзир ОС попут Андроид-а, пронађено је 7 основних верзија занемарујући број издања закрпа / ЕП-ова.
- Можете ли погодити типове Андроид уређаја који тренутно раде широм света? 1000? 2000? Погрешно! Тачан одговор је 24000. Постоји 24000 врста јединствених Андроид уређаја који су присутни и активни у свету.
- Са варијацијама попут ове, тестирање компатибилности игра виталну улогу у сертификацији андроид апликације.
- Не само да морамо да потврдимо ОС и тип уређаја, већ и неколико других карактеристика које спадају у тестирање компатибилности. Карактеристике укључују:
- Величина екрана
- Резолуција екрана
- Мрежна повезаност
4) Испитивање интерфејса:
Другим речима, такође се назива и Интеграционо тестирање. Ово тестирање се врши након што су сви модули апликације потпуно развијени, тестирани појединачно и све грешке су исправљене.
Тестирање интерфејса укључује тестове као што је комплетно тестирање апликације од краја до краја, интеракција са другим апликацијама као што су Мапе, друштвене апликације итд., Употреба микрофона за унос текста, употреба камере за скенирање бар-кода или сликање итд.
Опет с обзиром на Зомато, тестови интеграције би били попут:
- Проверите да ли је корисник у могућности да резервише сто за ресторан.
- Проверите да ли је корисник у могућности да прегледа јеловник и наручи храну на мрежи.
- Проверите да ли је корисник у могућности да искористи ПаиТМ купон док наручује храну.
- Проверите да ли је корисник у могућности да види локацију ресторана на Гоогле мапама.
- Проверите да ли је корисник у могућности да отвори бројчаник и позове ресторан итд.
5) Тестирање мреже:
Кључне карактеристике мрежног тестирања укључују:
- Апликација треба да разговара са посредничком службом како би спровела поступак.
- Током овог тестирања, захтев / одговор на / од услуге се тестира у различитим условима.
- Овај тест се углавном ради како би се верификовало време одзива у коме се обавља активност попут освежавања података након синхронизације или учитавања података након пријаве итд.
- То се ради и за јаку ВиФи везу и за мобилну мрежу за пренос података.
- Ово је интерно тестирање.
6) Испитивање перформанси:
Проверава се ефикасност апликације под неким необичним условима.
Ти услови укључују:
- Нема довољно меморије у уређају.
- Батерија је изузетно ниска.
- Лош / лош мрежни пријем.
Учинак се у основи тестира са два краја, на крају апликације и на серверу апликација
7) Испитивање инсталације:
На Андроид уређају постоје две врсте апликација, тј. Унапред инсталиране апликације и апликације које корисник касније инсталира.
За оба горе наведена, потребно је извршити испитивање инсталације. Ово осигурава несметану инсталацију апликације, а да се не заврше грешке, делимична инсталација итд.
Испитивање надоградње и деинсталације врши се у оквиру испитивања инсталације.
8) Испитивање сигурности:
Приватност и сигурност су два главна захтева апликације. Међутим, у банкарству, здравству, ово постаје примарни услов.
Тестирање протока података за механизам шифровања и дешифровања треба тестирати у овој фази. Приступ ускладиштеним подацима се такође тестира у овој фази.
9) Теренско испитивање:
Теренско тестирање се врши посебно за мобилну мрежу за пренос података, а не интерно, већ изласком и употребом апликације као обичног корисника. Ово тестирање се врши „тек“ након што се цела апликација развије, тестира и регресира (за грешке и тест случајеве).
У основи се ради на верификовању понашања апликације када телефон има 2Г или 3Г везу. Теренским испитивањем се проверава да ли се апликација руши при спорој мрежној вези или је потребно предуго учитавање информација.
Више о теренским испитивањима можете прочитати у нашем чланку „Значај и неопходност теренског тестирања за мобилне апликације“
10) Испитивање прекида:
Ова врста тестирања позната је и као ванмрежна верификација сценарија. Услови у којима се комуникација прекида у средини називају се офлајн условима.
Неки од услова у којима се могу тестирати прекиди рада мреже су следећи:
- Уклањање кабла за пренос података током процеса преноса података.
- Прекид рада мреже током фазе књижења трансакција.
- Опоравак мреже након прекида.
- Уклањање батерије или укључивање / искључивање напајања када је у фази трансакције.
Најбоље праксе у тестирању апликација за Андроид
Постоје одређени фактори које треба узети у обзир приликом постављања стратегије за тестирање апликација за мобилне уређаје.
софтвер који је инсталиран на рачунару и користи се за управљање виртуелним машинама
Су:
1) Избор уређаја:
- Ово је један од најкритичнијих корака пре покретања процеса тестирања андроид апликација.
- Одлучите који уређаји ће се узети у обзир за поступак тестирања.
- Избор се врши тако да се максимализује број циљних купаца.
- Фактори као што су верзија ОС, резолуције екрана и фактори облика (таблет или паметни телефони) играју виталну улогу у фази одабира.
- Ако је потребно, чак и помоћ емулатора може бити узета у обзир.
- Али, емулатори не би требало да замењују поступак тестирања физичког уређаја.
- Емулатори уређаја су исплативи и добро дођу током почетне фазе развоја.
- Али, да би се тестирали сценарији из стварног живота, физички уређаји су неопходни. И емулатори и физички уређаји треба да се користе уравнотежено како би се постигли оптимизовани резултати.
2) Бета тестирање апликације:
- Бета тестирање је веома ефикасно у тестирању са стварним корисницима, стварним уређајима, стварним мрежама и апликацијама инсталираним у широкој географији.
- Ово даје јасну слику густине мреже, мрежних варијација (Ви-Фи, 4Г, 3Г и 2Г) и утицаја на апликацију.
- Бета тестирање у стварном свету је једно те врсте и не може се поновити у контролисаном окружењу.
3) Повезивост:
- Андроид апликације су обично повезане на Интернет ради различитих захтева.
- Повезивање на различитим уређајима игра кључну улогу у постављању стратегије.
- Повезивост се углавном контролише помоћу симулационог софтвера који помаже у регулисању брзине мреже, кашњења и ограничене повезаности током тестирања.
- Каже се да је тестирање под стварним мрежним везама увек препоручљиво за резултат / податке у реалном времену.
4) Ручно или аутоматизовано тестирање:
- Иако тестирање аутоматизације узима довољно времена за прво покретање, добро дође када тестирање треба поновити. Ово такође смањује укупни временски распон тестирања током различитих развојних фаза.
- Андроид аутоматизација би требало да буде удружена са ручним тестирањем када је понављање регресионог тестирања високо у фази развоја апликације, тестирање компатибилности мора се обавити за исту апликацију на различитим верзијама ОС-а, контролне тачке повратне компатибилности итд.
Андроид Тестинг Фрамеворк
Доступно је прегршт Андроид оквира за тестирање.
У овом упутству ћемо разговарати о 3 различите врсте најчешће коришћених оквира:
- Оквир за испитивање роботијума
- Робо-електрични оквир за испитивање
- Аппиум тест Фрамеворк
1) Оквир за испитивање роботијума:
- Овај оквир се користи за писање софистицираних и робусних тест случајева за Андроид апликације.
- Подржава како домаће тако и хибридне клијенте.
- Помоћу овог оквира могу се написати функције, примери системских тестова и тестови за прихватање корисника.
- Роботиум подржава Андроид 1.6 и новије верзије, а такође подржава и дијалоге, меније, активности итд.
- Овај оквир аутоматски обрађује више Андроид активности.
- У оквиру Роботиума дато је прегршт метода за интеракцију са различитим графичким компонентама Андроид апликације. Неки од њих су као у наставку:
- вратити се();
- гетБуттон ();
- исРадиоБуттонЦхецкед ();
- сеарцхТект („Корисник“);
- кликните на дугме („Одјава“);
2) Робо-електрични тест оквир:
- Овај оквир помаже у тестирању Андроид апликација на ЈВМ заснованим на ЈУнит4 оквиру.
- Користи Андроид АПИ.
- Ово помаже у писању тест случајева и њиховом покретању на ЈВМ-у.
- Под овим, све класе су замењене нечим што се назива објектима у сенци.
- Кад год се примени нека метода, Робо-елецтриц интерно шаље позив сенчном објекту.
- На основу имплементације, ако се метод примењује објектом у сенци, враћа се вредност. Иначе се враћа НУЛЛ.
- Због објеката у сенци и ЈВМ-а извршавање постаје брже.
3) епохе тест оквира;
- Овај оквир функционише за матичне, хибридне и мобилне апликације на мрежи за Андроид уређаје.
- Аппиум је бесплатан за коришћење услужних програма.
- Појединачни АПИ функционише и за Андроид и за иОС платформу. Ово је један од оквира који подржава тестирање више платформи.
- Користи управљачки програм Селениум Веб за интеракцију са Андроид апликацијом.
- Аппиум подржава писање скрипти користећи пуно програмских језика као што су Јава, Ц #, Питхон, ПХП, Руби итд.
Закључак
Аутоматизација Андроид апликација може бити удружена ручно по потреби. Међутим, ако се стратегији дода тестирање Андроинд Аутоматион, одабир исправног алата је велики задатак. Приликом одабира фактора алата за аутоматизацију као што су подршка за више платформи, тест процеса рада, цена алата, услуга / подршка итд.
У тестирању Андроид апликација постоји неколико изазова. Постоје различити фактори које треба узети у обзир пре него што се процес тестирања Андроид-а заиста може применити, али када се то уради, ово постаје врло занимљив задатак.
Пазите на наш предстојећи водич да бисте сазнали више о томе Изазови и решења за мобилно тестирање.
Препоручено читање
- 11 најбољих алата за аутоматизацију за тестирање Андроид апликација (Андроид Тоолс Тестинг Тоолс)
- Услуге бета тестирања мобилне апликације (иОС и Андроид бета алати за тестирање)
- Направите тестове Аппиум за апликацију за Андроид
- Функционално тестирање вс нефункционално тестирање
- Водичи за тестирање мобилних апликација (Комплетан водич са 30+ водича)
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)
- Алфа тестирање и бета тестирање (потпун водич)
- Дубински водичи за помрачење за почетнике