PRESS RELEASE (技術)
2016年3月29日
Fujitsu Laboratories of America, Inc.
株式会社富士通研究所
アジャイル開発におけるテスト工数の肥大化を抑えるテスト自動生成技術を開発
Fujitsu Laboratories of America, Inc.(注1)(以下、FLA)と株式会社富士通研究所(注2)(以下、富士通研究所)は、短い期間に小規模な機能実装とソフトウェア提供を繰り返しながら開発を行うアジャイル開発において、テスト工数の肥大化を抑制し開発の効率を向上させるテスト自動生成技術を開発しました。
テスト自動生成技術は、ソースコードにおいて、変数の取りうる値によって動作が変わる部分を自動的に解析することにより網羅的なテストを実現する技術ですが、これをアジャイル開発に適用する場合、頻繁に繰り返されるソースコードの改版によってテストの規模が肥大化していくという問題がありました。
今回、ソフトウェアに追加で実装を行った部分に影響するソースコード上の変数を効率的に探索し、変数単位で部分的にテストを修正・追加するテスト自動生成技術を開発しました。
本技術を約5千行のオープンソースソフトウェアの改版に適用した実験では、テストコードの増加を24分の1と大幅に抑えられることを確認しました。これにより、アジャイル開発において、これまで適用が難しかったテスト自動化の実現による開発の効率化と、機能実装が短期間に繰り返されることによるテスト時間の増大を抑えることが可能となり、開発期間を短縮することができます。
開発の背景
アジャイル開発は、短い期間に小規模な機能実装とソフトウェア提供を繰り返すことによって、要求・仕様の変更に柔軟かつ迅速に対応できる開発手法として導入が進んでいます。FLAと富士通研究所ではソースコードを解析することで自動的に網羅的な検証を行う、アジャイル開発向けのテスト自動生成技術の開発を業界に先駆けて進めています。
課題
従来のテスト自動生成技術では、ソースコードの改版に際し、改版前に使用していたテストケースでは試験できない部分が含まれる場合、新しいテストケースの追加生成が必要でした。このため、頻繁に改版を繰り返すアジャイル開発では、生成されるテストケースの規模が肥大化し、テストケースの把握、テスト結果の確認、テストケースのメンテナンスなどに多くの工数が費やされることが課題となります(図1)。
図1 従来技術をアジャイル開発に導入した場合
開発した技術
今回、ソースコードの改版部分が入力変数にどう関連していくかを効率的に探索することで、入力変数単位でテストコードを再利用し、改版によるテストケースの増加を抑えるテスト生成技術を開発しました。
開発した技術の特長は以下のとおりです。
1. 入力変数単位でテストコードを再利用する技術
改版部分に関連する入力変数に対してのみテストコードを修正することで、増分を抑えることができるテストコード再生成技術を開発しました(図2)。従来技術では改版の内容に応じて、各テストケースをそのまま再利用するか、または新たに再生成したテストケースを追加するか、または入れ替えるかなど、テストケース単位で選択していましたが、本技術では、一つ一つの入力変数単位でテストコードの書き換えを行うため、無駄のないテストケースの再生成が可能となりました。
図2 テストコード再生成技術
2. ソースコード行に関連する入力変数を効率的に探索する技術
改版部分に関連する入力変数を特定することは非常に多くのメモリを必要とします(図3)。本技術では、ソースコードの行と関連する入力変数をグラフ経路として表現し、他の行でも部分的に経路を共有することにより、利用するメモリ量を大幅に抑えながら、ソースコード行に関連する入力変数を探索する技術を開発しました。
図3 関連入力変数探索方法
効果
本技術を約5千行のオープンソースソフトウェアの改版に適用した実験では、テストコードの増加を従来技術の24分の1に抑えられることを確認しました。
本技術によって、アジャイル開発に対してテスト自動生成技術を適用することが可能になり、開発期間の短縮が実現できます。
今後
FLAと富士通研究所は、社内試行を通じて技術を強化し、2016年度中の実用化を目指します。
商標について
記載されている製品名などの固有名詞は、各社の商標または登録商標です。
以上
注釈
- 注1 Fujitsu Laboratories of America, Inc.:
- 本社 米国Sunnyvale, CA、CEO 佐々木繁。
- 注2 株式会社富士通研究所:
- 本社 神奈川県川崎市、代表取締役社長 佐相秀幸。
本件に関するお問い合わせ
株式会社富士通研究所
システム技術研究所
044-754-2675(直通)
seeque@ml.labs.fujitsu.com
プレスリリースに記載された製品の価格、仕様、サービス内容、お問い合わせ先などは、発表日現在のものです。その後予告なしに変更されることがあります。あらかじめご了承ください。