IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

特許7678932テスト支援装置、テスト支援方法、およびテスト支援プログラム
<>
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図1
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図2
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図3
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図4
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図5
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図6
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図7
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図8
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図9
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図10
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図11
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図12
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図13
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図14
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図15
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図16
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図17
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図18
  • 特許-テスト支援装置、テスト支援方法、およびテスト支援プログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-08
(45)【発行日】2025-05-16
(54)【発明の名称】テスト支援装置、テスト支援方法、およびテスト支援プログラム
(51)【国際特許分類】
   G06F 11/36 20250101AFI20250509BHJP
   G06F 11/263 20060101ALI20250509BHJP
【FI】
G06F11/3668 184
G06F11/263
【請求項の数】 14
(21)【出願番号】P 2024510565
(86)(22)【出願日】2022-03-28
(86)【国際出願番号】 JP2022014870
(87)【国際公開番号】W WO2023187869
(87)【国際公開日】2023-10-05
【審査請求日】2024-03-07
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】藤井 菜摘子
(72)【発明者】
【氏名】加藤 潤二
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2015-26222(JP,A)
【文献】特開平7-210424(JP,A)
【文献】特開2017-138851(JP,A)
【文献】大橋 恭子 他,ビジネスアプリケーション開発における追跡可能性構築への取り組み,ソフトウェアエンジニアリング最前線2010,株式会社近代科学社,2010年08月31日,初版,第155頁-第160頁,ISBN978-4-7649-0394-4
【文献】テスト設計支援ツール TESTRUCTURE -高品質テスト設計の決定版!,組込み総合技術展 関西 IoT総合技術展 関西,株式会社ベリサーブ,2019年06月13日,第1頁-第2頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/3668
G06F 11/263
(57)【特許請求の範囲】
【請求項1】
ソフトウェアの仕様を変更する際に実施するテストを支援するテスト支援装置であって、
仕様情報、ソースコード、トレーサビリティ情報、および変更仕様情報に基づいて、前記変更仕様情報に含まれる変更仕様が設計要素に及ぼす影響度を示す設計要素影響度を算出し、前記設計要素と前記設計要素影響度との関係を示す影響度付き変更影響箇所情報を作成する影響度付き変更影響箇所作成部と、
前記仕様情報、前記変更仕様情報、およびテスト観点データベースに基づいて、前記設計要素とテスト観点との対応の有無を抽出し、前記設計要素と前記テスト観点との対応関係を示すテスト観点マトリクスを作成するテスト観点マトリクス作成部と、
前記影響度付き変更影響箇所作成部が作成した前記影響度付き変更影響箇所情報と、前記テスト観点マトリクス作成部が作成した前記テスト観点マトリクスとに基づいて、前記変更仕様が前記設計要素と前記テスト観点とのペアである設計要素テスト観点ペアに及ぼす影響度を示す設計要素テスト観点ペア影響度を算出し、前記設計要素テスト観点ペアと前記設計要素テスト観点ペア影響度との関係を示す影響度付きテスト観点マトリクスを作成する影響度付きテスト観点マトリクス作成部と、
前記設計要素テスト観点ペアとテストケースとの対応関係を示すテスト情報と、前記影響度付きテスト観点マトリクス作成部が作成した前記影響度付きテスト観点マトリクスとに基づいて、前記テストケースの優先度であるテストケース優先度を算出するテストケース優先度作成部と、
前記影響度付きテスト観点マトリクス作成部が作成した前記影響度付きテスト観点マトリクスと、前記テストケース優先度作成部が算出した前記テストケース優先度とのうちの少なくとも一方を表示する制御を行う表示制御部と、
を備える、テスト支援装置。
【請求項2】
前記影響度付き変更影響箇所作成部は、前記ソースコードにおける前記設計要素間の依存強度に基づいて前記設計要素影響度を算出する、請求項1に記載のテスト支援装置。
【請求項3】
前記影響度付き変更影響箇所作成部は、前記トレーサビリティ情報に含まれる前記設計要素間のトレーサビリティに関する距離情報に基づいて前記設計要素影響度を算出する、請求項1または2に記載のテスト支援装置。
【請求項4】
前記影響度付き変更影響箇所作成部は、少なくとも前記仕様情報および前記テスト観点データベースに含まれるキーワードが予め定められたキーワードであるか否かを判定し、当該判定結果に基づいて前記影響度付きテスト観点マトリクスにおける前記設計要素テスト観点ペア影響度を調整する、請求項1から3のいずれか1項に記載のテスト支援装置。
【請求項5】
前記影響度付きテスト観点マトリクスにおける前記設計要素テスト観点ペア影響度の変更指示を受け付け、当該変更指示に従って前記設計要素テスト観点ペア影響度を調整して調整済み影響度付きテスト観点マトリクスを作成する影響度調整部をさらに備える、請求項1から4のいずれか1項に記載のテスト支援装置。
【請求項6】
前記影響度調整部は、前記影響度付き変更影響箇所情報に含まれる前記設計要素影響度の変更指示を受け付け、当該変更指示に従って前記設計要素影響度を調整し、調整した前記設計要素影響度に基づいて前記設計要素テスト観点ペア影響度を再計算して前記調整済み影響度付きテスト観点マトリクスを作成する、請求項5に記載のテスト支援装置。
【請求項7】
前記影響度調整部は、前記テスト観点の優先度であるテスト観点優先度を受け付け、前記テスト観点優先度に基づいて前記設計要素テスト観点ペア影響度に重み付けをして前記調整済み影響度付きテスト観点マトリクスを作成する、請求項5に記載のテスト支援装置。
【請求項8】
前記影響度調整部は、前記設計要素の優先度である設計要素優先度を受け付け、前記設計要素優先度に基づいて前記設計要素テスト観点ペア影響度に重み付けをして前記調整済み影響度付きテスト観点マトリクスを作成する、請求項5に記載のテスト支援装置。
【請求項9】
前記影響度付きテスト観点マトリクスに基づいて、前記変更仕様が影響を及ぼす前記設計要素が対応する前記テスト観点の一覧と、前記変更仕様が対応する前記テスト観点の一覧とを比較し、両者間で差異がある箇所を整合性違反と判定する整合性判定部をさらに備える、請求項1から4のいずれか1項に記載のテスト支援装置。
【請求項10】
前記整合性判定部は、前記影響度付きテスト観点マトリクスおよび前記テスト情報に基づいて、前記設計要素テスト観点ペアに対応する前記テストケースが存在しない場合に前記整合性違反であると判定する、請求項9に記載のテスト支援装置。
【請求項11】
前記整合性判定部は、前記変更仕様情報を前記仕様情報にマージした改訂仕様情報に関するテスト情報である改訂仕様テスト情報に基づいて、前記変更仕様をテストするために設計されたテストケースが、前記変更仕様が影響を及ぼす設計要素以外の設計要素に対応している場合に前記整合性違反であると判定する、請求項9または10に記載のテスト支援装置。
【請求項12】
前記整合性判定部は、前記変更仕様情報を前記仕様情報にマージした改訂仕様情報に関するテスト情報である改訂仕様テスト情報に基づいて、前記変更仕様をテストするために設計されたテストケースが、前記変更仕様が対応するテスト観点以外のテスト観点に対応している場合に前記整合性違反であると判定する、請求項9から11のいずれか1項に記載のテスト支援装置。
【請求項13】
ソフトウェアの仕様を変更する際に実施するテストを支援するテスト支援方法であって、
仕様情報、ソースコード、トレーサビリティ情報、および変更仕様情報に基づいて、前記変更仕様情報に含まれる変更仕様が設計要素に及ぼす影響度を示す設計要素影響度を算出し、前記設計要素と前記設計要素影響度との関係を示す影響度付き変更影響箇所情報を作成し、
前記仕様情報、前記変更仕様情報、およびテスト観点データベースに基づいて、前記設計要素とテスト観点との対応の有無を抽出し、前記設計要素と前記テスト観点との対応関係を示すテスト観点マトリクスを作成し、
作成した前記影響度付き変更影響箇所情報と、作成した前記テスト観点マトリクスとに基づいて、前記変更仕様が前記設計要素と前記テスト観点とのペアである設計要素テスト観点ペアに及ぼす影響度を示す設計要素テスト観点ペア影響度を算出し、前記設計要素テスト観点ペアと前記設計要素テスト観点ペア影響度との関係を示す影響度付きテスト観点マトリクスを作成し、
前記設計要素テスト観点ペアとテストケースとの対応関係を示すテスト情報と、作成した前記影響度付きテスト観点マトリクスとに基づいて、前記テストケースの優先度であるテストケース優先度を算出し、
作成した前記影響度付きテスト観点マトリクスと、算出した前記テストケース優先度とのうちの少なくとも一方を表示する制御を行う、テスト支援方法。
【請求項14】
コンピュータを、ソフトウェアの仕様を変更する際に実施するテストを支援するテスト支援装置として機能させるためのテスト支援プログラムであって、
仕様情報、ソースコード、トレーサビリティ情報、および変更仕様情報に基づいて、前記変更仕様情報に含まれる変更仕様が設計要素に及ぼす影響度を示す設計要素影響度を算出し、前記設計要素と前記設計要素影響度との関係を示す影響度付き変更影響箇所情報を作成する手順と、
前記仕様情報、前記変更仕様情報、およびテスト観点データベースに基づいて、前記設計要素とテスト観点との対応の有無を抽出し、前記設計要素と前記テスト観点との対応関係を示すテスト観点マトリクスを作成する手順と、
作成した前記影響度付き変更影響箇所情報と、作成した前記テスト観点マトリクスとに基づいて、前記変更仕様が前記設計要素と前記テスト観点とのペアである設計要素テスト観点ペアに及ぼす影響度を示す設計要素テスト観点ペア影響度を算出し、前記設計要素テスト観点ペアと前記設計要素テスト観点ペア影響度との関係を示す影響度付きテスト観点マトリクスを作成する手順と、
前記設計要素テスト観点ペアとテストケースとの対応関係を示すテスト情報と、作成した前記影響度付きテスト観点マトリクスとに基づいて、前記テストケースの優先度であるテストケース優先度を算出する手順と、
作成した前記影響度付きテスト観点マトリクスと、算出した前記テストケース優先度とのうちの少なくとも一方を表示する制御を行う手順と、
を前記コンピュータに実行させる、テスト支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ソフトウェア開発におけるテストを支援するテスト支援装置、テスト支援方法、およびテスト支援プログラムに関する。
【背景技術】
【0002】
近年、ソフトウェアの大規模化に伴いテストケースが増加しており、度重なるソフトウェアの変更開発において開発者が全てのテストケースの回帰試験を実施することは困難である。また、仕様の変更に伴い修正が必要となるテストケースを、開発者が手動で抽出することも困難である。
【0003】
テストケースがどのような目的および観点で設計されたものかを特定し易くするために、「テスト観点」と呼ばれる概念によってテストケースを分類する方法が提案されている。また、縦軸にソフトウェアの機能を示し、横軸にテスト観点を示した行列の表である「テスト観点マトリクス」を、テスト設計時に活用する技術がある。
【0004】
従来、ソフトウェアの仕様変更時の差分情報に基づいて、実施するテストケースまたは修正するテストケースを絞り込む技術が提案されている(例えば、特許文献1,2,3参照)。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第6865942号公報
【文献】特開2020-154563号公報
【文献】特開2016-212633号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術では、変更する仕様に直接対応付けられたテストケースを抽出する技術であるため、変更する仕様から間接的に影響を受ける仕様に対応付けられたテストケースを抽出することができない。間接的に影響を受ける仕様とは、例えば、ある仕様を変更することによってソフトウェアの実行のタイミングが変わり、それによって挙動が変わる恐れのある別の機能に関する仕様等である。
【0007】
また、変更内容に基づくキーワード検索等を使用してテストケースを抽出する技術を使用する場合、関連性が低いテストケースが大量に抽出される可能性、または表記ゆれによって必要なテストケースが抽出されない可能性が生じる。
【0008】
さらに、従来技術では、テストケース単位で抽出または優先度の付与を実施するため、大量に抽出されたテストケースの妥当性を開発者が目視で確認することは困難である。
【0009】
本開示は、このような問題を解決するためになされたものであり、ソフトウェア開発における試験設計工数および試験実施工数を削減することが可能なテスト支援装置、テスト支援方法、およびテスト支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本開示によるテスト支援装置は、ソフトウェアの仕様を変更する際に実施するテストを支援するテスト支援装置であって、仕様情報、ソースコード、トレーサビリティ情報、および変更仕様情報に基づいて、変更仕様情報に含まれる変更仕様が設計要素に及ぼす影響度を示す設計要素影響度を算出し、設計要素と設計要素影響度との関係を示す影響度付き変更影響箇所情報を作成する影響度付き変更影響箇所作成部と、仕様情報、変更仕様情報、およびテスト観点データベースに基づいて、設計要素とテスト観点との対応の有無を抽出し、設計要素とテスト観点との対応関係を示すテスト観点マトリクスを作成するテスト観点マトリクス作成部と、影響度付き変更影響箇所作成部が作成した影響度付き変更影響箇所情報と、テスト観点マトリクス作成部が作成したテスト観点マトリクスとに基づいて、変更仕様が設計要素とテスト観点とのペアである設計要素テスト観点ペアに及ぼす影響度を示す設計要素テスト観点ペア影響度を算出し、設計要素テスト観点ペアと設計要素テスト観点ペア影響度との関係を示す影響度付きテスト観点マトリクスを作成する影響度付きテスト観点マトリクス作成部と、設計要素テスト観点ペアとテストケースとの対応関係を示すテスト情報と、影響度付きテスト観点マトリクス作成部が作成した影響度付きテスト観点マトリクスとに基づいて、テストケースの優先度であるテストケース優先度を算出するテストケース優先度作成部と、影響度付きテスト観点マトリクス作成部が作成した影響度付きテスト観点マトリクスと、テストケース優先度作成部が算出したテストケース優先度とのうちの少なくとも一方を表示する制御を行う表示制御部とを備える。
【発明の効果】
【0011】
本開示によれば、ソフトウェア開発における試験設計工数および試験実施工数を削減することが可能となる。
【0012】
本開示の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【0013】
図1】実施の形態1によるテスト支援装置の構成の一例を示すブロック図である。
図2】実施の形態1によるテスト支援装置の動作を説明するための図である。
図3】実施の形態1による仕様情報の一例を示す図である。
図4】実施の形態1によるトレーサビリティ情報の一例を示す図である。
図5】実施の形態1による変更仕様情報の一例を示す図である。
図6】実施の形態1による影響度付き変更影響箇所情報の一例を示す図である。
図7】実施の形態1によるテスト観点データベースの一例を示す図である。
図8】実施の形態1によるテスト観点マトリクスの一例を示す図である。
図9】実施の形態1による影響度付きテスト観点マトリクスの一例を示す図である。
図10】実施の形態1によるテスト情報の一例を示す図である。
図11】実施の形態1によるテストケース優先度情報の一例を示す図である。
図12】実施の形態1によるテスト支援装置の構成の一例を示す図である。
図13】実施の形態2によるテスト支援装置の構成の一例を示すブロック図である。
図14】実施の形態2によるテスト支援装置の動作を説明するための図である。
図15】実施の形態2による調整済み影響度付きテスト観点マトリクスの一例を示す図である。
図16】実施の形態3によるテスト支援装置の構成の一例を示すブロック図である。
図17】実施の形態3によるテスト支援装置の動作を説明するための図である。
図18】実施の形態3による整合性判定結果の一例を示す図である。
図19】実施の形態3による改訂仕様テスト情報の一例を示す図である。
【発明を実施するための形態】
【0014】
<実施の形態1>
<構成>
図1は、実施の形態1によるテスト支援装置10の構成の一例を示すブロック図である。
【0015】
テスト支援装置10は、コンピュータによって実現される。テスト支援装置10は、プロセッサ11、メモリ12、ストレージ13、および通信インタフェース14の各ハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアに接続され、接続されたハードウェアを制御する。
【0016】
プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11の具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)などが挙げられる。
【0017】
メモリ12は、データを一時的に記憶する記憶装置である。メモリ12の具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)などが挙げられる。
【0018】
ストレージ13は、データを保管する記憶装置である。ストレージ13の具体例としては、HDD(Hard Disk Drive)などが挙げられる。なお、ストレージ13は、SD(Secure Digital、登録商標)メモリカード、CF(CompactFlash、登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)などの可搬記憶媒体であってもよい。
【0019】
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14の具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface、登録商標)などのポートが挙げられる。
【0020】
テスト支援装置10は、機能構成要素として、影響度付き変更影響箇所作成部21と、テスト観点マトリクス作成部22と、影響度付きテスト観点マトリクス作成部23と、テストケース優先度作成部24と、表示制御部25とを備えている。影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能は、ソフトウェアによって実現される。
【0021】
ストレージ13には、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能を実現するプログラムが記憶されている。これらのプログラムは、プロセッサ11によってメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能が実現される。
【0022】
図1では、テスト支援装置10が1つのプロセッサ11を備える場合について示している。しかし、テスト支援装置10は、プロセッサ11を代替する複数のプロセッサを備えてもよい。これら複数のプロセッサは、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能を実現するプログラムの実行を分担する。各プロセッサは、プロセッサ11と同様、プロセッシングを行うICである。
【0023】
<動作>
実施の形態1によるテスト支援装置10の動作について、図2を参照して説明する。
【0024】
実施の形態1によるテスト支援装置10の動作は、実施の形態1によるテスト支援方法に相当する。また、実施の形態1によるテスト支援装置10の動作は、実施の形態1によるテスト支援プログラムの処理に相当する。
【0025】
<影響度付き変更影響箇所作成部21の処理>
影響度付き変更影響箇所作成部21は、通信インタフェース14を介して、仕様情報31、ソースコード32、トレーサビリティ情報33、および変更仕様情報34の入力を受け付けてメモリ12に書き込む。そして、影響度付き変更影響箇所作成部21は、仕様情報31、ソースコード32、トレーサビリティ情報33、および変更仕様情報34を加工し、影響度付き変更影響箇所情報35を作成する。
【0026】
仕様情報31は、例えば、要求仕様書およびソフトウェア設計書などの仕様書、あるいは当該仕様書内に記載された記述の一部である。仕様情報31は、例えば、各要求および機能の標題と、それらの詳細に関する記述とをリスト化したものである。図3は、実施の形態1で具体例として使用する仕様情報31を示す図である。図3に示す要求において、例えば2行目には要求Iという標題の要求の詳細が記述されている。
【0027】
トレーサビリティ情報33は、例えば、各設計要素(要求、機能、関数など)が、隣接する上位仕様または下位仕様のどの設計要素と対応付くかをリスト化したものである。隣接する仕様とは、例えば、要求設計工程、機能設計工程、関数設計工程、および試験設計工程が、それぞれ一つ前の工程の成果物を入力としてシーケンスを実施する場合に、隣接する設計工程から出力される各設計要素のことを示す。例えば、先の例の場合、要求の隣接する下位仕様は機能であり、機能の隣接する上位仕様は要求である。設計要素が対応付くとは、2つまたは2つ以上の設計要素が関連を持つことを意味している。例えば、ある要求を達成するためにある機能が設計された場合、これらの要求と機能とは対応付くといえる。図4は、実施の形態1で具体例として使用するトレーサビリティ情報33を示す図である。図4に示す要求において、例えば2行目と3行目は、要求Iが機能Aおよび機能Bによって達成されることを示している。トレーサビリティ情報33は、手動で作成してもよく、ツールまたはスクリプトを使用して自動で作成してもよい。
【0028】
変更仕様情報34は、例えば、変更開発のために作成される変更仕様書、または当該変更仕様書内に記載された記述の一部である。変更仕様情報34は、例えば、各変更仕様の標題とその詳細に関する記述とをリスト化したものである。図5は、実施の形態1で具体例として使用する変更仕様情報34を示す図である。図5において、例えば2行目は、変更αという標題の変更仕様の詳細と、変更対象が機能Bであることを示している。変更対象とは、関連する仕様情報31に記載されている設計要素のうち、変更仕様が変更の対象としている設計要素である。変更対象には、機能の他に、要求または関数が記載されていてもよく、要求および関数の両方が記載されていてもよい。変更対象には、複数の設計要素が記載されていてもよい。変更開発において新規に機能を作成する場合等、関連する仕様情報31に変更対象が無い場合は空白でもよい。
【0029】
影響度付き変更影響箇所情報35は、例えば、仕様情報31の各設計要素について、変更仕様情報34に記載されている変更仕様から受ける影響度(以下、「設計要素影響度」という)をリスト化したものである。設計要素影響度とは、変更仕様の通りに変更対象の内容を変更した場合に、各設計要素が受ける影響の度合いである。影響とは、例えば、各設計要素の仕様の変更が必要になる可能性、または各設計要素に関する対象ソフトウェアの動作が変更される可能性等を意味する。図6は、実施の形態1で具体例として使用する影響度付き変更影響箇所情報35を示す図であり、変更αに関する設計要素影響度を示すリストである。図6において、例えば2行目は、変更αの設計要素影響度が最も大きい「0」であることを示している。また、例えば3行目は、要求Iが変更αから設計要素影響度「2」の影響を受けることを示す。図6では、設計要素影響度の数値が小さいほど影響が大きいことを示しており、変更αの変更対象である機能Bの影響が最も大きく、要求IIおよび第4関数の影響が最も小さいことを示している。
【0030】
以下では、図2~6を参照して、影響度付き変更影響箇所作成部21の処理について説明する。
【0031】
まず、影響度付き変更影響箇所作成部21は、仕様情報31を元に、設計要素の一覧を作成し、図6に示す影響度付き変更影響箇所情報35の表の1列目の3行目以降に記載する。
【0032】
次に、影響度付き変更影響箇所作成部21は、変更仕様情報34を元に、変更仕様の一覧を作成し、図6に示す影響度付き変更影響箇所情報35の表の1列目の2行目に記載する。
【0033】
次に、影響度付き変更影響箇所作成部21は、ソースコード32およびトレーサビリティ情報33を元に、各変更仕様が各設計要素に与える設計要素影響度を算出する。設計要素影響度の算出には、ソースコード32内の関数同士の依存関係の情報、およびトレーサビリティ情報33に含まれている距離情報を使用する。
【0034】
具体的には、影響度付き変更影響箇所作成部21は、トレーサビリティ情報33を元に、各設計要素間の関連度合い(以下、「設計要素間関連度合い」という)を算出する。例えば、変更αは機能Bを変更する変更仕様であるため、変更αと機能Bとの設計要素間関連度合いは「1」とする。また、機能Bは要求Iと直接対応付けられているため、機能Bと要求Iとの設計要素間関連度合いは「1」とする。変更αと要求Iとの設計要素間関連度合いは、変更αと機能Bとの設計要素間関連度合いと、機能Bと要求Iとの設計要素間関連度合いとを加算して「2」とする。影響度付き変更影響箇所作成部21は、このようにして算出した変更αから各設計要素への設計要素間関連度合いを、設計要素影響度として図6に示す影響度付き変更影響箇所情報35の表の2列目に記載する。もし変更αから関連を辿ることのできない設計要素がある場合は、図6に示す影響度付き変更影響箇所情報35の表の8行目のように、影響なしを意味する「―」を記載してもよい。
【0035】
影響度付き変更影響箇所作成部21は、設計要素影響度を算出する際にソースコード32の情報を使用してもよい。例えば、影響度付き変更影響箇所作成部21は、静的解析技術等を用いてソースコード32内の各関数間の依存強度を算出する。例えば、第3関数と第5関数との間に関数呼び出し等の依存関係がある場合、第3関数と第5関数との設計要素間関連度合いを「1」または依存強度の逆数等とする。その結果、変更αと第5関数との設計要素間関連度合いは、変更αと第3関数との設計要素間関連度合いである「2」と、第3関数と第5関数との設計要素間関連度合いである「1」とを加算して「3」となる。影響度付き変更影響箇所作成部21がソースコード32内の各関数間の依存強度を元に設計要素間関連度合いを算出する場合、トレーサビリティ情報33に含まれる設計要素間のトレーサビリティに関する距離情報を元に、設計要素間の経路を辿り設計要素間関連度合いを加算するように関数間の依存関係の経路を辿り、設計要素間関連度合いを加算してもよい。例えば、第3関数と第6関数とに依存関係があり、かつ第6関数と第4関数とに依存関係がある場合、第3関数と第4関数との設計要素間関連度合いは、第3関数と第6関数との設計要素間関連度合いと、第6関数と第4関数との設計要素間関連度合いを加算した「2」となる。
【0036】
トレーサビリティ情報33の経路がループしている等の場合、各項目間の経路が複数発生する可能性がある。例えば、第3関数と第6関数とに依存関係があり、かつ第6関数と第4関数とに依存関係があり、第3関数と第4関数との設計要素間関連度合いである「2」を考慮する場合、変更αから機能Cへの経路は、機能B、要求I、機能A、および第2関数を辿る経路(経路β)、または、機能B、第3関数、第6関数、および第4関数を辿る経路(経路γ)が存在する。この場合、影響度付き変更影響箇所作成部21は、例えば、変更αと機能Cとの設計要素間関連度合いを算出する際、経路βにおける変更αと機能Cとの設計要素間関連度合いと、経路γにおける変更αと機能Cとの設計要素間関連度合いとのうちの小さい方の値を設計要素影響度としてもよい。
【0037】
影響度付き変更影響箇所作成部21は、さらにテスト観点データベース36を入力とし、設計要素の記述、関数コメント、テスト観点の記述、またはテストケースの記述等に関して、ソフトウェアが組み込まれる製品または機能の弱点キーワードが含まれるか否かを判定し、影響度付きテスト観点マトリクス38(図9参照)内の影響度(以下、「機能テスト観点ペア影響度(設計要素テスト観点ペア影響度)」という)の値を調整してもよい。具体的には、例えば、弱点キーワードとして「割込みタイミング」が設定されており、テスト観点データベース36内のテスト観点bの記述に「割込みタイミング」というキーワードが含まれている場合、影響度付き変更影響箇所作成部21は、影響度付きテスト観点マトリクス38のテスト観点bに関する機能テスト観点ペア影響度の値から任意の値を減算する。
【0038】
影響度付き変更影響箇所作成部21は、作成した影響度付き変更影響箇所情報35をメモリ12に書き込む。
【0039】
<テスト観点マトリクス作成部22の処理>
テスト観点マトリクス作成部22は、通信インタフェース14を介して、仕様情報31、変更仕様情報34、およびテスト観点データベース36の入力を受け付け、メモリ12に書き込む。
【0040】
次に、テスト観点マトリクス作成部22は、仕様情報31、変更仕様情報34、およびテスト観点データベース36を元に、テスト観点マトリクス37を作成する。
【0041】
テスト観点データベース36は、テスト観点の標題とその詳細に関する記述とをリスト化したものである。図7は、実施の形態1で具体例として使用するテスト観点データベース36を示す図である。図7において、例えば2行目には、テスト観点aという標題のテスト観点の詳細が記述されている。テスト観点とは、テストを実施する目的またはテストで確認する対象等の分類であり、例えば、「通信データ」および「画面表示」等の機能要件、または「効率性」、「信頼性」、および「保守性」等の非機能要件である。
【0042】
テスト観点マトリクス37は、設計要素とテスト観点との関係をリスト化したものである。図8は、実施の形態1で具体例として使用するテスト観点マトリクス37を示す図である。図8において、例えば2行目は、機能Aがテスト観点aおよびテスト観点bに対応することを示している。機能がテスト観点に対応するとは、例えば、該当するテスト観点に関する設計記述が仕様書内に記載されていること、または、該当するテスト観点に関するテストの実施が推奨されていることを示している。
【0043】
以下では、図2,7,8を参照して、テスト観点マトリクス作成部22の処理について説明する。
【0044】
まず、テスト観点マトリクス作成部22は、仕様情報31を元に、設計要素の一覧を作成し、図8に示すテスト観点マトリクス37の表の1列目の2行目以降に記載する。このとき、設計要素は任意の粒度に限定してもよい。図8の例では、機能に限定して記載している。以下では、図8に示すテスト観点マトリクス37の表の1列目の記載項目を機能に限定することを前提に説明するが、機能を他の粒度に置き換えてもよい。
【0045】
次に、テスト観点マトリクス作成部22は、変更仕様情報34を元に、変更仕様の一覧を作成し、図8に示すテスト観点マトリクス37の表の1列目の末尾に記載する。
【0046】
次に、テスト観点マトリクス作成部22は、テスト観点データベース36を元に、テスト観点の一覧を作成し、図8に示すテスト観点マトリクス37の表の1行目の2列目以降に記載する。
【0047】
次に、テスト観点マトリクス作成部22は、仕様情報31の各設計要素の標題と記述、および変更仕様情報34の変更仕様の標題と記述を元に、各設計要素とテスト観点との対応の有無を抽出する。テスト観点マトリクス作成部22は、ある設計要素とあるテスト観点との間に対応がある場合、テスト観点マトリクス37の設計要素とテスト観点とが交差するセルに「○」を記載する。テスト観点マトリクス作成部22は、ある設計要素とあるテスト観点との間に対応が無い場合、テスト観点マトリクス37の設計要素とテスト観点とが交差するセルに「―」を記載する。設計要素とテスト観点との対応の有無の抽出には、標題および記述に対してキーワード検索等の手法を使用する。設計要素とテスト観点との対応の有無の抽出は、作業者が手動で実施してもよい。
【0048】
テスト観点マトリクス作成部22は、作成したテスト観点マトリクス37をメモリ12に書き込む。
【0049】
<影響度付きテスト観点マトリクス作成部23の処理>
影響度付きテスト観点マトリクス作成部23は、影響度付き変更影響箇所作成部21が作成した影響度付き変更影響箇所情報35と、テスト観点マトリクス作成部22が作成したテスト観点マトリクス37とを元に、影響度付きテスト観点マトリクス38を作成する。
【0050】
影響度付きテスト観点マトリクス38は、テスト観点マトリクス37内のセルに示した「○」を機能テスト観点ペア影響度の数値で置き換えたリストである。機能テスト観点ペア影響度とは、ある機能とあるテスト観点との組合せである機能テスト観点ペア(設計要素テスト観点ペア)が、任意の変更仕様からどの程度影響を受けるかを示す度合いである。図9は、実施の形態1で具体例として使用する影響度付きテスト観点マトリクス38を示す図である。図9において、例えば2行目は、機能Aとテスト観点aとの組合せが、変更αから機能テスト観点ペア影響度「3」を受けることを示し、機能Aとテスト観点bとの組合せが、変更αから機能テスト観点ペア影響度「3」を受けることを示している。
【0051】
以下では、図2,9を参照して、影響度付きテスト観点マトリクス作成部23の処理を説明する。
【0052】
まず、影響度付きテスト観点マトリクス作成部23は、テスト観点マトリクス37の内容を影響度付きテスト観点マトリクス38にコピーする。
【0053】
次に、影響度付き変更影響箇所情報35を元に、図9に示す影響度付きテスト観点マトリクス38の1列目に記載の各設計要素の設計要素影響度を、該当する行の「○」のセルに、機能テスト観点ペア影響度として記載する。例えば、図6に示す影響度付き変更影響箇所情報35に機能Aの設計要素影響度は「3」であり、図8に示す影響度付きテスト観点マトリクス38の機能Aが該当する2行目についてセルの値が「○」である列は2列目と3列目であるため、図9に示す影響度付きテスト観点マトリクス38の2行目の2列目と3列目に機能テスト観点ペア影響度「3」を記載する。
【0054】
このとき、ある設計要素の設計要素影響度が任意の設計要素閾値よりも大きい場合、該当する設計要素が変更の影響をほとんど受けないと考えるのであれば、影響度付きテスト観点マトリクス38の該当する設計要素の行には機能テスト観点ペア影響度を記載しない処理としてもよい。設計要素閾値とは、設計要素影響度の有意性を判断するための閾値である。例えば、設計要素閾値を設計要素影響度「3」以下に設定した場合、図6に示す影響度付き変更影響箇所情報35における機能Cの設計要素影響度は「5」であるため、設計要素閾値よりも大きい。そのため、影響度付きテスト観点マトリクス作成部23は、図9に示す影響度付きテスト観点マトリクス38の機能Cが該当する4行目について、機能テスト観点ペア影響度を記載せずに「○」のままとする。
【0055】
影響度付きテスト観点マトリクス作成部23は、作成した影響度付きテスト観点マトリクス38をメモリ12に書き込む。
【0056】
<テストケース優先度作成部24の処理>
テストケース優先度作成部24は、通信インタフェース14を介してテスト情報39の入力を受け付け、メモリ12に書き込む。テストケース優先度作成部24は、テスト情報39と、影響度付きテスト観点マトリクス作成部23が作成した影響度付きテスト観点マトリクス38とを元に、テストケース優先度情報40を作成する。
【0057】
テスト情報39は、設計要素とテスト観点とテストケースとの対応が記載されたものであり、例えば、機能、テスト観点、テストケースの標題、およびテストケースの記述をリスト化したものである。テストケースとは、ある機能についてあるテスト観点における動作または性能を確認するために実施するテストに関して、前提条件、一連の手順および期待結果等を示したものである。図10は、実施の形態1で具体例として使用するテスト情報39を示す図である。図10において、例えば2行目は、機能Aとテスト観点aとの組合せに対応するテストケースとして、第1テストケースという標題のテストケースの詳細が記述されている。
【0058】
テストケース優先度情報40は、テストケースの標題とその優先度(以下、「テストケース優先度」という)とをリスト化したものである。テストケース優先度とは、変更仕様の通りに変更対象の内容を変更した場合に、どのテストケースを優先してテスト実施またはテスト設計を実施すべきかを示す度合いである。図11は、実施の形態1で具体例として使用するテストケース優先度情報40を示す図である。図11において、例えば2行目には第1テストケースのテストケース優先度が「3」であることが示されており、6行目には第5テストケースのテストケース優先度が「1」であることが示されている。このことから、第5テストケースよりも第1テストケースを優先すべきであることが分かる。
【0059】
以下では、図2,10,11を参照して、テストケース優先度作成部24の処理について説明する。
【0060】
まず、テストケース優先度作成部24は、テスト情報39を元に、テストケースの一覧を作成し、図11に示すテストケース優先度情報40の表の1列目の2行目以降に記載する。
【0061】
次にテストケース優先度作成部24は、テスト情報39を元に各テストケースの対応する機能とテスト観点とを抽出し、影響度付きテスト観点マトリクス38において該当するセルの機能テスト観点ペア影響度をテストケース優先度として、図11に示すテストケース優先度情報40の表の2列目に記載する。例えば、図11に示すテストケース優先度情報40の表の2行目の第1テストケースは、図10に示すテスト情報39の2行目によると機能Aおよびテスト観点aに対応する。図9に示す影響度付きテスト観点マトリクス38の表の2行目の2列目によると、機能Aとテスト観点aとの機能テスト観点ペア影響度は「3」である。そのため、テストケース優先度作成部24は、図11に示すテストケース優先度情報40の表の2行目の2列目にテストケース優先度「3」を記載する。テストケース優先度作成部24は、テストケース優先度の値の大小に応じてテストケースを並び替えてもよい。
【0062】
テストケース優先度作成部24は、作成したテストケース優先度情報40をメモリ12に書き込む。
【0063】
<表示制御部25の処理>
表示制御部25は、影響度付きテスト観点マトリクス作成部23が作成した影響度付きテスト観点マトリクス38、またはテストケース優先度作成部24が作成したテストケース優先度情報40のいずれか一方、あるいはその両方を、通信インタフェース14を介して図示しない表示装置に表示するように制御する。
【0064】
表示制御部25は、中間成果物であるテスト情報39、影響度付き変更影響箇所情報35、およびテスト観点マトリクス37のうちの少なくとも1つを、通信インタフェース14を介して表示装置に表示させてもよい。
【0065】
<効果>
以上のように、実施の形態1によるテスト支援装置10は、ソフトウェアの仕様変更における試験に関わる各テストケースのテスト実施、およびテスト設計の優先順位を決定する。
【0066】
実施の形態1によれば、テスト設計者は、変更影響を受ける可能性の高い順にテストケースの変更、および新規作成の要否を判断することができるようになり、試験設計工数の削減を図ることができる。また、テスト実施者は、変更影響を受ける可能性の高いテストケースに絞り込んでテストを実施すれば良いため、試験実施工数の削減を図ることができる。さらに、テスト設計者およびテスト実施者は、テスト観点の粒度でテストケースの優先度を確認することができるようになり、テストケースの優先度の妥当性の確認の容易化を図ることができる。
【0067】
<変形例1>
実施の形態1では、テスト支援装置10が備える影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能がソフトウェアで実現される場合について説明した。
【0068】
変形例1では、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能がハードウェアで実現される場合について説明する。以下では、変形例1について、実施の形態1と異なる点を説明する。
【0069】
以下では、図12を参照して、変形例1によるテスト支援装置10の構成について説明する。
【0070】
影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能がハードウェアで実現される場合、テスト支援装置10は、プロセッサ11、メモリ12、およびストレージ13に代えて、処理回路15を備える。処理回路15は、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、表示制御部25、メモリ12、およびストレージ13の各機能を実現する専用の電子回路である。
【0071】
処理回路15は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
【0072】
影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能を1つの処理回路15で実現してもよく、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能を複数の処理回路15に分散させて実現してもよい。
【0073】
<変形例2>
変形例1では、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25の各機能がハードウェアで実現される場合について説明したが、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【0074】
すなわち、変形例2として、影響度付き変更影響箇所作成部21、テスト観点マトリクス作成部22、影響度付きテスト観点マトリクス作成部23、テストケース優先度作成部24、および表示制御部25のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【0075】
プロセッサ11、メモリ12、ストレージ13、および処理回路15を総称して「プロセッシングサーキットリー」という。すなわち、各機能構成要素の機能は、プロセッシングサーキットリーによって実現される。
【0076】
<実施の形態2>
実施の形態2は、設計要素影響度または機能テスト観点ペア影響度の値を調節する点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
【0077】
<構成>
図13を参照して、実施の形態2によるテスト支援装置16の構成について説明する。
【0078】
テスト支援装置16は、プロセッサ17が影響度調整部26を備える点が、図1に示すテスト支援装置10と異なる。影響度調整部26は、他の機能構成要素と同様にソフトウェアによって実現される。また、影響度調整部26は、他の機能構成要素と同様に一部または全部をハードウェアによって実現されてもよい。
【0079】
<動作>
図14を参照して、実施の形態2に係るテスト支援装置16の動作について説明する。
【0080】
実施の形態2によるテスト支援装置16の動作は、実施の形態2によるテスト支援方法に相当する。また、実施の形態2によるテスト支援装置10の動作は、実施の形態2によるテスト支援プログラムの処理に相当する。
【0081】
<影響度調整部26の処理>
影響度調整部26は、影響度付きテスト観点マトリクス作成部23が作成した影響度付きテスト観点マトリクス38に対して、作業者から設計要素影響度の値または機能テスト観点ペア影響度の値の変更指示を受け付けて値を変更し、調整済み影響度付きテスト観点マトリクス41を作成する。
【0082】
調整済み影響度付きテスト観点マトリクス41は、影響度付きテスト観点マトリクス38内の機能テスト観点ペア影響度の値を作業者からの変更指示の通りに変更したリストである。図15は、実施の形態2で具体例として使用する調整済み影響度付きテスト観点マトリクス41を示す図である。
【0083】
テストケース優先度作成部24は、影響度付きテスト観点マトリクス38ではなく、調整済み影響度付きテスト観点マトリクス41を元に、テストケース優先度情報40を作成する。
【0084】
以下では、図14,15を参照して、影響度調整部26の処理について説明する。
【0085】
まず、影響度調整部26は、通信インタフェース14を介して、影響度付きテスト観点マトリクス38を表示装置に表示させる。
【0086】
次に、影響度調整部26は、影響度付きテスト観点マトリクス38の内容を、調整済み影響度付きテスト観点マトリクス41にコピーする。影響度調整部26は、通信インタフェース14を介して作業者からの機能テスト観点ペア影響度の値の変更指示を受け付け、調整済み影響度付きテスト観点マトリクス41の該当する値を変更する。具体的には、例えば、作業者は通信インタフェース14を介して「機能Aとテスト観点bとの機能テスト観点ペア影響度を1減少させる」等の指示を送る。影響度調整部26は、図15に示す調整済み影響度付きテスト観点マトリクス41の表における機能Aとテスト観点bとの機能テスト観点ペア影響度に対応する2行目の3列目のセルの値を、「3」から「2」に変更する。
【0087】
なお、影響度調整部26は、通信インタフェース14を介して影響度付き変更影響箇所情報35を表示装置に表示し、作業者から設計要素影響度の値の変更指示を受け付け、影響度付き変更影響箇所情報35内の設計要素影響度の値を変更してもよい。その際、影響度調整部26は、変更した設計要素影響度の値を元に、機能テスト観点ペア影響度の値を再計算し、調整済み影響度付きテスト観点マトリクス41を作成する。
【0088】
また、影響度調整部26は、通信インタフェース14を介して作業者からテスト観点優先度を受け付け、調整済み影響度付きテスト観点マトリクス41内の機能テスト観点ペア影響度の値を変更してもよい。テスト観点優先度とは、指定のテスト観点に与えられる優先度の値である。具体的には、例えば、作業者は通信インタフェース14を介して「テスト観点bのテスト観点優先度は1」等の指示を送る。影響度調整部26は、図15に示す調整済み影響度付きテスト観点マトリクス41の表におけるテスト観点bに対応する2行目の3列目のセルの値を、「3」から1減算して「2」に変更する。同様に、影響度調整部26は、図15に示す調整済み影響度付きテスト観点マトリクス41の表におけるテスト観点bに対応する3行目の3列目のセルの値を、「1」から1減算して「0」に変更する。テスト観点優先度を用いた機能テスト観点ペア影響度の値の変更は、減算および除算等の四則演算でも、その他の算出方法でもよい。このように、影響度調整部26は、テスト観点優先度に基づいて機能テスト観点ペア影響度に重み付けをして調整済み影響度付きテスト観点マトリクス41を作成する。
【0089】
また、影響度調整部26は、通信インタフェース14を介して作業者から設計要素優先度を受け付け、調整済み影響度付きテスト観点マトリクス41内の機能テスト観点ペア影響度の値を変更してもよい。設計要素優先度とは、指定の設計要素に与えられる優先度の値である。具体的には、例えば、作業者は通信インタフェース14を介して「機能Bの設計要素優先度は1」等の指示を送る。影響度調整部26は、図15に示す調整済み影響度付きテスト観点マトリクス41の表における機能Bに対応する3行目の2列目のセルの値を、「1」から1減算して「0」に変更する。同様に、影響度調整部26は、図15に示す調整済み影響度付きテスト観点マトリクス41の表における機能Bに対応する3行目の3列目のセルの値を、「1」から1減算して「0」に変更する。同様に、影響度調整部26は、図15に示す調整済み影響度付きテスト観点マトリクス41の表における機能Bに対応する3行目の4列目のセルの値を、「1」から1減算して「0」に変更する。設計要素優先度を用いた機能テスト観点ペア影響度の値の変更は、減算および除算等の四則演算でも、その他の算出方法でもよい。
【0090】
次に、影響度調整部26は、調整済み影響度付きテスト観点マトリクス41をメモリ12に書き込む。
【0091】
<効果>
以上のように、実施の形態2によるテスト支援装置16は、作業者が設計要素影響度または機能テスト観点ペア影響度の値を任意に調整した結果を、各テストケースのテスト実施およびテスト設計の優先順位に反映する。
【0092】
実施の形態2によれば、テスト設計者は、弱点箇所に関するテストケースの変更および新規作成の要否を優先して判断することができるようになり、試験設計工数の削減を図ることができる。また、テスト実施者は、弱点箇所に関するテストケースに絞り込んでテストを実施すれば良いため、試験実施工数の削減を図ることができる。弱点箇所とは、例えば、過去に不具合が発生した機能またはテスト観点等、または、不具合が発生しやすいと考えられる機能またはテスト観点等である。
【0093】
<実施の形態3>
実施の形態3は、影響度付きテスト観点マトリクスの整合性を判定する点が実施の形態1と異なる。実施の形態3では、この異なる点を説明し、同一の点については説明を省略する。
【0094】
<構成>
図16を参照して、実施の形態3によるテスト支援装置18の構成を説明する。
【0095】
テスト支援装置18は、プロセッサ19が整合性判定部27を備える点が、図1に示すテスト支援装置10と異なる。整合性判定部27は、他の機能構成要素と同様にソフトウェアによって実現される。また、整合性判定部27は、他の機能構成要素と同様に一部または全部をハードウェアによって実現されてもよい。
【0096】
<動作>
図17を参照して、実施の形態3によるテスト支援装置18の動作について説明する。
【0097】
実施の形態3によるテスト支援装置18の動作は、実施の形態3によるテスト支援方法に相当する。また、実施の形態3によるテスト支援装置18の動作は、実施の形態3によるテスト支援プログラムの処理に相当する。
【0098】
<整合性判定部27の処理>
整合性判定部27は、影響度付きテスト観点マトリクス作成部23が作成した影響度付きテスト観点マトリクス38と、テスト情報39と、改訂仕様テスト情報43とに対して、記載内容間の矛盾の有無を確認して整合性を判定し、矛盾のある個所を整合性違反として検出し、整合性判定結果42を作成する。
【0099】
整合性判定結果42は、整合性違反に関する箇所と内容を記載したリストである。図18は、実施の形態3で具体例として使用する整合性判定結果42を示す図であり、例えば2行目は変更αの整合性違反として、変更αとテスト観点cとが対応していないことを示している。
【0100】
改訂仕様テスト情報43は、変更仕様情報を仕様情報にマージした改訂仕様情報に関するテスト情報である。変更仕様情報のマージとは、変更開発の完了後に、変更前の仕様情報とは別に作成した変更仕様情報を、変更前の仕様情報に反映する作業である。図19は、実施の形態3で具体例として使用する改訂仕様テスト情報43を示す図であり、例えば12行目は、図10に示すテスト情報39では変更αのテストケースとして設計されていた第11テストケースが、機能Bの第11テストケースとして整理されたことを示している。
【0101】
表示制御部25は、整合性判定部27が作成した整合性判定結果42を、通信インタフェース14を介して表示装置に表示する制御を行う。
【0102】
以下では、図9,15を参照して、整合性判定部27の処理について説明する。
【0103】
まず、整合性判定部27は、影響度付きテスト観点マトリクス38を元に、変更仕様が対応するテスト観点のリストを抽出する。具体的には、図9の例では、整合性判定部27は、変更αが対応するテスト観点として、テスト観点aとテスト観点bとを抽出する。
【0104】
次に、整合性判定部27は、影響度付きテスト観点マトリクス38を元に、変更仕様が影響を及ぼす設計要素の一覧を抽出する。このとき、該当する設計要素影響度の数値が設計要素閾値よりも大きい設計要素、または該当する機能テスト観点ペア影響度が機能テスト観点ペア閾値よりも大きい機能テスト観点ペアを除外して抽出してもよい。機能テスト観点ペア閾値とは、機能テスト観点ペア影響度の有意性を判断するための閾値である。具体的には、図9の例では、整合性判定部27は、変更αが影響を及ぼす設計要素として、機能テスト観点ペア影響度の数値が記載されている機能Aと機能Bとを抽出する。なお、機能Cは設計要素影響度が設計要素閾値である「3」よりも大きいため、機能テスト観点ペア影響度の数値は記載されていない。そのため、整合性判定部27は、抽出する機能に機能Cを含めない。
【0105】
次に、整合性判定部27は、影響度付きテスト観点マトリクス38を元に、変更仕様の影響を受ける設計要素が対応するテスト観点のリストを抽出する。具体的には、図9の例では、整合性判定部27は、先ほど抽出した機能Aと機能Bとが対応するテスト観点として、テスト観点aとテスト観点bとテスト観点cとを抽出する。
【0106】
次に、整合性判定部27は、影響度付きテスト観点マトリクス38を元に、変更仕様が対応するテスト観点のリストと、変更仕様が影響を及ぼす設計要素の対応するテスト観点のリストとを比較する。具体的には、図9の例では、整合性判定部27は、変更仕様が対応するテスト観点であるテスト観点aとテスト観点bとのリストと、機能Aと機能Bとが対応するテスト観点であるテスト観点aとテスト観点bとテスト観点cとのリストを比較し、変更仕様が対応するテスト観点の側にのみテスト観点cが含まれていないことを検出する。
【0107】
次に、整合性判定部27は、整合性判定結果42に、変更αの整合性違反として、テスト観点cが対応していないことを記載する。
【0108】
また、整合性判定部27は、影響度付きテスト観点マトリクス38を元に、変更仕様および各設計要素が対応する機能-テスト観点ペアのリストを抽出する。このとき、整合性判定部27は、機能テスト観点ペア影響度が機能テスト観点ペア閾値よりも大きい機能テスト観点ペアを除外してもよい。具体的には、機能テスト観点ペア閾値が「2」である場合、図9の例では、整合性判定部27は、変更仕様および各設計要素が対応する機能テスト観点ペアとして、機能Bとテスト観点aとのペア、機能Bとテスト観点bとのペア、機能Bとテスト観点bとのペア、変更αとテスト観点aとのペア、および変更αとテスト観点bとのペアを抽出する。
【0109】
次に、整合性判定部27は、テスト情報39を元に、先ほど抽出した機能テスト観点ペアに対応するテストケースの有無を確認する。具体的には、図9の例では、整合性判定部27は、変更αとテスト観点bとのペアに対応するテストケースが存在しないことを検出する。
【0110】
次に、整合性判定部27は、整合性判定結果42に、変更αの整合性違反として、変更αとテスト観点bとのペアに対応するテストケースが存在しないことを記載する。
【0111】
また、整合性判定部27は、テスト情報39と改訂仕様テスト情報43とを比較し、変更仕様に関するテストケースがどのように仕様情報に反映されたかを抽出する。テスト情報39のテストケースと改訂仕様テスト情報43のテストケースとの同一性の判定は、テストケースの名称の一致、またはテストケースの記述の類似性等を元に判定する。具体的には、図19の例では、整合性判定部27は、第11テストケースが機能Bとテスト観点cとのペアのテストケースとして整理されたこと、および、第12テストケースが機能Cとテスト観点aとのペアのテストケースとして整理されたことを抽出する。
【0112】
次に、整合性判定部27は、影響度付きテスト観点マトリクス38を元に、変更仕様が影響を及ぼす設計要素のリストを抽出する。このとき、整合性判定部27は、機能テスト観点ペア影響度が機能テスト観点ペア閾値以下である機能テスト観点ペアを持つ設計要素に限定してもよい。具体的には、機能テスト観点ペア閾値が「4」である場合、図9の例では、整合性判定部27は、変更仕様が影響を及ぼす設計要素として、機能Aおよび機能Bを検出する。
【0113】
次に、整合性判定部27は、整理されたテストケースに新たに対応付けられた機能が、先ほど抽出した変更仕様が影響を及ぼす設計要素のリストに含まれるか否かを判定する。具体的には、図19の例では、第12テストケースが、変更仕様の影響を及ぼす設計要素のリストに含まれない機能に対応していることを検出する。
【0114】
次に、整合性判定部27は、整合性判定結果42に、第12テストケースの整合性違反として、変更仕様が影響を及ぼす設計要素のリストに含まれない機能Cに対応していることを記載する。
【0115】
また、整合性判定部27は、影響度付きテスト観点マトリクス38を元に、変更仕様が対応するテスト観点のリストを抽出する。具体的には、図9の例では、整合性判定部27は、変更仕様が対応するテスト観点として、テスト観点aとテスト観点bとを抽出する。
【0116】
次に、整合性判定部27は、整理されたテストケースに新たに対応づけられたテスト観点が、先ほど抽出した変更仕様が対応するテスト観点のリストに含まれるか否かを判定する。具体的には、図19の例では、第11テストケースが、変更仕様が対応するテスト観点のリストに含まれないテスト観点に対応していることを検出する。
【0117】
次に、整合性判定部27は、整合性判定結果42に、第11テストケースの整合性違反として、変更仕様が対応するテスト観点のリストに含まれないテスト観点cに対応していることを記載する。
【0118】
次に、整合性判定部27は、整合性判定結果42をメモリ12に書き込む。
【0119】
<効果>
以上のように、実施の形態3によるテスト支援装置18は、変更仕様に関する整合性違反を検出する。
【0120】
実施の形態3によれば、仕様設計者は、変更開発における変更仕様に関する仕様漏れ、および変更開発を適用する変更前の仕様に関する仕様漏れの可能性を発見することができる。テスト設計者は、テストケースの設計漏れの可能性を発見することができる。また、テスト設計者は、変更仕様を変更前の仕様にマージする際のテストケース再設計のミスの可能性を発見することができる。
【0121】
なお、本開示の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
【0122】
本開示は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、限定的なものではない。例示されていない無数の変形例が想定され得るものと解される。
【符号の説明】
【0123】
10 テスト支援装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、15 処理回路、16 テスト支援装置、17 プロセッサ、18 テスト支援装置、19 プロセッサ、21 影響度付き変更影響箇所作成部、22 テスト観点マトリクス作成部、23 影響度付きテスト観点マトリクス作成部、24 テストケース優先度作成部、25 表示制御部、26 影響度調整部、27 整合性判定部、31 仕様情報、32 ソースコード、33 トレーサビリティ情報、34 変更仕様情報、35 影響度付き変更影響箇所情報、36 テスト観点データベース、37 テスト観点マトリクス、38 影響度付きテスト観点マトリクス、39 テスト情報、40 テストケース優先度情報、41 調整済み影響度付きテスト観点マトリクス、42 整合性判定結果、43 改訂仕様テスト情報。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19