Статьи

Создание лучшей сети с автоматическим тестированием на реальных устройствах

Автоматизированное тестирование на реальных устройствах

Эта статья была первоначально опубликована на Medium .

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

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

Несомненно, за последние пару лет у нас был ряд важных достижений, которые значительно улучшили то, как быстро мы можем передавать контент на устройства, но, в конечном счете, поскольку отрасль не сильно изменилась по сравнению с основной предпосылкой: «загрузите HTML, найдите другие ресурсы, а затем загрузите их ».

Борьба с динозаврами: "Ешь свои овощи!"

Слева: веб-разработчики, справа — интернет-пользователи.

Сегодня глобальный доступ в Интернет составляет где-то около 46,1% . То есть только половина населения этого прекрасного голубого мрамора, который мы называем домом, будет иметь грубое представление о том, что означает «тянуть, чтобы освежиться». Остальные? Ну, они не связаны, так что, вероятно, нет.

Если вы исследуете рост Интернета за последние три года, не займет много времени, чтобы обнаружить, что доступ в интернет в Индии растет такими темпами, которых мы никогда не видели прежде.

Только в 2016 году Индия впервые представила в Интернете 106 миллионов человек. Чтобы добавить некоторые перспективы, это около 290000 человек каждый день .

Это рост примерно на 30% по сравнению с 2015 годом, и если эти цифры снова совпадут в 2017 году (это весьма вероятно), это еще 140 миллионов человек .

Действительно, только 35% индийцев сегодня онлайн, а население составляет 1,2 миллиарда человек.

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

Немыслимо!

Использование мобильных устройств превзошло использование настольных компьютеров в течение 2014 года — 51,3% устройств, подключенных к Интернету, являются переносными . То, что портативные устройства, как правило, намного дешевле (и часто так же способны к повседневным задачам, как и их более дорогие и менее портативные аналоги, настольные компьютеры), не вызывает большого удивления.


Ищете больше о Дженкинс и непрерывной интеграции? Проверьте эти замечательные ссылки:

Посетите SitePoint Premium, чтобы узнать больше книг, курсов и бесплатных скринкастов.


Данные и связь

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

Количество отработанных часов для 500 МБ данных: Индия 17 часов; Бразилия 13 часов; Индонезия 6 часов; Германия 1 час

Индия возглавила рейтинг лидеров. Более 2 дней работы на полную ставку, чтобы получить план данных, который мы в западном мире посчитали бы «возможно, подходящим для ваших родителей».

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

Средняя скорость LTE: Германия 20,3 Мбит / с; Бразилия 19,68 Мбит / с; Индонезия 8,79 Мбит / с; Индия 6,39 Мбит / с

Независимо от средней скорости LTE у меня есть еще, пожалуй, шокирующие новости: 60% средних мобильных соединений в мире — 2G .

Это не просто «скорость 2G», это соединение 2G. На вашем iPhone вы могли видеть сеть, объявленную как «Edge», и все… ну, она перестала работать, верно?

Вы можете подумать: «Ну, почти у всех, кого я знаю, есть хотя бы подключение DSL… это должно быть лучше, чем скорости, которые я здесь читаю», и, к сожалению, это не совсем так.

Глобальная средняя скорость интернет-соединения? 7 Мбит / с ?

Mas Намасте, Индия

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

За несколько коротких месяцев Jio одним махом изменила облик подключения в Индии, а также то, что я считаю самой быстрой кривой роста клиентов в мире, которая поставила бы Силиконовую долину на колени (если бы они только знали других страны существовали ?).

С момента выхода на рынок Jio принудительно снизила тарифы до 80% .

Количество часов, отработанных на 500 МБ данных. До Джио: Индия 17, Бразилия 13, Индонезия 6, Германия 1; После Джио: Бразилия 13, Индонезия 6, Индия 4, Германия 1

Кривая роста, чтобы закончить все кривые роста

Компания коммерчески запустила свои услуги 5 сентября 2016 года. В течение первого месяца коммерческих операций Jio объявила, что приобрела 16 миллионов абонентов. Это самый быстрый рост среди операторов мобильной связи в любой точке мира. Jio пересекла отметку 50 миллионов подписчиков за 83 дня после ее запуска. Jio пересек 100 миллионов подписчиков 22 февраля 2017 года. Википедия

Подписчики

50 миллионов подписчиков менее чем за 90 дней. 100M менее чем за 6 месяцев. Я не могу пройти через эти цифры. Я повторяю их себе.

Не у всех есть iPhone

Прямо сейчас вы можете сидеть за красивым столом, используя Wi-Fi на компьютере, который стоит где-то в районе $ 1600–3000 долларов США, или, может быть, Android или iPhone по вполне приемлемой спецификации.

Учитывая, что вы, скорее всего, являетесь частью сообщества веб-разработчиков (эй, это моя аудитория), это не удивительно.

Помимо ваших родителей, у которых тот же сломанный компьютер, который был там, когда вы уходили из дома … у других людей есть нынешние модели машин, верно?

За последние несколько лет я много видел и слышал о фрагментации Android, но я не уверен, что когда-либо понимал это, пока не исследовал глобальные продажи смартфонов.

Оказывается, я никогда не слышал о ⅔ продаваемых телефонов.

Глобальные продажи смартфонов в первом квартале 2017 года: всего 379,9 млн.

Что меня поразило в этой статистике, так это не только огромное количество устройств (вы когда-нибудь пытались представить, сколько места займет 380 миллионов телефонов, если бы вы их сложили в комнате?), Но тем более, что я никогда не слышал о горстке этих поставщиков — которые продают более 200 миллионов устройств всего за три месяца. ?

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

Стратегия, которая мне нравится, это:

  • Тест с использованием реального оборудования. (И автоматизировать тестирование. Привет Калибр)
  • Протестируйте во всех основных браузерах для данного рынка.
  • Протестируйте, используя реалистичные средние условия сети для данного рынка.

Есть некоторая тонкость в тестировании на правильных устройствах, но, к счастью, Алекс Рассел был достаточно любезен, чтобы поделиться своим исследованием 2016 года, в котором он провел детективную работу, чтобы найти одно мобильное устройство, которое лучше всего представляло бы устройства в дикой природе, которое можно было купить сегодня и будет сделать надежный тестовый телефон в ближайшие годы. ?

Критерии для такого устройства следующие:

  1. Это устройство должно быть доступно по всему миру, доступно по цене, иметь минимальное количество вредоносных программ и, следовательно, низкий барьер для входа.
  2. Устройство должно будет немного опережать среднее значение 2016 года, чтобы сделать его достойным кандидатом на покупку в качестве тестового устройства. ( Инвестиция! )
  3. Nexus 5X не был вариантом из-за тепловой нестабильности. Иногда они действительно быстрые, а иногда медленные (A57 vs A53 Chipsets).
  4. В дикой природе существуют миллиарды Android-устройств, которые используют чипсет Qualcomm 28nm A53. Эти четырехъядерные процессоры есть везде, и к тому же практически не имеют кеша. Лучше выбрать устройство на этом чипсете.

Большинство пользователей получают телефоны через своего оператора, и устройства сильно различаются по демографии и географии.

Мото G4 характеристики

Этот телефон не сутул

После проведения этого исследования Алекс прибыл на Motorola G4 — который, по статистике, немного выше среднего. Есть несколько предостережений:

  • Настоящая медиана — это более медленный, более старый и дешевый телефон.
  • Moto G4 является отличным кандидатом на устройство, которое станет медианой в конце 2017 года, начале 2018 года. (Так что думайте об этом как об инвестициях.)
  • ОЗУ довольно много (2 ГБ) — память просто не стала дешевой. Вот почему действительно дешевые телефоны по-прежнему поставляются с 512 МБ-1 ГБ оперативной памяти.

Если вы разрабатываете и тестируете Motorola G4 начиная с сегодняшнего дня, и он работает «довольно хорошо», это будет удивительно для всех, кто использует новые, более мощные устройства. ?

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

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

автоматизация

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

Снимок экрана WebPageTest

WPT работает на настоящем Moto G4 в Даллесе, Вирджиния!

Калибр в реальном мире и цели эмуляции

Калибр также имеет ряд реальных устройств и целей эмуляции.

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

В отличной статье Адди Османи « Производительность при запуске JavaScript » он изучил время, затрачиваемое на синтаксический анализ (то есть анализ, а не выполнение) 1 МБ JavaScript на множестве устройств.

Разбор 1 МБ данных

Как вы заметите, время разбора сильно различается для разных устройств. Статья Адди очень важна . Пожалуйста, прочитайте это. ?

Сегодня 620Kb JavaScript — это глобальная медиана , которая звучит как много, но помните, это GZipped . Забудьте 620 КБ, это больше как 2–3 МБ разархивированного . На более медленном устройстве мы говорим о полной блокировке — почти без ответа в течение нескольких секунд.

Вот почему так важно тестировать на реальных устройствах, потому что ваш iPhone за 1000 долларов работает почти так же хорошо, как и достаточно новый Macbook Pro. Это не реальность.

Ваша работа: построение глубокого понимания пользовательского опыта

Я надеюсь, что информация, которую я вам передал, дала вам то, на что вы можете указать, топайте ногами и говорите: «Нам нужно делать лучше», потому что это правда. Мы делаем.

Природа сети — это изменение. Здесь нет констант. Опыт сильно варьируется в зависимости от контекста.

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

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

Мы должны прекратить оптимизацию для компьютеров за 3000 долларов с быстрым подключением.

Если вы загляните за пределы своего пузыря, то обнаружите, что мы просто не слишком стараемся создать красивые, быстрые, эффективные и восхитительные пользовательские интерфейсы для наших любимых «пользователей».

Я уверен, что никто не подписался на создание богатой западной сети. Мы все создаем для Всемирной паутины, и пришло время, чтобы мы, как сообщество, начали действовать таким образом. ?

✨ Сделать Интернет быстрым для всех. ✨


Огромные аплодисменты моих друзей и героев, которые помогли мне подготовить эту информацию: Каролина Щур , Адди Османи , Алекс Рассел и Брюс Лоусон .

Эта статья была первоначально опубликована на Medium .