BT

Your opinion matters! あなたのご意見でInfoQが変わる!

安全な継続的デプロイメントのための知覚的テスト

| 作者: Grischa Ekart フォローする 0 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2013年6月24日. 推定読書時間: 2 分 |

原文(投稿日:2013/06/20)へのリンク

 

Santa Claraで開催されたVelocity 2013において、GoogleのBrett Slatkin氏がビジュアルレグレッションテストという手法を紹介した。知覚的diffによって、Webページのスクリーンショットを以前のバージョンと比べて、ピクセルレベルでの差分を検出する。

Brett氏によると、知覚的diffは自動テストにある重要なギャップを埋めるものだ。継続的デプロイメントでは、コードとデプロイメントの品質の信頼性を高めるために多数の自動テストを頼りにしている。さらに、予期せぬエラーを避けるためには手動テストも必要になる。こうしたテストは高くつき、何度も繰り返す必要があり、役に立たないこともある。わかりやすい例がビジュアルだ。(テストのためにページにピンクのポニーを置いたが)QAチェックでは見つけられずに、プロダクション環境で見つかった。

知覚的diffはヘッドレスブラウザ(PhantomJS)を使って、Webページをレンダリングし、スクリーンショットを生成する。そして、これらの画像をビジュアルdiffで比較する。すると、違いのあるエリアがハイライトされ、人間の目で簡単に認識することができる。

この手法は昨年のVelocity Igniteセッションで紹介されて以来、Google Consumer Surveysにおいて継続的デプロイメントの信頼性を高めるために使われてきた。Brett氏はレイアウトエラー、数値フォーマット、間違ったソート順といったリグレッションテストの難しさについて話した。また、タイムスタンプなどの誤検出を除外する必要があることを認めた。比較的静的なページでは、知覚的diffはうまく機能する。動的なページの場合には、同じデータセットを事前にロードしておく必要がある。

Depicted (dpxtd)というオープンソースバージョンがgithubで公開されている。これは知覚的diffをデプロイメントプロセスに統合可能なワークフローにまとめたものだ。

余談として、Brett氏はデプロイメントプロセスの信頼性を高めることのプラス効果についても語った。デプロイメントのサイクルが短くなるほど、モチベーションは高まる。デプロイメントが成功する信頼性が高まるほど、経験が浅い人でも自信を持ってデプロイを開始でき、立ち上げフェーズが短縮できる。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT