Cases

テスト自動化事例 建設業 D社様

テスト自動化により5億円のコスト削減に成功!

建設業のD社様の基幹システムの再構築プロジェクトにおいて、リグレッションテスト(回帰テスト)を自動化することにより、テスト工数の削減・テストカバレッジの向上を実現し、コスト削減と品質向上に貢献しました。

テスト自動化の導入の経緯

基幹システムの再構築プロジェクト(基幹システム/データベースのオープン化、アプリケーション機能のWeb化)では、現行の資産を活用しながら2,000以上の機能を順次再構築してリリースするという要件がありました。

このため、限られたテスト時間で品質を担保し、テストにかかるコストや運用時コストを削減するという課題解決のために、テスト自動化の導入を検討されました。

テスト自動化の成功のポイントは自動化PoC

テスト自動化を成功させるために、約3か月間のPoC※1フェーズを設けました。PoCでは、一部の機能に絞り込んで自動化スクリプトを開発し、自動化アーキテクチャーの選定、技術面や環境面での課題の抽出、想定効果の検証を行いました。

PoCの結果、技術的にテスト自動化の実現は可能と判断、テスト工数の想定削減率も90%と、期待する効果が得られることが確認できたため、テスト自動化の本導入が決定しました。

※1.PoC…Proof of Concept(概念実証)の略。新しい技術や概念が実現可能か、試作やデモンストレーションなどの試行により確認すること

テスト自動化の環境

テスト自動化環境イメージ

テスト自動化の本導入

導入決定から約2年、ユーザーの業務フローをシナリオとしてテスト自動化を行いました。自動化対象のテスト項目数は、約31,000件でした。

開発中の画面変更や機能変更に徹底的に対応

長期間にわたる複数チームによる開発の中で、機能追加や仕様変更が多数発生するため、自動テストの実装においても開発に追従する必要がありました。そのため、プロジェクト管理を効率的に行うために、プロジェクト管理ツールを導入しました。テスト自動化の課題と課題の対応状況をすべての開発者と共有し、機能追加や仕様変更に迅速に対応できるようにしました。

新旧画面の軽微な差もツールで自動判定

Seleniumを使用した画像比較や帳票比較において、軽微なレイアウト崩れやピクセル単位の差を除外する判定が難しいという課題が発生しました。画像一致の判定を数値化し、類似性が判断できるロジック(OpenCVなどを使用)を埋め込むことにより完全一致でない画像や帳票もツールで検査できるようにしました。

自動テストの運用後のテストコストの削減

自動テストでNGとなった場合に、不具合情報を自動起票する仕組みを開発しました。テストデータの作成やエビデンス取得なども自動化し、リグレッションテストのプロセス自体をすべて自動化することで、コストを徹底的に削減しました。

画面比較処理イメージ

画面比較処理イメージ

テスト自動化の効果

テスト自動化完了後のリグレッションテスト工数が削減され、金額に換算して約5億円のコスト削減に成功しました。テスト実施時間も、PoC時の想定を上回り、97%の短縮効果を得ることができました。

テスト自動化効果のグラフ

テスト工数とテスト実施期間が削減された結果、テストの時間不足によるテスト実施漏れや、影響範囲の確認漏れも解消され、市場への不具合流出も無くなり、一定の品質を安定的に確保できるようになりました。

また、テスト自動化の導入により、既存システムの潜在的な不具合や仕様不備の検出、テスト自動化に関連するドキュメント類の資産化(開発プロジェクトで活用)という、副次的な効果も得られました。