アジャイル開発を採用するリモート会議システム企業において、2週間スプリントでの継続的な機能追加・改善が行われていました。
しかし、回帰テストは手動中心で運用されており、スプリント終盤にテスト工程が集中することでリリース遅延の要因となっていました。
特に、複数ブラウザや異なる通信環境での動作検証が必要なため、テスト工数が肥大化し、検証観点の抜け漏れも発生していました。過去には自社でテスト自動化を試みたが、UI変更に追従できないスクリプト設計や、テストケースの肥大化による保守コストの増加により運用が破綻。結果として「自動化=コストが高い」という認識が根付いていました。
そのため、本プロジェクトでは単なる自動化導入ではなく、「変更に強く、継続的に運用可能なテスト基盤の構築」と「短期間での効果創出」が強く求められていました。
まず、既存のテストケースと障害発生履歴をもとにリスク分析を実施し、ビジネスインパクトおよび変更頻度の高い機能を優先的に自動化対象として選定。すべてを自動化するのではなく、ROIの高い領域に絞ることで、初期コストと運用負荷の最適化を図りました。
技術面では、UI変更の影響を最小化するためにPage Object Model(POM)を採用し、テストロジックと画面要素定義を分離。加えて、要素特定にはIDやdata属性を活用するルールを整備し、XPath依存による脆弱性を排除しました。
テストフレームワークには、並列実行が可能でCI/CD(Jenkins)と連携しやすい構成を採用。プルリクエスト単位で自動テストを実行する仕組みを構築し、デグレードを早期検知できるパイプラインを整備しました。
また、短期間で成果を出すため、日本側のQAリードが設計方針を策定し、ベトナム拠点の自動化エンジニアが実装を担当する体制を構築。共通コーディング規約やレビュー基準を定義することで、品質を担保しながらスピーディな実装を実現しました。
さらに、運用フェーズを見据え、テストケースの粒度や命名規則、失敗時のログ出力設計まで標準化し、将来的な拡張・保守を容易にする設計としました。
日本側PM1名が全体の進行管理および品質方針の策定を担当し、ベトナム側QAエンジニア10名がテスト設計および自動化実装を担当、さらに通訳1名を含めた体制でプロジェクトを推進しました。初期フェーズでは既存仕様や過去の不具合データをもとにテスト観点を整理し、網羅性と優先度を意識したマスターテストケースを定義。その後、自動化対象を段階的に選定し、並行してスクリプト実装を進めました。
技術面では、CI環境上に自動テスト実行基盤を構築し、ナイトリービルドでの定期実行に加え、主要ブランチへのマージ時にもトリガーされる仕組みを整備。テスト結果はレポートとして可視化し、不具合発生時にはログ・スクリーンショットを自動取得することで原因特定を迅速化しました。
また、10名のQAチームは手動テストと並行して自動化資産(テストコード、共通関数、データセット)を継続的に蓄積。レビュー体制を設け、コーディング規約や設計方針(POM構造、再利用性の高い部品化)を遵守することで、短期間でも品質の高いテストスイートを構築した結果、わずか2ヶ月で「実運用可能な自動テスト基盤」の立ち上げを実現しました。
従来はリリース前に数日を要していたリグレッションテストが、自動化により数時間で完了するようになり、開発スプリント内で複数回の検証サイクルを回せるようになりました。これにより、バグの早期検知だけでなく、修正後の再検証コストも大幅に削減されました。
また、自動テストが常時実行されるセーフティネットとして機能することで、開発エンジニアは既存機能への影響を過度に懸念することなくリファクタリングや機能追加を実施可能となり、開発速度とコード品質の両立が実現しました。
さらに、テストケースの構造化と自動化により、属人化していた検証ノウハウが標準化され、新規メンバーでも一定品質のテストが実施可能な状態に改善。過去に課題となっていた「メンテナンスできない自動化」から脱却し、アジャイル開発に適応した持続可能なQA体制の確立に成功しました。
今後は、現状でカバーしている主要機能に加え、エッジケースや異常系シナリオを含めたテストケースの拡充を進め、テストカバレッジのさらなる向上を目指します。また、CI/CDパイプラインとの統合を一層強化し、ビルドからデプロイまでの全工程において自動テストが組み込まれた“シフトレフト型”の品質保証体制を構築する予定です。
加えて、Webアプリケーションにとどまらず、モバイルアプリ版やAPIレイヤーへのテスト自動化の展開も検討。E2Eテストに加えてAPIテストやパフォーマンステストの自動化も取り入れることで、より包括的な品質担保を実現します。
将来的には、テスト実行結果のデータを蓄積・分析し、不具合発生傾向の可視化やテスト最適化(優先順位付け、実行時間短縮)にも活用。開発サイクル全体のさらなる高速化と品質向上を継続的に支援していきます。
Copyright © 2025 CO-WELL Co., LTD. All rights reserved.