「テストケース選択手法の研究・開発と実践 〜テストの資産を蓄積することから始めよう〜」と題して、株式会社東芝 小笠原 秀人 氏にご登壇いただきました。

東芝は愛媛大学と共同で不具合の早期検出を目指して、「膨大なテストケースの中から投入可能な工数の範囲内で実施可能であり、かつ不具合検出の期待が最も高くなるようにテストケースのセットを選択する手法」の研究・開発を進めています。セッションのアブストラクトは次の通りです。

■アブストラクト

「 ソフトウェア開発の終盤に位置するテストは、ソフトウェアの品質を確保するための重要な工程である。近年、ソフトウェアの大規模・複雑化に伴いテストケースの規模も数千~数万件に増加しているが、その一方で、開発期間は短縮される傾向にある。このような状況下でも、ソフトウェアの品質を確保するためには、ソフトウェアに潜在する不具合をなるべく早期に検出し、その修正を確実に実施することが重要である。

 東芝は、愛媛大学と共同で、不具合の早期検出を目指して、膨大なテストケースの中から、投入可能な工数の範囲内で実施可能であり、かつ、不具合検出の期待が最も高くなるようにテストケースのセットを選択する手法の研究・開発を進めている。

 本発表では、研究開発の成果をテスト管理ツールTETRAPLUSの機能として組み込み、実践した結果を紹介します。」

セッションでは、その研究開発成果をテスト管理ツール「TETRAPLUS」の機能として組み込み実践した事例を紹介いただきました。この様子をレポートします。

■テスト管理ツール「TETRAPLUS」の概要

 TETRAPLUSについてはこれまでの他のシンポジウムでの発表でも紹介されているとおり、以下のような機能が実装されています。

・テスト資産の保管
・最新のテスト実施状況の表示
・蓄積されたテスト資産の可視化
・テスト資産の再利用

これらの機能を実装する背景としては、次の狙いや目的があったそうです。

・曖昧になりがちなテスト(システム仕様)をチーム全体で共有する
・リアルタイムでテスト進捗の確認を行う
・テスト管理作業の工数を軽減する

  テスト資産はテスト担当者、開発者、プロジェクトリーダといった立場の異なるメンバが参照するため、それぞれが確認したいことをスムーズに確認できるような機能を実装することで、品質改善や効率向上に寄与できたとのことです。

 ■テスト終盤における課題と、テスト計画最適化技術

 テスト終盤に行うリグレッションテストにおいては、テスト資産(テストケース)が蓄積されていくとその全てのテスト資産を実行できなくなったり偏ったりして、テスト資産やテスト全体を網羅していくのが困難になるという課題がありました。今回はその課題解決のために開発している、テスト選択手法について紹介いただきました。

 テスト選択手法における目的は「不具合検出の可能性の高いテストを優先的に実施する」というものです。これを実現することにより、不具合が早期に検出できるようになり、不具合摘出の早期収束、テストの手戻り工数の削減といった効果が期待できます。(前提条件として、ソースコードとテスト項目の紐付けを行うのは困難であること、またテスト項目がすでに用意されており、それらのテスト項目にはテスト結果が多数蓄積されていることも示されました。)

 今回紹介された手法は、テストの履歴データから各テストケースの実行価値(優先度)を算出し、リグレッションテストに採用するテストセットの案を開発者に提示するというものです。不具合を検出する可能性が高いテスト項目ほど実行価値が高いとし、どんなテスト項目が不具合を検出できそうかという予測には「過去にそのテストが不合格となった割合」「最後にテストを実施してから現在までの、テスト未実施期間の長さ」などの情報を用いたとのことです。先行研究としては、愛媛大学 阿萬 裕久准教授の「論理的制約条件付き0-1計画モデルを用いた重点レビュー計画法」を参考にしたとのことでした。

 先に紹介されたツールでテスト資産を着実に蓄積しテストの再利用を進め、今回紹介された手法を実践するためにはツールの力が必要となります。テスト管理ツールをうまく利用することでテスト資産を有効利用できるわけですが、残念ながらテスト管理ツールの普及はまだまだといいうのが現状です。小笠原 氏は「まずはテスト管理から実践し、テストの資産を蓄積していこう。」と、地道にテスト管理に取り組むことの重要性をアドバイスしていました。

  リグレッションテストのテスト実行の効率化や工数削減は一般的な取り組みとなりつつありますが、テストセットの選択は手動で行っていることが多いのではないでしょうか。テストの履歴データをテストセットの選択に活用するという取り組みは、近年のビッグデータへの関心の強まりも相まって発展性があるように感じました。

(報告:藤沢 耕助)