Первую часть интервью с Даниэлем об особенностях тестирования мобильных приложений можно прочитать
здесь.
Напомним, Даниэль Нотт – специалист в области мобильного тестирования с более чем десятилетним опытом работы в разработке и тестировании ПО, участник различных конференций, автор блога и нескольких книг по тестированию.
Даниэль, в своей книге о тестировании мобильных приложений (Hands-On Mobile App Testing) вы говорите о пирамиде тестирования. Можете рассказать о ней нашим читателям?
Конечно. Пятая глава книги посвящена пирамиде автоматизации тестирования. Думаю, пирамида Майка Коэна известна многим разработчикам и тестировщикам. В основании данной пирамиды лежат модульные тесты, на втором уровне – интеграционные, а у самой вершины находятся системные тесты.
Размер каждого уровня указывает на то, сколько автотестов должно быть написано. Так, следуя данной модели, вам понадобится написать множество модульных тестов. Все они небольшие и быстрые в исполнении. Затем потребуется много интеграционных тестов для того, чтобы проверить целостность меньших модулей. Ну и в конце, придется написать несколько системных тестов для того, чтобы убедиться, что каждый уровень системы работает соответственно первоначальным ожиданиям.
Несмотря на наглядность пирамиды, она является исключительно теоретической моделью и примером для разработчиков и тестировщиков. На мой взгляд, она категорически не подходит для тестирования мобильных приложений.
Как будет выглядеть пирамида мобильного тестирования?
Чаще всего, мобильные приложения используются на ходу: по дороге на работу, во время шоппинга, прогулки. В каждом из случаев разными будут параметры интернет-соединения и погодные условия, которые влияют на функционирование приложения. В связи с этим, традиционная пирамида не отвечает требованиям тестирования
мобильных приложений.
На мой взгляд, в основании мобильной пирамиды должно быть ручное тестирование. Только благодаря ручному тестированию можно создать успешное мобильное приложение. Важно также, чтобы тестирование проводилось в реальных условиях. Имитация среды – не самая удачная идея, которая может привести к тому, что качество продукта в итоге будет достаточно низким.
Уровнем выше будут находиться сквозные (E2E) тесты, направленные на проверку работы серверной части, соединения и пользовательского интерфейса.
Следующим будет этап бета-тестирования. Это тоже вариант ручного тестирования, но с привлечением реальных пользователей. Постарайтесь привлечь как можно больше участников бета-тестирования, чтобы получить отзывы от будущих пользователей, прежде чем выпускать продукт на рынок.
На самой вершине пирамиды находятся модульные тесты. Звучит странно, но поверьте, писать модульные тесты для мобильных приложений не так просто, как для веб-сервисов или веб-приложений. Широкий диапазон интерфейсов и систем управления требуют привлечения большего объема ресурсов для создания рабочих тестов.
Так я представляю свою пирамиду для тестирования мобильных приложений. Замечу, что мой вариант является лишь примером, на который можно опираться при разработке собственного процесса тестирования.
Даниэль, в начале года вы опубликовали книгу о тестировании приложений для смарт-часов (Smartwatch App Testing). В ней вы сравниваете различные платформы для умных часов, способы проектирования, разные методы ввода, типы соединения, производителей и программные свойства продуктов. Почему вы решили осветить эту тему?
Я никогда не ставил перед собой цели написать электронную книгу. Мной двигал интерес к новинкам на рынке мобильных технологий, в том числе смарт-часам. Свои первые умные часы Samsung Gear S2 я приобрел в конце 2015 года и остался доволен данной моделью. Позже мне захотелось узнать больше об устройствах watchOS, Pebble OS и Android Wear.
К счастью, у меня была возможность протестировать эти модели, и результатами я поделился в своем блоге. А потом ко мне пришла мысль: «Почему бы не собрать все наблюдения вместе в формате небольшой электронной книги?» Так появилась эта книга, опубликованная на LeanPub.
Каковы общие особенности тестирования приложений для смарт-часов?
Большинство платформ для смарт-часов невозможно тестировать без сопряженного мобильного устройства. Поэтому первостепенная задача – настроить рабочее соединение между часами и платформой для обмена данными.
Другим важным аспектом является юзабилити. Небольшой размер экрана умных часов рассчитан на отображение только самой необходимой информации. В таких условиях пользовательский интерфейс должен быть спроектирован так, чтобы максимально эффективно отображать необходимые действия.
Также не стоит забывать о том, что управлять часами можно при помощи жестов или голосовых команд. За время изучения смарт-часов я выделил четыре ключевых аспекта, на которые стоит обращать внимание при тестировании:
- Дизайн
- Юзабилити/взаимодействие
- Функциональность
- Соединение
Что вы можете посоветовать мобильным тестировщикам?
Не переставайте пробовать. Устанавливайте приложения на свой смартфон, изучайте их в действии, анализируйте. Ну и, конечно, читайте и будьте в курсе всех модных веяний в мобильном мире.