Ответ 1
Я не думаю, что вы можете сделать что-то другое, кроме как тестирования как единичных тестов, так и стресс-тестов с максимально возможными комбинациями факторов.
Это характер так называемого Mandelbugs.
Недавно мне было предложено помочь отладить проблему с веб-сайтом, который вызвал сбой IE8 при определенных условиях. Компания, которая владеет веб-сайтом, не смогла воспроизвести проблему, но получала много отчетов от затронутых пользователей.
Я смог воспроизвести проблему и в итоге обнаружил, что это вызвано этой проблемой jQuery/IE 8. Проблема возникает, когда фоновое изображение применяется к тегу body
, используя CSS, и загружается jQuery. Сообщение в комментариях к ошибке jQuery при условии, что этот пример jsFiddle, который, по крайней мере, воспроизводит проблему последовательно.
Проблема, которую я имею, это надежное воспроизведение в тестовой среде. Может ли кто-нибудь предложить методы для проверки такого рода вещей? Несмотря на копирование точного кода, используемого в примере jsFiddle, я не могу последовательно воспроизводить проблему локально - он может полагаться на определенный момент времени, но я не уверен. Я хотел бы добавить что-то в автоматизированный набор тестов, который проверяет эту проблему (исправление jQuery было применено ранее и случайно удалено в более поздней версии).
Как я могу проверить наличие сбоев браузера? Сайт написан на Perl, и некоторые автоматические тесты выполняются с использованием Selenium и WWW:: Mechanize.
Примечание: Я рассмотрел возможность размещения этого файла Pro Webmasters, но прочитав FAQ, я думаю, что он больше подходит для SO.
Я не думаю, что вы можете сделать что-то другое, кроме как тестирования как единичных тестов, так и стресс-тестов с максимально возможными комбинациями факторов.
Это характер так называемого Mandelbugs.
Учитывая, что единственная последовательная вещь, похоже, не проблема, если вы загружаете JQ перед объявлением стиля, я бы попытался настроить JQ на загрузку с разными интервалами после загрузки объявления CSS/связанного файла CSS.
Сразу после того, как стиль установлен так хорошо, как только DOM готов. Мое предположение было бы в том, что JQ ссылается на то, что IE8 сделал доступным, что он еще не был готов поделиться только в результате чего-то действительно глупого в процессе DOM-загрузки.
Я видел несколько случаев, когда инструменты разработчика постоянно врезались в IE8 даже после повторного открытия приложения. Если бы не это, я бы счел такие ошибки маловероятными.
Edit: честно говоря, JQ, вероятно, делает что-то нечетное в 1.62, или эта ошибка будет более известной в целом. IE8 уже несколько лет.
Вы можете попробовать тестирование с некоторыми предложениями SauceLabs
, которые обеспечивают кросс-платформенные возможности кросс-браузерного тестирования.