修正したアプリケーションをいち早くリリースするためには、アプリケーションの動作検証も短時間に終える必要がある。これを実現するのが、継続的インテグレーション(CI)ツールとテストツールだ。新規開発から実施するだけでなく、既存のソースに対しても適用できる。

TIS:3時間おきに回帰テスト
Jenkins、JUnit、PMD など

 「システム稼働後の追加・修正でデグレードを起こさないことに最大の注意を払った」と、TISの竹内祐介氏(アプリケーション開発センター アプリケーション開発部主査)は述べる。

 デグレードとは、システムをバージョンアップした際に、以前よりもサービスの品質が低下することだ。機能追加や修正のためにソースコードを変更したとき、動作検証が不十分だと起こり得る。

 竹内氏がチームリーダーを務めたリース会社の資産管理SaaSの開発プロジェクトでは、特にデグレード対策が重要だった。このプロジェクトでは、最初に必要最小限の機能をリリースし、追加すべき機能は利用部門のフィードバックを受けながら1カ月ごとに追加・修正していく方針が立てられていた。

 竹内氏が採った策は、回帰テストを自動化すること。回帰テストは、バージョンアップのたび、すべてのソースコードに対して同じテストを繰り返し実行する手法だ。CIツールである「Jenkins」などを使って静的/動的テストを自動化し、漏れなくテストを実行するようにした。

3時間ごとにすべての単体テスト実行

 このプロジェクトで開発フェーズに入る前に、Jenkinsと各種テストツールを組み合わせたシステムを構築した。利用したツールは、バージョン管理ツール「Subversion」、ビルドツール「Ant」、コーディング規約チェック「Checkstyle」や単体テスト「JUnit」など5種類のテストツールである。

 これにより、開発とテストを同時に進められる仕組みが整った(図1)。

図1●TISはすべてのソースコードを対象にしたテストを3時間おきに自動実行
[画像のクリックで拡大表示]

この先は会員の登録が必要です。今なら有料会員(月額プラン)が2020年1月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら