クロスブラウザテスト(cross-browser testing)は、異なるブラウザやそのバージョンでウェブサイトの表示と機能を監視するためのテストの自動化です。
問題の背景:
ウェブアプリケーションの時代の初めでは、ウェブサイトは主要なブラウザで手動でテストされ、開発者は要素の一貫した表示を保証できませんでした。その後、Selenium Grid、SauceLabs、BrowserStackなどのツールが登場し、同じテストセットを使用して異なるブラウザやプラットフォームでの反復テストを自動化することが可能になりました。
問題点:
解決策:
主な特徴:
クロスブラウザテストがある場合、完全に手動検査を排除できますか?
いいえ。自動テストは珍しいまたは主観的なUIバグ(ピクセルレイアウトや非標準フォント)をカバーすることができず、一部の問題は手動でしか発見されません。
すべてのブラウザバージョンで単にテストを実行するだけで十分ですか?
いいえ。ターゲットオーディエンスを分析し、実際のユーザーの統計に基づいてサポートされるバージョン数を限定する必要があります。さもないと、テストコストが制御不能に増加します。
クロスブラウザ検査を主要な自動テストシステムに統合する必要がありますか?
はい。クロスブラウザテストが全体のパイプラインに組み込まれていない場合、テストの実行を忘れたり、特定のブラウザでのバグを見逃したりするリスクが高くなります。
クロスブラウザテストは「祝日に」手動でChromeの最新バージョンのみ実行され、クラウドサービスは使用されません。次のリリース後、Safariでサイトが一部のユーザーに正しく表示されないことが判明します。
メリット:
デメリット:
事前に選択されたブラウザマトリックス(Chrome、Firefox、Safari、Edge — 各ブラウザの最新2バージョン)でBrowserStackにおいて自動化されたテストを実行し、テストはCI/CDに統合され、結果は自動的に分析されます。
メリット:
デメリット: