Научная статья на тему 'СРАВНЕНИЕ ИНСТРУМЕНТОВ ДЛЯ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ОС ANDROID'

СРАВНЕНИЕ ИНСТРУМЕНТОВ ДЛЯ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ОС ANDROID Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
446
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ / ПРОГРАММИРОВАНИЕ / ANDROID / АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ / ИНСТРУМЕНТЫ ДЛЯ ТЕСТИРОВАНИЯ / КРОССПЛАТФОРМЕННОСТЬ / СТРАТЕГИИ ТЕСТИРОВАНИЯ / ФРЕЙМВОРК / MOBILE APPLICATIONS / PROGRAMMING / TEST AUTOMATION / TESTING TOOLS / FRAMEWORK / CROSS-PLATFORM / TESTING STRATEGIES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Михалевская К.А., Сергачева М.А.

В данной статье рассмотрены случаи целесообразности перехода от ручного тестирования к автоматизированному в ходе разработки мобильного приложения на ОС Android. Проведен анализ основных инструментов автоматизации тестирования.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Михалевская К.А., Сергачева М.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «СРАВНЕНИЕ ИНСТРУМЕНТОВ ДЛЯ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ОС ANDROID»

- взимание платы на платных участках дорог;

- оперативное и эффективное информирование дорожных служб.

Список литературы:

1. Бекмагамбетов М. М. Интеллектуальные транспортные системы в Республике Казахстан. - Алматы, 2013. - 408 с.

2. Скалозуб В. В. Прикладной системный анализ интеллектуальных систем транспорта [Текст]: пособие / В. В. Скалозуб, В. М. Ильман. - Д.: Изд-во Днепропетр. нац. ун-та ж.-д. трансп. им. акад. В. Лазаряна, 2013. - 221 с.

3. Николаев А. Б. Автоматизированные системы обработки информации и управления на автомобильном транспорте. - М.: Академия, 2003 - 224 с.

4. Интеллектуальные транспортные системы железнодорожного транспорта (основы инновационных технологий) - Д.: Изд-во Днепропетр. нац. ун-та ж.-д. трансп. им. акад. В. Лазаряна, 2013. - 207 с.

5. Кабашкин И. В. Интеллектуальные транспортные системы: интеграция глобальных технологий будущего // Транспорт Российской Федерации. - 2010. - №2 (27). - 34 c.

6. Ходжаев У., Томас П. Система 1ТС5. Интеллектуально-интервальное управление движением. -Связь и информатика. 2006. - № 8 - 489 c.

7. Горев А. Э. Основы теории транспортных систем: учеб. пособие / А. Э. Горев. СПбГАСУ. - СПб., 2010. - 214 с.

8. Журнал о цифровом видеонаблюдении, IP-решениях, системах безопасности. №3 2009 г. - 53 с.

References:

1. Bekmagambetov M.M. Intelligent transport systems in the Republic of Kazakhstan. - Almaty, 2013. 408 p. (In Russian).

2. Skalozub V.V. Applied system analysis of intelligent transport systems [Text]: manual / V.V. Skalozub, V.M. Ilman. - D.: Dnipropetrovsk National University of Railway Transport named after Academician V. Lazaryan Publ., 2013. 221 p. (In Russian).

3. Nikolaev A. B. Automated information processing and control systems in automobile transport. - M.: Academy, 2003. 224 p. (In Russian).

4. Intelligent transport systems of railway transport (foundations of innovative technologies) [Text]: manual / V. V. Skalozub, V. P. Soloviev, I. V. Zhukovitsky, K. V. Goncharov. - D.: Dnipropetrovsk National University of Railway Transport named after Academician V. Lazaryan Publ., 2013. 207 p. (In Russian).

5. Kabashkin I.V. Intelligent transport systems: integration of global technologies of the future // Transport of the Russian Federation. - 2010. - №2 (27). 34 p. (In Russian).

6. Hodjaev U., Thomas P. System 1TS5. Intellectual-interval motion control / U. Khojaev, P. Thomas // Automation, communication, in-format. 2006. - No. 8. 489 p. (In Russian).

7. Gorev, A. E. Fundamentals of the theory of transport systems: Study guide [Osnovy teorii transportnyh system: Ucheb. posobie]. St. Petersburg, SPbGASU publ., 2010, 214 p. (In Russian).

8. Magazine on digital video surveillance, IP-solutions, security systems. № 3 2009. 53 p. (In Russian).

СРАВНЕНИЕ ИНСТРУМЕНТОВ ДЛЯ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ МОБИЛЬНЫХ

ПРИЛОЖЕНИЙ НА ОС ANDROID

Михалевская К.А.

студент кафедры «Графические информационные системы»,

НГТУ им. Р.Е. Алексеева, 603087, РФ, Нижегородская область, г. Нижний Новгород,

ул. Верхне-печерская, дом №7/2 Сергачева М.А.

студент кафедры «Графические информационные системы»,

НГТУ им. Р.Е. Алексеева, 603115, РФ, Нижегородская область, г. Нижний Новгород,

ул. Белинского 11/66

Аннотация. В данной статье рассмотрены случаи целесообразности перехода от ручного тестирования к автоматизированному в ходе разработки мобильного приложения на ОС Android. Проведен анализ основных инструментов автоматизации тестирования.

Abstract. In this article we consider cases of expediency of transition from manual testing to automated testing in the course of development of mobile application on Android OS. The analysis of the main tools of testing automation has been carried out.

Ключевые слова: мобильное приложение, программирование, android, автоматизация тестирования, инструменты для тестирования, кроссплатформенность, стратегии тестирования, фреймворк.

Keywords: mobile applications, programming, android, test automation, testing tools, framework, cross-platform, testing strategies.

Автоматизация тестирования позволяет обеспечить качество мобильного приложения, что способствует ускорению процесса тестирования, повышению производительности проекта и удовлетворенности потребителя, улучшению качество ПО, исключению человеческих рисков [1].

Целесообразнее всего производить автоматизацию тестирования в случаях, когда:

• приложение комплексное;

• выполнение тест-кейсов занимает много времени и ресурсов;

• осуществляется нагрузочное или стресс-тестирование;

• необходимо сократить объем тестирования.

Специалистам рациональнее передать трудоемкие процедуры утилитам, а не проводить их вручную, использовать ранее недоступные методы тестов [21.

Существует множество инструментов автоматизации тестирования мобильных приложений (рис. 1), которые помогут в ходе разработки. Рассмотрим некоторые из них.

Рис. 5. Стек автоматического тестирования

UI Automator

UI Automator разрабатывается компанией Google и имеет хорошую документацию. Инструмент не требует внедрения своего кода в проект, позволяет использовать возможности Android полностью. У UI Automator есть утилита UI Automator Viewer, которую можно запустить с помощью командной строки. Если у нас есть подключенный девайс, то программа должна начать искать локаторы.

Утилита позволяет получать данные об элементах в приложении и показывать локаторы элементов, где локатор - строка, которая уникально идентифицирует UI-элемент. Клик мышкой - действие над конкретным объектом, который имеет определенные параметры. В программе происходит движение курсора по осям х и у. Нужно четко указывать нужные UI-элементы, которые находят в дереве иерархии. Главное предназначение UI Automator — тестирование «черного ящика».

Рис. 6. Интерфейс утилиты UI Automator

Espresso

Для новичков является более легким, в сравнении с рассмотренным ранее UI Automator, так как сам интерфейс Espresso добавляет подходящие методы для проверок в автотестах.

Окажется полезным владеть двумя инструментами для одного проекта, ведь UI Automator и Espresso являются частью одной библиотеки и взаимно дополняют друг друга. Особенностью этого инструмента является то, что в течение теста приложение можно запустить только один раз. Для автоматизатора это будет плюсом. Также эта особенность позволяет избежать сетевую задержку и увеличить скорость.

Espresso взаимодействует напрямую с кодом и имеет прямой доступ к ресурсам и коду приложения. За счет этого можно использовать мок и внедрять свой код в приложение, что на практике послужит большим удобством.

Selendroid и Robotium

Инструменты были разработаны еще до официальных утилит от Google и актуальны в настоящее время. Они не запрашивают доступ к исходному коду и обращаются только к одному проекту.

Помимо этого, Selendroid и Robotium работают на девайсах и эмуляторах. Selenoid позволяет использовать большую часть языков программирования, в то время как для Robotium тесты пишутся исключительно на Java.

Стоит отметить, что утилиты от Google развиваются более активно и умеют более широкую аудиторию, чем Selendroid и Robotium. Но несмотря на это, есть ряд компаний, которые используют эти инструменты. По Selendroid можно найти множество вебинаров, и он считается более популярным инструментом для тестирования, чем Robotium [61.

Appium

Appium является инструментом для автоматизации с открытым исходным кодом, который представляет из себя веб-сервер, написанный на Node.js. Его основной принцип состоит в том, что нет необходимости в повторной компиляции проекта или изменения для автоматизации тестирования. Кроме того, можно использовать различные языки программирования или фреймворки.

Преимущества:

• базируется на протоколе WebDriver, который позволяет тестировать мобильные сайты;

• широкая поддержка сообщества на github;

• кроссплатформенность.

Специалистам с навыком тестирования веб-приложений будет проще перейти на автоматизацию тестирования мобильных приложений с помощью Appium [31.

Ranorex

Ranorex - это платная IDE. Её преимущество в том, что новичкам можно проводить тестирование без использования скриптов.

Инструмент позволяет упрощать создание надежных тестов. Он автоматически создает новый объектный файл страницы на основе настраиваемых шаблонов с использованием лучших практик для автоматизации тестирования. Тестировать можно и через эмуляторы, и через «живые» девайсы. Стоит отметить легкую интеграцию с CI-средой и системами контроля версий [5].

Рис. 7. Настройка Ranorex

Ручное тестирование

А теперь рассмотрим случаи, когда тестирование лучше произвести вручную. Во-первых, при ручном тестировании информацию о качестве разработки продукта и его состоянии можно получить гораздо

быстрее. Незначительные изменения можно внести в режиме реального времени без написания дополнительного кода. Также ручное тестирование не требует глубоких знаний в области QA.

На этапе создания дизайна можно проверить макеты на полноту и убедиться в отображении всего функционала на основе технического задания.

Затем необходимо проверить макеты на соответствие Material Design.

Рис. 4. Material Design

В процессе разработки также проводится регрессионное тестирование, целью которого является проверка рабочего состояния продукта. Поскольку с добавлением нового функционала можно обнаружить, что приложение стало работать некорректно. На примере можно увидеть, как реализованы новый функционал (рис. 4).

Рис. 5. Переход по табам

Вывод

Прежде чем приступить к плановому ручному тестированию, следует ознакомиться с перечисленными выше инструментами. У каждого из них есть свои преимущества и недостатки. Данная таблица призвана облегчить выбор наилучшего инструмента для вашего случая автоматизации тестирования.

Табл. 1.

Сравнение инструментов для автоматизации тестирования

Инструмент Тип Языки Доступ к исходнику >1 приложения

UIAutomator Драйвер Java/Kotlin Нет Да

Espresso Драйвер Java/Kotlin Да Нет

Selendroid Драйвер Любой Нет Нет

Robotium Драйвер Java Нет Нет

Appium Надстройка Ruby Python Java JavaScript PHP C# (.NET) Нет Да

Robot Framework

Ranorex Комбайн C# VB.NET Нет Да

Инструменты тестирования постоянно развиваются, поэтому важно проверять актуальную документации [4].

Список литературы

1. 11 инструментов для тестирования мобильных приложений [В Интернете] // Tproger. - 19 август 2016 г.. - 14 март 2020 г.. - https://tproger.ru/digest/11-tools-for-mobile-testing/.

2. https://spark.ru/startup/componentix/blog/4801/20-instrumentov-dlya-testirovaniya-mobilnih-prilozhenij [В Интернете] // Спарк. - 21 сентябрь 2014 г.. - 11 март 2020 г.. -https://spark.ru/startup/componentix/blog/4801/20-instrumentov-dlya-testirovaniya-mobilnih-prilozhenij.

3. Автоматизация мобильных приложений на базе Appium [В Интернете] // Хабр. - 21 август 2016 г.. - 12 март 2020 г.. - https://habr.com/ru/company/dataart/blog/308180/.

4. Арсений Батыров Mobile QA тренер Путеводитель по инструментам автотестирования мобильных приложений [В Интернете] // Тестирование ПО. - 02 январь 2018 г.. - 15 март 2020 г.. - https://software-testing.ru/library/testing/mobile-testing/2735-mobile-autotesting.

5. Батыров Арсений Путеводитель по инструментам автотестирования мобильных приложений [В Интернете] // badoo tech. - 01 февраль 2018 г.. - 13 март 2020 г.. -https://tech.badoo.com/ru/article/425/putevoditel-po-instrumentam-avtotestirovaniya-mobilnyx/.

6. Лучшие инструменты для тестирования мобильных приложений [В Интернете] // EasyQA. - 19 апрель 2020 г.. - 15 март 2020 г.. - https://geteasyqa.com/ru/blog/best-mobile-testing-tools/

i Надоели баннеры? Вы всегда можете отключить рекламу.