Перекрестное тестирование браузера на виртуальных машинах - проблемы?

Я - часть организации, в которой существует конкуренция среди некоторых очень компетентных людей относительно того, надежны ли, тестируя поведение перекрестного браузера на JavaScript интенсивные веб-приложения на виртуальных машинах (для IE6/7/8, FF2/3, Chrome на XP/Vista/7). Это использует сервер VMware на хосте поля Linux.

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

Мой вопрос сообществу, что такое опыт людей с этим? Там вера к заявлению, что VM излагают несоответствия, или они обычно - пятно - на надежном? Мы можем доверять им?

5
задан codemate2112 12 May 2010 в 17:13
поделиться

6 ответов

Единственные различия в работе на виртуальной машине и на реальной машине, на которые вам, возможно, придется обратить внимание, - это фактические различия в оборудовании. Преимущество использования виртуальной машины заключается в том, что все комбинации ОС будут работать на одном и том же виртуальном оборудовании - с одним и тем же ванильным «адаптером» VGA, с той же ванильной сетевой «картой» и т. Д. Однако для тестирования это также является помехой, поскольку это означает, что вы не тестируете реальное оборудование.

JavaScript, запущенный в браузере, обычно не должен заботиться о вашем оборудовании, но могут быть ситуации, когда могут быть заметны артефакты. Если ваш JavaScript использует расширенные функции браузера, такие как плагины, элементы управления ActiveX или функции отображения, такие как Flash, Silverlight, OpenGL или Canvas или что-то еще, или такие вещи, как воспроизведение видео или аудио, ваш код может быть чувствителен к аппаратным различиям между машинами, которые будут не проявляется при тестировании исключительно на однородных виртуальных машинах. Точно так же, если ваш JavaScript выполняет довольно низкоуровневые операции протокола передачи данных (отправка пакетов данных через XmlHttpRequest), различия между виртуальным сетевым стеком виртуальной машины и фактическим оборудованием и драйверами сетевой карты могут вызвать изменения во времени прибытия пакетов, отброшенные пакеты или, возможно, даже вышедшие из строя пакеты.

Наилучший курс действий IMO - это проводить большую часть вашего тестирования, возможно, даже все ваше автоматическое тестирование, на виртуальных машинах просто потому, что это более управляемо и более экономично, но также имеет бюджет и график для проведения некоторого тестирования. на совершенно разном оборудовании - как супер быстрые, так и супер ужасные видеокарты, встроенное аудио mobo, а также звуковые карты вторичного рынка, системы uniproc и multiproc и т. д.

2
ответ дан 18 December 2019 в 10:42
поделиться

Отличий нет. Мы запускаем службу кроссбраузерного тестирования и используем VMWare ESXi для всех конфигураций на базе Windows и Ubuntu. Браузеры под образом виртуальной машины визуализируются так же, как и под «настоящей» ОС.

0
ответ дан 18 December 2019 в 10:42
поделиться

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

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

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

6
ответ дан 18 December 2019 в 10:42
поделиться

VM - лучший способ. Другие варианты, такие как несколько IE, встречаются гораздо чаще. Лично мы используем. Virtual Box

3
ответ дан 18 December 2019 в 10:42
поделиться

Нет никакой разницы между ОС, работающей внутри виртуальной машины, и ОС, работающей на реальном металле!

Очевидно, как вы указываете, конфигурация ОС и приложения может затруднить параллельное сравнение.

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

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

  • ClearType?
  • Графический драйвер? Версия?
  • Разрешение экрана?
  • Шрифты установлены?
  • Память?
  • Версия браузера?
  • История просмотров браузера? (ресурсы для сброса css см. http://www.west-wind.com/Weblog/posts/490727.aspx )
2
ответ дан 18 December 2019 в 10:42
поделиться

Я никогда не видел разница в поведении между кодом в виртуальной машине и кодом на «реальном» ПК, которую я не мог напрямую приписать несоответствиям исправлений между базовыми операционными системами. Точно так же у меня был опыт работы в здании, где ровно один ноутбук с загадочной конфигурацией демонстрировал странное поведение, и не было найдено другой машины, которая могла бы делать то же самое. (Да, странное поведение Javascript в веб-приложении. Я вздрагиваю от воспоминаний об этом.)

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

3
ответ дан 18 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: