(57)【要約】      （修正有）【課題】網羅性を考慮した検証対象項目を抽出すること。【解決手段】ソフトウェアプログラム検証に用いる検証対象項目を抽出する検証対象項目抽出装置において、複数の検証項目を検証対象とする複数の検証対象項目を記憶しておく記憶手段と、前記記憶手段から各検証対象項目を読み出して、各検証項目に対するコスト値に基づいて各検証対象項目の優先度をそれぞれ算出する算出手段と、優先度の高い順に検証対象項目の検証項目を平準化手段によって、検証対象項目を抽出する。【選択図】図１
2013175106.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアプログラム検証に用いる検証対象項目を抽出する検証対象項目抽出装置において、
複数の検証項目を検証対象とする複数の検証対象項目を記憶しておく記憶手段と、
前記記憶手段から各検証対象項目を読み出して、各検証項目に対するコスト値に基づいて各検証対象項目の優先度をそれぞれ算出する算出手段と、
前記優先度の高い順に前記検証対象項目の検証項目を平準化する平準化手段と、
を有することを特徴とする検証対象項目抽出装置。
【請求項２】
前記平準化手段は、
前記検証対象項目の各検証項目に対して与えられた検証実施条件数に一定値を加算する処理を前記優先度の高い順に繰り返し、前記処理の対象とされる検証対象項目の検証項目がその前に優先度の高い検証対象項目の検証項目に一致し、かつ当該検証項目に対する検証実施条件数が上限に到達している場合に、前記処理対象の検証対象項目を抽出対象外とすることを特徴とする請求項１記載の検証対象項目抽出装置。
【請求項３】
ソフトウェアプログラム検証に用いる検証対象項目を抽出する検証対象項目抽出装置で行う検証対象項目抽出方法において、
複数の検証項目を検証対象とする複数の検証対象項目を記憶手段に記憶しておく記憶ステップと、
前記記憶手段から各検証対象項目を読み出して、各検証項目に対するコスト値に基づいて各検証対象項目の優先度をそれぞれ算出する算出ステップと、
前記優先度の高い順に前記検証対象項目の検証項目を平準化する平準化ステップと、
を有することを特徴とする検証対象項目抽出方法。
【請求項４】
前記平準化ステップは、
前記検証対象項目の各検証項目に対して与えられた検証実施条件数に一定値を加算する処理を前記優先度の高い順に繰り返し、前記処理の対象とされる検証対象項目の検証項目がその前に優先度の高い検証対象項目の検証項目に一致し、かつ当該検証項目に対する検証実施条件数が上限に到達している場合に、前記処理対象の検証対象項目を抽出対象外とすることを特徴とする請求項３記載の検証対象項目抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアプログラム検証に用いる検証対象項目を抽出する技術に関する。
【背景技術】
【０００２】
昨今のソフトウェア開発は、規模も大きく複雑であり、短期間で大規模な開発が必要とされる。また、開発内容により規模やその内容は様々であることから、ソフトウェアプログラムの動作検証時に用いる検証対象項目の抽出行為は、その開発内容に精通した担当者等により実施される。
【０００３】
しかしながら、抽出された検証対象項目の全てのパターンについて実施することは多くの時間が必要とされることから、あまり現実的ではなかった。そこで、このような課題に対し、特許文献１によれば、繰り返し機能追加されるコンピュータシステムに関して、プログラム単体又は結合試験レベルでの品質向上を図る技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２６７８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、システム管理機能検証に関する品質向上の対策が体系化されていないため、一定以上の品質を確保するための対策をプログラム開発毎に一から検討する必要があることから、動作検証には膨大な時間を要するという課題があった。
【０００６】
このような課題に対し、与えられた時間内で可能な限り有効な検証を行うため、各プログラム開発単位に対して試験バリエーションデータや試験パターン補正データを予め用意し、この用意したデータを元に個々の検証項目に対する有効性を数値化して評価し、有効性が高いと判断された検証項目を対象として検証を実施する方法も考えられる。
【０００７】
しかしながら、そのような検証項目に対する数値評価は、優先度の高い特定の検証項目に評価が集中してしまい、網羅性に欠けるため、検証項目の網羅性や優先度の評価にはそのまま適用することは難しいという課題があった。
【０００８】
また、試験バリエーションデータや試験パターン補正データ等も増大するため、実質的な開発規模や開発量が大きくなり、検証項目を効果的に抽出できないという問題もあった。
【０００９】
本発明は、上記課題を鑑みてなされたものであり、その課題とするところは、網羅性を考慮した検証対象項目を抽出することにある。
【課題を解決するための手段】
【００１０】
請求項１記載の検証対象項目抽出装置は、ソフトウェアプログラム検証に用いる検証対象項目を抽出する検証対象項目抽出装置において、複数の検証項目を検証対象とする複数の検証対象項目を記憶しておく記憶手段と、前記記憶手段から各検証対象項目を読み出して、各検証項目に対するコスト値に基づいて各検証対象項目の優先度をそれぞれ算出する算出手段と、前記優先度の高い順に前記検証対象項目の検証項目を平準化する平準化手段と、を有することを特徴とする。
【００１１】
請求項２記載の検証対象項目抽出装置は、請求項１記載の検証対象項目抽出装置において、前記平準化手段は、前記検証対象項目の各検証項目に対して与えられた検証実施条件数に一定値を加算する処理を前記優先度の高い順に繰り返し、前記処理の対象とされる検証対象項目の検証項目がその前に優先度の高い検証対象項目の検証項目に一致し、かつ当該検証項目に対する検証実施条件数が上限に到達している場合に、前記処理対象の検証対象項目を抽出対象外とすることを特徴とする。
【００１２】
請求項３記載の検証対象項目抽出方法は、ソフトウェアプログラム検証に用いる検証対象項目を抽出する検証対象項目抽出装置で行う検証対象項目抽出方法において、複数の検証項目を検証対象とする複数の検証対象項目を記憶手段に記憶しておく記憶ステップと、前記記憶手段から各検証対象項目を読み出して、各検証項目に対するコスト値に基づいて各検証対象項目の優先度をそれぞれ算出する算出ステップと、前記優先度の高い順に前記検証対象項目の検証項目を平準化する平準化ステップと、を有することを特徴とする。
【００１３】
請求項４記載の検証対象項目抽出方法は、請求項３記載の検証対象項目抽出方法において、前記平準化ステップは、前記検証対象項目の各検証項目に対して与えられた検証実施条件数に一定値を加算する処理を前記優先度の高い順に繰り返し、前記処理の対象とされる検証対象項目の検証項目がその前に優先度の高い検証対象項目の検証項目に一致し、かつ当該検証項目に対する検証実施条件数が上限に到達している場合に、前記処理対象の検証対象項目を抽出対象外とすることを特徴とする。
【００１４】
以上より、本発明によれば、優先度の高い順に検証対象項目の検証項目を平準化するため、網羅性を考慮した検証対象項目を抽出できる。
【発明の効果】
【００１５】
本発明によれば、網羅性を考慮した検証対象項目を抽出できる。
【図面の簡単な説明】
【００１６】
【図１】検証対象項目抽出装置の機能ブロック構成を示す図である。
【図２】検証実施条件上限数の算出フローを示す図である。
【図３】検証対象項目の抽出フローを示す図である。
【図４】検証条件データの入力情報フォーマット例を示す図である。
【図５】検証対象項目の優先度の計算方法を示す図である。
【図６】検証対象項目の抽出イメージを示す図である。
【発明を実施するための形態】
【００１７】
本発明は、規模の大きな開発ソフトウェアを検証対象とし、そのソフトウェアプログラム検証に用いる検証対象項目を抽出する検証対象項目抽出装置において、検証対象項目の優先度を評価すると共に、その優先度の高い順に検証対象項目に含まれる検証項目を平準化することを特徴としている。
【００１８】
すなわち、検証対象項目内において検証実施される検証項目の平準化を図ることにより、優先度及び網羅性を考慮した検証対象項目の抽出を実現するものである。
【００１９】
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【００２０】
図１は、本実施の形態に係る検証対象項目抽出装置の機能ブロック構成を示す図である。本検証対象項目抽出装置１００は、通信ネットワーク（不図示）を介して操作・表示端末２００と相互通信可能であり、その操作・表示端末２００から受信した検証対象項目抽出要求を受け付けて、抽出処理を実行した後に、その抽出結果を応答として送信するものである。
【００２１】
検証対象項目抽出装置１００は、検証すべき検証条件データを入力する検証条件入力部１１と、その検証条件データのうち、検証項目等と当該検証項目等に対するユーザ所期値との対応関係を記憶する検証条件記憶部１２と、入力された検証条件データのうち、検証対象項目として抽出される項目抽出数を記憶する項目抽出条件記憶部１３と、先の対応関係に基づいて検証対象項目のコスト値を算出する項目コスト算出部１４と、先の対応関係及び先の項目抽出数に基づいて検証実施条件上限数を算出する検証実施条件上限算出部１５と、先の検証対象項目コスト値及び先の検証実施条件上限数を用いて実施されるべき検証対象項目を抽出する検証対象項目抽出部１６と、抽出された検証対象項目を出力する検証対象項目出力部１７とで主に構成される。
【００２２】
なお、検証対象項目抽出装置１００は、メモリ等の記憶手段やＣＰＵ等の制御・計算手段を具備する情報処理装置（コンピュータ）で実現できる。また、検証対象項目抽出装置１００を構成する各機能部は、プログラムにより実現できる。
【００２３】
次に、検証対象項目抽出装置１００の動作について説明する。最初に、検証対象項目の抽出フローを説明する前に、その検証対象項目を抽出する際に用いる検証実施条件上限数の算出フローについて説明する。図２は、検証実施条件上限数の算出フローを示す図である。
【００２４】
最初に、ステップＳ１０１において、検証条件入力部１１が、検証対象項目として抽出される項目抽出数（例えば、上位から何％又は何項目等）の入力を受け付け、項目抽出条件記憶部１３は、その入力された項目抽出数を記憶する。
【００２５】
次に、ステップＳ１０２において、検証実施条件上限算出部１５が、項目抽出条件記憶部１３から項目抽出数を読み出して、検証条件記憶部１２に記憶されているユーザ入力又は事前入力された検証項目（後述する）の数で除算することにより、検証実施条件上限数を算出する。
【００２６】
例えば、入力された項目抽出数が１２５項目であり、後述するように検証項目の数がＡ〜Ｅの５つの場合、検証実施条件上限数は２５（＝１２５÷５）と計算される。なお、検証実施条件上限数の算出方法において上記除算は一例であり、他の演算方法（加算、引算、乗算、又はそれらの組み合わせ）で算出してもよい。
【００２７】
続いて、検証対象項目の抽出フローについて説明する。図３は、検証対象項目の抽出フローを示す図である。
【００２８】
最初に、ステップＳ２０１において、検証条件入力部１１が、検証項目等と、その検証項目等に対するユーザ所期値との入力を受け付けて、検証条件記憶部１２が、その対応関係を検証条件情報として記憶する。
【００２９】
具体的には、図４に示すように、サービス影響度，起動条件，パラメータ，システム状態という検証種別毎にＡ〜Ｅの検証項目が与えられた検証条件情報を操作・表示端末２００の画面に表示し、各検証項目に対する所期値の入力を促して、開発担当者又はその精通者によって入力された値を重み（以下、コスト値）として受け付ける。
【００３０】
例えば、評価用の基礎データとして、検証種別が「サービス影響度」の場合、Ａの検証項目として「保守側の運用で対応可能」、Ｂの検証項目として「保守側の対応が必要」、Ｃの検証項目として「他の機能でリカバリ可能」、Ｄの検証項目として「他の機能で復旧可能」、Ｅの検証項目として「サービス停止」が事前に定義され、それらＡ〜Ｅの検証項目に対して適切に考慮されたコスト値が開発担当者等によって付与される。
【００３１】
なお、検証種別や検証項目は、本ステップにおいてユーザが任意に設定してもよく、全ての開発単位を横断して事前に共通のものを定義しておくようにしてもよい。また、図３に示した検証種別や検証項目は一例であり、前述した試験バリエーションデータや試験パターン補正データ等も利用してもよい。更に、サービス影響度，起動条件，パラメータ，システム状態を検証項目としてもよく、検証項目として、広くは、ソフトウェアプログラムを検証する項目として定義されたものであればよい。
【００３２】
また、付与されるコスト値は、各検証項目に対する優先度（％）であり、優先度の低い項目については小さい数字が与えられ、優先度の高い項目については大きい数字が与えられる。
【００３３】
次に、ステップＳ２０２において、項目コスト算出部１４が、検証条件記憶部１２から検証条件情報を読み出し、全ての検証種別に対する各検証項目の組み合わせパターンを検証対象項目として記憶し、全ての検証対象項目についてそれぞれのコスト値を掛け合わせて数値化して、その数値化された値を各検証対象項目の優先度とする。
【００３４】
例えば、図５に示すように、「Ａ（サービス影響度）−Ａ（起動条件）−Ａ（パラメータ）−Ａ（システム状態）」の組み合わせパターンを検証対象項目（１）とした場合、その検証対象項目（１）の優先度は０．０５％（＝１０％×１０％×５０％×１０％）と計算される。
【００３５】
この優先度は、検出種別数を次元とするマトリックスからなる全ての組み合わせパターンについて計算され、図５に示す場合には６２５パターン（５の４乗）が計算される。
【００３６】
次に、ステップＳ２０３において、項目コスト算出部１４は、ステップＳ２０２で計算された優先度の高い検証対象項目順に昇順の通番（最も高い優先度の通番は１）を付与する。
【００３７】
これ以降は、優先度の高い順に検証対象項目の検証項目を平準化する処理例についての説明である。
【００３８】
まず、ステップＳ２０４において、最も優先度の高い通番１が付与された（すなわち、検証優先度が１の）検証対象項目を入力し、ステップＳ２０５において、全ての検証種別の全ての検証項目に対する検証実施条件数がステップＳ１０２で求めた検証実施条件上限数に到達しているか否かを判定する。
【００３９】
なお、検証項目に対する検証実施条件数とは、検証項目の網羅性を算出するために用いる便宜的数値であり、全検証種別の全検証項目に対して初期値として０がテーブル内に入力されている（図６参照）。
【００４０】
次に、ステップＳ２０５の判定で検証実施条件上限数に到達していない場合、ステップＳ２０６において、ステップＳ２０４で入力された通番１の検証対象項目で実施される検証項目に対する検証実施条件数が上記検証実施条件上限数に到達しているか否かを判定する。
【００４１】
例えば、図６に示したように、「サービス影響度」と「起動条件」の２つの検証種別が定義され、通番１の検証対象項目の検証項目がＡ（サービス影響度）−Ｄ（起動条件）の場合、それら各検証項目Ａ，Ｄに対する現在の検証実施条件数は０であることから、２５である検証実施条件上限数に到達していないと判定される。
【００４２】
次に、ステップＳ２０６の判定で検証実施条件上限数に到達していない場合、ステップＳ２０７において、該当する検証項目の検証実施条件数に対して１を加算し、現在の検証対象項目を実施されるべき検証対象項目として抽出する。上記例の場合には、各検証項目Ａ，Ｄに対する検証実施条件数は１となる。
【００４３】
一方、ステップＳ２０６の判定で検証実施条件上限数に到達している場合には、その検証対象項目の検証項目については、実施されるべき検証対象項目として抽出しない。
【００４４】
例えば、図６に示すように、通番３０の検証対象項目の検証項目Ｂ，Ｄの一部又は全部がその前に優先度の高い通番２９の検証対象項目の検証項目Ｂ，Ａに一致し、更に、その一致した検証項目Ｂに対する検証実施条件数が２５の検証実施条件上限数に到達している場合には、通番３０の検証対象項目を抽出対象外とする。
【００４５】
次に、ステップＳ２０７の後、ステップＳ２０８において、検証優先度に１を加算して、ステップＳ２０４に戻り、次に優先度の高い検証対象項目に対してステップＳ２０４〜Ｓ２０８の処理を繰り返す。
【００４６】
最後に、ステップＳ２０５の判定で検証実施条件上限数に到達している場合、ステップＳ２０９において、検証対象項目の抽出を終了する。
【００４７】
以上、検証対象項目の抽出フローについて説明した。すなわち、検証優先度の高い検証対象項目から順に、いずれかの検証項目の検証実施条件数が検証実施条件上限数に到達するまで実施検証対象項目として抽出する。また、その検証項目において検証実施条件上限に到達した場合、次点の検証優先度の検証対象項目の検証項目が上限に到達した検証項目と異なる場合には、実施検証対象項目として抽出する。一方、同一の場合には、実施検証対象外項目として抽出外とする。
【００４８】
以上より、本実施の形態によれば、優先度の高い順に検証対象項目の検証項目を平準化するため、優先度及び網羅性を考慮した検証対象項目を抽出できる。すなわち、規模の大きな複合システムに対しても、開発者のスキルに応じて管理可能な規模の開発単位毎に必要となる検証対象項目の抽出に用いる評価基礎データの準備を可能にし、検証対象項目の優先度と網羅性とを考慮した検証対象項目の抽出が可能となる。
【符号の説明】
【００４９】
１００…検証対象項目抽出装置
１１…検証条件入力部
１２…検証条件記憶部
１３…項目抽出条件記憶部
１４…項目コスト算出部
１５…検証実施条件上限算出部
１６…検証対象項目抽出部
１７…検証対象項目出力部
２００…操作・表示端末
Ｓ１０１〜Ｓ１０２、Ｓ２０１〜Ｓ２０９…処理ステップ
【図１】
2013175106.tif 000003
【図２】
2013175106.tif 000004
【図３】
2013175106.tif 000005
【図４】
2013175106.tif 000006
【図５】
2013175106.tif 000007
【図６】
2013175106.tif 000008