С нами просто и выгодно!

Звоните: +7 925 357-32-80

Как в Microsoft готовят IE10

В компании Microsoft серьёзно взялись за проблемы отставания своего интернет браузера. Чтобы сделать конкурентоспособным Internet Explorer 9, потреболись колоссальные усилия, а браузер Internet Explorer 10 должен стать самым быстрым браузером.

Для тестирования разработки была создана специальная лаборатория: построенна закрытая локальная сеть, в которой производятся тестирование: более 20000 тестов в день на 140 машинах, сбор около 850 метрик с шагом всего в 100 мс.

Средний пользователь Windows проводит в браузере больше половины времени. Если браузер работает медленно, то пользователь не сможет работать так же комфортно, как в основной системе, в которой он проводит 90% всего времени. В Windows 8 скорость работы Internet Explorer ещё важнее, поэтому что с его помощью написнан интерфейс метро и приложения для этого интерфейса (при помощи HTML и JAVASCRIPT).

С другой стороны, Internet Explorer и Firefox, быстро теряют позиции под натиском Google Chrome, который обладает почти исключительной скоростью. Internet Explorer 9 до некоторой степени изменил текщую ситуацию на рынке браузеров и выход Internet Explorer 10 должен изменить ситуацию к лучшему.

  • Диаграмма оценки производительностиДиаграмма оценки производительности

На диаграмме показан процесс тестирования 9 и 10 версий браузера после каждого изменения кода. По данным Microsoft, тестирование проходит в серднем 200 раз в день, производятся более 5,7 млн измерений и охватывает 850 дискретных параметров (TCP пакетов, использования GPU, время отрисовки, и т.д.) и 480 ГБ передаваемых данных. Эти данные анализируются на 11 серверах и могут быть визуализированы для оценки влияния изменений кода.

Установки

Лабаратория Microsoft представляет собой интернет в миниатюре, содержит веб-сервера, DNS-сервера, эмуляторы сети и клиентские машины. Так же в сети имеются различные коммуникации сети (беспроводные и проводные сети, узлы под NAT и т.п.)

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

Используется разнообразный парк клиентских машин, которые разбиты на категории высоко-, средне- и низкопроизводительных. Охватывает различный парк архитектур, таких как 64х компьютеров, комьютеров на процессорах Atom и планшетов на ARM. Большинство аппаратного обеспечения всегда находятся под определенной нагрузкой, таким образом, производительность системы находятся на неизменном уровне. Очевидно, что данная модель сильно отличается от реальной сети интернет, в которой возможны задержки и потеря пакетов, но система предусматривает приближенную эмуляцию данных ситуаций.

В лаборатории очень большое внимание уделяется деталям. Перед каждым тестирование произодится полная переусановка ОС (Windows Vista, 7 или 8). В случае, если тест провален (ошибка при сборке, оборудование вышло из строя и пр.) тест проводится снова, причем с самого начала. Вышедшее из строя оборудования выбрасывается, а ему на замену ставится точно такое же. Все перечисленные меры необходимы, чтобы можно было сравнивать результаты любого тестирования, а не только тех, которые были проведены за определенный интервал времени.

Тестирование

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

После тестирования все результаты сохраняются и отправляются для централизованной обработки.

Реальный цикл тестирования намного сложнее и его можно посмотреть на схеме:

  • Схема тестированияСхема тестирования

Конкуренты

В лаборатории прекрасно понимают, что в реальности все тесты показывают лишь общую производительность — это не совсем то, что ожидает от браузера конечный пользователь. В реальности, производительность каждого браузера, будь то Firefox, Internet Explorer 9 или Chrome настолько высоки, что незначительный проигрыш или выигрыш в скорости будут не столь заметны конечному пользователю. Конечному пользователю очень важны дополнения, синхронизация и множество других функций, которые уже есть в Firefox или Chrome, но до сих пор они слабо развиты в Internet Explorer.

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

Источник