@QA ARTICLE
QAがChrome DevToolsで最初に見る5つの場所
Webサービスのテストで原因を切り分けるために、Chrome DevToolsのDevice Mode、Elements、Console、Network、Applicationを初心者向けに解説します。
Webサービスをテストしていると、「画面に何も表示されない」「保存したはずなのに反映されない」「特定の幅だけレイアウトが崩れる」といった問題に出会います。
画面を見ただけでは、表示の問題なのか、通信に失敗しているのか、ブラウザに残ったデータが影響しているのか分からないことがあります。そのようなときに役立つのが、Google Chromeに組み込まれている Chrome DevTools です。
DevToolsには多くの機能がありますが、最初からすべてを覚える必要はありません。この記事では、QAが原因を切り分けるときにまず見たい五つの場所を紹介します。
Chrome DevToolsを開く
確認したいページをChromeで開き、次のいずれかの方法でDevToolsを表示します。
- 画面上で右クリックし、「検証」を選ぶ
- macOS:
Command + Option + I - Windows/Linux:
Ctrl + Shift + I
Consoleを直接開きたい場合は、macOSでは Command + Option + J、Windows/Linuxでは Ctrl + Shift + J を使えます。
画面の右側や下側に、複数のパネルを持つ領域が表示されたら準備完了です。
1. Device Mode:画面幅を変えて表示を確認する
Device Modeでは、ブラウザ内の表示領域をスマートフォンやタブレットに近い幅へ変更できます。
たとえば、次のような確認に便利です。
- 画面幅を狭くしたときに文字やボタンがはみ出さないか
- PC用のメニューがモバイル用のメニューへ切り替わるか
- 縦向きと横向きでレイアウトが崩れないか
- 通信速度が遅い場合の表示を確認できるか
ただし、Device Modeは実機そのものではありません。画面サイズや一部の環境を再現する機能であり、端末固有のブラウザ動作、タッチ操作、性能まで完全に同じにはなりません。
Device Modeで問題を見つけたら、必要に応じて実機でも確認します。
2. Elements:表示されている要素を確認する
Elementsパネルでは、画面を構成するHTMLと、適用されているCSSを確認できます。
画面上の要素を選択する機能を使うと、確認したい文字やボタンがHTMLのどこに対応しているかが分かります。QAでは、次のような調査に使えます。
- 要素自体が存在しないのか、存在するが見えないのか
- 指定した文字列がHTMLへ出力されているか
- ボタンが無効な状態になっていないか
- 幅、高さ、余白などに不自然な指定がないか
Elements上では、文字やスタイルを一時的に変更できます。更新すると元に戻るため、長い文字列を入れた場合の見え方や、余白を変えた場合のレイアウトを試すのに便利です。
ここで変更できたことは、プロダクトのデータや実装を修正したことにはなりません。あくまで、手元のブラウザ表示を一時的に変えた結果です。
3. Console:ブラウザで発生したエラーを見る
Consoleパネルには、ページ上のJavaScriptで発生したエラーや、開発者が調査用に出力した情報が表示されます。
ボタンを押しても反応しない、画面の一部だけ表示されない、といった問題では、操作した直後に赤いエラーが出ていないか確認します。
不具合報告へ添える場合は、次の情報が分かるようにします。
- どの操作をしたときに表示されたか
- エラーメッセージ
- エラーが出た時刻
- 毎回出るか、特定の条件だけで出るか
Consoleには内部情報が含まれる場合があります。スクリーンショットや内容を社外へ共有する前に、個人情報、認証情報、公開してはいけないURLなどが写っていないか確認してください。
4. Network:画面とサーバーの通信を確認する
Networkパネルでは、ページがサーバーと行った通信を確認できます。
「保存ボタンを押しても反映されない」という事象なら、次のように切り分けられます。
- ボタンを押したときに通信が発生しているか
- 通信先やHTTPメソッドは想定どおりか
- ステータスコードは成功か、エラーか
- 送信した内容と返ってきた内容は何か
- 応答までにどの程度時間がかかったか
Networkパネルは、開いている間に発生した通信を記録します。確認したい操作の前にパネルを開き、必要であればページを再読み込みしてから再現します。
リクエストやレスポンスには、Cookie、トークン、個人情報などが含まれることがあります。そのままチケットやチャットへ貼り付けず、共有範囲と必要な情報を確認しましょう。
5. Application:ブラウザに保存されたデータを見る
Applicationパネルでは、Cookie、Local Storage、Session Storage、IndexedDB、キャッシュなど、Webアプリがブラウザへ保存した情報を確認できます。
次のような事象を調べるときに役立ちます。
- ログイン状態が想定どおり保持されない
- 一度選んだ設定が再読み込み後に戻る
- 古いデータが残っているときだけ問題が起きる
- キャッシュを消すと問題が解消する
保存データを削除・変更すると、ログアウトしたり、手元の状態を失ったりすることがあります。まず内容を確認し、操作する場合はテスト用アカウントとテスト環境で行います。
調査結果は「分かったこと」だけを書く
DevToolsでエラーや失敗した通信を見つけても、それだけで原因が確定するとは限りません。
たとえば、「Networkで500エラーを確認した」は事実ですが、「データベースが原因である」は追加の調査が必要な推測です。
不具合報告では、次のように分けます。
- 事実:保存操作の通信が500エラーになっている
- 影響:入力内容が保存されない
- 未確認:サーバー内で失敗した原因
DevToolsは、開発者の代わりに原因を断定するための道具ではありません。画面だけでは分からない情報を集め、チームが調査を始めやすくするための道具です。
まとめ
最初は、次の五つを使えるだけでも調査の幅が広がります。
- Device Modeで画面幅を変える
- ElementsでHTMLとCSSを見る
- Consoleでブラウザのエラーを見る
- Networkで通信を見る
- Applicationでブラウザ内の保存データを見る
一度に覚えようとせず、実際の不具合を調べながら少しずつ使ってみてください。
詳しい操作は、Chrome DevTools公式ドキュメントでも確認できます。