Freigeben über


フィードバックによって向上する IE の信頼性

本記事は、マイクロソフト本社の IE チームのブログから記事を抜粋し、翻訳したものです。 

【元記事】How You Help Us Improve IE’s Reliability (2011/4/22 12:17 AM )

今日、史上最高の信頼性を誇る IE が誕生したのは、この 1 年の間に IE9 の Platform Preview 版、ベータ版、Release Candidate 版をお使いいただいた皆様から体系的なフィードバックをご提供いただいたおかげであると考えています。

マイクロソフトでは、Windows エラー報告などのさまざまな手段を使ってユーザーの皆様から寄せられるエラー報告を活用することで、皆様が直面した深刻度の高い数々の問題を修正してきました。

ユーザーの皆様に実際にご覧いただき、私たちの手で信頼性の問題を特定する、というこの仕組みは、社内テストだけでは絶対に成立しないものです。

この記事では、IE9 の信頼性を確立するためのプロセスについて説明します。

初めに皆様からフィードバックをご提供いただくための各種チャネルをご紹介します。

次に、最も影響の大きな問題から解決するためにどのようにデータを分類して優先順位を付けているかを説明し、最後に IE9 の信頼性が IE8 からどの程度向上したのかを独自のデータを使って説明します。

IE9 の最終リリース版をご使用の際にも、遠隔測定システムを通じて引き続きフィードバックをお寄せください。

皆様から継続的にお寄せいただくエラー報告を活用することによって IE の信頼性を強化し、今後の累積的な更新プログラムとして提供していきます。

 

Windows エラー報告を使ってクラッシュを報告する

IE で発生したクラッシュの影響は自動クラッシュ回復機能などの機能によって軽減できますが、何よりも重要なのはクラッシュの発生を未然に防ぐことです。

クラッシュに関する情報を収集するために複数のメカニズムを使っていますが、その 1 つに Windows エラー報告があります。

ユーザーが Windows エラー報告をオプトインすると、IE によってクラッシュ発生時のブラウザーの状態情報が収集され、エラー報告としてパッケージ化されます。この情報は、根本原因のデバッグとクラッシュの修正を担当する開発者によって利用されます。

Internet Explorer はブラウズ中にハングが発生した場合にもエラー報告を送信します。ハングについては今後の記事で説明する予定です。

当然ながら、マイクロソフトはエラー報告の送信時にユーザーのプライバシーを保護しています。IE はユーザーの許可を得た後に、エラー報告をマイクロソフトに安全に送信します。

clip_image002
Windows エラー報告のダイアログ

IE9 のベータ版と RC 版の期間中は、フィードバックの送信ツールや Microsoft Connect といった追加のメカニズムを使用して IE の信頼性に関するフィードバックを収集していました。

こうしたメカニズムで懸念されるのは問題が重複して集まってしまうことですが、重複して報告された問題は社内で削除されます。

皆様の報告は大規模かつ統計的に有意な量のデータにまとめられ、解決すべき信頼性の問題を判断するために活用されています。

 

IE がクラッシュする原因を理解する

クラッシュのサンプルが出揃ったら、クラッシュの原因別にデータを分類します。

分類することで、他に比べて IE の信頼性への影響が高い領域を包括的に把握できると共に、それぞれのカテゴリにリソースを投入して改善を促進できるようになります。

clip_image004

IE9 ベータ版の期間中は、信頼性の問題の原因は以下のように分類されました。

IE コードのバグ

クラッシュの原因の中でも非常に大きな割合を占めるのが、IE のコードが抱える欠陥です。

プレリリース バージョン (ベータおよび Release Candidate) では、実装された新しいコードの量が理由で、サードパーティを原因とするクラッシュよりも IE を原因とするクラッシュの方が割合として大きくなりました。

アドオン

アドオンは IE のブラウジング エクスペリエンスの重要な要素であると同時に、IE の信頼性に関する問題の主な原因でもあります。

アドオンを原因とするクラッシュの多くは、新しいタブを開いたときや IE を起動したときに発生します。IE の最新バージョンと互換性のないアドオンもクラッシュの原因となる可能性があります。

ActiveX コントロール

現在多くの Web サイトが Flash、Silverlight、QuickTime などの ActiveX コントロールを使用してインタラクティブ コンテンツやビデオを表示しています。

ActiveX コントロールは、本質的にはブラウザー内で実行される Windows アプリケーションです。このため、コントロールが適切に作成されていないとブラウザー タブのクラッシュまたはハングの原因となります。

グラフィックス ドライバー

IE9 で移行が実現したグラフィックス ハードウェア アクセラレーションは、エコシステムが提供するグラフィックス カード ドライバーの品質に非常に大きく左右されます。IE9 ベータ版の期間中にフィードバックの送信ツールを通じて得られたクラッシュ レポートのうち、グラフィックス カード ドライバーを原因とするものは 41% に達していました。

これらのクラッシュはアドオンを原因とするクラッシュと同様のシナリオで発生しているため、通常のブラウズに対するグラフィックス ドライバーの影響力が非常に大きいことがわかります。

その他のサードパーティ ソフトウェア

ウイルス対策ツールやカスタムのダウンロード マネージャーなどの多種多様なソフトウェア プログラムは、IE の信頼性を左右する原因となります。

"故障曲線" を作成する

次のステップでは、各カテゴリのデータを整理してクラッシュを体系的に調査します。ここでは "故障曲線" を使って問題に優先順位を付けます。

故障曲線は、棒グラフ上でクラッシュ原因を表す 1 つひとつのバーが発生頻度の高い順に並べられたものです。

故障曲線を作成したら、曲線の先頭、つまり最も頻繁に発生している問題から順に調査していきます。曲線の最後尾に近い問題ほど、特定のハードウェアとソフトウェア構成で発生している場合が多くなります。

これらを修正することはもちろん重要ですが、作業対効果を最大化するためにまず先頭の問題から着手します。

clip_image006

上記の故障曲線の例から、IE9 のベータ版以来、IE のコードを原因とするクラッシュの上位 50 件が順調に解決されてきたことがよくわかります。

信頼性の高いエクスペリエンスを維持する

マイクロソフトでは IE チーム内の作業やサードパーティ開発企業との連携による作業を通じて、報告されたクラッシュの大部分に対処し、ブラウジング エクスペリエンスの信頼性を強化し続けてきました。このセクションでは、各カテゴリの仕上げとして行った作業について説明します。

内部的な信頼性の問題

ベータ版および Release Candidate 版の IE コードで最も発生頻度の高いクラッシュは、バグとして記録されています。これらのバグについては、新たに発生する問題のデータ量を引き続き監視しながら対処していきます。

また、遠隔測定から得られるさまざまな情報を組み合わせることによっても成果が上がっています。

フィードバックの送信から得られる報告を活用して問題を再現し、Windows エラー報告を使って調査を行っています。クラッシュを正確に再現することによって、開発者は根本原因に注力し、テスターはクラッシュが修正されたかどうかを的確に判断できるようになります。

前述の故障曲線は、私たちが IE のさまざまな問題を解決してきた道のりをわかりやすく示しています。

合計すると、IE9 ベータ版以降で報告された IE コードを原因とするクラッシュの上位 85% は既に修正されています。マイクロソフトでは引き続きロングテールの部分に取り組み、累積的な更新プログラムに反映させていく予定です。

IE9 では、品質と信頼性に関して目覚しい向上がみられています。IE9 の最終リリース版で継続的に実行しているストレス テストと長時間テストの結果は、IE8 に比べて 6 ~ 7 倍も長くなりました。

サードパーティのバグ

マイクロソフトは IE9 のベータ版以来、世界中のベンダーと協力してサードパーティを原因とする主な信頼性の問題の解決に取り組んでいます。

ベンダーとのエラー報告情報の共有は、WinQual プログラムを使って行っています。各ベンダーは、自社製品に関連するエラー報告以外にはアクセスできないようになっています。

欠陥のあるアドオンまたはグラフィックス ドライバーは、IE の重要な使用シナリオでクラッシュをたびたび発生させる原因となることがわかっています。

IE にはこうした問題を回避するためのメカニズムが 2 つ組み込まれています。

  • アドオン : Upgrade Advisor を使用して互換性のないことが確認されたアドオンを無効化することで、互換性のないアドオンがインストールされている場合でも問題なく IE を起動できるようになります。起動時に Upgrade Advisor によってアドオンがブロックされると、IE はこの処理を説明する通知と、アドオンの更新を確認するオプションを表示します。
  • グラフィックスドライバー : IE9 にはエラー報告と社内テストによって互換性のないことが確認されたグラフィックス ドライバーをまとめた "ソフトウェア フォールバック一覧" が格納されています。ここに含まれているドライバーを使用する場合、IE では GPU レンダリングではなくソフトウェア レンダリングを使用します。このモードで実行することによって、ドライバーを原因とするクラッシュからブラウザーを保護できます。

これまでにサードパーティ ベンダーによって解決された IE9 ベータの主要なクラッシュ原因のいくつかには、皆様から送信されたエラー報告が活用されました。また、IE9 RC 版で使用されていたソフトウェア フォールバック一覧を更新したことで、Upgrade Advisor のエクスペリエンスが改善しています (詳細は今後の記事でご報告します)。

 

フィードバックの重要性

今回の記事では、IE および各種サードパーティ コンポーネントを原因とする IE9 ベータ版と RC 版の主なクラッシュの解決を目的としてマイクロソフトが採用したアプローチを説明しました。このアプローチは、皆様からエラー報告を始めとするさまざまなフィードバックをお寄せいただいたからこそ成立しました。

その結果が高品質な IE9 リリースに結実したことは、ストレス テストと長時間テストで記録されたスコアからも明らかです。

信頼性の確立には閉じたフィードバック ループが必要です。最終リリース後は、さらに大規模なユーザー グループによるフィードバックを活用することで、引き続き信頼性の強化に取り組む予定です。

マイクロソフトでは Web の進化とソフトウェア エコシステムの発展に合わせてエクスペリエンスの信頼性強化に努め、累積的な更新プログラムを通して重要な問題の修正を公開していきます。

IE9 の Platform Preview 版、ベータ版、Release Candidate 版のご使用およびフィードバックのご提供に、あらためて感謝申し上げます。IE は皆様のご協力によってこれからも進化を遂げていきます。

—Herman Ng、プログラム マネージャー、Internet Explorer