Antenna House Regression Testing System (AHRTS)
Antenna House Formatterを自動でリグレッションテストするツール

2011年にUSアンテナハウスのサポートチームはAntenna House Formatter のリリース時の社内テスト用に自動のリグレッションテストシステムの開発をスタートしました。当時はおよそ1,000程の文書(10,000ページ以上)を使ってテストを行っていましたが、数人で作業して2,3日は掛かりました。スクリーン上の目視で、正しいPDF表示との見比べを左右並べて行っていたからです。

リグレッションテストは開発やリリースの過程で重要なステップですが、時間と人手間が掛かり、目視によるためそれほど正確ではありませんでした。

リグレッションテストのプロセス自動化を行うに当たって、次の様な課題が持ち上がりました。

  • コードではなくビジュアルなPDFを比較できるツールであること。なぜならPDFの内部構造は違うかもしれないが同じように見えることが大事だから。
  • 大容量の文書をテストすることができ、どこが違うか、差異をレポートできるツールであること。
  • 従来の方法より早く処理可能なこと。

こういった要求を満たすツールを探したがなかなか見つからなかったので、独自のソリューションの開発を始めたわけです。六か月ほどして、サポートチームはPDFをビットマップに変換しページをピクセルで比較するシステムを開発しました。この初版のツールを使っていままで何日もかかっていたテストが一日でできるようになりました。次のワークフローはこのシステムの詳細な過程を示しています。このシステムを使って、PDF単体の比較や、PDFを格納してあるディレクトリ単位でもテストが可能となりました。

20140605-01

レポートは実際にはAntenna House Formatterで生成され、3つのパネルに配置されます。

20140605-02

左のパネルはベースラインから抽出したオリジナルのPDFで、右のパネルは新しい文書から抽出したPDFです。AH Formatterの機能を使って個々のページをPDFから選択して一つのPDFにマージすることも可能です。真ん中のパネルは2つのページの差異をハイライトで示したビットマップの合成です。オリジナルと新規の文書でどんな種類の違いが生じたのか特定できるよう、その差異を色別に示しています。違いを含んだページのみをレポートに含むことが重要と考え、その方針で、もし500ページ中4ページだけ差異がある場合、その4ページのみを見るだけで済むようになっています。

その後更に開発を続けパーフォーマンスは飛躍的に改良されました。ユーザーフレンドリーなGUIを立ち上げインストーラを作成し、5分以内でソフトウェアをインストールが可能になりました。また、Windowsに加えて、Linux Macにも対応しました。

現在では、このシステムを使って2時間以内でテストを終えることができ、どんな差異も見つけることができると自負しています。弊社のFormatterの定期リリースや、改訂リリースがテストのために遅延するということはなくなりました。また、この上質なテストを行うことで、品質がかなり良くなっていることが判明しました。

リグレッションテストシステムは現在Antenna Houseの商品として販売しています。詳しい情報についてはこちらをご参照ください。

http://www.antennahouse.com/antenna-house-regression-testing-system/