(57)【特許請求の範囲】
【請求項１】
サーバで動作するソフトウェアのテストをクライアントから行う際の当該テストの網羅性を評価する装置であって、
前記クライアントに表示された特定の画面を用いた複数回のテストのそれぞれにおいて当該特定の画面上の特定の入力フィールドに入力され前記サーバへ送信された入力値からなる複数の入力値と、当該複数回のテストのそれぞれにおいて前記サーバで当該入力値に応じて設定され前記クライアントへ送信された設定値からなる複数の設定値とを含む当該複数回のテストのログデータを記憶する記憶部と、
前記記憶部に記憶された前記ログデータに含まれる前記複数の入力値が、前記複数回のテストにおいて前記特定の入力フィールドに入力すべき値のどの程度を網羅しているか、及び、前記記憶部に記憶された前記ログデータに含まれる前記複数の設定値が、当該複数回のテストにおいて当該特定の入力フィールドに入力された値に応じて設定されるべき値のどの程度を網羅しているかを解析する解析部と、
前記解析部による解析結果を出力する出力部と
を含む、装置。
【請求項２】
前記特定の画面上の複数の入力フィールドからの前記特定の入力フィールドの選択を受け付ける受付部を更に含む、請求項１の装置。
【請求項３】
前記記憶部は、前記複数回のテストのそれぞれにおいて前記特定の画面の表示が繰り返された回数が分かるように前記ログデータを記憶し、
前記解析部は、前記記憶部に記憶された前記ログデータから得られる前記特定の画面の表示の複数の繰り返し回数が、前記複数回のテストにおいて当該特定の画面の表示を繰り返すべき回数のどの程度を網羅しているかを解析する、請求項１又は請求項２の装置。
【請求項４】
サーバで動作するソフトウェアのテストをクライアントから行う際の当該テストの網羅性を評価する装置であって、
前記クライアントに表示された少なくとも１つの画面を用いた複数回のテストのそれぞれにおいて当該少なくとも１つの画面上の第１の入力フィールドに入力され前記サーバへ送信された第１の入力値からなる複数の第１の入力値と、当該複数回のテストのそれぞれにおいて当該少なくとも１つの画面上の第２の入力フィールドに入力され前記サーバへ送信された第２の入力値からなる複数の第２の入力値と、当該複数回のテストのそれぞれにおいて前記サーバで当該第１の入力値に応じて設定され前記クライアントへ送信された設定値からなる複数の設定値とを含む当該複数回のテストのログデータを記憶する記憶部と、
前記記憶部に記憶された前記ログデータに含まれる前記複数の第１の入力値が、前記複数回のテストにおいて前記第１の入力フィールドに入力すべき値のどの程度を網羅しているか、前記記憶部に記憶された前記ログデータに含まれる前記複数の第２の入力値が、当該複数回のテストにおいて前記第２の入力フィールドに入力すべき値のどの程度を網羅しているか、及び、前記記憶部に記憶された前記ログデータに含まれる前記複数の設定値が、当該複数回のテストにおいて当該第１の入力フィールドに入力された値に応じて設定されるべき値のどの程度を網羅しているかを解析する第１の解析部と、
前記記憶部に記憶された前記ログデータに含まれる前記複数回のテストのそれぞれにおいて前記サーバへ送信された前記第１の入力値と前記第２の入力値との組からなる複数の入力値の組が、前記複数回のテストにおいて前記第１の入力フィールド及び前記第２の入力フィールドに入力すべき値の組のどの程度を網羅しているかを解析する第２の解析部と、
前記第１の解析部による解析結果と前記第２の解析部による解析結果とを出力する出力部と
を含む、装置。
【請求項５】
前記複数の入力値の組のうちテスト対象から除外すべき特定の値の組の指定を受け付ける受付部を更に備え、
前記第２の解析部は、前記記憶部に記憶された前記ログデータに含まれる前記複数の入力値の組が、前記複数回のテストにおいて前記第１の入力フィールド及び前記第２の入力フィールドに入力すべき値の組から前記特定の値の組を除外して得られる値の組のどの程度を網羅しているかを解析する、請求項４の装置。
【請求項６】
サーバで動作するソフトウェアのテストをクライアントから行う際の当該テストの網羅性を評価する方法であって、
前記クライアントに表示された特定の画面を用いた複数回のテストのそれぞれにおいて当該特定の画面上の特定の入力フィールドに入力され前記サーバへ送信された入力値からなる複数の入力値と、当該複数回のテストのそれぞれにおいて前記サーバで当該入力値に応じて設定され前記クライアントへ送信された設定値からなる複数の設定値とを含む当該複数回のテストのログデータを記憶部に記憶するステップと、
前記記憶部に記憶された前記ログデータに含まれる前記複数の入力値が、前記複数回のテストにおいて前記特定の入力フィールドに入力すべき値のどの程度を網羅しているか、及び、前記記憶部に記憶された前記ログデータに含まれる前記複数の設定値が、当該複数回のテストにおいて当該特定の入力フィールドに入力された値に応じて設定されるべき値のどの程度を網羅しているかの解析を行うステップと、
前記解析の結果を出力するステップと
を含む、方法。
【請求項７】
サーバで動作するソフトウェアのテストをクライアントから行う際の当該テストの網羅性を評価する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記クライアントに表示された特定の画面を用いた複数回のテストのそれぞれにおいて当該特定の画面上の特定の入力フィールドに入力され前記サーバへ送信された入力値からなる複数の入力値と、当該複数回のテストのそれぞれにおいて前記サーバで当該入力値に応じて設定され前記クライアントへ送信された設定値からなる複数の設定値とを含む当該複数回のテストのログデータを記憶部に書き込む書込み部と、
前記記憶部に書き込まれた前記ログデータに含まれる前記複数の入力値が、前記複数回のテストにおいて前記特定の入力フィールドに入力すべき値のどの程度を網羅しているか、及び、前記記憶部に書き込まれた前記ログデータに含まれる前記複数の設定値が、当該複数回のテストにおいて当該特定の入力フィールドに入力された値に応じて設定されるべき値のどの程度を網羅しているかを解析する解析部と、
前記解析部による解析結果を出力する出力部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストの網羅性を評価する装置及び方法に関する。特に、本発明は、サーバで動作するソフトウェアのテストをクライアントから行う際のテストの網羅性を評価する装置及び方法に関する。
【背景技術】
【０００２】
ウェブアプリケーションの開発においては、他のソフトウァア開発と同様に、必要十分なテストを行ったかという網羅性の確認が、テストの実行時や終了判断時に求められている。
ホワイトボックステストにおいてこのような網羅性を確認する手法やツールは各種存在する。
また、ブラックボックステストでの入力パラメータの網羅性を担保するテスト手法としては、同値分割法、境界値分析、オールペア法等がある。特に組み込みソフトウェアの開発では利用事例も発表され、これらの手法の適用を補助するツールも各種存在する。
【０００３】
ここで、同様の網羅性確認に関する技術は、公報記載の技術としても知られている（例えば、特許文献１〜４参照）。
特許文献１の技術では、まず、因子の種類毎に数値を定義し、所定数の因子の組み合わせにより構成される複数のテスト項目から、テスト項目を構成する全因子の数値の合計の最小値、最大値を算出して、最小値と最大値との間を複数に分割した複数の区間を生成する。次に、２因子間の因子の種類の組み合わせを全て網羅するように複数のテスト項目を生成する。また次に、テスト項目を構成する全因子の数値の合計をテスト項目毎に算出し、数値の合計によって網羅されていない区間を未網羅の区間として選択する。最後に、未網羅の区間を網羅するようにテスト項目を生成する。
【０００４】
特許文献２の技術では、試験ポイント一覧データと試験ログデータとを入力し、試験ログデータ中に記録された試験ポイントが試験ポイント一覧データに登録されているか否かを判断する。登録されている場合、その試験ポイントに対する試験は実施済みとして試験ポイント一覧データの内容を更新する。そして、最終的に更新された試験ポイント一覧データを参照し、試験対象ポイントのうち試験実施済みのものの割合を算出し、算出結果を出力する。
【０００５】
特許文献３の技術では、まず、テスト対象の制御プログラムの実行パスを抽出する。次に、制御プログラム中の実行パス中の関数について、入力値の範囲を特定する。また次に、入力範囲を所定の方法で分割した空間である離散区分を設定する。最後に、離散区分に対応するテストの実行率に基づいてカバレージ測定する。
【０００６】
特許文献４の技術では、検証の結果が適正とされた場合は、今回の入力データを認定データとして保存する。また、コンピュータ装置において対象になり得る入力データを収集して格納する。そして、コンピュータ装置において対象になり得る入力データの数に対する認定データの数の比を、網羅率として算出し、テストケースまたはテストデータの過不足判定に使用する。
【０００７】
また、公報記載の技術の中には、ソフトウェアの再試験に関する技術もある（例えば、特許文献５、６参照）。
特許文献５の技術では、まず、複数のモジュールからなるソフトウェアが設計仕様中の各機能を満たすかを確認するために予め設定されている複数の第１の試験項目ごとに、第１の試験項目を実施したときに実行されたソフトウェアのモジュールを特定するための走行履歴情報が関連付けられた試験項目別走行履歴情報を与える。次に、不具合を含むモジュールを示す不具合モジュール情報および不具合を含むモジュールのうち不具合の修正されたモジュールを示す修正モジュール情報に基づき、試験項目別走行履歴情報の中から不具合が未修正のモジュールを含む走行履歴情報と関連付けられた第２の試験項目を削除した第３の試験項目を出力する。
【０００８】
特許文献６の技術では、まず、ソフトウェアを構成する部品に、この部品に固有の部品識別子及び部品が入出力操作されるときの固有の入出力信号識別子並びに部品が画面表示される画面単位に固定情報として与えられた画面識別子のパラメータを付加する。次に、このパラメータにより試験時の操作情報及び試験結果である表示情報をトレース記録ＤＢの所定の箇所に記憶するようにして、変更されたソフトウェアの再試験時に利用する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−２８８８３１号公報
【特許文献２】特開２０００−２６７８８８号公報
【特許文献３】特開２００９−３０１１２９号公報
【特許文献４】特開２００７−０２６３６０号公報
【特許文献５】特開２００７−３２８４４７号公報
【特許文献６】特開２００８−２６２４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ホワイトボックステストにおいて網羅性を確認する手法やツールが適用できるのは、実用上、複雑さの観点でコンポーネントレベルのテストに限られてしまっている。
また、ブラックボックステストでの入力パラメータの網羅性を担保するテスト手法は、ウェブアプリケーションの開発ではあまり適用されていない。それは、ウェブアプリケーションが複雑であるため、テストケースの作成も複雑になり、テスト設計にかかる工数が大きくなってしまうからである。ウェブアプリケーションが複雑である点としては、第一に、パラメータの数が多いという点が挙げられる。第二に、画面遷移も併せて考慮する必要があるという点が挙げられる。第三に、直接の入力パラメータだけでなく、入力パラメータから検索したデータとの組み合わせが重要である場合があるという点が挙げられる。例えば、入力パラメータは会員番号であるが、内部処理では会員番号に紐付けられた年齢データが使われるため、年齢データでの組み合わせ設計を行う必要がある場合等である。従って、現状では、ウェブアプリケーション開発において網羅性を確認したいという要求に十分に応えることはできていない。
特許文献１〜６の技術も、このような要求に応えるための手段を何ら提供するものではない。
【００１１】
本発明の目的は、サーバで動作するソフトウェアのテストをクライアントから行う際のテスト設計の工数を抑えることにある。
【課題を解決するための手段】
【００１２】
かかる目的のもと、本発明は、サーバで動作するソフトウェアのテストをクライアントから行う際のテストの網羅性を評価する装置であって、クライアントに表示された特定の画面を用いた複数回のテストのそれぞれにおいて特定の画面上の特定の入力フィールドに入力されサーバへ送信された入力値からなる複数の入力値を含む複数回のテストのログデータを記憶する記憶部と、記憶部に記憶されたログデータに含まれる複数の入力値が、複数回のテストにおいて特定の入力フィールドに入力すべき値のどの程度を網羅しているかを解析する解析部と、解析部による解析結果を出力する出力部とを含む、装置を提供する。
【００１３】
ここで、この装置は、特定の画面上の複数の入力フィールドからの特定の入力フィールドの選択を受け付ける受付部を更に含む、ものであってよい。
また、この装置において、記憶部は、複数回のテストのそれぞれにおいてサーバで入力値に応じて設定されクライアントへ送信された設定値からなる複数の設定値を更に含むログデータを記憶し、解析部は、記憶部に記憶されたログデータに含まれる複数の設定値が、複数回のテストにおいて特定の入力フィールドに入力された値に応じて設定されるべき値のどの程度を網羅しているかを解析する、ものであってよい。
更に、記憶部は、複数回のテストのそれぞれにおいて特定の画面の表示が繰り返された回数が分かるようにログデータを記憶し、解析部は、記憶部に記憶されたログデータから得られる特定の画面の表示の複数の繰り返し回数が、複数回のテストにおいて特定の画面の表示を繰り返すべき回数のどの程度を網羅しているかを解析する、ものであってよい。
【００１４】
また、本発明は、サーバで動作するソフトウェアのテストをクライアントから行う際のテストの網羅性を評価する装置であって、クライアントに表示された少なくとも１つの画面を用いた複数回のテストのそれぞれにおいて少なくとも１つの画面上の２つの入力フィールドに入力されサーバへ送信された入力値の組からなる複数の入力値の組を含む複数回のテストのログデータを記憶する記憶部と、記憶部に記憶されたログデータに含まれる複数の入力値の組が、複数回のテストにおいて２つの入力フィールドに入力すべき値の組のどの程度を網羅しているかを解析する解析部と、解析部による解析結果を出力する出力部とを含む、装置も提供する。
【００１５】
ここで、この装置は、複数の入力値の組のうちテスト対象から除外すべき特定の値の組の指定を受け付ける受付部を更に備え、解析部は、記憶部に記憶されたログデータに含まれる複数の入力値の組が、複数回のテストにおいて２つの入力フィールドに入力すべき値の組から特定の値の組を除外して得られる値の組のどの程度を網羅しているかを解析する、ものであってよい。
【００１６】
また、本発明は、サーバで動作するソフトウェアのテストをクライアントから行う際のテストの網羅性を評価する装置であって、クライアントに表示された少なくとも１つの画面を用いた複数回のテストのそれぞれについて、少なくとも１つの画面上の複数の入力フィールドの各入力フィールドと各入力フィールドに入力されサーバへ送信された入力値とを対応付けた対応情報を含む複数回のテストのログデータを記憶する記憶部と、記憶部に記憶されたログデータに含まれる対応情報から複数の入力フィールドを抽出する抽出部と、抽出部により抽出された複数の入力フィールドからの少なくとも２つの入力フィールドの選択を受け付ける受付部と、少なくとも２つの入力フィールドのうちの特定の入力フィールドに対応情報において対応付けられた入力値からなる複数の入力値が、複数回のテストにおいて特定の入力フィールドに入力すべき値のどの程度を網羅しているかを解析する第１の解析部と、少なくとも２つの入力フィールドのうちの第１の入力フィールドに対応情報において対応付けられた入力値及び少なくとも２つの入力フィールドのうちの第２の入力フィールドに対応情報において対応付けられた入力値の組からなる複数の入力値の組が、複数回のテストにおいて第１の入力フィールド及び第２の入力フィールドに入力すべき値の組のどの程度を網羅しているかを解析する第２の解析部と、第１の解析部による解析結果と第２の解析部による解析結果とを出力する出力部とを含む、装置も提供する。
【００１７】
更に、本発明は、サーバで動作するソフトウェアのテストをクライアントから行う際のテストの網羅性を評価する方法であって、クライアントに表示された特定の画面を用いた複数回のテストのそれぞれにおいて特定の画面上の特定の入力フィールドに入力されサーバへ送信された入力値からなる複数の入力値を含む複数回のテストのログデータを記憶部に記憶するステップと、記憶部に記憶されたログデータに含まれる複数の入力値が、複数回のテストにおいて特定の入力フィールドに入力すべき値のどの程度を網羅しているかの解析を行うステップと、解析の結果を出力するステップとを含む、方法も提供する。
【００１８】
更にまた、本発明は、サーバで動作するソフトウェアのテストをクライアントから行う際のテストの網羅性を評価する装置としてコンピュータを機能させるプログラムであって、コンピュータを、クライアントに表示された特定の画面を用いた複数回のテストのそれぞれにおいて特定の画面上の特定の入力フィールドに入力されサーバへ送信された入力値からなる複数の入力値を含む複数回のテストのログデータを記憶部に書き込む書込み部と、記憶部に書き込まれたログデータに含まれる複数の入力値が、複数回のテストにおいて特定の入力フィールドに入力すべき値のどの程度を網羅しているかを解析する解析部と、解析部による解析結果を出力する出力部として機能させる、プログラムも提供する。
【発明の効果】
【００１９】
本発明によれば、サーバで動作するソフトウェアのテストをクライアントから行う際のテスト設計の工数を抑えることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。
【図２】本発明の実施の形態における網羅率計測装置の動作例を示したフローチャートである。
【図３】本発明の実施の形態における網羅率計測装置の動作例を示したフローチャートである。
【図４】本発明の実施の形態における網羅率計測装置で記憶されるトレースログの一例を示した図である。
【図５】本発明の実施の形態における網羅率計測装置で表示される分析対象指定画面の一例を示した図である。
【図６】本発明の実施の形態における網羅率計測装置で表示される出現パラメータ一覧画面の一例を示した図である。
【図７】本発明の実施の形態における網羅率計測装置で表示される従属パラメータ指定画面の一例を示した図である。
【図８】本発明の実施の形態における網羅率計測装置で表示される繰り返し回数パラメータ指定画面の一例を示した図である。
【図９】本発明の実施の形態における網羅率計測装置で記憶されるテストデータの一例を示した図である。
【図１０】本発明の実施の形態における網羅率計測装置で表示される分析設定情報入力画面の一例を示した図である。
【図１１】本発明の実施の形態における網羅率計測装置で記憶される分析設定情報の一例を示した図である。
【図１２】本発明の実施の形態における網羅率計測装置で記憶される単独因子分析結果情報の一例を示した図である。
【図１３】本発明の実施の形態における網羅率計測装置で表示される単独因子分析結果画面（単一パラメータ）の一例を示した図である。
【図１４】本発明の実施の形態における網羅率計測装置で表示される単独因子分析結果画面（サマリー）の一例を示した図である。
【図１５】本発明の実施の形態における網羅率計測装置で表示される画面遷移実績画面の一例を示した図である。
【図１６】本発明の実施の形態における網羅率計測装置で記憶される二次元因子分析結果情報の一例を示した図である。
【図１７】本発明の実施の形態における網羅率計測装置で表示される二次元因子分析結果画面（単一組み合わせ）の一例を示した図である。
【図１８】本発明の実施の形態における網羅率計測装置で表示される二次元因子分析結果画面（サマリー）の一例を示した図である。
【図１９】本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【００２１】
まず、本発明の実施の形態の概要を説明する。
本来、同値分割法、オールペア法は、テスト対象システムの設計仕様に基づいて、そのテスト設計の際に、トップダウンで（上位の設計から下位の設計へ向けて）計画し、適用するものである。
複雑なウェブアプリケーションでは、条件により異なるページ遷移が絡むこともあるので、設計仕様からの必要なパラメータの洗い出しや、それらの組み合わせについてのテストケースの設計が非常に複雑となり、上記の手法の適用は難しくなっている。
また、昨今、システム開発手法がウォータフォール手法からアジャイル開発へと移行する動きもあり、テスト設計で網羅性を確保することは益々難しくなってきている。
そこで、これまでの手法で設計して実行しているテストケースの実行結果から必要なデータを集め、どのような画面遷移が実行されたか、実行されたテストケースは同値分割法、オールペア法を適用するとどの程度の網羅性を達成していることになるのか、網羅性を向上させるためにはどのような組み合わせのテストケースを実行すればよいか、といった情報を提供するようにした。
【００２２】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。
図示するように、コンピュータシステムは、ウェブシステム１０と、クライアント２０とが、代理サーバであるプロキシ７０及びインターネット等のネットワーク８０を介して接続されることにより構成される。また、ネットワーク８０上の斜線で示したスイッチのミラーポート又はＴＡＰにネットワークトレーサ３０が接続され、ネットワークトレーサ３０にトレースログ記憶装置３５が接続されている。更に、トレースログ記憶装置３５には、網羅率計測装置４０と、画面再生装置６０とが接続され、網羅率計測装置４０にはコンソール４９が、画面再生装置６０にはクライアント６９が、それぞれ接続されている。
【００２３】
ウェブシステム１０は、各クライアントにインストールされたブラウザからの要求に応じてサービスを提供するサーバ上のシステムであり、本実施の形態でテスト対象となるシステムである。本実施の形態では、サーバの一例として、ウェブシステム１０を設けている。
クライアント２０は、テスターがウェブシステム１０をテストする際に使用する端末装置である。図では、１つのクライアント２０しか示していないが、複数のクライアント２０が接続されていてもよく、その場合、クライアント２０というときはそのうちの１つを指すものとする。
ネットワークトレーサ３０は、ネットワーク８０上のトラフィックのトレースを取得する。
トレースログ記憶装置３５は、ネットワークトレーサ３０が取得したトレースのログ（トレースログ）を記憶する。
【００２４】
網羅率計測装置４０は、トレースログ記憶装置３５に記憶されたトレースログに基づいて、テストの網羅率を計測する装置である。詳細については後述する。
コンソール４９は、網羅率計測装置４０の使用者（以下、単に「ユーザ」という）の操作に応じて網羅率計測装置４０に情報を入力したり、網羅率計測装置４０による処理結果の情報を表示したりする操作卓である。
画面再生装置６０は、テスターがクライアント２０に表示した画面を後から再生する装置である。
クライアント６９は、画面再生装置６０の使用者が画面を再生する際に使用する端末装置である。
【００２５】
ここで、網羅率計測装置４０の機能構成について詳細に説明する。
図示するように、網羅率計測装置４０は、トレースログ抽出部４１と、パラメータ抽出部４２と、テストデータ生成部４３と、単独因子分析部４４と、二次元因子分析部４５と、入出力制御部４６とを備える。また、分析対象トレースログ記憶部５１と、テストデータ記憶部５２と、分析設定情報記憶部５３と、分析結果情報記憶部５４とを備える。このうち、トレースログ抽出部４１、パラメータ抽出部４２、テストデータ生成部４３、単独因子分析部４４、二次元因子分析部４５、入出力制御部５６は、ＣＰＵ９０ａ（図１９参照）がプログラムを磁気ディスク装置９０ｇ（図１９参照）からメインメモリ９０ｃ（図１９参照）に読み込んで実行することにより、実現される。また、分析対象トレースログ記憶部５１、テストデータ記憶部５２、分析設定情報記憶部５３、分析結果情報記憶部５４は、例えば磁気ディスク装置９０ｇ（図１９参照）によって実現される。
【００２６】
トレースログ抽出部４１は、トレースログ記憶装置３５に記憶されたトレースログから、分析対象として指定されたトレースログを抽出し、分析対象トレースログとして分析対象トレースログ記憶部５１に記憶する。
【００２７】
パラメータ抽出部４２は、分析対象トレースログ記憶部５１に記憶された分析対象トレースログから、分析対象として指定された画面に出現するパラメータを抽出する。本実施の形態では、入力フィールドの一例として、パラメータを用いており、入力フィールドを抽出する抽出部の一例として、パラメータ抽出部４２を設けている。
【００２８】
テストデータ生成部４３は、分析対象トレースログ記憶部５１に記憶された分析対象トレースログに基づいて、パラメータ抽出部４２が抽出したパラメータと、１回のテストでそれらのパラメータに入力されたパラメータ値とを含むテストデータを生成し、テストデータ記憶部５２に記憶する。本実施の形態では、入力値の一例として、パラメータ値を用いている。
【００２９】
単独因子分析部４４は、テストデータ記憶部５２に記憶されたテストデータと、分析設定情報記憶部５３に記憶された分析設定情報（後述）とに基づいて、単独パラメータに関するテスト網羅性を分析し、分析の結果を示す単独因子分析結果情報を分析結果情報記憶部５４に記憶する。本実施の形態では、複数の入力値が複数回のテストにおいて特定の入力フィールドに入力すべき値のどの程度を網羅しているかを解析する解析部又は第１の解析部の一例として、単独因子分析部４４を設けている。
【００３０】
二次元因子分析部４５は、テストデータ記憶部５２に記憶されたテストデータと、分析設定情報記憶部５３に記憶された分析設定情報（後述）とに基づいて、２つのパラメータの組み合わせに関するテスト網羅性を分析し、分析の結果を示す二次元因子分析結果情報を分析結果情報記憶部５４に記憶する。本実施の形態では、複数の入力値の組が複数回のテストにおいて２つの入力フィールドに入力すべき値の組のどの程度を網羅しているかを解析する解析部又は第２の解析部の一例として、二次元因子分析部４５を設けている。
【００３１】
入出力制御部４６は、コンソール４９から入力された情報を受け付ける。特に、コンソール４９から単独因子分析部４４及び二次元因子分析部４５で用いる分析設定情報が入力された場合は、分析設定情報を分析設定情報記憶部５３に記憶する。また、コンソール４９に表示すべき情報を出力する。本実施の形態では、入力フィールドの選択を受け付ける受付部の一例として、また、解析結果を出力する出力部の一例として、入出力制御部４６を設けている。
【００３２】
分析対象トレースログ記憶部５１は、トレースログ抽出部４１により抽出された分析対象トレースログを記憶する。本実施の形態では、ログデータを記憶する記憶部の一例として、分析対象トレースログ記憶部５１を設けている。
テストデータ記憶部５２は、テストデータ生成部４３により生成されたテストデータを記憶する。
分析設定情報記憶部５３は、入出力制御部４６がコンソール４９から受け付けた分析設定情報を記憶する。ここで、分析設定情報とは、同値分割法、境界値分析、オールペア法等による網羅性の分析で用いられる設定情報であり、同値クラスの範囲や境界値の情報等である。
分析結果情報記憶部５４は、単独因子分析部４４による分析の結果を示す単独因子分析結果情報と、二次元因子分析部４５による分析の結果を示す二次元因子分析結果情報とを記憶する。
【００３３】
尚、この構成例では、ネットワークトレーサ３０がネットワーク８０上のトラフィックのトレースをトレースログとして取得したが、トレースログの取得方法はこれには限らない。
第一に、ウェブシステム１０におけるログをトレースログとして取得する方法が考えられる。但し、この方法では、通常、ウェブシステム１０のアプリケーションでの個別対応が必要になる。
第二に、プロキシ７０等のネットワーク中継機器におけるログをトレースログとして取得する方法が考えられる。
第三に、クライアント２０でロガーを使用し、そのログをトレースログとして取得する方法が考えられる。
【００３４】
次に、本実施の形態における網羅率計測装置４０の動作について詳細に説明する。
まず、網羅率計測装置４０は、トレースログ記憶装置３５に記憶されたトレースログを自身の図示しないメモリに読み込み、そのメモリ上でトレースログに対する前処理を行う。ここで、前処理には、不正なパケットを取り除く処理、クライアント２０ごとにトレースログを分類してエントリを時系列に並べる処理、圧縮されているデータを復元する処理等がある。
【００３５】
図２及び図３は、その後の網羅率計測装置４０の動作例を示したフローチャートである。
網羅率計測装置４０では、図２に示すように、まず、入出力制御部４６が、分析対象を指定するための画面（分析対象指定画面）をコンソール４９に表示し、分析対象指定画面から入力された分析対象指定情報を受け付ける（ステップ４０１）。これにより、トレースログ抽出部４１は、前処理後のトレースログから、分析対象指定情報で指定されたトレースログを抽出し、分析対象トレースログとして分析対象トレースログ記憶部５１に記憶する（ステップ４０２）。
【００３６】
次に、パラメータ抽出部４２は、分析対象トレースログ記憶部５１に記憶された分析対象トレースログから、分析対象指定情報で指定された画面に出現するパラメータを抽出する（ステップ４０３）。これにより、入出力制御部４６は、パラメータ抽出部４２が抽出したパラメータを一覧表で示す画面（出現パラメータ一覧画面）をコンソール４９に表示する（ステップ４０４）。
【００３７】
また、入出力制御部４６は、必ずしも必須ではないが、ユーザの要求に応じて、従属パラメータを指定するための画面（従属パラメータ指定画面）、繰り返し回数パラメータを指定するための画面（繰り返し回数パラメータ指定画面）等もコンソール４９に表示する（ステップ４０５）。
ステップ４０３では、クライアント２０からウェブシステム１０へのＨＴＴＰ（HyperText Transfer Protocol）リクエスト内のＰＯＳＴデータからパラメータを抽出するが、その一方で、このようなパラメータに基づいてウェブシステム１０で値が設定されるパラメータもある。例えば、クライアント２０で入力された会員番号に応じてウェブシステム１０で設定される性別のようなパラメータである。そこで、従属パラメータ指定画面を表示することにより、このようなウェブシステム１０で値が設定されるパラメータも従属パラメータとして、ウェブシステム１０からクライアント２０へのＨＴＴＰレスポンスから抽出できるようにしている。ここで、従属パラメータは、サーバで入力値に応じて設定されクライアントへ送信された設定値の一例である。
更に、繰り返し回数パラメータ指定画面を表示することにより、同じ画面を表示した回数を格納する繰り返し回数パラメータも１つの因子としてテスト網羅性を分析できるようにしている。
その他、クライアント２０のＯＳの種類やブラウザの種類といったテスト環境、ネットワークパス、ウェブシステム１０におけるアプリケーションのバージョン、ユーザの権限等の情報を指定するための画面を表示して情報を入力させ、入力された情報を格納するパラメータを因子としてテスト網羅性を分析するようにしてもよい。
【００３８】
そして、入出力制御部４６は、これらの画面から入力されたパラメータ指定情報を受け付ける（ステップ４０６）。これにより、テストデータ生成部４３は、パラメータ指定情報で指定されたパラメータと、１回のテストでそれらのパラメータに入力されたパラメータ値とを含むテストデータを生成し、テストデータ記憶部５２に記憶する（ステップ４０７）。
【００３９】
次に、網羅率計測装置４０では、図３に示すように、入出力制御部４６が、分析設定情報を入力するための画面（分析設定情報入力画面）を表示し、分析設定情報入力画面から入力された分析設定情報を分析設定情報記憶部５３に記憶する（ステップ４１１）。ここで、分析設定情報には、同値分割法、境界値分析、オールペア法で用いられる同値クラスの範囲や境界値の情報等が含まれる。
そして、単独因子分析部４４は、同値分割法や境界値分析により単独パラメータを因子として分析を行い、分析結果を単独因子分析結果情報として分析結果情報記憶部５４に記憶する（ステップ４１２）。尚、この場合、ステップ４０４に最初に表示されたパラメータだけでなく、ステップ４０６で最終的に指定された全てのパラメータを対象として、単独因子分析を行う。即ち、これら全てのパラメータについて、パラメータに入力されたパラメータ値が、パラメータに入力又は設定される値のどの程度を網羅しているかを分析する。これにより、入出力制御部４６は、分析結果情報記憶部５４に記憶された単独因子分析結果情報を編集し、単独因子分析結果を示す画面（単独因子分析結果画面）をコンソール４９に表示する（ステップ４１３）。
【００４０】
その後、入出力制御部４６は、分析対象を変更する旨の情報がコンソール４９から入力されたかどうかを判定する（ステップ４１４）。
その結果、分析対象を変更する旨の情報がコンソール４９から入力されたと判定されれば、他の分析対象についてステップ４０１〜４１３の処理を行う。
一方、分析対象を変更する旨の情報がコンソール４９から入力されたと判定されなければ、二次元因子分析部４５による処理に移行する。
【００４１】
即ち、二次元因子分析部４５は、まず、画面遷移の分析を行い、その分析結果を示す画面（画面遷移実績画面）を表示し、次に、オールペア法により二次元パラメータを因子として分析を行い、分析結果を二次元因子分析結果情報として分析結果情報記憶部５４に記憶する（ステップ４１５）。尚、この場合、ステップ４０４に最初に表示されたパラメータだけでなく、ステップ４０６で最終的に指定された全てのパラメータを対象として、二次元因子分析を行う。即ち、これら全てのパラメータについて、パラメータの組に入力されたパラメータ値の組が、パラメータの組に入力又は設定される値の組のどの程度を網羅しているかを分析する。これにより、入出力制御部４６は、分析結果情報記憶部５４に記憶された二次元因子分析結果情報を編集し、二次元因子分析結果を示す画面（二次元因子分析結果画面）をコンソール４９に表示する（ステップ４１６）。
その後、入出力制御部４６は、分析対象を変更する旨の情報がコンソール４９から入力されたかどうかを判定する（ステップ４１７）。
その結果、分析対象を変更する旨の情報がコンソール４９から入力されたと判定されれば、他の分析対象についてステップ４０１〜４１６の処理を行う。
一方、分析対象を変更する旨の情報がコンソール４９から入力されたと判定されなければ、処理を終了する。
【００４２】
以下、本実施の形態の動作について、具体的に説明する。
図４は、本実施の形態で用いるトレースログの一例を示した図である。トレースログ記憶装置３５に記憶されたトレースログには、ウェブシステム１０及びクライアント２０のＩＰアドレスも含まれるが、ここでは、上述した前処理でウェブシステム１０ごと、クライアント２０ごとに分類された結果、特定のウェブシステム１０及び特定のクライアント２０に関するものとして記憶されたトレースログを示している。
【００４３】
図中、１行目に示すように、トレースログには、開始行と、メッセージヘッダと、メッセージボディと、対象ＩＤとが含まれる。このうち、開始行、メッセージヘッダ、メッセージボディは、ＨＴＴＰメッセージから得られたものである。対象ＩＤは、例えばテスターを識別するテスターＩＤであり、テスターがクライアント２０にログインする際に入力したテスターＩＤがセットされる。
また、２行目は、クライアント２０からウェブシステム１０へ送信されたＨＴＴＰリクエストである。具体的には、開始行に示すように、ＰＯＳＴメソッドで「ａａａ／ｂｂｂ．ｄｏ」なる画面ＵＲＩ（Uniform Resource Identifier）にデータを送るＨＴＴＰリクエストであり、メッセージボディに示すように、変数名「ｐａｒｂ１」、「ｐａｒｂ２」、「ｐａｒｂ３」に対する変数値として「ｖａｌｂ１１」、「ｖａｌｂ２１」、「ｖａｌｂ３１」が送られている。
更に、３行目は、ウェブシステム１０からクライアント２０へ送信されたＨＴＴＰレスポンスであり、メッセージボディに示すように、ＨＴＭＬ（HyperText Markup Language）ファイルが送られている。
【００４４】
このようなトレースログが記憶された状態で、ステップ４０１では、分析対象指定画面が表示される。
図５は、分析対象指定画面の一例を示した図である。
図示するように、分析対象指定画面では、分析対象指定情報として、テスト期間、対象サーバ、対象ＰＣ、対象ＩＤ、画面ＵＲＩを入力できるようになっている。
【００４５】
テスト期間は、任意入力項目であり、メッセージヘッダ内の日時によってトレースログを絞り込むために入力される。
対象サーバは、任意入力項目であり、特定のウェブシステム１０に関するトレースログを選択するために入力される。省略時は、全てのウェブシステム１０に関するトレースログが分析対象となる。
対象ＰＣは、任意入力項目であり、特定のクライアント２０に関するトレースログを選択するために入力される。省略時は、全てのクライアント２０に関するトレースログが分析対象となる。
対象ＩＤは、任意入力項目であり、対象ＩＤによってトレースログを絞り込むために入力される。省略時は、全ての対象ＩＤに関するトレースログが分析対象となる。
画面ＵＲＩ始点は、任意入力項目であり、開始行内の画面ＵＲＩによってトレースログを絞り込むために入力される。
画面ＵＲＩ終点は、任意入力項目であり、複数の画面を分析対象とする場合に入力される。省略時は、画面ＵＲＩ始点で指定された一画面のみが分析対象となる。
尚、これらの入力項目の全てがブランクの場合は、記録されている全てのトレースログが分析の対象となる。
【００４６】
このようにして分析対象指定情報が入力されると、ステップ４０２で、トレースログが分析対象指定情報によって絞り込まれ、分析対象トレースログとして分析対象トレースログ記憶部５１に記憶される。そして、ステップ４０３で、分析対象指定情報で指定された画面ＵＲＩ始点から画面ＵＲＩ終点までの間の指定された画面ＵＲＩの画面に出現する変数名が抽出される。
【００４７】
この抽出された変数名は、ステップ４０４で、出現パラメータ一覧画面に表示される。
図６は、出現パラメータ一覧画面の一例を示した図である。
図示するように、出現パラメータ一覧画面は、画面ＵＲＩ、画面タイトル、パラメータ名、パラメータ値の例、分析対象情報、従属パラメータ情報を表示する。尚、分析対象情報、従属パラメータ情報は、図では、単に「分析対象」、「従属パラメータ」と表記している。
【００４８】
画面ＵＲＩは、図５の画面ＵＲＩ始点から画面ＵＲＩ終点までの間の指定された画面ＵＲＩである。
画面タイトルは、指定された画面ＵＲＩの画面のタイトルであり、ＨＴＴＰレスポンスで送られるＨＴＭＬファイル内のｔｉｔｌｅタグに記述された文言がセットされる。
パラメータ名は、初期的には、指定された画面ＵＲＩの画面に出現する変数のリストが表示されるが、分析設定情報入力画面（後述）で人間が判別し易いパラメータ名を付与できるので、パラメータ名としている。但し、変数名をそのままパラメータ名としてもよい。例えば、指定された画面ＵＲＩが図４の２行目の「ａａａ／ｂｂｂ．ｄｏ」であるとすると、変数名「ｐａｒｂ１」、「ｐａｒｂ２」、「ｐａｒｂ３」が表示されるので、これをそのままパラメータ名とすることができる。
パラメータ値の例は、対応するパラメータ名に対するパラメータ値の例である。指定された画面ＵＲＩが図４の２行目の「ａａａ／ｂｂｂ．ｄｏ」であるとすると、例えば、パラメータ名「ｐａｒｂ１」に対してパラメータ値「ｖａｌｂ１１」が、パラメータ名「ｐａｒｂ２」に対してパラメータ値「ｖａｌｂ２１」が、パラメータ名「ｐａｒｂ３」に対してパラメータ値「ｖａｌｂ３１」が、それぞれ表示される。
【００４９】
分析対象情報は、対応するパラメータを分析対象とするかどうかを示すフラグである。指定された画面ＵＲＩの画面からパラメータを初めて抽出した場合は、まだ分析対象とするかどうかの設定を行っていないため空欄であるが、分析設定情報入力画面（後述）でそのような設定を行った場合は、その設定が反映される。
従属パラメータ情報は、対応するパラメータが従属パラメータであるかどうかを示すフラグである。指定された画面ＵＲＩの画面からパラメータを初めて抽出した場合は、その中に従属パラメータは存在しないため空欄であるが、次に述べる従属パラメータ指定画面で従属パラメータの指定を行った場合は、その指定が反映される。
【００５０】
このように、ステップ４０５では、従属パラメータ指定画面が表示される。
図７は、従属パラメータ指定画面の一例を示した図である。ここで、従属パラメータは、テスターが直接入力できないパラメータである。例えば、サーバからの応答画面から取得できる数値や文字列、ＨＩＤＤＥＮ属性でＩＤ等のために使用されている内部変数等がある。
図示するように、従属パラメータ指定画面では、パラメータ指定情報として、画面ＵＲＩ、パラメータ名、パラメータ位置、取得情報を入力できるようになっている。また、従属パラメータ指定画面には、「画面再生装置から取得」ボタンも設けられている。
【００５１】
画面ＵＲＩは、従属パラメータが抜き取られる応答画面のＵＲＩである。
パラメータ名は、単純抜取、高度な抜取の何れの場合も、ユーザが任意に指定できるようになっている。
パラメータ位置は、単純抜取、高度な抜取の何れの場合も、抜き取る文字列、数値等の応答画面内の相対位置である。応答画面はＨＴＭＬで記述されているので、応答画面内の相対位置は、ＸＰａｔｈ表現等で一意に指定できる。
或いは、応答画面内の相対位置は、「画面再生装置から取得」ボタンをクリックすることで表示される画面上で指定することもできる。即ち、「画面再生装置から取得」ボタンをクリックすると、まず、画面再生装置６０で再生された画面のうち従属パラメータを抜き取りたい応答画面が表示される。次に、この応答画面上で抜き取る文字列、数値等を右クリックすることで、ブラウザのアドイン等の機能により、そのＸＰａｔｈ表現を得ることができる。
【００５２】
取得情報は、高度な抜取の場合にのみ指定可能な情報であり、応答画面に直接表示されていない情報である。このような情報としては、例えば、検索結果で表示された行数がある。これは、応答画面上のパラメータ位置で指定された位置に表示された検索結果の行数をカウントしてパラメータ化するものである。例えば、検索結果の行数を因子とし、この因子に対して、ヒットなし、１画面内に表示できる件数、２画面にわたる表示となる件数等の水準を定義し、網羅率をチェックできるようになっている。
そして、この従属パラメータ指定画面で指定された従属パラメータは、図６の出現パラメータ一覧画面に追加される。このとき、従属パラメータであることも従属パラメータ情報として表示される。
尚、この従属パラメータ指定画面における全ての入力項目が空白の場合は、従属パラメータの指定はされない。
【００５３】
また、ステップ４０５では、繰り返し回数パラメータ指定画面も表示される。
図８は、繰り返し回数パラメータ指定画面の一例を示した図である。
図示するように、繰り返し回数パラメータ指定画面では、パラメータ指定情報として、カウント対象画面ＵＲＩ、パラメータ名、カウント条件を入力できるようになっている。
【００５４】
カウント対象画面ＵＲＩは、繰り返し回数をカウントする対象の画面のＵＲＩである。
パラメータ名は、カウント対象画面ＵＲＩの画面の繰り返し回数を格納するパラメータの名前であり、ユーザが任意に指定できるようになっている。
カウント条件は、カウント対象画面ＵＲＩの画面の繰り返し回数をカウントする際の条件である。このカウント条件としては、例えば、特定の画面遷移の繰り返し回数をカウントするという条件がある。具体的には、画面Ｘ、画面Ｙ、画面Ａ、画面Ｂ、画面Ｃ、画面Ａ、画面Ｂ、画面Ｃ、画面Ｄという画面遷移があった場合に、画面Ａ、画面Ｂ、画面Ｃという画面遷移の繰り返しをカウントするというものである。これにより、例えば、通信販売のシステムで、商品を選んでカートに入れる操作を何回か繰り返してから支払いの操作を行うような場合、商品を選んでカートに入れる操作を何回繰り返したかをパラメータとして取り入れることができる。
そして、この繰り返し回数パラメータ指定画面で指定された繰り返し回数パラメータは、図６の出現パラメータ一覧画面に追加される。
尚、この繰り返し回数パラメータ指定画面における全ての入力項目が空白の場合は、繰り返し回数パラメータの指定はされない。
【００５５】
このようにして最終的に図６に表示されているパラメータ（分析対象となっていないパラメータを除く）を指定するパラメータ指定情報が入力されると、ステップ４０６で、パラメータ指定情報が受け付けられる。そして、ステップ４０７で、分析対象トレースログから、パラメータ指定情報で指定されたパラメータに関するテストデータが生成され、テストデータ記憶部５２に記憶される。
図９は、このテストデータの一例を示した図である。
図中、１行目に示すように、テストデータには、画面ＵＲＩｍと、パラメータ名ｍｎと、パラメータ値ｍｎとが含まれる（ｍ＝１，２，…、ｎ＝１，２，…）。画面ＵＲＩｍは、分析対象の画面のうちのｍ番の画面のＵＲＩであり、パラメータ名ｍｎは、画面ＵＲＩｍの画面上のｎ番目のパラメータの名前であり、パラメータ値ｍｎは、パラメータ名ｍｎのパラメータに入力されたパラメータ値である。ここでは、説明を簡単にするために、３回のテストで同じ画面（画面ＵＲＩ１、２の画面）上の同じパラメータ（パラメータ名１１、１２、２１、２２のパラメータ）に種々のパラメータ値が入力されたときのテストデータを示している。
【００５６】
このようにしてテストデータが記憶されると、ステップ４１１で、分析設定情報入力画面が表示される。
図１０は、分析設定情報入力画面の一例を示した図である。
図示するように、分析設定情報入力画面では、画面ＵＲＩで指定された画面上の変数名で指定された変数に対して、カテゴリ、パラメータ名、同値分割情報、同値クラス情報ｋを入力できるようになっている（ｋ＝１，２，…）。尚、同値分割情報、同値クラス情報ｋは、図では、単に「同値分割」、「同値クラスｋ」と表記している。
【００５７】
カテゴリでは、変数名で指定された変数を分析対象とするか分析対象外とするか指定できるようになっている。ＨＴＴＰリクエストからは多くのパラメータが抽出されるが、全てのパラメータについて網羅率を算出する必要はないので、網羅率の算出が必要なパラメータをここで指定する。ここでの分析対象、分析対象外の指定は、出現パラメータ一覧画面に分析対象情報として表示される。また、カテゴリでは、従属パラメータであるかどうかも表示される。つまり、従属パラメータ指定画面で指定されたパラメータに対して、従属パラメータであることが表示される。
パラメータ名は、変数名で表示された変数に対して、ユーザが判別し易いように付与する名前である。例えば、ＰＯＳＴデータやＵＲＬにおける「seibetsu」をそのままパラメータ名として用いてもよいが、これを「性別」、「購入者の性別」、「子供の性別」等の分かり易い名前に変更できるようになっている。
【００５８】
同値分割情報は、同値分割法を適用する際の基本的な情報であり、変数名で指定された変数の型や、同値分割を行うかどうかを指定できるようになっている。ここで「同値分割あり」にチェックがされた場合は次の同値クラス情報を入力する。「同値分割なし」にチェックがされた場合は次の同値クラス情報の入力は不要である。
同値クラス情報ｋでは、上段左側のボックスにおいて、同値クラスｋが有効同値クラスであるか無効同値クラスであるかを指定できるようになっている。無効同値クラスが指定された場合、同値クラスｋはオールペア法による分析では除外される。また、上段右側のボックスに対して、同値クラスｋの範囲を示す条件式を入力できるようになっている。この場合の書式としては、数値データであれば数式を用い、文字列等の場合はリスト形式を用いる。更に、下段左端のボックスにおいて、同値クラスｋを除外するかどうかを指定できるようになっている。ここで「除外する」とは、エラーチェック等が行われるために同値クラスｋ内の値が出現することがない場合に、そのことを明示しておくことにより、同値クラスｋがテストされていないと判断されることを防止するための操作である。更にまた、下段中央のボックスに対して、同値クラスｋの上限の境界値を、下段右端のボックスに対して、同値クラスｋの下限の境界値をそれぞれ入力できるようになっている。但し、境界値が意味をなさない場合、例えば、同値クラスに上限がない場合や、変数の型が文字である場合等は、Ｎ／Ａを入力する。
尚、この分析設定情報入力画面からの情報入力は、手入力で行ってもよいが、アプリケーションの設計で設計ツールやフレームワークを使用している場合には、その設計ツールやフレームワークからデータをインポートする等の連携を行うことにより入力の手間を軽減することも可能である。
【００５９】
そして、この分析設定情報入力画面からは、分析設定情報が入力され、分析設定情報記憶部５３に記憶される。
図１１は、この分析設定情報の一例を示した図である。
図中、１行目に示すように、分析設定情報には、画面ＵＲＩと、パラメータ名と、分析対象フラグと、従属変数フラグと、同値分割フラグと、同値クラス条件ｋとが含まれる（ｋ＝１，２，…）。
【００６０】
画面ＵＲＩは、分析設定情報入力画面に表示されていた画面ＵＲＩであり、パラメータ名は、分析設定情報入力画面に表示されていた変数名に対応するパラメータ名である。
分析対象フラグは、対応するパラメータを分析対象とするか分析対象外とするかを示すフラグであり、「ＯＮ」が分析対象とすることを、「ＯＦＦ」が分析対象外とすることを表す。従属変数フラグは、対応するパラメータが従属パラメータであるかどうかを示すフラグであり、「ＯＮ」が従属パラメータであることを、「ＯＦＦ」が従属パラメータでないことを表す。これら２つのフラグには、分析設定情報入力画面のカテゴリの情報が反映される。
同値分割フラグは、対応するパラメータについて同値分割を行うかどうかを示すフラグであり、「ＯＮ」が同値分割を行うことを、「ＯＦＦ」が同値分割を行わないことを表す。このフラグには、分析設定情報入力画面の同値分割情報の「同値分割あり」「同値分割なし」の設定が反映される。
【００６１】
同値クラス条件ｋは、同値クラスｋの範囲及び境界値を決める条件であり、分析設定情報入力画面の同値クラス情報ｋの範囲の条件式及び境界値から生成される。２行目以降に示した括弧内の記号は、左側から、上限の境界値を決める条件（以下、「上限条件」という）、範囲を決める条件（以下、「範囲条件」という）、下限の境界値を決める条件（以下、「下限条件」という）を表す。
尚、図１１では、図４のトレースログには存在しないパラメータとして、従属パラメータ「ｐａｒｘ」、及び、繰り返し回数パラメータ「ｐａｒｙ」も示している。
【００６２】
その後、ステップ４１２で、単独因子分析が行われ、単独因子分析結果情報が生成され、分析結果情報記憶部５４に記憶される。
図１２は、単独因子分析結果情報の一例を示した図である。
図中、１行目に示すように、単独因子分析結果情報には、画面ＵＲＩと、パラメータ名と、パラメータ値と、同値クラスフラグｋとが含まれる（ｋ＝１，２，…）。
【００６３】
画面ＵＲＩは、分析対象の画面のＵＲＩであり、パラメータ名は、その画面上の分析対象のパラメータの名前であり、パラメータ値は、そのパラメータに入力された値である。これらの情報は、テストデータの１つのエントリから取り出されたものである。
【００６４】
同値クラスフラグｋは、対応するパラメータ値が、対応する画面ＵＲＩ及びパラメータ名に分析設定情報で対応付けられた同値クラス条件ｋの上限条件、範囲条件、下限条件を満たすかどうかを示すフラグである。「ＯＮ」が各条件を満たすことを、「ＯＦＦ」が各条件を満たさないことを表す。
【００６５】
このようにして単独因子分析結果情報が記憶されると、ステップ４１３で、単独因子分析結果画面が表示される。
図１３は、単独因子分析結果画面（単一パラメータ）の一例を示した図である。
図示するように、単独因子分析結果画面（単一パラメータ）は、画面ＵＲＩで指定された画面上の変数名で指定された変数に対して、カテゴリ、パラメータ名、同値分割情報、パラメータ値リスト、同値クラス網羅性、境界値網羅性を表示する。
カテゴリ、パラメータ名、同値分割情報については、図１０で説明したものと同様なので、説明を省略する。
【００６６】
パラメータ値リストは、分析対象のパラメータに入力されたパラメータ値を同値クラスの範囲及び境界値ごとに分類して示したリストである。例えば、図１２において、あるパラメータ値に対応する同値クラスフラグｋが（ＯＮ，ＯＦＦ，ＯＦＦ）であれば、そのパラメータ値は同値クラスｋの上限の境界値に対応する欄に表示し、あるパラメータ値に対応する同値クラスフラグｋが（ＯＦＦ，ＯＮ，ＯＦＦ）であれば、そのパラメータ値は同値クラスｋの範囲に対応する欄に表示し、あるパラメータ値に対応する同値クラスフラグｋが（ＯＦＦ，ＯＦＦ，ＯＮ）であれば、そのパラメータ値は同値クラスｋの下限の境界値に対応する欄に表示する。
尚、図１０のカテゴリで「分析対象外」にチェックされた場合は、「境界値」、「同値クラス１の範囲」等の区別を表示せずに、入力されたパラメータ値をそのまま表示するようにしてもよい。また、図１０の同値分割情報で「同値分割なし」にチェックされた場合も、「境界値」、「同値クラス１の範囲」等の区別を表示せずに、入力されたパラメータ値をそのまま表示する。更に、図１０でＮ／Ａが指定された境界値の行はグレイアウトする。
そして、このパラメータ値リストでは、テストされていない境界値又は同値クラスの範囲の行を強調表示するとよい。例えば、そのような行の背景色を赤色にすることが考えられる。
【００６７】
同値クラス網羅性は、分析対象のパラメータについて、同値クラスが幾つあって、そのうちテスト済の同値クラスが幾つあるかを示す情報である。
境界値の網羅性は、分析対象のパラメータについて、境界値が幾つあって、そのうちテスト済の境界値が幾つあるかを示す情報である。
【００６８】
また、図１４は、単独因子分析結果画面（サマリー）の一例を示した図である。
図示するように、単独因子分析結果画面（サマリー）は、分析対象画面ＵＲＩ群に対して、全パラメータの同値クラス網羅性及び同値クラス網羅率、全パラメータの境界値網羅性及び境界値網羅率、パラメータごとの同値クラス網羅性及び同値クラス網羅率、パラメータごとの境界値網羅性及び境界値網羅率を表示する。
パラメータごとの同値クラス網羅性は、各パラメータについて、同値クラスが幾つあって、そのうちテスト済の同値クラスが幾つあるかを示す情報であり、パラメータごとの同値クラス網羅率は、それを百分率で表したものである。尚、図１０のカテゴリで「分析対象外」にチェックされたパラメータは、ここでは表示されない。
全パラメータの同値クラス網羅性は、パラメータごとの同値クラス網羅性を全てのパラメータについて集計して得られた情報であり、全パラメータの同値クラス網羅率は、それを百分率で表したものである。
【００６９】
その後、ステップ４１５で、二次元因子分析が行われる。
二次元因子分析では、ある画面に出現するパラメータと別の画面に出現するパラメータとの組み合わせに関する網羅性を確認する必要がある場合がある。そこで、まず、画面遷移が網羅されているかを確認する必要があるので、画面遷移の分析結果を示す画面遷移実績画面が表示される。尚、画面遷移の分析は、例えば、図９のテストデータにおいて画面ＵＲＩを時系列に追跡していくことにより行うことができる。
図１５は、画面遷移実績画面の一例を示した図である。
図示するように、画面遷移実績画面は、探索モードと、画面遷移表とを表示する。
【００７０】
探索モードとしては、「無制限」、「最大遷移数指定」、「個別会話型探索」の何れかが選択できるようになっている。このうち、「無制限」とは、分析対象指定画面で指定した画面ＵＲＩ始点から画面ＵＲＩ終点までの全範囲で画面を探索するモードである。「最大遷移数指定」は、画面ＵＲＩ始点からの画面遷移数を限定することにより、なるべく不要な画面を巻き込まずに画面を探索するモードである。「個別会話型探索」とは、ある画面を指定してその遷移先画面を探索する操作を繰り返すことにより、注目する画面遷移パスのみを探索していくモードである。
画面遷移表は、遷移元画面ＵＲＩの画面から遷移先画面ＵＲＩの画面への遷移が何回行われたかを、遷移元画面ＵＲＩの行と遷移先画面ＵＲＩの列とが交差するセル内に表示したものである。ここで、遷移元画面ＵＲＩには、遷移元画面を認識し易いように、遷移元画面ＩＤを追加で表示している。或いは、ｈｅａｄタグを表示するようにしてもよい。また、探索モードで「個別会話型探索」を選択した場合は、遷移先画面ＵＲＩをクリックするとそれを遷移元画面ＵＲＩとしてその画面からの遷移先画面の数を表示する行を追加するような構成を採用してもよい。
【００７１】
尚、この画面遷移実績画面に関しても、設計ツールやフレームワークとの連携が可能である。例えば、設計上あり得る画面遷移を設計ツールやフレームワークから取り込み、設計上あり得るのにテストされていない遷移をセルの背景の色を変えて表示することや、ＵＲＩと画面名との対応を取り込み、ＵＲＩを表示する際に画面名も表示して分かり易くすることが考えられる。
また、この画面遷移の分析で画面遷移が尽くされていないことが分かった場合、以降の二次元因子分析を行わずに画面遷移を尽くすよう促す方法もあるが、本実施の形態では、画面遷移を尽くしていなくても二次元因子分析を行うようにする。最初から全ての機能を実装したシステムを作成するのではなく、最低限動くシステムをまず作成し、テストと機能追加を繰り返しながらシステムを完成させていくような開発方法も考えられるからである。
【００７２】
そして、二次元因子分析が行われると、二次元因子分析結果情報が生成され、分析結果情報記憶部５４に記憶される。
図１６は、二次元因子分析結果情報の一例を示した図である。
図中、１行目に示すように、二次元因子分析結果情報には、画面ＵＲＩ１と、パラメータ名１と、パラメータ値１と、画面ＵＲＩ２と、パラメータ名２と、パラメータ値２と、同値クラスフラグｋ１―ｋ２とが含まれる（ｋ１＝１，２，…、ｋ２＝１，２，…）。
【００７３】
画面ＵＲＩ１は、分析対象の２つの画面のうち一方の画面のＵＲＩであり、パラメータ名１は、その画面上の分析対象のパラメータの名前であり、パラメータ値１は、そのパラメータに入力された値である。画面ＵＲＩ２は、分析対象の２つの画面のうちもう一方の画面のＵＲＩであり、パラメータ名２は、その画面上の分析対象のパラメータの名前であり、パラメータ値２は、そのパラメータに入力された値である。これらの情報は、テストデータの１つのエントリから取り出されたものである。
【００７４】
同値クラスフラグｋ１−ｋ２は、対応するパラメータ値１が、対応する画面ＵＲＩ１及びパラメータ名１に分析設定情報で対応付けられた同値クラス条件ｋ１の範囲条件を満たし、かつ、対応するパラメータ値２が、対応する画面ＵＲＩ２及びパラメータ名２に分析設定情報で対応付けられた同値クラス条件ｋ２の範囲条件を満たすかどうかを示すフラグである。「ＯＮ」が両範囲条件を満たすことを、「ＯＦＦ」が何れかの範囲条件を満たさないことを表す。
【００７５】
このようにして二次元因子分析結果情報が記憶されると、ステップ４１６で、二次元因子分析結果画面が表示される。
図１７は、二次元因子分析結果画面（単一組み合わせ）の一例を示した図である。
図示するように、二次元因子分析結果画面（単一組み合わせ）は、第１の画面ＵＲＩで指定された画面上の第１のパラメータと第２の画面ＵＲＩで指定された画面上の第２のパラメータの組み合わせに対して、因子組み合わせ総数、禁則組み合わせ総数、テスト済み組み合わせ総数、総テスト回数、テスト未実施組み合わせ総数、パラメータ値表を表示する。
【００７６】
パラメータ値表は、第１のパラメータに入力されたパラメータ値を含む同値クラスの行と、第２のパラメータに入力されたパラメータ値を含む同値クラスの列とが交差するセルに、第１のパラメータに入力されたパラメータ値と、第２のパラメータに入力されたパラメータ値とを、これらを識別可能な形式で表示したものである。図では、一例として、第１のパラメータに入力されたパラメータ値をスラッシュの左側に、第２のパラメータに入力されたパラメータ値をスラッシュの右側に示す形式を採用している。具体的には、図１６の二次元因子分析結果情報の２行目では、同値クラスフラグ１−１が「ＯＮ」なので、第１のパラメータ（ｐａｒｂ１）の同値クラス１の行と第２のパラメータ（ｐａｒｃ１）の同値クラス１の列とが交差するセルに、「ｖａｌｂ１１／ｖａｌｃ１１」と表示する。
そして、このパラメータ値表では、テストされていない同値クラスの組み合わせに対応するセルを強調表示するとよい。例えば、そのようなセルには「未実施」と表示し、背景色を赤色にすることが考えられる。
また、特定の同値クラスの組み合わせがテスト不能であったり、テストする意味がなかったりする場合は、その組み合わせに対応するセルをクリックすることで、その組み合わせを除外する処理（禁則処理）を行う旨を入力できるようにする。この場合も、そのようなセルには「禁則」と表示し、背景色で禁則処理を行うことを示すことが考えられる。そして、「禁則」と表示された同値クラスの組み合わせは、因子組み合わせ総数から除外する。
【００７７】
即ち、パラメータ値表中の全てのセルの数１８のうち、「禁則」と表示されたセルを除くセルの数１７が、因子組み合わせ総数として表示される。
また、「禁則」と表示されたセルの数１が禁則組み合わせ総数として、「未実施」と表示されたセル及び「禁則」と表示されたセルを除くセルの数１５がテスト済組み合わせ総数として、それぞれ表示される。
更に、第１のパラメータと第２のパラメータとの組み合わせについて２８回のテストが行われているので、このテスト回数２８が総テスト回数として表示される。
更にまた、「未実施」と表示されたセルの数２が、テスト未実施組み合わせ総数として表示される。
尚、この二次元因子分析結果画面に関しても、設計ツールやフレームワークとの連携が可能である。例えば、設計ツールやフレームワークから「禁則」となるパラメータの組み合わせの情報を取り込むことができれば、そのようにして取り込んだ情報に基づいて「禁則」の表示を行うことが考えられる。
【００７８】
また、図１８は、二次元因子分析結果画面（サマリー）の一例を示した図である。
図示するように、二次元因子分析結果画面（サマリー）は、解析対象水準の網羅性及び網羅率、解析対象因子の網羅性及び網羅率、パラメータ組み合わせ表を表示する。
【００７９】
パラメータ組み合わせ表は、第１のパラメータの行と第２のパラメータの列とが交差するセルに、第１のパラメータの同値クラスと第２のパラメータの同値クラスの組み合わせのうち、幾つの組み合わせがテスト済みかを表示したものである。具体的には、分母が第１のパラメータの同値クラスと第２のパラメータの同値クラスの組み合わせの数を表し、分子がテスト済の同値クラスの組み合わせの数を表す。例えば、パラメータ「ｐａｒｂ１」とパラメータ「ｐａｒｂ２」の組み合わせについては、６個の同値クラスの組み合わせの全てがテスト済である。これに対し、パラメータ「ｐａｒｂ１」とパラメータ「ｐａｒｃ１」の組み合わせについては、図１７に示したように、禁則を除く１７個の同値クラスの組み合わせのうち１５個の組み合わせのみがテスト済である。そこで、図では、前者のように未実施の組み合わせがないことをセルの背景色を白色とすることで示しており、後者のように未実施の組み合わせがあることをセルの背景色を黒色とすることで示している。
そして、このパラメータ組み合わせ表では、各セルをクリックすると、対応するパラメータの組み合わせに関する詳細画面が表示されるようになっている。例えば、パラメータ「ｐａｒｂ１」の行とパラメータ「ｐａｒｃ１」の行とが交差するセルをクリックすると、図１７の画面が表示される。
【００８０】
解析対象水準の網羅性は、パラメータの組み合わせが幾つあって、そのうち同値クラスの全組み合わせがテスト済のパラメータの組み合わせが幾つあるかを示す情報であり、解析対象水準の網羅率は、それを百分率で表したものである。即ち、分母が、組み合わせ図の斜め線の右上部分のセルの数を表し、分子が、組み合わせ図の白色背景で数値が表示されたセルの数を表す。
解析対象因子の網羅性は、同値クラスの組み合わせが幾つあって、そのうちテスト済の同値クラスの組み合わせが幾つあるかを示す情報であり、解析対象因子の網羅率は、それを百分率で表したものである。即ち、分母が、組み合わせ図のセル内のスラッシュの右側の数の合計を表し、分子が、組み合わせ図のセル内の左側の数の合計を表す。
【００８１】
以上、本発明の実施の形態の構成及び動作について具体的に説明した。
次に、まとめとして、本発明の実施の形態の構成及び効果について述べる。
１．本実施の形態では、テストケースの実行結果から、入力されたパラメータ値等の因子となり得るデータを解析し、組み合わせテストで同値分割法やオールペア法を適用した場合のテスト網羅性を基準としたテスト網羅率を算出するようにした。また、網羅率を向上させるためにはどのような組み合わせのテストケースを追加実行すればよいかの情報も提供するようにした。
これにより、テスト設計の工数を抑えることができ、気軽にテストを開始することができるようになる。また、テスト可能な機能のみで網羅率を算出しその範囲での網羅率を向上することが可能となるので、テストを繰り返しながら実装する機能を増やしていくアジャイル開発との親和性がよい。
【００８２】
２．本実施の形態では、特定の画面又は画面遷移を起点に解析を行うようにし、インタラクティブに解析対象を追加するためのインターフェイス（分析対象指定画面等）を設けた。
これにより、重要な部分から解析を開始し、注目する必要のない部分は解析対象から除外することで、解析対象の組み合わせ爆発を回避することができる。
【００８３】
３．本実施の形態では、解析対象因子を選択式にし、対話形式で追加又は削除するためのインターフェイス（分析設定情報入力画面等）を設けた。
これにより、重要な因子を優先的に解析するという効率的な解析が可能となった。即ち、パラメータには因子としては無意味なものがあり、それらを自動的に含めると組み合わせ爆発が起き易いが、このような事態を回避できるようになった。また、対話式に解析対象のパラメータの情報を追加するので、必要に応じて解析の内容を深めることもできる。
【００８４】
４．本実施の形態では、同じ画面の通過回数をカウントし、同じ画面を表示する操作の繰り返し回数も因子として網羅率の解析に統合するようにした。
これにより、ウェブアプリケーションによくある操作の繰り返しを組み合わせの因子として網羅性を判断できるようになる。
【００８５】
５．本実施の形態では、ウェブシステム１０からの応答として表示された画面から抽出したパラメータも因子として網羅率の解析に統合するようにした。
これにより、ウェブシステム１０へ送信されたパラメータのみを用いる手法では不可能であった従属パラメータとの組み合わせの網羅率の判断が可能となる。
【００８６】
６．本実施の形態では、禁則処理（テスト不能又はテスト不要の組み合わせを除外する処理）を実行可能なテスト済一覧画面（二次元因子分析結果画面（単一組み合わせ）等）を表示するようにした。
これにより、全ての組み合わせを対象に机上で行わなければならなかった禁則処理を、テストされていない組み合わせのみを対象にそれがテスト不能又はテスト不要な組み合わせであるかを判断することによって行えるようになるので、禁則処理が容易になる。
【００８７】
尚、本実施の形態では述べなかったが、画面遷移も１つの因子として網羅率の解析に統合してもよい。これにより、画面遷移と入力されたパラメータ値との組み合わせについての網羅性を判断できるようになる。
また、システムから応答として表示された画面から、埋め込まれたボタンの名前とダイレクトリンクを読み取り、そのうちのどれがテスト中に実行されたかを表示するようにしてもよい。これにより、複数のボタンが画面にある場合、入力パラメータとボタンの組み合わせも解析できる。ダイレクトリンクがどれだけテストされたかの網羅性も示すことができる。
【００８８】
ところで、本実施の形態では、最初の解析をおこなうまでに、ある程度の網羅性を持ったテストを実行する必要がある。特に、アプリケーション機能の解析対象部分での画面の網羅性（解析が必要な画面が最低1回は出現すること）が必要である。しかしながら、通常のシステム開発では画面設計ドキュメントがあるので、この点は対応可能である。例えば、網羅率計測装置４０での画面遷移解析結果と画面設計ドキュメントとを比較し、出現していない画面がないことを確認すればよい。
【００８９】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図１９は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるＣＰＵ（Central Processing Unit）９０ａと、Ｍ／Ｂ（マザーボード）チップセット９０ｂを介してＣＰＵ９０ａに接続されたメインメモリ９０ｃと、同じくＭ／Ｂチップセット９０ｂを介してＣＰＵ９０ａに接続された表示機構９０ｄとを備える。また、Ｍ／Ｂチップセット９０ｂには、ブリッジ回路９０ｅを介して、ネットワークインターフェイス９０ｆと、磁気ディスク装置（ＨＤＤ）９０ｇと、音声機構９０ｈと、キーボード／マウス９０ｉと、フレキシブルディスクドライブ９０ｊとが接続されている。
【００９０】
尚、図１９において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ９０ａとＭ／Ｂチップセット９０ｂの間や、Ｍ／Ｂチップセット９０ｂとメインメモリ９０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット９０ｂと表示機構９０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構９０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット９０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路９０ｅと接続する場合、ネットワークインターフェイス９０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置９０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス９０ｉ、及び、フレキシブルディスクドライブ９０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【００９１】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００９２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００９３】
１０…ウェブシステム、２０，６９…クライアント、３０…ネットワークトレーサ、３５…トレースログ記憶装置、４０…網羅率計測装置、４１…トレースログ抽出部、４２…パラメータ抽出部、４３…テストデータ生成部、４４…単独因子分析部、４５…二次元因子分析部、４６…入出力制御部、４９…コンソール、５１…分析対象トレースログ記憶部、５２…テストデータ記憶部、５３…分析設定情報記憶部、５４…分析結果情報記憶部、６０…画面再生装置
【図１】
0005767471.tif 000002
【図２】
0005767471.tif 000003
【図３】
0005767471.tif 000004
【図４】
0005767471.tif 000005
【図５】
0005767471.tif 000006
【図６】
0005767471.tif 000007
【図７】
0005767471.tif 000008
【図８】
0005767471.tif 000009
【図９】
0005767471.tif 000010
【図１０】
0005767471.tif 000011
【図１１】
0005767471.tif 000012
【図１２】
0005767471.tif 000013
【図１３】
0005767471.tif 000014
【図１４】
0005767471.tif 000015
【図１５】
0005767471.tif 000016
【図１６】
0005767471.tif 000017
【図１７】
0005767471.tif 000018
【図１８】
0005767471.tif 000019
【図１９】
0005767471.tif 000020