テスト作業管理支援装置
【目的】 推定したソフトウェア品質の信頼性と十分性に関するデータとアドバイスルールとを比較して、適切なアドバイスを出力することにより、ソフトウェアの不具合検出とその除去を容易に実行する。
【構成】 ソフトウェア品質に関するテストデータをデータ入力部に入力する。テスト信頼度推定部3は入力データに基づいてソフトウェア品質の信頼度を推定し、テスト十分性推定部4はテストの網羅度に関するデータに基づいてテスト十分性を推定する。自動評価部5は、テスト信頼度推定部3およびテスト十分性推定部4からの出力データとアドバイスルール格納部7に蓄積されているアドバイスルールとの照合を行い、メッセージ格納手段8から前記照合結果に対応する所定のメッセージを選定してメッセージデータとして出力する。データ出力部6は、自動評価部5からのメッセージデータを表示する。
【構成】 ソフトウェア品質に関するテストデータをデータ入力部に入力する。テスト信頼度推定部3は入力データに基づいてソフトウェア品質の信頼度を推定し、テスト十分性推定部4はテストの網羅度に関するデータに基づいてテスト十分性を推定する。自動評価部5は、テスト信頼度推定部3およびテスト十分性推定部4からの出力データとアドバイスルール格納部7に蓄積されているアドバイスルールとの照合を行い、メッセージ格納手段8から前記照合結果に対応する所定のメッセージを選定してメッセージデータとして出力する。データ出力部6は、自動評価部5からのメッセージデータを表示する。
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウェアの品質についての信頼性を評価するためのテスト作業を自動的に行うテスト作業管理支援装置に関する。
【0002】
【従来の技術】従来から、ソフトウェアの品質についての信頼性を評価するテストは、そのほとんどの作業が人の手によって行われてきた。この従来の方法では、作業を行う人によってまちまちの評価が行われてしまい、ソフトウェアの品質を客観的な指標を用いて定量的に評価することが困難であった。特に、ソフトウェアの品質の信頼性を評価するに当たっての専門の経験や知識がないと、信頼性の評価結果を解釈して、それに関する対応策を考えるのが難しく、また考えられたとしても対応策を作成するのに大量の時間と手間がかかってしまう問題があった。
【0003】このような問題点を解決するために、最近では、特開平4−100161号公報に記載の発明のように、ソフトウェア品質の信頼性についてのテスト作業を自動化する提案がなされている。これらの従来技術においては、テスト時間、テスト日数、テスト実行CPU時間、テスト行数(テストされたソースプログラム行数)、テスト項目などのテストの量的な面を基準として、ソフトウェアの品質の信頼度を評価していた。そして、一定量のテストを行った結果、不具合検出密度(不具合検出数/テスト行数)、推定残存不具合密度、不具合収束率などを一定の基準値と比較することにより、そのソフトウェアの信頼度が一定の基準に達しているか否かを判定していた。
【0004】しかし、テストの量や項目を多くしたとしても、ソフトウェアの特定部分にのみ多量のテストを行った場合にはソフトウェア全体の信頼性を正確に評価することはできない。したがって、このような量的な観点からだけで信頼性の評価を行っていた従来技術では、ソフトウェア品質の信頼性を正確に評価し、その評価結果に基づいてソフトウェア開発者に対して修正のための適切な指針を与えることが困難であった。
【0005】
【発明が解決しようとする課題】本発明の目的は、前記のような従来技術の問題点を解決したソフトウェア品質の信頼性に関するテスト作業管理支援装置を提供することであって、具体的に述べると次の通りである。第1の目的は、ソフトウェアの品質についての信頼性の評価を自動化することにより、人の手に頼らない一定の評価基準を持って定量的に信頼性の評価を行う場合に、評価のための基準としてテスト十分性を採用することにより、テストの量的なものだけでなく、質の点でも十分にテストが行われたかどうかを判定することにある。第2の目的は、推定したソフトウェア品質の信頼性と十分性に関するデータとアドバイスルールとを比較して、適切なアドバイスを出力することにより、ソフトウェアの不具合検出とその除去を容易に実行することにある。第3の目的は、テスト十分性の指標として、テストカバレッジ(ソフトウェアプログラムに対するテストの網羅度)を採用することにより、信頼性の評価をより確実に実行できるテスト作業管理支援装置を提供することである。第4の目的は、テストカバレッジとして、ブロックカバレッジ(分岐網羅の一種)を使用することにより、カバレッジの精度を向上させることにある。
【0006】
【課題を解決するための手段】上記の目的を達成するために、請求項1のテスト作業管理支援装置は、ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性推定部とを備えた推定部と、前記推定部からの出力データを出力するデータ出力部とを備えていることを特徴とする。
【0007】請求項2のテスト作業管理支援装置は、ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性とを備えた推定部と、前記信頼度データおよびテスト十分性データの各値に対応した作業指針をアドバイスルールとして蓄積するアドバイスルール格納部と、前記推定部からの出力データを入力データとして、その入力データと前記アドバイスルール格納部に蓄積されているアドバイスルールとの照合を行い、前記メッセージ格納手段から前記照合結果に対応する所定のメッセージを選定してメッセージデータとして出力する自動評価部と、前記推定部からの出力データおよび自動評価部からのメッセージデータを表示するデータ出力部とを備えていることを特徴とする。
【0008】請求項3のテスト作業管理支援装置は、前記テスト十分性推定部が、テスト十分性データとして、テストカバレッジを採用したものであることを特徴とする。
【0009】請求項4のテスト作業管理支援装置は、前記テストカバレッジがブロックカバレッジであることを特徴とする。
【0010】
【作用】請求項1の発明では、データ入力部からの入力データに基づいて、テスト信頼度推定部がテストの量的な面からソフトウェア品質を評価し、テスト十分性推定部がテストの質的な面からソフトウェア品質を評価する。データ出力部においては、これらのテスト信頼度推定部とテスト十分性推定部とからの出力データが出力される。
【0011】請求項2の発明では、データ入力部からの入力データに基づいて、テスト信頼度推定部がテストの量的な面からソフトウェア品質を評価し、テスト十分性推定部がテストの質的な面からソフトウェア品質を評価する。自動評価部においては、これらのテスト信頼度推定部とテスト十分性推定部とからの出力データが、アドバイスルールと照合され、マッチングしたアドバイスルールに対応するメッセージがデータ出力部に表示される。また、データ出力部では、推定部におけるテスト信頼度推定部とテスト十分性推定部とからの出力データも同時に表示される。
【0012】請求項3の発明では、データ入力部にテスト十分性データとしてテストカバレッジを入力する。このテストカバレッジは、ソフトウェアに対するテストの網羅度を表わすものであるから、テストカバレッジの値が大きいほどテスト十分性に関する評価が高くなる。
【0013】請求項4の発明では、データ入力部にテストカバレッジとしてブロックカバレッジを入力する。このブロックカバレッジは、ソフトウェアに含まれる条件分岐を節点としてその方向にソフトウェアを構成するステートメントをまとめてブロックにし、テストをしたブロック数を計測したものである。発明者の考察によれば、ソフトウェアの不具合は分岐部分に多く存在し、またテストでカバーされた部分(テストの実行時に通過した部分)よりはカバーされなかった部分に多いことが判明している。そこで、このブロックカバレッジを使用することにより、テスト十分性についてのより正確な評価を与えることができる。また、アドバイスルールとの照合もより適正なものになる。
【0014】
【実施例】以下、本発明の一実施例を図面を参照して具体的に説明する。なお、この実施例は、請求項1から請求項4の発明に相当するものである。
【0015】(1)実施例の構成本実施例のテスト作業管理支援装置は、図1の構成図に示すように、コンピュータの入力装置によって構成されるテストデータ入力部1、入力されたテストデータに基づいてソフトウェア品質の信頼性を推定する推定部2、推定部2の出力データと蓄積されているアドバイスルールとを照合して対応するアドバイスルールを出力する自動評価部5、およびこの自動評価部5からの出力データを表示するデータ出力部6とから構成されている。
【0016】前記推定部2は、入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部3と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性推定部4とを備えている。また、自動評価部5は、前記推定部2の出力を受け、前記信頼度データおよびテスト十分性データの各値に対応した作業指針をアドバイスルールとして蓄積するアドバイスルール格納部7と、前記蓄積された各アドバイスルールに対応したアドバイスメッセージを蓄積したメッセージ格納手段8に接続されている。また、前記データ出力部6は、前記推定部2にも接続され、テスト信頼度推定部3とテスト十分性定部4からの出力データも表示するようになっている。
【0017】ここで、前記テストデータ入力部1は、コンピュータのキーボードその他の入力装置によって、データ出力部6はCRTディスプレイ、プリンタなどの装置によって構成され、また推定部2、自動評価部5、アドバイスルール格納部7、メッセージ格納部8などはコンピュータの記憶装置、CPUあるいはメモリ上にプログラムやデータファィルなどの形で実現されている。
【0018】(2)実施例の作用次に、前記のような構成を有する本実施例の装置の作用について、それぞれフローチャートを用いて、処理の流れを説明する。
【0019】まず、テストデータ入力部1に入力されるテストデータについて説明する。図5にテストデータの例を示す。入力されるテストデータ501としては、テスト実施日付、テスト時間、テスト日数、テスト実行CPU時間、テストカバレッジデータ、不具合検出率、テスト項目数、テスト行数などである。このうち、テスト信頼度推定部3で、テストの信頼度を推定するために必要なデータ502としては、テスト実施日付、テスト時間、テスト日数、テスト実行CPU時間、テストカバレッジデータ、不具合検出数、テスト行数などがある。また、テスト十分性推定部4で、テスト十分性を推定するために必要な入力データ503としては、入力されたテストデータ501のうち、テストカバレッジデータ、不具合検出数、テスト項目数、テスト行数などである。この場合、本実施例ではこのテストカバレッジとして、特に、ブランチカバレッジの一種であるブロックカバレッジを採用する。このブロックカバレッジは、ソフトウェアに含まれる条件分岐を節点としてその方向にソフトウェアを構成するステートメントをまとめてブロックにし、テストをしたブロック数を計測したものである。
【0020】図2に推定部2の処理の流れを示す。まず、データ入力部1から推定部2への入力データを読み込み(ステップ201)、それがテスト信頼度推定部3で必要なデータ502なのか(ステップ202)、テスト十分性推定部4で必要なデータ503なのかを判定する(ステップ203)。この判定は、推定部2にあらかじめ入力データの項目に関するチャートを保存しておき、このチャートに従って各入力データをテスト信頼度推定部3とテスト十分性推定部4とに振り分ける。そして、入力されたデータがテスト信頼度推定部3への入力データ502であった場合には、テスト信頼度推定部3において、入力されたデータとあらかじめ保存されている基準値と比較することにより、信頼度の推定を行う(ステップ204)。また、入力されたデータがテスト十分性推定部4への入力データ503であった場合には、推定を行う前に、まず、入力されたデータのうちで、データとデータの計算によって得られるもの、例えば、不具合検出密度(不具合検出数/テスト行数)やテスト項目密度(テスト項目数/テスト行数)などがあらかじめ計算される(ステップ205)。そして、テスト十分性推定部4においては、入力されたデータおよび算出されたデータをあらかじめ保存されている基準値と比較することにより、テスト十分性の推定を行う(ステップ206)。
【0021】図3に自動評価部5の処理の流れを示す。まず、推定部2から送られてきた図6に示すような推定結果のデータ601を読み込み(ステップ301)、必要ならば基準値を入力する(ステップ302)。また、あらかじめアドバイスルールに格納しておいた値を用いてもよい。そして、推定部2から送られてきた推定結果のデータ601と、あらかじめアドバイスルール格納部7に蓄積されているアドバイスルールとの照合を行う(ステップ303)。そして、推定部2から送られてきた推定結果のデータ601と、アドバイスルールとがマッチングした場合には、マッチングしたアドバイスメッセージのデータをメッセージ格納手段8から読み込み、自動評価部5の出力とする(ステップ304)。
【0022】本実施例におけるアドバイスルールの照合例を図7に、また図8にそのマッチングした例を示す。例えば、図7に示すように、テストカバレッジaが基準値Aよりも低いというアドバイスルールに該当する場合は、テストがソフトウェアの一部のみしか網羅していないので他のデータよる評価が高くてもソフトウェア全体の品質を保証することはできないので、このルールに対応するアドバイスメッセージは「テスト数を増やしましょう」ということになる。同様に、テストカバレッジ、不具合検出密度、推定残存不具合密度、テスト項目密度、不具合収束率のそれぞれの基準値と入力データ値との比較、および各データの組み合わせにより対応するアドバイスメッセージが決定される。
【0023】図4にデータ出力部6の処理の流れを示す。推定部2からの推定結果のデータを読み込み(ステップ401)、また、自動評価部5からのアドバイスメッセージのデータを読み込む(ステップ402)。そして、これらデータをディスプレイあるいはプリンタなどのデータ出力部6に表示する(ステップ403)。このデータ出力部6の表示の一例を図9に示す。この図9においては、推定部2のうちテスト信頼度推定部3からの推定結果のデータを信頼度推定グラフ901として表示し、推定部2のうちテスト十分性推定部4からの推定結果のデータをテスト十分性グラフ902として表示する。さらに推定部2からの推定結果を数値データ903としても表示する。また、自動評価部5からの出力データとして、アドバイスメッセージをアドバイス904として表示する。このように本実施例では、データ出力部6の出力は、以上4つの表示から構成される。
【0024】(3)実施例における作業手順の一例次に、テスト作業管理支援装置を使用する手順を示すことにより、本実施例をさらに詳しく説明する。図10は、本実施例のテスト作業管理支援装置の起動メューの一例を示すもので、装置を起動させるに当たっては、まずテストデータを入力する。テストデータを入力するために、起動メニューからテストデータ入力101を選択する。そして、前記図5に示したテストデータ501、例えば、テスト実施日付、テスト時間やテスト日数、テスト実行CPU時間、テストカバレッジデータ、不具合検出数、テスト項目数、テスト行数などをテスト作業管理支援装置に入力する。入力が終了すると、また図10の起動メニューに戻るので、次に、推定を行う。入力したデータによって、メニュー中から信頼度推定102か、テスト十分性推定103を選択する。また、両方とも推定したい場合には、どちらかの推定を先に選択して、その推定が終了した後に、残りの推定を選択する。推定が終了すると、起動メニューに戻るので、次にメニューの評価104を選択することにより、先の推定データが自動的に評価される。評価が終了すると、起動メニューに戻るので、アドバイス画面表示105を選択することにより、アドバイス画面を見ることが可能となる。
【0025】最後に、本実施例のテスト作業管理支援装置のおおまかな作業手順を図11のフローチャートにより説明する。まず、入力であるテストデータ1を読み込み(ステップ111)、次に、推定部2のテスト信頼度推定部3において、信頼度の推定を行う(ステップ112)。また、推定部2のテスト十分性推定部4において、テスト十分性の推定を行う(ステップ113)。そして、それらの推定結果とをもとに、自動評価部5において、推定結果とアドバイスルールとの照合を行い(ステップ114)、マッチングしたアドバイスルールを出力する。そして、推定部2および自動評価部5からの出力をデータ出力部6において、図9のようなアドバイス画面として表示する(ステップ115)。
【0026】ここで、図9に示すデータ出力部6の表示の利用方法の一つとして、テスト作業者とテスト管理者の利用方法を例に上げる。まず、テスト作業者としては(ステップ116)、出た出力部6の表示のうち、アドバイスメッセージの操作ボタンのみをクリックすることにより、そこに書かれたアドバイスメッセージ904を参考にして、テスト作業を行っていくことができる(ステップ117)。一方、テスト管理者としては(ステップ118)、図9のデータ出力部6の表示のうち、信頼度推定グラフ901、テスト十分性グラフ902、数値データ903、アドバイスメッセージ904によりテストの管理上必要な自己予測の手助けとして利用することができ、テスト作業者に指示を与える上での判断材料となる(ステップ119)。
【0027】(4)テストカバレッジをテスト十分性の推定データとして使用する理由本発明者が、次のような条件のもとで、テストカバレッジと不具合の関係を分析したところ、アドバイスルールおよびメッセージを決定するのに有効な幾つかの結論を得た。
【0028】[実験内容]
■種別:AI関係のアプリケーション■テスト期間結合テスト(約3ヶ月間)
■サブシステム全体(対象ファイルを含む)
・プログラム行数 141kL・最終カバレッジ 79%■分析対象ファイル規模・プログラム行数 24kL・対象ファイル数 49ファイル・カバレッジ推移 48%−68%−65%(テスト1回目−2回目−3回目)
■テストの方法・開発者がテストを行い、人数は数人程度である。
【0029】・テストカバレッジ70%以上というテスト目標値を設定した。
【0030】・テスト内容形態は、回帰テスト方式を採用した。すなわち、デバッグを行うためのインターバルをおいて、3回ターンテストを行う。このとき毎回のテストでは、前回のテスト項目+追加テスト項目がテスト項目として実行される。
【0031】■カバレッジデータunixマシンのSUN OSでは、C言語とFORTRAN言語を対象に、コンパイルオプション(%cc −a −o ソースファイル名.c)でコンパイルした実行形式を実行した後、カバレッジ集計コマンド(%tcov ソースファイル名.c)を用いて、テストカバレッジを測定することができる。複数回実行した場合には累積値が測定できるので、1回のテストターンごとの累積値を記録した。
■修正データ1回分のテストにおいて、そのテスト中の一連のくり返し(テスト−修正−カバレッジ測定)により生成されたtcovファイル(修正前のファイル)と、次の1回分のテストにおいて同様に生成されたtcovファイル(修正後のファイル)を、diffコマンドにより比較して、その修正された部分を分類して修正データとした。
【0032】[テストカバー部分と修正場所・修正内容との関係]前記の実験内容に従って、テストでカバーされた部分(プログラムが通っていたブロック)と修正場所・修正内容との関係を分析したところ、下記の事実が判明した。まず、テスト後に残っている不具合のどの程度がテストでカバーされた部分、カバーされなかった部分のそれぞれに分布しているかを調べたところ、下記の通りの結果を得た。
テストカバレッジ48%の後通過部分から38%未通過部分から62%テストカバレッジ68%の後通過部分から42%未通過部分から58%このようにテストカバレッジが48%,68%でも分岐部分の不具合の多く(約60%)はカバーされなかった部分にあることが確認された。次に、修正場所の比較を行ったところ、分岐部分の修正数が全修正数の50%を占めていること、およびテストカバレッジ48%から68%の20%程度のアップで全修正数が約1/3になっていることも判明した。
【0033】[テストカバレッジとファイル別の不具合検出の関係]テストでは不具合検出の効率を高めるために、通常テストカバレッジの低い順にファイルを抽出して、レビューとテストを促す方法を利用する。本発明者は、前記各ファイルに対してより効率良く不具合を検出するために、ファイル別にテストカバレッジ、修正数、修正密度、および修正数によるパレート分析・ブロック数によるパレート分析を用いて、テストカバレッジとファイル別の不具合検出の関係を分析した。その結果、修正数の50%が存在していたファイル数は全ファイルの8.2%(4/49)、修正数の70%が存在していたファイル数は全ファイルの14.3%(7/49)であることが判明した。しかし、ファイル別のカバレッジの推移からはこれら修正数の多いファイルを抽出できるような明確な判断材料は得られなかった。
【0034】次に、ブロック数によるパレート分析により、49の全ファイルをブロック数の多いファイルから順に階層化してグループに分類し、テストカバレッジおよび修正数との関係を調べた。しかし、ブロック数が大きいからといってカバレッジが低いわけではないこと、逆にブロック数が少ないものでもカバレッジが高いとは限らないことが確認された。一方、修正数が多いファイルはブロック数の多いファイルに含まれていることがわかった。すなわち、ブロック数が多いファイル(上位12/49,70ブロック以上)を抽出すると、修正数の多いファイルを検出することができた。抽出したファイルの7/12で修正件数累積値70%であった。
【0035】さらに、テストカバレッジと修正密度、すなわち単位ブロック当たりの修正数(修正数/ブロック数)との関係を分析した。高密度修正ファイル(ソースコードの1ブロック当たりに0.2〜2.2件の修正が入る修正度の高いファイル)か否かは、ブロック数の大小には関連がないようであるが、1回目のテストでテストカバレッジが50%以下のファイル(49ファイル中14ファイル)のうち約半分(6/14)は高密度修正ファイルであった。
【0036】[結論]このことから、本発明のアドバイスルールやメッセージを設定する場合には、次の点が考慮されるべきである。
■未通過部分を調べるのが修正場所を検出するのに効果的である。
■分岐部分の修正は修正全体の約50%を占めているので、分岐以外の部分の修正とほぼ同数になるまで分岐部分をチェックすべきである。
■ブロック数の多いファイルは修正数が多いので、重点的にチェックすべきである。
■テストの初期段階のテストカバレッジが50%以下のファイルを抽出すると、その約半数は修正数が高密度のファイルが占めている。よって、テストカバレッジの低いファイルを重点的にチェックするのが効果的である。
【0037】(5)実施例の効果以上の通り、本実施例によれば、テストの時間や回数、項目数などのテストの量的な信頼度に加えて、テストの十分性も考慮してソフトウェアの品質を評価することができるので、ソフトウェア全体の品質を把握して適切なテスト作業を行うことが可能になる。また、入力データとアドバイスルールとの照合およびこれに対応するアドバイスメッセージの出力によって、経験者によらずともソフトウェアのテストに対する適切な指針を受けることができるので、その後のテスト作業がより的確かつ迅速に実行できる。
【0038】従来では、単に数値として与えられ、低い値ならば高めるという漠然とした目標しか与えられなかった。しかし、本実施例のようにテストカバレッジを使用すれば、テスト十分性を向上させるような具体的な目標を提示することが可能になる。特に、前記(4)で述べたように、本発明者の考察によれば、ソースプログラムの分岐部分の不具合はテストでカバーされた部分(テストの実行時に通過した部分)よりはカバーされなかった部分に多いことが判明している。従って、テスト十分性を推定するデータとしてテストカバレッジを使用することにより、テストカバレッジが低い場合にはソフトウェア中に不具合が多数内在していることが容易に判定でき、また、「テストカバレッジの低い**ファイルを重点的にチェックすべきである」などの具体的なアドバイスメッセージを出力することも可能になる。
【0039】一方、ソフトウェアの不具合は、プログラムの分岐部分に多く存在し、またブロック数の多いファイルは修正数が多いことが判明している。そこで、本実施例のように、プログラムをその条件分岐を節点にしてブロック化したブロックカバレッジを使用することにより、不具合の場所を推定することが容易になると共に、「ブロック数の多い**ファイルを重点的にチェックすべきである」などの適切なアドバイスメッセージを得ることができる。
【0040】(6)他の実施例本発明は前記の実施例に限定されるものではなく、例えば、テストカバレッジとしては、他にステートメントカバレッジ(命令網羅)を使用することもできる。また、特開平4−81940号公報にもテストカバレッジの測定手法が開示されているので、これらの手法によって本発明のテスト十分性データとなるテストカバレッジを得ることができる。データ入力部に入力するテストデータの種類は前記のものに限定されるものではなく、修正箇所や修正内容を定型化あるいは定量化することで入力データとすることもできる。この入力データの入力作業もテスト作業者がキーボードなどから手作業で入力してもよいし、テスト対象となるソフトウェアを他のソフトウェアで監視し、その監視データをファイルなどの形で本発明の装置に転送することもできる。
【0041】データ出力部における各データやメッセージの出力形式は図示のものに限定されず、他の形式のグラフやチャートあるいは印刷物などとすることもできる。もちろん、メッセージの種類も増減可能であり、具体的なテスト項目やさらに実行すべきテスト数を指摘するものでもよい。
【0042】
【発明の効果】以上説明したように、本発明によれば、テスト信頼度推定部とテスト十分性推定部とにより、ソフトウェアの品質について量的な面と質的な面との両方から評価を行うことが可能になるので、品質の評価に対する信頼性が向上する。また、テストデータとアドバイスルールとを照合して、対応するアドバイスをメッセージとして出力するようにした場合には、経験者が解釈して対応策を助言していた従来技術に比較して、定量化された情報と助言とを合わせたソフトウェアの信頼性の評価が可能となる。また、テストデータを入力するだけでアドバイスメッセージが自動的に作成されるので、作業者が欲しい時に助言が得られるようになり、その結果をもとに対応策を立てる時間を短縮することができると共に、テスト中に複数回にわたって助言が得られるようになり、テスト作業の効率が向上する効果がある。
【図面の簡単な説明】
【図1】本発明のテスト作業管理支援装置の一実施例を示す構成図。
【図2】推定部2の処理の流れを示すフローチャート。
【図3】自動評価部の処理の流れを示すフローチャート。
【図4】データ出力部の処理の流れを示すフローチャート。
【図5】テストデータの例を示す図。
【図6】推定部2からの出力データの例を示す図。
【図7】アドバイスルール照合例を示す図。
【図8】照合してマッチングしたときの例を示す図。
【図9】データ出力部の表示例を示す図。
【図10】テスト作業管理支援装置起動メニューの例を示す図。
【図11】本装置の作業手順を示すフローチャート。
【符号の説明】
1…データ入力部
2…推定部
3…テスト信頼度推定部
4…テスト十分性推定部
5…自動評価部
6…データ出力部
7…アドバイスルール格納部
8…メッセージ格納部
【0001】
【産業上の利用分野】本発明は、ソフトウェアの品質についての信頼性を評価するためのテスト作業を自動的に行うテスト作業管理支援装置に関する。
【0002】
【従来の技術】従来から、ソフトウェアの品質についての信頼性を評価するテストは、そのほとんどの作業が人の手によって行われてきた。この従来の方法では、作業を行う人によってまちまちの評価が行われてしまい、ソフトウェアの品質を客観的な指標を用いて定量的に評価することが困難であった。特に、ソフトウェアの品質の信頼性を評価するに当たっての専門の経験や知識がないと、信頼性の評価結果を解釈して、それに関する対応策を考えるのが難しく、また考えられたとしても対応策を作成するのに大量の時間と手間がかかってしまう問題があった。
【0003】このような問題点を解決するために、最近では、特開平4−100161号公報に記載の発明のように、ソフトウェア品質の信頼性についてのテスト作業を自動化する提案がなされている。これらの従来技術においては、テスト時間、テスト日数、テスト実行CPU時間、テスト行数(テストされたソースプログラム行数)、テスト項目などのテストの量的な面を基準として、ソフトウェアの品質の信頼度を評価していた。そして、一定量のテストを行った結果、不具合検出密度(不具合検出数/テスト行数)、推定残存不具合密度、不具合収束率などを一定の基準値と比較することにより、そのソフトウェアの信頼度が一定の基準に達しているか否かを判定していた。
【0004】しかし、テストの量や項目を多くしたとしても、ソフトウェアの特定部分にのみ多量のテストを行った場合にはソフトウェア全体の信頼性を正確に評価することはできない。したがって、このような量的な観点からだけで信頼性の評価を行っていた従来技術では、ソフトウェア品質の信頼性を正確に評価し、その評価結果に基づいてソフトウェア開発者に対して修正のための適切な指針を与えることが困難であった。
【0005】
【発明が解決しようとする課題】本発明の目的は、前記のような従来技術の問題点を解決したソフトウェア品質の信頼性に関するテスト作業管理支援装置を提供することであって、具体的に述べると次の通りである。第1の目的は、ソフトウェアの品質についての信頼性の評価を自動化することにより、人の手に頼らない一定の評価基準を持って定量的に信頼性の評価を行う場合に、評価のための基準としてテスト十分性を採用することにより、テストの量的なものだけでなく、質の点でも十分にテストが行われたかどうかを判定することにある。第2の目的は、推定したソフトウェア品質の信頼性と十分性に関するデータとアドバイスルールとを比較して、適切なアドバイスを出力することにより、ソフトウェアの不具合検出とその除去を容易に実行することにある。第3の目的は、テスト十分性の指標として、テストカバレッジ(ソフトウェアプログラムに対するテストの網羅度)を採用することにより、信頼性の評価をより確実に実行できるテスト作業管理支援装置を提供することである。第4の目的は、テストカバレッジとして、ブロックカバレッジ(分岐網羅の一種)を使用することにより、カバレッジの精度を向上させることにある。
【0006】
【課題を解決するための手段】上記の目的を達成するために、請求項1のテスト作業管理支援装置は、ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性推定部とを備えた推定部と、前記推定部からの出力データを出力するデータ出力部とを備えていることを特徴とする。
【0007】請求項2のテスト作業管理支援装置は、ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性とを備えた推定部と、前記信頼度データおよびテスト十分性データの各値に対応した作業指針をアドバイスルールとして蓄積するアドバイスルール格納部と、前記推定部からの出力データを入力データとして、その入力データと前記アドバイスルール格納部に蓄積されているアドバイスルールとの照合を行い、前記メッセージ格納手段から前記照合結果に対応する所定のメッセージを選定してメッセージデータとして出力する自動評価部と、前記推定部からの出力データおよび自動評価部からのメッセージデータを表示するデータ出力部とを備えていることを特徴とする。
【0008】請求項3のテスト作業管理支援装置は、前記テスト十分性推定部が、テスト十分性データとして、テストカバレッジを採用したものであることを特徴とする。
【0009】請求項4のテスト作業管理支援装置は、前記テストカバレッジがブロックカバレッジであることを特徴とする。
【0010】
【作用】請求項1の発明では、データ入力部からの入力データに基づいて、テスト信頼度推定部がテストの量的な面からソフトウェア品質を評価し、テスト十分性推定部がテストの質的な面からソフトウェア品質を評価する。データ出力部においては、これらのテスト信頼度推定部とテスト十分性推定部とからの出力データが出力される。
【0011】請求項2の発明では、データ入力部からの入力データに基づいて、テスト信頼度推定部がテストの量的な面からソフトウェア品質を評価し、テスト十分性推定部がテストの質的な面からソフトウェア品質を評価する。自動評価部においては、これらのテスト信頼度推定部とテスト十分性推定部とからの出力データが、アドバイスルールと照合され、マッチングしたアドバイスルールに対応するメッセージがデータ出力部に表示される。また、データ出力部では、推定部におけるテスト信頼度推定部とテスト十分性推定部とからの出力データも同時に表示される。
【0012】請求項3の発明では、データ入力部にテスト十分性データとしてテストカバレッジを入力する。このテストカバレッジは、ソフトウェアに対するテストの網羅度を表わすものであるから、テストカバレッジの値が大きいほどテスト十分性に関する評価が高くなる。
【0013】請求項4の発明では、データ入力部にテストカバレッジとしてブロックカバレッジを入力する。このブロックカバレッジは、ソフトウェアに含まれる条件分岐を節点としてその方向にソフトウェアを構成するステートメントをまとめてブロックにし、テストをしたブロック数を計測したものである。発明者の考察によれば、ソフトウェアの不具合は分岐部分に多く存在し、またテストでカバーされた部分(テストの実行時に通過した部分)よりはカバーされなかった部分に多いことが判明している。そこで、このブロックカバレッジを使用することにより、テスト十分性についてのより正確な評価を与えることができる。また、アドバイスルールとの照合もより適正なものになる。
【0014】
【実施例】以下、本発明の一実施例を図面を参照して具体的に説明する。なお、この実施例は、請求項1から請求項4の発明に相当するものである。
【0015】(1)実施例の構成本実施例のテスト作業管理支援装置は、図1の構成図に示すように、コンピュータの入力装置によって構成されるテストデータ入力部1、入力されたテストデータに基づいてソフトウェア品質の信頼性を推定する推定部2、推定部2の出力データと蓄積されているアドバイスルールとを照合して対応するアドバイスルールを出力する自動評価部5、およびこの自動評価部5からの出力データを表示するデータ出力部6とから構成されている。
【0016】前記推定部2は、入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部3と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性推定部4とを備えている。また、自動評価部5は、前記推定部2の出力を受け、前記信頼度データおよびテスト十分性データの各値に対応した作業指針をアドバイスルールとして蓄積するアドバイスルール格納部7と、前記蓄積された各アドバイスルールに対応したアドバイスメッセージを蓄積したメッセージ格納手段8に接続されている。また、前記データ出力部6は、前記推定部2にも接続され、テスト信頼度推定部3とテスト十分性定部4からの出力データも表示するようになっている。
【0017】ここで、前記テストデータ入力部1は、コンピュータのキーボードその他の入力装置によって、データ出力部6はCRTディスプレイ、プリンタなどの装置によって構成され、また推定部2、自動評価部5、アドバイスルール格納部7、メッセージ格納部8などはコンピュータの記憶装置、CPUあるいはメモリ上にプログラムやデータファィルなどの形で実現されている。
【0018】(2)実施例の作用次に、前記のような構成を有する本実施例の装置の作用について、それぞれフローチャートを用いて、処理の流れを説明する。
【0019】まず、テストデータ入力部1に入力されるテストデータについて説明する。図5にテストデータの例を示す。入力されるテストデータ501としては、テスト実施日付、テスト時間、テスト日数、テスト実行CPU時間、テストカバレッジデータ、不具合検出率、テスト項目数、テスト行数などである。このうち、テスト信頼度推定部3で、テストの信頼度を推定するために必要なデータ502としては、テスト実施日付、テスト時間、テスト日数、テスト実行CPU時間、テストカバレッジデータ、不具合検出数、テスト行数などがある。また、テスト十分性推定部4で、テスト十分性を推定するために必要な入力データ503としては、入力されたテストデータ501のうち、テストカバレッジデータ、不具合検出数、テスト項目数、テスト行数などである。この場合、本実施例ではこのテストカバレッジとして、特に、ブランチカバレッジの一種であるブロックカバレッジを採用する。このブロックカバレッジは、ソフトウェアに含まれる条件分岐を節点としてその方向にソフトウェアを構成するステートメントをまとめてブロックにし、テストをしたブロック数を計測したものである。
【0020】図2に推定部2の処理の流れを示す。まず、データ入力部1から推定部2への入力データを読み込み(ステップ201)、それがテスト信頼度推定部3で必要なデータ502なのか(ステップ202)、テスト十分性推定部4で必要なデータ503なのかを判定する(ステップ203)。この判定は、推定部2にあらかじめ入力データの項目に関するチャートを保存しておき、このチャートに従って各入力データをテスト信頼度推定部3とテスト十分性推定部4とに振り分ける。そして、入力されたデータがテスト信頼度推定部3への入力データ502であった場合には、テスト信頼度推定部3において、入力されたデータとあらかじめ保存されている基準値と比較することにより、信頼度の推定を行う(ステップ204)。また、入力されたデータがテスト十分性推定部4への入力データ503であった場合には、推定を行う前に、まず、入力されたデータのうちで、データとデータの計算によって得られるもの、例えば、不具合検出密度(不具合検出数/テスト行数)やテスト項目密度(テスト項目数/テスト行数)などがあらかじめ計算される(ステップ205)。そして、テスト十分性推定部4においては、入力されたデータおよび算出されたデータをあらかじめ保存されている基準値と比較することにより、テスト十分性の推定を行う(ステップ206)。
【0021】図3に自動評価部5の処理の流れを示す。まず、推定部2から送られてきた図6に示すような推定結果のデータ601を読み込み(ステップ301)、必要ならば基準値を入力する(ステップ302)。また、あらかじめアドバイスルールに格納しておいた値を用いてもよい。そして、推定部2から送られてきた推定結果のデータ601と、あらかじめアドバイスルール格納部7に蓄積されているアドバイスルールとの照合を行う(ステップ303)。そして、推定部2から送られてきた推定結果のデータ601と、アドバイスルールとがマッチングした場合には、マッチングしたアドバイスメッセージのデータをメッセージ格納手段8から読み込み、自動評価部5の出力とする(ステップ304)。
【0022】本実施例におけるアドバイスルールの照合例を図7に、また図8にそのマッチングした例を示す。例えば、図7に示すように、テストカバレッジaが基準値Aよりも低いというアドバイスルールに該当する場合は、テストがソフトウェアの一部のみしか網羅していないので他のデータよる評価が高くてもソフトウェア全体の品質を保証することはできないので、このルールに対応するアドバイスメッセージは「テスト数を増やしましょう」ということになる。同様に、テストカバレッジ、不具合検出密度、推定残存不具合密度、テスト項目密度、不具合収束率のそれぞれの基準値と入力データ値との比較、および各データの組み合わせにより対応するアドバイスメッセージが決定される。
【0023】図4にデータ出力部6の処理の流れを示す。推定部2からの推定結果のデータを読み込み(ステップ401)、また、自動評価部5からのアドバイスメッセージのデータを読み込む(ステップ402)。そして、これらデータをディスプレイあるいはプリンタなどのデータ出力部6に表示する(ステップ403)。このデータ出力部6の表示の一例を図9に示す。この図9においては、推定部2のうちテスト信頼度推定部3からの推定結果のデータを信頼度推定グラフ901として表示し、推定部2のうちテスト十分性推定部4からの推定結果のデータをテスト十分性グラフ902として表示する。さらに推定部2からの推定結果を数値データ903としても表示する。また、自動評価部5からの出力データとして、アドバイスメッセージをアドバイス904として表示する。このように本実施例では、データ出力部6の出力は、以上4つの表示から構成される。
【0024】(3)実施例における作業手順の一例次に、テスト作業管理支援装置を使用する手順を示すことにより、本実施例をさらに詳しく説明する。図10は、本実施例のテスト作業管理支援装置の起動メューの一例を示すもので、装置を起動させるに当たっては、まずテストデータを入力する。テストデータを入力するために、起動メニューからテストデータ入力101を選択する。そして、前記図5に示したテストデータ501、例えば、テスト実施日付、テスト時間やテスト日数、テスト実行CPU時間、テストカバレッジデータ、不具合検出数、テスト項目数、テスト行数などをテスト作業管理支援装置に入力する。入力が終了すると、また図10の起動メニューに戻るので、次に、推定を行う。入力したデータによって、メニュー中から信頼度推定102か、テスト十分性推定103を選択する。また、両方とも推定したい場合には、どちらかの推定を先に選択して、その推定が終了した後に、残りの推定を選択する。推定が終了すると、起動メニューに戻るので、次にメニューの評価104を選択することにより、先の推定データが自動的に評価される。評価が終了すると、起動メニューに戻るので、アドバイス画面表示105を選択することにより、アドバイス画面を見ることが可能となる。
【0025】最後に、本実施例のテスト作業管理支援装置のおおまかな作業手順を図11のフローチャートにより説明する。まず、入力であるテストデータ1を読み込み(ステップ111)、次に、推定部2のテスト信頼度推定部3において、信頼度の推定を行う(ステップ112)。また、推定部2のテスト十分性推定部4において、テスト十分性の推定を行う(ステップ113)。そして、それらの推定結果とをもとに、自動評価部5において、推定結果とアドバイスルールとの照合を行い(ステップ114)、マッチングしたアドバイスルールを出力する。そして、推定部2および自動評価部5からの出力をデータ出力部6において、図9のようなアドバイス画面として表示する(ステップ115)。
【0026】ここで、図9に示すデータ出力部6の表示の利用方法の一つとして、テスト作業者とテスト管理者の利用方法を例に上げる。まず、テスト作業者としては(ステップ116)、出た出力部6の表示のうち、アドバイスメッセージの操作ボタンのみをクリックすることにより、そこに書かれたアドバイスメッセージ904を参考にして、テスト作業を行っていくことができる(ステップ117)。一方、テスト管理者としては(ステップ118)、図9のデータ出力部6の表示のうち、信頼度推定グラフ901、テスト十分性グラフ902、数値データ903、アドバイスメッセージ904によりテストの管理上必要な自己予測の手助けとして利用することができ、テスト作業者に指示を与える上での判断材料となる(ステップ119)。
【0027】(4)テストカバレッジをテスト十分性の推定データとして使用する理由本発明者が、次のような条件のもとで、テストカバレッジと不具合の関係を分析したところ、アドバイスルールおよびメッセージを決定するのに有効な幾つかの結論を得た。
【0028】[実験内容]
・プログラム行数 141kL・最終カバレッジ 79%
【0029】・テストカバレッジ70%以上というテスト目標値を設定した。
【0030】・テスト内容形態は、回帰テスト方式を採用した。すなわち、デバッグを行うためのインターバルをおいて、3回ターンテストを行う。このとき毎回のテストでは、前回のテスト項目+追加テスト項目がテスト項目として実行される。
【0031】
【0032】[テストカバー部分と修正場所・修正内容との関係]前記の実験内容に従って、テストでカバーされた部分(プログラムが通っていたブロック)と修正場所・修正内容との関係を分析したところ、下記の事実が判明した。まず、テスト後に残っている不具合のどの程度がテストでカバーされた部分、カバーされなかった部分のそれぞれに分布しているかを調べたところ、下記の通りの結果を得た。
テストカバレッジ48%の後通過部分から38%未通過部分から62%テストカバレッジ68%の後通過部分から42%未通過部分から58%このようにテストカバレッジが48%,68%でも分岐部分の不具合の多く(約60%)はカバーされなかった部分にあることが確認された。次に、修正場所の比較を行ったところ、分岐部分の修正数が全修正数の50%を占めていること、およびテストカバレッジ48%から68%の20%程度のアップで全修正数が約1/3になっていることも判明した。
【0033】[テストカバレッジとファイル別の不具合検出の関係]テストでは不具合検出の効率を高めるために、通常テストカバレッジの低い順にファイルを抽出して、レビューとテストを促す方法を利用する。本発明者は、前記各ファイルに対してより効率良く不具合を検出するために、ファイル別にテストカバレッジ、修正数、修正密度、および修正数によるパレート分析・ブロック数によるパレート分析を用いて、テストカバレッジとファイル別の不具合検出の関係を分析した。その結果、修正数の50%が存在していたファイル数は全ファイルの8.2%(4/49)、修正数の70%が存在していたファイル数は全ファイルの14.3%(7/49)であることが判明した。しかし、ファイル別のカバレッジの推移からはこれら修正数の多いファイルを抽出できるような明確な判断材料は得られなかった。
【0034】次に、ブロック数によるパレート分析により、49の全ファイルをブロック数の多いファイルから順に階層化してグループに分類し、テストカバレッジおよび修正数との関係を調べた。しかし、ブロック数が大きいからといってカバレッジが低いわけではないこと、逆にブロック数が少ないものでもカバレッジが高いとは限らないことが確認された。一方、修正数が多いファイルはブロック数の多いファイルに含まれていることがわかった。すなわち、ブロック数が多いファイル(上位12/49,70ブロック以上)を抽出すると、修正数の多いファイルを検出することができた。抽出したファイルの7/12で修正件数累積値70%であった。
【0035】さらに、テストカバレッジと修正密度、すなわち単位ブロック当たりの修正数(修正数/ブロック数)との関係を分析した。高密度修正ファイル(ソースコードの1ブロック当たりに0.2〜2.2件の修正が入る修正度の高いファイル)か否かは、ブロック数の大小には関連がないようであるが、1回目のテストでテストカバレッジが50%以下のファイル(49ファイル中14ファイル)のうち約半分(6/14)は高密度修正ファイルであった。
【0036】[結論]このことから、本発明のアドバイスルールやメッセージを設定する場合には、次の点が考慮されるべきである。
【0037】(5)実施例の効果以上の通り、本実施例によれば、テストの時間や回数、項目数などのテストの量的な信頼度に加えて、テストの十分性も考慮してソフトウェアの品質を評価することができるので、ソフトウェア全体の品質を把握して適切なテスト作業を行うことが可能になる。また、入力データとアドバイスルールとの照合およびこれに対応するアドバイスメッセージの出力によって、経験者によらずともソフトウェアのテストに対する適切な指針を受けることができるので、その後のテスト作業がより的確かつ迅速に実行できる。
【0038】従来では、単に数値として与えられ、低い値ならば高めるという漠然とした目標しか与えられなかった。しかし、本実施例のようにテストカバレッジを使用すれば、テスト十分性を向上させるような具体的な目標を提示することが可能になる。特に、前記(4)で述べたように、本発明者の考察によれば、ソースプログラムの分岐部分の不具合はテストでカバーされた部分(テストの実行時に通過した部分)よりはカバーされなかった部分に多いことが判明している。従って、テスト十分性を推定するデータとしてテストカバレッジを使用することにより、テストカバレッジが低い場合にはソフトウェア中に不具合が多数内在していることが容易に判定でき、また、「テストカバレッジの低い**ファイルを重点的にチェックすべきである」などの具体的なアドバイスメッセージを出力することも可能になる。
【0039】一方、ソフトウェアの不具合は、プログラムの分岐部分に多く存在し、またブロック数の多いファイルは修正数が多いことが判明している。そこで、本実施例のように、プログラムをその条件分岐を節点にしてブロック化したブロックカバレッジを使用することにより、不具合の場所を推定することが容易になると共に、「ブロック数の多い**ファイルを重点的にチェックすべきである」などの適切なアドバイスメッセージを得ることができる。
【0040】(6)他の実施例本発明は前記の実施例に限定されるものではなく、例えば、テストカバレッジとしては、他にステートメントカバレッジ(命令網羅)を使用することもできる。また、特開平4−81940号公報にもテストカバレッジの測定手法が開示されているので、これらの手法によって本発明のテスト十分性データとなるテストカバレッジを得ることができる。データ入力部に入力するテストデータの種類は前記のものに限定されるものではなく、修正箇所や修正内容を定型化あるいは定量化することで入力データとすることもできる。この入力データの入力作業もテスト作業者がキーボードなどから手作業で入力してもよいし、テスト対象となるソフトウェアを他のソフトウェアで監視し、その監視データをファイルなどの形で本発明の装置に転送することもできる。
【0041】データ出力部における各データやメッセージの出力形式は図示のものに限定されず、他の形式のグラフやチャートあるいは印刷物などとすることもできる。もちろん、メッセージの種類も増減可能であり、具体的なテスト項目やさらに実行すべきテスト数を指摘するものでもよい。
【0042】
【発明の効果】以上説明したように、本発明によれば、テスト信頼度推定部とテスト十分性推定部とにより、ソフトウェアの品質について量的な面と質的な面との両方から評価を行うことが可能になるので、品質の評価に対する信頼性が向上する。また、テストデータとアドバイスルールとを照合して、対応するアドバイスをメッセージとして出力するようにした場合には、経験者が解釈して対応策を助言していた従来技術に比較して、定量化された情報と助言とを合わせたソフトウェアの信頼性の評価が可能となる。また、テストデータを入力するだけでアドバイスメッセージが自動的に作成されるので、作業者が欲しい時に助言が得られるようになり、その結果をもとに対応策を立てる時間を短縮することができると共に、テスト中に複数回にわたって助言が得られるようになり、テスト作業の効率が向上する効果がある。
【図面の簡単な説明】
【図1】本発明のテスト作業管理支援装置の一実施例を示す構成図。
【図2】推定部2の処理の流れを示すフローチャート。
【図3】自動評価部の処理の流れを示すフローチャート。
【図4】データ出力部の処理の流れを示すフローチャート。
【図5】テストデータの例を示す図。
【図6】推定部2からの出力データの例を示す図。
【図7】アドバイスルール照合例を示す図。
【図8】照合してマッチングしたときの例を示す図。
【図9】データ出力部の表示例を示す図。
【図10】テスト作業管理支援装置起動メニューの例を示す図。
【図11】本装置の作業手順を示すフローチャート。
【符号の説明】
1…データ入力部
2…推定部
3…テスト信頼度推定部
4…テスト十分性推定部
5…自動評価部
6…データ出力部
7…アドバイスルール格納部
8…メッセージ格納部
【特許請求の範囲】
【請求項1】ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性推定部とを備えた推定部と、前記推定部からの出力データを表示するデータ出力部とを備えていることを特徴とするテスト作業管理支援装置。
【請求項2】ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性とを備えた推定部と、前記信頼度データおよびテスト十分性データの各値に対応した作業指針をアドバイスルールとして蓄積するアドバイスルール格納部と、前記推定部からの出力データを入力データとして、その入力データと前記アドバイスルール格納部に蓄積されているアドバイスルールとの照合を行い、前記メッセージ格納手段から前記照合結果に対応する所定のメッセージを選定してメッセージデータとして出力する自動評価部と、前記推定部からの出力データおよび自動評価部からのメッセージデータを表示するデータ出力部とを備えていることを特徴とするテスト作業管理支援装置。
【請求項3】前記テスト十分性推定部が、テスト十分性データとして、テストカバレッジを採用したことを特徴とする請求項1または請求項2のテスト作業管理支援装置。
【請求項4】前記テスト十分性推定部が、テストカバレッジとして、ブロックカバレッジを採用したことを特徴とする請求項3のテスト作業管理支援装置。
【請求項1】ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性推定部とを備えた推定部と、前記推定部からの出力データを表示するデータ出力部とを備えていることを特徴とするテスト作業管理支援装置。
【請求項2】ソフトウェア品質に関するテストデータを入力するデータ入力部と、前記データ入力部からの入力データ中のテストの作業内容に関する信頼度データに基づいてソフトウェア品質の信頼度を推定するテスト信頼度推定部と、前記データ入力部からの入力データ中のテストの網羅度に関するテスト十分性データに基づいてテスト十分性を推定するテスト十分性とを備えた推定部と、前記信頼度データおよびテスト十分性データの各値に対応した作業指針をアドバイスルールとして蓄積するアドバイスルール格納部と、前記推定部からの出力データを入力データとして、その入力データと前記アドバイスルール格納部に蓄積されているアドバイスルールとの照合を行い、前記メッセージ格納手段から前記照合結果に対応する所定のメッセージを選定してメッセージデータとして出力する自動評価部と、前記推定部からの出力データおよび自動評価部からのメッセージデータを表示するデータ出力部とを備えていることを特徴とするテスト作業管理支援装置。
【請求項3】前記テスト十分性推定部が、テスト十分性データとして、テストカバレッジを採用したことを特徴とする請求項1または請求項2のテスト作業管理支援装置。
【請求項4】前記テスト十分性推定部が、テストカバレッジとして、ブロックカバレッジを採用したことを特徴とする請求項3のテスト作業管理支援装置。
【図1】
【図2】
【図4】
【図6】
【図9】
【図3】
【図10】
【図5】
【図8】
【図7】
【図11】
【図2】
【図4】
【図6】
【図9】
【図3】
【図10】
【図5】
【図8】
【図7】
【図11】
【公開番号】特開平7−146806
【公開日】平成7年(1995)6月6日
【国際特許分類】
【出願番号】特願平5−292148
【出願日】平成5年(1993)11月22日
【出願人】(000003078)株式会社東芝 (54,554)
【公開日】平成7年(1995)6月6日
【国際特許分類】
【出願日】平成5年(1993)11月22日
【出願人】(000003078)株式会社東芝 (54,554)
[ Back to top ]