11

最近、特定の条件下で IE8 がクラッシュする Web サイトの問題のデバッグを手伝ってほしいと頼まれました。Web サイトを所有する会社は問題を再現できませんでしたが、影響を受けたユーザーから多くの報告を受けていました。

問題を再現することができ、最終的にこの jQuery/IE 8 の問題が原因であることがわかりました。bodyこの問題は、CSS を使用してタグに背景画像を適用し、 jQuery をロードすると発生します。jQuery バグ チケット コメントへの投稿で、この jsFiddle exampleが提供されました。これは、少なくとも私にとっては、一貫して問題を再現します。

私が抱えている問題は、テスト環境でこれを確実に再現することです。この種のことをテストする方法を提案できる人はいますか? jsFiddle の例で使用されている正確なコードをコピーしたにもかかわらず、問題をローカルで一貫して再現することはできません。特定のタイミングに依存している可能性がありますが、よくわかりません。この問題をチェックする自動テスト スイートに何かを追加したいと思います (jQuery 修正は以前に適用され、後のバージョンで誤って削除されました)。

ブラウザのクラッシュをテストするにはどうすればよいですか? このサイトは Perl で書かれており、いくつかの自動テストは Selenium と WWW::Mechanize を使用して実行されます。

注:これをPro Webmastersに投稿することを検討しましたが、 FAQを読んで、SO に適していると思います。

4

3 に答える 3

7

ユニットテストとストレステストの両方を、可能な限りさまざまな要素の組み合わせで実行する以外にできることはないと思います。

これがいわゆる「マンデルバグ」の性質です。

于 2011-09-05T17:12:40.210 に答える
1

スタイル宣言の前に JQ をロードしても問題がないように見える唯一の一貫性があることを考えると、CSS 宣言/リンクされた CSS ファイルがロードされた後、異なる間隔で JQ をロードするように設定してみます。

スタイルが確立された直後からDOMの準備が整った後まで。私の推測では、JQ は IE8 がアクセス可能にしたものを参照していて、その DOM ロード プロセスで非常にばかげたことが起こった結果、まだ共有する準備ができていなかったのです。

アプリを再度開いた後でも、IE8 で開発者ツールが完全にクラッシュするという複数のインシデントを見てきました。そうでなければ、そのようなバグはありそうにないと思います。

編集: 公平を期すために、JQ はおそらく 1.62 で奇妙なことを行っているか、このバグは一般的によく知られているでしょう。IE8 がリリースされてから数年が経ちました。

于 2011-09-13T00:27:52.653 に答える
0

SauceLabsクロスプラットフォーム、クロスブラウザのテスト機能を提供するいくつかの製品でテストを試すことができます。

于 2011-09-09T18:29:47.333 に答える