Кросс-браузерное тестирование на виртуальных машинах - проблемы? - PullRequest
5 голосов
/ 12 мая 2010

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

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

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

Ответы [ 6 ]

6 голосов
/ 12 мая 2010

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

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

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

3 голосов
/ 12 мая 2010

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

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

3 голосов
/ 12 мая 2010

ВМ это лучший способ. Другие варианты, такие как множественные различия IE, встречаются гораздо чаще. Лично мы используем Виртуальный ящик

2 голосов
/ 12 мая 2010

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

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

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

2 голосов
/ 12 мая 2010

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

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

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

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

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

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

...