Стратегия мобильного тестирования в трех шагах |
26.03.2019 00:00 |
Автор: Дэниэл Нотт (Daniel Knott) Раньше, покидая квартиру, вы убеждались, что ваши ключи и бумажник при вас. Сегодня вы в первую очередь проверите, а взяли ли вы смартфон. На него возложено столько ежедневных задач, что мы без него буквальным образом неполноценны. Согласно данным GSMA, 5 миллиардов людей в мире пользуются смартфонами и мобильными телефонами – это 2/3 населения планеты. Ни одно устройство в истории человечества не может похвастать таким стремительным проникновением на рынок. Мобильные устройства влияют на целые области жизни, а приложения сейчас (явно или неявно) встраиваются в автомобил, часы, браслеты, домашние приборы. Мобильные устройства вездесущи, и множество ежедневных задач неразрывно связано с идеальной работой приложений, поэтому пользователи мобильных устройств имеют высочайшие ожидания в вопросе качества этих приложений. Компании это осознают, начиная выставлять мобильным приложениям наивысший приоритет. Я набросал трехшаговую инструкцию, как создать стратегию тестирования вашего мобильного приложения. Сложности мобильного тестирования Одна из основных сложностей, с которой должна справиться команда – это фрагментация устройств. На рынке более чем 25 тысяч Android-устройств – добавим сюда более сжатый, но все-таки сложный рынок устройств на iOS, и вы получите сложную проблему фрагментации. Пользовательская мобильность еще больше усложняет ситуацию: приходится учитывать такие переменные, как геолокация, погодные условия, предпочтительная сеть… Шаг 1. Определите, кто ваш пользователь Зная это, команда может выбрать наиболее релевантные смартфоны и мобильные устройства из базы своих клиентов, и сгруппировать их по приоритетности. В результате снизится необходимое для разработки и тестирования тестовое покрытия. Вам останется только решить, будете ли вы покупать все устройства, использовать бета-тестирование внутри сообщества, или пробовать крауд-тестовую платформу. Команде нужно выбрать один из этих вариантов, или использовать все понемногу. Тут важно помнить, что тестирование на симуляторах и эмуляторах не должно быть единственным способом тестирования. Такое тестирование отлично годится для ранних стадий разработки, но когда дело доходит до тестирования реальных пользовательских сценариев, необходимо использовать реальные устройства. Шаг 2. Определите и соберите требования к вашему приложению. При помощи дизайнера (лучше интерактивного) и пользователей соберите требования, необходимые для определения возможных тестовых сценариев. На основании этих сценариев ваша команда будет решать, какие устройства будут использоваться, какие тестовые данные нужны для имитации пользовательского поведения, и в каком окружении будет тестироваться продукт. Вот примерные сценарии:
Такие сценарии помогут вам сфокусироваться на критических местах приложения и приоритезировать задачи в процессе разработки. Шаг 3. Определитесь с подходом к тестированию мобильного приложения. Создание стратегии тестирования мобильного приложения – это сложный процесс, но если вы можете ответить на нижеперечисленные вопросы – вы на правильном пути.
Автоматизация мобильного тестирования играет важную роль на протяжении всего жизненного цикла приложения. Однако это непростая задача, которую не стоит недооценивать. Размышляя о мобильной автоматизации, держите в уме пирамиду автоматизации и решите, на каком уровне вы будете автоматизировать ваши фичи. Не все можно автоматизировать, если учитывать мобильность пользователей. В зависимости от сценария использования приложения уровень end-to-end тестов может быть для вас недоступен. Поэтому очень важно определить, какие фичи сложно или невозможно автоматизировать. Их придется тестировать вручную перед каждым релизом. Выполняя ручное тестирование, важно протестировать приложение в том окружении, в которым им будут пользоваться ваши клиенты. Таким окружением может быть ежедневная поездка на поезде, путешествие в леса, или участие в спортивных состязаниях. Как было упомянуто ранее, крауд-тестирование и бета-тестирование могут вам с этим помочь. Если приложение использует функции устройства – например, камеру или сенсоры – эти функции должны быть частью тест-стратегии и приоритезироваться согласно пользовательским сценариям. Тестируя функциональность, завязанную на устройство, важно охватить широкий список этих устройств, чтобы покрыть различные компоненты железа. И последнее (но не менее важное): команда мобильной разработки должна учитывать нефункциональные требования к приложению. Вот о чем тут стоит подумать:
Важно учитывать эти требования на этапах дизайна, разработки и тестирования. Лучше предотвратить, нежели лечить По мере продвижения ПО по жизненному циклу стоимость исправления багов возрастает по экспоненте. Внятная стратегия мобильного тестирования поможет выловить баги на ранних стадиях, сохраняя скорость, гибкость и эффективность всех процессов. Перестаньте экономить на качестве, найдите время, чтобы выбрать подходящий подход к тестированию. Решения, которые вы примете сейчас, будут очень значимы позже. |