Основы автоматизации тестирования для приложений, игр и мобильных Web

Мобильное приложение экосистемы — давайте посчитаем Android и IOS здесь — невероятно динамичный, но они также страдают от программного и аппаратного обеспечения фрагментации.

Это особенно верно для Android, но фрагментация существует также в ecosystem 1 , как опыт с развертыванием прошивкой 8. Как был выпущен последняя версия IOS, а были сделаны многие существующие приложениянеуклюжим обновленных устройств .

Даже новый iPhone 6 и iPhone 6 Plus были не столь типичный issues 2 для устройств Apple.Кроме того, значительная часть пользователей со старыми устройствами имеют очень мало вариантов: по существу, купить новое оборудование (то есть новое устройство), чтобы получить все работает хорошо .

В Android мире, все по-другому.Как производители запуск новых устройств, обновления программного обеспечения и настройки для своих устройств, приложений и игр разработчики получают серьезные headaches 3 пытается сохранить свои новейшие продукты проведешь и полностью совместим со всеми возможными вариантами устройства.Создание определенного приложения или игры работают только на устройствах высокого класса не может быть и вопрос, однако.Почему бы разработчик хотят упустить значительный кусок потенциальных пользователей

Automation enables simultaneous testing on hundreds of real devices 4
Автоматизация позволяет одновременное испытание на сотни реальных устройствах.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 6 )

Профессиональный автоматизированного тестирования программного обеспечения является решение общей проблемы: как производить высококачественные, надежные и надежное программное обеспечение с постоянно растущей сложностью технологии и под сильным давлением конкуренции. Автоматизированное тестирование программного обеспечения экономически эффективным solution к этой проблеме.Не говоря уже, что обеспечивает три преимущества для бизнеса:

  • Повышение эффективности тестирования,
  • Повышение эффективности тестирования,
  • Быстрый выход на рынок .

Эта статья идет через использование образец случае для автоматизации тестирования, и предоставляет загружаемый пример, чтобы вы начали.Кроме того, мы сосредоточимся на различных аспектах автоматизации мобильной тестирования и объяснить, как это относительно новый, но популярная тема может помочь мобильное приложение и разработчики игр, чтобы построить лучшие, более надежные продукты для потребителей.С передовой пример далее в статье, мы покажем, как распознавание образов может быть использована для проверки мобильных игр;В частности, мы будем запускать Тест automation__1 Appium в | 7 рамки, направленные против __30 сверхочаговых в | Столкновение Clan 8 игра для иллюстрации, как распознавание образов может быть построен в Test-Автоматизация процесса .

Автоматизации тестирования идеально подходит для мобильных приложений Development

Разработка мобильных приложений очень отличается от разработки программного обеспечения для ПК или даже встроенного программного обеспечения. Разработка мобильных предназначается, чтобы быть agile 9 , и много хороших средств и методов были разработаны для того ловкости.Тем не менее, делать что-то вручную — таких как тестирование приложений — никогда не проворным, поэтому автоматизация тестирования показали, огромный рост числа приложений и разработчиков игры, ускоряя свои действия и получая надежные и лучшие результаты .

Для обеспечения совместимости между пользователями, устройствами и рынка, в том числе автоматизации тестирования в рамках гибкой разработки process 10 является типичным.К счастью, много инструментов доступны, и автоматизация тестирования является идеально подходит для этого процесса.Например, скажем, ваш типичный спринт развитие двух недель.Вы должны ежедневно standups и много Scrum деятельности, а у вас есть внутренние политики, зубчатых развития до конечного продукта. Автоматизация тестирования предлагаетзначительная стоимость add позволяя тестирование должно быть сделано в параллельном — например, как ночные тестовых сессий.К утру следующего дня, испытания будут завершены и результаты последней регрессии будет готов для рассмотрения.Крепление вопрос ранее, будут экономить много времени и получить разработчикам доработать продукт раньше;самое главное, это накапливается к лучшему quality 11 , с меньшим количеством ошибок .

Value that test automation brings to agile process. 12
значение, автоматизация тестирования приводит к гибкой процесса.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 14 )

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

Вещи, которые следует учитывать при автоматизации мобильное приложение Testing

Давайте посмотрим на то, как автоматизация тестирования (в отличие от руководстватестирование) может улучшить процесс разработки, повысить ценность и ускорить развитие .

Затраты и Assets

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

Continous integration together with mobile app testing 16
Непрерывная интеграция вместе с мобильным тестирования приложения.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 18 )

Комплексное развитие приложение и тестирование Cycle

Повышение эффективности и производительности с автоматизацией на самом деле начинается с принятия нового мышления.Тесты программного обеспечения должны повторяться часто в течение всех циклов развития для обеспечения наилучшего качества приложения.Каждый раз, когда исходный код modified 19 , программное обеспечение испытания должны быть повторены.Для каждого выпуска, ваша программа должна быть проверена на всех поддерживаемых вариантов операционных систем и всеконфигурации аппаратных средств.Повторяя вручную эти тесты будет дорого стоить и времени.Например, запуск всесторонние испытания вручную на всех вариантах Android и на реальных устройствах займет много времени .

Инструменты и технологии: автоматизации тестирования Frameworks

Чтобы получить максимальную отдачу от ваших усилий и максимальный охват тестирования, выберите самый надежный и наиболее кросс-platform 20 метод.Что автоматизированные методы могут быть использованы как для проверки требований и снизить затраты за счет автоматизированной генерации тестовых случая хорошо известны.Тем не менее, полный автоматизация крупных программных сущностей также поставляется с ценой, что многие компании не были готовы платить.Исторически сложилось так, одна из причин была озабоченность по поводу отсутствия надлежащей интеграции с хорошо известными жизненными циклами развития .

Тестового покрытия и повторного использования: Открытые стандарты имею в виду не вендора In

Автоматизированное тестирование может увеличить глубину и объем испытаний и значительно улучшить качество программного обеспечения.Длительный и тщательные испытания — часто не выполнимо с ручным тестирования — может быть запущен автоматически.В идеале, тест случаи должны иметь полный доступ к приложению и проверьте все аспекты it 21 — содержимое памяти таблицы данных, содержимое файла и внутренние государственные программы — определить ведет себя ли продукткак и ожидалось.Автоматизированные тесты могут легко выполнить тысячи сложных тестов во время каждого теста run, обеспечивая охват, что просто не возможно с помощью тестирования.Разработчики, освобожденные от повторяющихся ручных тестов, будут иметь больше времени на создание новых случаев автоматизированного тестирования и создания более важных функций (и то больше тестов) .

Time to market for mobile web 22
( Просмотр большой version 23 )

Повышения эффективности и доработка Sooner

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

Различные способы автоматизации мобильных Testing

В общем, есть три способа автоматизации тестирования мобильных приложений .

Рукописная тест Scripts

Как правило, это лучший выбор, когда вы знаете, что вы делаете, и если у вас есть программно-способные люди делают тестовые скрипты.Множество вариантов доступны за рамки автоматизации тестирования, инструментов и интеграции — обоих предложений коммерческих и с открытым исходным кодом.Имея свой инженеры написать все сценарии тестирования займет некоторое время, и связать ресурсы, но это поможет вам именно то, что вы хотите: хорошо структурированные, подробные сценарии, которые проверяют именно те аспекты вашего приложения, которые вы хотите проверить .

Manual versus automated testing for mobile apps 24
Руководство по сравнению автоматизированного тестирования для мобильных приложений.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 26 )

Записи-воспроизведения Approach

Этот подход является менее подвержен ошибкам, потому ничего не должен быть написан в коде, но это, как правило, более ограничены в функциональности.Тесты могут быть быстро записаны и затем воспроизведены снова и снова против различных версий ОС и конфигураций устройств.Эти тесты сосредоточены на взаимодействие с пользователем и ориентированные на пользователя деятельности.Некоторые вещи могут упасть выходит за рамки тест (такие, как интеграция с другими технологиями и совместимость с другим программным обеспечением) .

Автоматический тест Exercisers

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

Сферы деятельности в тестировании для мобильных приложений и Games

Different ways to automate mobile app testing 27
Различные способы автоматизации мобильной тестирование приложения.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 29 )

Пользовательский интерфейс и Functionality

Пользовательский интерфейс и его общая функциональность будет непосредственно влиять насколько успешно ваше приложение или game 30 будет.Эти две вещи, которые охватывают внешнюю привлекательность и геймплей, являются наиболее важные вещи, чтобы получить право — и вы должны убедиться, что фрагментация устройство не нарушите какое-либо из них.Различные вещи в пользовательском интерфейсе должны быть проверены:

  • Макеты интерфейса и elementsИгры, как правило, особенно направлены на большое число различных разрешениях экрана и типов экрана.Регресс тестирование должно быть сделано каждый раз, когда изменения макета пользовательского интерфейса, чтобы убедиться, что игра работает .
  • Структура меню и functionsСтруктура меню Тестирование, функциональность и поведение могут быть автоматизированы при помощи приборов и с помощью различных механизмов тест-автоматизации .
  • Экран orientationУдивительно, но так много приложений и игр там получить это неправильно.Если ориентация экрана меняет во время взаимодействия, например, то, что происходит?Что должно произойти?Ли приложение или игру хорошо работать как в альбомной и портретнойРежимы
  • Экран resolutionМного разрешений экрана существует, особенно на Android, и автоматическое масштабирование обычно помогает разработчикам.Тем не менее, проверить свою игру через этих резолюций, чтобы обеспечить, что графика не растягивайте .

Графика Performance

Производительность должна соответствовать по всей variants 31 среди ваших пользователей.Из-за этого, испытать на столько реальных устройств, как это возможно.Чтобы определить, насколько хорошо ваше приложение или игра реагирует на различных уровнях использования, в том числе производительность и эффективность использования батареи, рассматривайте создания тестов, которые длятся в течение нескольких часов.Чтобы определить, работает ли ваша игра эффективно при высокой нагрузке в течение длительного времени, работать нагрузки (или стресс) испытаний.Эти тесты производительности будет измерять, например, как реагировать ваша игра на реальные устройства .

Performance testing of CPU load and memory consumption 32
Тестирование производительности загрузки процессора и потребления памяти.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 34 )

Юзабилити и опыт пользователя (т.е. хорошее развлечение)

Тестирование юзабилити, навигация потока и пользовательский опыт просто не может быть сделано на рабочий стол с помощью мыши и клавиатуры.Таким образом, забывайте эмуляторы и использовать только реальные devices 35 .И чтобы проверить, насколько удобным и развлекательных ваше приложение, рассмотрим эти две важные вещи:

  • Взаимодействие пользователя иresponsivenessТестирование производительности очень важно, потому что это сделает сделать перерыв или пользовательский опыт.Производительность задержки, например, легко подвергать с реальных устройств .
  • Справочная eventsПеребои расход заряда аккумулятора и эффект зарядные устройства на общей производительности и использования всех оказать существенное влияние на пользователей — и развлекательную ценность .

Features

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

Социальная Integration

Testing social integration in mobile apps 36
Тестирование социальной интеграции в мобильные приложения.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 38 )

Интеграция с социальными сетями является еще одним важным фактором.Будучи в состоянии поделиться чем-то по экосистеме, с друзьями или просто с самим собой, важно во многих приложениях.Проверьте это тщательно с реальными устройствами Android и IOS, с разными версиями ОС и различных конфигураций устройств, чтобы оценить функциональность и простоту использования .

Безопасность и Liabilities

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

Разбивка: Android автоматизации тестирования Frameworks

Comparison of test automation frameworks 39
Сравнение структур автоматизации тестирования.(Кредит изображения: Testdroid 68 54 40 37 33 28 25 17 13 5 ) ( Просмотр большой version 41 )

Robotium 42 является Android рамки автоматизации тестирования, который полностью поддерживает родные и гибридных приложений.Robotium позволяет легко писать мощные и надежные автоматические черного ящика тесты пользовательского интерфейса для приложений Android.При поддержке Robotium, разработчики тестового примера можете написать функцию, системы и тестовых сценариев на соответствие требованиям пользователя, охватывая различные виды деятельности для Android .

UIautomator 51 43 , по Google, обеспечивает эффективный способ, чтобы проверить интерфейсов.Это создает автоматизированного функционального тесты, которые могут быть выполнены с приложениями на реальных Android устройств и эмуляторов.Она включает в себя зрителя, который графический инструмент для сканирования и анализа компонентов пользовательского интерфейса в Android App .

Espresso 44 , поGoogle, является довольно новая система автоматизации тестирования, который получил с открытым кодом только в прошлом году, что делает его доступным для разработчиков и тестеров, чтобы выработать свои пользовательские интерфейсы.Эспрессо имеет API, который является маленьким, предсказуемой, легко учиться и построен на вершине Android приборов framework 45 .Вы можете быстро написать сжатые и надежные тесты для Android UI с ним .

Calabash 46 является основой автоматизации тестирования кросс-платформенный для Android и IOS отечественных и гибридных приложений.Простой для понимания синтаксиса кальян в позволяет даже нетехнических пользователей для создания и выполнения автоматизированных приемо-сдаточных испытаний для приложений на оба этих мобильных платформ .

А тут еще Appium.Хорошо, давайте в этой одной .

Appium: Выполнение тестов на реальных устройствах на облаке Service

В двух словах, Appium 47 является основой мобильного автоматизации тестирования (и инструмента) при родной, гибридных и мобильных веб-приложений для МО и Android.Он использует JSONWireProtocol 48 внутренне взаимодействовать с прошивкой и Android приложений с использованием WebDriver 49 .

В его архитектуре, Appium является HTTP-сервер, написанный в Node.js, которая создает и обрабатывает несколько сессий WebDriver.Appium начинает тесты по устройству и ожидает команд от главного сервера Appium.Это почти так же, как селен сервера, который получает HTTP запросы от селена клиентских библиотек .

В самом деле, Appium является довольно хорошим выб …

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.