RoboHornet: новый подход к тестированию производительности браузеров

в 11:42, , рубрики: браузеры, Веб-разработка, тестирование, тесты производительности, метки:

RoboHornet: новый подход к тестированию производительности браузеровСинтетические тесты производительности вызывают много нареканий — меряют не то и не так, а результат тестирования часто имеет мало отношения к реальной скорости работы. Или ещё хуже — тест превращается в маркетинговый инструмент и неизменно показывает лучший результат в каком-то одном браузере. RoboHornet задуман, как тест, лишённый этих недостатков. Созданный в Google, 24 сентября он был опубликован на Гитхабе — его разработка будет вестись открыто. Система расчёта результатов тоже основана на краудсорсинге. Сообщество разработчиков путём голосования определяет, какие тесты необходимо включить в RoboHornet, и какой вес будет иметь каждый тест.

RoboHornet тестирует производительность JavaScript, DOM, Canvas, SVG, Local Storage и даже анимированных GIF-ов. Сообщество тестировщиков координируют так называемые "стюарды", среди которых — сотрудники Google, Facebook, Sencha, активные участники проектов YUI, HTML5 Boilerplate, jsPerf, jQuery и других. Идея, лежащая в основе RoboHornet, очень проста: любой популярный тест заставляет производителей стремиться к тому, чтобы их браузер показал в нём наилучшие результаты. Если создать и сделать популярным тест, который охватывает все важные аспекты работы веб-приложений, а не только JavaScript, или, например, Canvas — это будет способствовать более сбалансированному развитию браузеров.

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

RoboHornet пока в стадии ранней альфы, но стартовал довольно уверенно — среди стюардов такие авторитетные люди, как Пол Айриш и Иегуда Кац. Сайт Tom's Hardware, проводящий регулярные «заезды» браузеров Web Browser Grand Prix, уже прогнал новые тесты для всех основных браузеров на ОС Windows 7 и 8, Ubuntu 12.04.1, OS X Mountain Lion и Android 4.1.1

Не обошлось и без критики. Несмотря на то, что под Windows 8 десятый Internet Explorer показал отличный результат, уверенно обогнав всех конкурентов, Microsoft заявила, что считает этот тест совершенно бесполезным и далёким от реального мира. По словам директора по маркетингу Internet Explorer Роджера Каприотти, опубликовавшего 25 сентября в блоге разработчиков IE критический пост, в реальных условиях преимущества IE10 ещё выше.

В доказательство своих слов он привёл демо со скромным названием RoboHornet Pro, в котором тесты, входящие в RoboHornet, запускались параллельно с работой насыщенной анимацией веб-страницы. При этом Google Chrome подвисал и переставал реагировать на действия пользователя, а IE10 оставался отзывчивым и прокурчивал анимацию плавно. Что мешает разработчикам Microsoft поучаствовать в создании правильных, годных тестов в составе сообщества RoboHornet, а не на отдельной страничке корпоративного сайта, Каприотти не уточнил.

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

  • четырёхядерный 2.2GHz Intel Core i7
  • 500GB 5400-rpm HDD
  • видеокарта AMD Radeon HD 6750M с 512MB памяти GDDR5
  • 4GB ROM
  • Разрешение экрана 1440 на 900 пикселей
  • ОС: dual-boot Windows 7 Service Pack 1 + Mac OS X 10.8.1

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

Сейчас на официальном сайте RoboHornet.org можно пройти как полный набор тестов (каждый тест прокурчивается очень много раз, чтобы исключить влияние случайных факторов, так что на среднем железе весь процесс вполне может занять 5 — 10 минут), так и подмножества, подобранные так, чтобы соответствовать типичным запросам определённых веб-приложений и фреймворков — Google Maps, YUI, jQuery и других. Проголосовать за важные, по вашему мнению, тесты или предложить свои можно в репозитории проекта на Гитхабе.

Автор: ilya42

Поделиться

* - обязательные к заполнению поля