Зашто Андроид тестирање?
Андроид је највећи оперативни систем на свету. Истовремено, Андроид је фрагментиран. постоји мноштво уређаја и верзија Андроид-а са којима ваша апликација мора бити компатибилна.
Није важно колико времена улажете у дизајн и имплементацију, грешке су неизбежне и појавиће се грешке.
У овом упутству ћете научити-
- Зашто Андроид тестирање?
- Андроид стратегија тестирања
- Јединствени тестови
- Интеграциони тестови
- Оперативни тестови
- Системски тестови
- Аутоматизовано АНДРОИД ТЕСТИРАЊЕ
- Андроид оквир за тестирање
- Оквир за роботичко испитивање
- Митови о Андроид тестирању
- Најбоље праксе у Андроид тестирању
Андроид стратегија тестирања
Исправна стратегија тестирања андроид-а треба да садржи следеће
- Јединствени тест
- Тест интеграције
- Оперативни тест
- Тест система
Јединствени тестови
Јединствени тестови укључују скупове једног или више програма који су дизајнирани да верификују атомску јединицу изворног кода, попут методе или класе.
Андроид платформа долази са унапред интегрисаним оквиром Јунит 3.0. То је оквир отвореног кода за аутоматизацију јединичног тестирања. Андроид Тестинг Фрамеворк је моћан алат за програмере за писање ефикасног програма за јединствено тестирање.
Интеграција Андроид-а и ЈУнит оквира
Додатак јединственом тестирању су тестови корисничког интерфејса (УИ). Ови тестови се односе на компоненте корисничког интерфејса ваше циљне апликације. Тестови корисничког интерфејса осигуравају да ваша апликација враћа тачан излаз корисничког интерфејса као одговор на редослед корисничких радњи на уређају.
Уобичајене радње корисничког интерфејса корисника на апликацији
Уобичајени начин тестирања корисничког интерфејса на уређају је Андроид Инструментатион. Али ово има проблема са перформансама. Један од најбољих алата за провођење тестирања корисничког интерфејса на Андроиду је Роботиум.
Интеграциони тестови
У интеграцијском тестирању, сви модули који су тестирани на јединици, комбинују се и верификују. У Андроиду, интеграциони тестови често укључују проверу интеграције са Андроид компонентама као што су сервисно тестирање, тестирање активности, тестирање добављача садржаја итд.
Врсте интеграционог теста на Андроиду
Постоји много оквира за тестирање који се користе за спровођење теста интеграције за Андроид као што су Троид, Роболецтриц, Роботиум.
Оперативни тестови
- Оперативни се називају и функционални тестови или тестови прихватања. То су тестови високог нивоа дизајнирани да провере комплетност и исправност примене.
- У Андроиду, ФитНессе је оквир отвореног кода који олакшава спровођење оперативних тестова за циљану апликацију.
Системски тестови
У системском тестирању систем се тестира у целини и проверава интеракција између компоненти, софтвера и хардвера.
У Андроиду системско тестирање обично укључује
- ГУИ тестови
- Тестови употребљивости
- Тестови перформанси
- Стрес тестови
На горњој листи, испитивању перформанси је посвећен већи фокус. Можете да користите алате попут Трацевиев за провођење теста перформанси на Андроиду. Овај алат вам може помоћи да отклоните грешке у апликацији и профилите њене перформансе.
Аутоматизовано АНДРОИД ТЕСТИРАЊЕ
Како је андроид фрагментиран, неопходно је тестирање на мноштву уређаја. Али ово ће вас такође коштати. Аутоматско Андроид тестирање може да помогне у смањењу трошкова
Предности аутоматизованог андроид тестирања
- Смањите време за извршавање тест случајева
- Повећајте продуктивност вашег развојног процеса
- Рано откривање грешака, уштеда трошкова на одржавању софтвера
- Брзо пронађите и исправите грешке у имплементацији
- Осигурајте квалитет софтвера
Проучићемо следећа 2 оквира
- Андроид Тестинг фрамеворк
- Оквир за роботичко испитивање
Андроид оквир за тестирање
Један од стандардних оквира за тестирање Андроид апликације је Андроид оквир за тестирање . То је моћан и лак за употребу тестни оквир који је добро интегрисан са Андроид СДК алатима.
Андроид тест фрамеворк Архитектура
- Пакет апликација је ваша циљна апликација коју треба тестирати
- ИнструментатионТестРуннер је покретач тест случаја који извршава тест случаја на циљној апликацији. Садржи:
2а) Алати за тестирање : Алати за развој софтвера за тестирање зграда. Интегрисани су у Ецлипсе ИДЕ или се покрећу као командна линија.
2б) МонкеиРуннер: Алат који пружа АПИ-је за писање програма који контролишу Андроид уређај или емулатор изван Андроид кода.
- Тест пакети су организовани у тест пројекте. Овај пакет следи конвенцију именовања. Ако апликација која се тестира има назив пакета „цом.мидомаин.миапп“, онда би тест пакет требао бити „цом.мидомаин.миапп.тест“. Пакет теста укључује 2 објекта као што је приказано доле:
3а) Класе тест случајева: укључују методе испитивања које се извршавају на циљној апликацији.
3б) Лажни објекти: укључује лажне податке који ће се користити као узорак за тест случајеве.
Часови Андроид тест случајева
Дијаграм класе АндроидТестЦасе
- ТестЦасе укључује ЈУнит методе за покретање ЈУнит теста
- ТестСуите се користи за покретање скупа тест случајева
- ИнструментатионТестСуите је ТестСуите који убризгава Инструментатион у ИнструментатионТестЦасе пре него што их покрене.
- ИнструментатионТестРуннер је покретач тест примера који извршава тест случаја на циљној апликацији.
- АндроидТестЦасе проширује ЈУнит ТестЦасе. Садржи методе за приступ ресурсима попут Контекста активности.
- АпплицатионТестЦасе верификује класе апликација у контролисаном окружењу.
- ИнструментатионТестЦасе проверава одређену особину или понашање циљне апликације, на пример, проверава УИ излаз апликације.
- АцтивитиТестЦасе је основна класа која подржава тестирање апликативних активности.
- ПровидерТестЦасе је класа за тестирање појединачног ЦонтентПровидер-а.
- СервицеТестЦасе се користи за тестирање класа услуга у тест окружењу. Такође подржава животни циклус услуге.
- СингеЛауцхАцтивитиТестЦасе се користи за тестирање појединачне активности помоћу ИнструментатионТестЦасе.
- АцтивитиУнитТестЦасе <Ацтивити> користи се за тестирање појединачне изоловане активности.
- АцтивитиИнструментатионТестЦасе2 <Ацтивити> проширује класу ЈУнит ТестЦасе. Повезује вас да циљану апликацију користите инструментацијом. Помоћу ове класе можете приступити ГУИ компоненти апликације и послати УИ догађај (притисак тастера или догађај додира) на УИ.
Испод је пример АцтивитиИнструментатионТестЦасе. Проверава рад корисничког интерфејса апликације Калкулатор, проверава исправност излаза корисничког интерфејса.
Пример тестирања АцтивитиИнструментатионТестЦасе2
Оквир за роботичко испитивање
Тестирање помоћу Андроид Тестинг фрамеворк-а са уређајем или емулатором је тешко. Тест за изградњу и трчање је спор и захтева много напора за развој. Да бисте решили овај проблем, постоји још један избор - оквир за тестирање Роболецтриц .
Роболецтриц фрамеворк омогућава вам покретање Андроид тестова директно на ЈВМ-у без потребе за уређајем или емулатором.
Напредне карактеристике Роболецтриц-а
Роболецтриц Тест Цасе Класе
Операција Роболецтриц
- Као што је горе приказано, Роболецтриц може да изврши следеће радње:
- Региструјте се и направите класу Сенке
- Пресретните учитавање Андроид класе
- Користи јаваассист да замени тела метода класе Андроид
- Везати Схадов објект за Андроид класу
- Ово омогућава извршавање кода који се тестира без Андроид окружења.
Други оквир за тестирање
Поред горе поменутих оквира за тестирање, постоје и многи други оквири за тестирање, као што су:
- Андроид Јунит Репорт, прилагођени покретачки програм за тестирање инструмената за Андроид који генерише КСМЛ извештаје за интеграцију са другим алатима.
- Екпрессо
- Аппиум
Митови о Андроид тестирању
Многа предузећа развијају стратегије тестирања андроида засноване на уобичајеним заблудама. Овај одељак испитује неколико популарних митова и стварности Андроид тестирања.
Мит # 1: Сви Андроид уређаји су исти ... тест на емулаторима је довољан
Почнимо са једноставним примером. Апликација савршено ради на емулатору, али на неким стварним уређајима се сруши током извршавања
Апликација се руши током извршавања на стварном уређају
Емулатори нису довољни за ваше мобилно тестирање. Морате да тестирате своју апликацију на стварним уређајима.
Мит # 2: Тестирање на неким уобичајеним уређајима је довољно
- На различитим уређајима ваша апликација изгледа другачије јер различити уређаји имају различит хардвер, величине екрана, меморију итд. Морате да тестирате своју апликацију на различитим уређајима, верзијама ОС-а, мрежама оператера и локацијама.
Мит # 3: Довољно је истраживачко тестирање непосредно пре лансирања
- Генерално у свим тестирањима дизајнирамо случајеве испитивања, а затим их извршавамо. Али у истраживачком тестирању, дизајну и извођењу тестова све ће се радити заједно.
- У истраживачком тестирању нема плана и нема припреме, тада би тестер урадио тестове које жели да уради. Неке функције ће се тестирати више пута, док неке функције неће бити тестиране у потпуности.
Мит # 4: Ако у апликацији постоје неке грешке, корисници ће то разумети
- Ако апликација не ради и има грешке, корисници ће је деинсталирати
- Проблеми са квалитетом први су разлог лоше оцене на Гоогле Плаи-у. То утиче на вашу репутацију и губите поверење купаца.
Због тога је неопходно имати одговарајућу стратегију тестирања андроида
Најбоље праксе у Андроид тестирању
- Програмери апликација треба да креирају тестове истовремено када пишу код
- Сви тестови треба да се чувају у контроли верзија заједно са изворним кодом
- Користите континуирану интеграцију и покрените тестове сваки пут када се код промени
- Избегавајте употребу емулатора и укорењених уређаја