eWeek Labs: Mobile Internet Testing Environment компании Keynote помогает проверить, что созданное интернет-приложение будет нормально работать у большинства мобильных пользователей.

Компания Keynote поставляет Mobile Internet Testing Environment, или MITE — инструмент тестирования производительности, устанавливаемый на настольном ПК и измеряющий качество функционирования мобильных веб-сайтов с учетом широкого круга мобильных устройств. При том многообразии мобильной аппаратуры, что имеется на руках персонала организаций и их клиентов, MITE может помочь разработчикам добиться, чтобы их веб-приложения правильно работали у подавляющего большинства мобильных пользователей.

Я протестировал MITE в версии 2.1 с несколькими мобильно-ориентированными сайтами и приложениями, включая наш собственный блог eWeek Labs, мобильная версия которого использует популярный плагин WPtouch Wordpress. Качество функционирования сайтов замерялось при их интерактивном просмотре, а также посредством записанных сценариев, которые я проигрывал через интерфейс MITE.

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

Каталог эмулируемой MITE аппаратуры впечатляет своим объемом, хотя нескольких конкретных устройств, например 10-дюймового планшета Samsung Galaxy Tab и плейера iPod touch с iOS 4.x, я там не нашел. В режимах просмотра сайтов и воспроизведения сценариев продукт, по моему мнению, работает хорошо и прост для применения, только хотелось бы иметь ещё возможность переключать интерфейс между книжным и альбомным режимами. Доступ к агентам дистанционного тестирования временами давал сбои, но, как я убедился, это тоже ценная функция.

Начальную версию MITE можно загрузить бесплатно и использовать под Windows XP, Vista и Windows 7. Отдельно предлагается версия MITE Pro, в которую добавлены функции автоматизированного тестирования и проверки веб-производительности в беспроводных соединениях через удаленную контрольную сеть Keynote.

MITE в действии

Начальное освоение MITE — дело несложное. Я щелкнул на панели инструментов MITE кнопку “Browse Website”, ввел тестируемый URL и выбрал профиль интересующего мобильного устройства. В списке MITE Pro присутствует целых две тысячи профилированных устройств, однако при выборе можно воспользоваться окошком фильтра, позволяющим легко найти искомый профиль.

Помимо идентификаторов устройства — включая производителя, модель, торговые наименования, версии ПО и даты выпуска — каждый профиль содержит текстовую строку клиентского агента, посредством которой устройство информирует о себе веб-сервер, а также главные характеристики производительности, например максимальное число одновременно загружаемых изображений и поддерживаемые устройством свойства JavaScript.

В MITE входит графический движок на базе Webkit для экранной визуализации контента в соответствии с формой, размерами и ориентацией эмулируемого устройства.

При запуске сеанса просмотра сайта появляется изображение выбранного устройства, очень похожее на картинки эмуляторов, поставляемых с пакетами разработки ПО для мобильных устройств (SDK). Одним из первых я выбрал для проверки профиль планшета PlayBook, выпускаемого RIM, и меня удивило отсутствие возможности переключить ориентацию эмулируемого устройства с книжной на альбомную.

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

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

Контроль оценок

В ходе тестов я поглядывал на правую колонку интерфейса MITE с информацией о производительности загрузки просматриваемой веб-страницы. ПО выводит основную статистику по странице, в частности количество загруженных байтов и время загрузки. Оно предлагает также оценку “MITE Score” от 1 до 100 баллов исходя из типа контента и характеристик производительности, таких как правильное определение размера изображения, использование кэша и недогрузка элементов страниц.

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

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

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

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

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