ATS|テスト自動化

CASE

電子書籍リーダーのテスト自動化に取り組み、 高品質なソフトウェアで次代のメディアを創る

株式会社ボイジャー

Eggplantにより、テストコードのメンテナンス工数削減と人的負担の軽減を実現

企業プロフィール

Adoc テストサービス

Adoc テストサービス
BinBによるモバイル端末の利用イメージ

株式会社ボイジャーは、1992年に設立された電子出版社です。日本初のブラウザ対応電子書籍リーダー「BinB」を開発しました。「BinB」は、アプリ並みの利便性を備えています。文字サイズ変更や自動しおり機能など、電子書籍アプリと同等以上の豊富な機能を提供します。また「BinB」の精緻な文字組みレイアウトは、業界最高水準の読書体験を実現しています。専用アプリのダウンロードが不要で、手軽に漫画・小説・雑誌などを閲覧できるソリューションです。

Eggplantがサービスの規模と複雑さの拡大に対応

ボイジャーは、新しいデジタルに関する出版およびコンテンツ事業を展開しています。さらに、デジタルマーケティングツールなどのソフトウェア開発経験に基づくノウハウも有しています。開発の過程では、様々な種類の端末やOSにおける速やかかつ継続的な動作検証に取り組んでいます。

Adoc テストサービス
BinBによる文字中心のリフロー版面(左)と、漫画などのフィックス版面(右)
自動テストの課題とEggplant導入の経緯

電子書籍リーダーのアプリケーションは、市場のニーズに合わせて年々機能が追加されます。また、OSや端末も次々と新しいバージョンや機種がリリースされます。これらの変化に追随しながら、限られた期間内にできるだけ多くのテストを実施し、高品質なソフトウェアをリリースする必要がありました。

開発初期には、Seleniumを用いたレンダリング表示のテストで一定の成果が得られました。続いて操作テストの自動化を進めましたが、テストコードのメンテナンスコストが高いことが大きな問題となりました。これは電子書籍特有の技術仕様が原因です。見かけ上の変化は少ないものの、内部オブジェクトが頻繁に変わるため、自動化の維持に大きな労力がかかっていました。その結果、機能テストは属人化し、作業工数も増大していました。いかに人的負荷を減らしコストを下げるかが喫緊の課題でした。

ボイジャーで品質保証を担当する清水氏は「当時、一人あたりの作業量はとても多く、テスターも疲弊していました。それがリリース速度を上げられない第一の理由でした。作業量の軽減は急務でした」と指摘します。そこで、新たな解決策として、オープンソース・ソフトウェアの画像認識を利用したUI操作自動化ツールの導入を検討しました。しかし、精度と速度に問題があり頓挫。その後、AIと画像認識、OCR認識を活用したEggplantの存在を知り、アドックインターナショナル(以下、ADOC)に技術支援を依頼しました。

ADOCによるEggplantのトライアルが行われ、画像認識による正誤判定の可能性を確認しました。その結果、テスト項目の一部を切り出してPoC(Proof of Concept:概念実証)を実施。PoCではEggplantによるテストモデルの有効性を検証しました。個別スクリプトのモジュール化により、Seleniumと比較して自動化後のメンテナンス性が高いことも判明。そのため、Eggplantの本格導入を決定しました。

マルチプラットフォーム対応と自動化の開発方針

BinBには、ページめくりや拡大・縮小、本文検索、音声読み上げなどの多彩な機能があります。また、テスト対象の電子書籍には、テキストで構成された小説や画像で構成された漫画など、多くの種類があります。対応OSもWindows、macOS、ChromeOS、Android、iOS、iPad OSと多岐にわたります。各OSごとに対応端末があり、それぞれのバージョンに対応させる必要があります。これにより、多くのデバイスを管理しなければならず、テストの内容は非常に複雑です。

「こうした要素すべてがテスト内容に影響し、検証の完了には月単位の工数がかかっていました」と清水氏は語ります。このような課題を解消するための開発方針としてEggplantの画像認識、OCR、マルチプラットフォーム対応、E2Eテストの特長を活かし、電子書籍システムに適したテスト環境の構築を目指しました。自動テスト環境の構築にあたっては、PoCで得た知見をもとに以下の方針で進めました。

  1. PC端末で元となるテストコードを開発。
  2. 1のテストコードをiPhone端末用に再調整。
  3. 2のテストコードをAndroid端末とPC端末に最適化。

今後はテストケースを自動生成するEggplantの機能も活用しつつ、さらなるリファクタリングを加えた最新コードを全端末に展開していく予定です。

Eggplantの強みと自動化の成果

「画面の一部をタップする」という電子書籍の操作を例にすると、Seleniumなどのオブジェクト認識型ツールでは、各デバイスごとに座標やオブジェクトの指定が必要です。一方、Eggplantでは画像や文字の認識によって「指定画像やテキストの自動認識」を複数デバイスで流用できます。画面内の任意の座標指定も行えるため、メンテナンスコストの削減に繋がりました。

自動化の実装に際し、iOS特有のバージョン間で発生する機能差分は、Eggplantの画像認識とOCRを活用した細かな対応で吸収。通常では、OSや機種ごとのシナリオを作成する必要がありますが、テストコードの集約によってメンテナンスの負担も軽減しました。

また、Eggplantにより様々な粒度のエビデンスが確保できました。テスト結果画面やキャプチャ指示、テスト実行ログのCSV出力などにより、迅速なエラー分析が可能です。さらに、パラメータの調整で端末画面の縦・横方向やコンテンツ種別を変更し、特定の部分にフォーカスしたテストを再実施することもできます。

Eggplantの導入によって、自動化を実装するプロセスを通じ、電子書籍リーダーBinBの評価観点が明確になりました。その結果、テスト全体の品質向上にも繋がりました」と清水氏は述べています。

たゆまぬソフトウェア品質の向上を目指して

Eggplantの導入により、マルチOS・マルチプラットフォームのシステムに対するテストが自動化されました。これにより、課題であったテスト作業の効率化とテストコードのメンテナンス工数削減が実現しました。また、夜間や休日の無人テストが可能となり、テスト担当者の負担軽減も期待できます。

「現在のテストコードはシナリオ通りに進める一本道ですが、今後はEggplantによりテスト手順を自動生成し巡回する回帰テストも検討しています。さらに、複数ライセンスによる連続稼働を活用し、テスト期間の大幅な短縮も計画しています」と清水氏は語ります。

ボイジャーは、「誰もが自由に参加できる新しいメディアの創造」を目指し、電子書籍リーダーBinBの利便性をさらに向上させる取り組みを続けています。

  • 電子書籍リーダーのテスト自動化に取り組み、 高品質なソフトウェアで次代のメディアを創る
  • 株式会社ボイジャー
«