(57)【要約】【課題】シーケンス図のソフトウェアに対しても効率の良い組合せ試験環境を構築することのできるソフトウェア試験装置を得る。【解決手段】キーワード抽出部１０２は、シーケンス図１のソフトウェアを入力し、ソフトウェアの処理順序、事前条件、事後条件に関するキーワード情報を抽出する。第１のデータ解析部１０３は、キーワード情報に基づいて、ソフトウェア組合せ試験の事前条件、事後条件、試験範囲を記載する為のテストデータテンプレート２を生成する。第２のデータ解析部１０６は、テストデータ３より、条件に応じたパラメータ設定やパラメータチェックを行い、また、試験範囲に含まれない処理をスタブとするテストコードを生成すると共に、スタブの機能を実現するためのテストデータを生成する。【選択図】図１
2012168764.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス図のソフトウェアを入力し、当該ソフトウェアの処理順序、事前条件、事後条件に関するキーワード情報を抽出するキーワード抽出部と、
前記キーワード抽出部で抽出されたキーワード情報に基づいて、ソフトウェア組合せ試験の事前条件、事後条件、試験範囲を記載する為のテストデータテンプレートを生成する第１のデータ解析部とを備えたソフトウェア試験装置。
【請求項２】
テストデータテンプレートに事前条件、事後条件、試験範囲を記載したテストデータから事前条件を抽出し、条件に応じたパラメータ設定を行うテストコードを生成する第２のデータ解析部を備えたことを特徴とする請求項１記載のソフトウェア試験装置。
【請求項３】
第２のデータ解析部は、テストデータから事後条件を抽出し、条件に応じたパラメータチェックを行うテストコードを生成することを特徴とする請求項２記載のソフトウェア試験装置。
【請求項４】
第２のデータ解析部は、テストデータから試験範囲を抽出し、試験範囲に含まれない処理をスタブとするテストコードと、スタブの機能を実現する為のテストデータを生成することを特徴とする請求項２または請求項３記載のソフトウェア試験装置。
【請求項５】
ソースコードと、テストコードと、テストデータからコンパイル、リンクを実行し、モジュールを生成するモジュール生成部を備えたことを特徴とする請求項２から請求項４のうちのいずれか１項記載のソフトウェア試験装置。
【請求項６】
モジュールを実行し、テストデータとの整合性を検査し、実行結果を試験成績書として出力する実行結果判定部を備えたことを特徴とする請求項５記載のソフトウェア試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発における、ソフトウェア組合せ試験の効率化、自動化を図るようにしたソフトウェア試験装置に関する。
【背景技術】
【０００２】
一般に、その振る舞いがシーケンス図で定義されているソフトウェアに対して、これが正しく動作するかの試験を行うソフトウェアテストが行われている。また、単体でテストが完了したソフトウェアを複数組み合わせて行うソフトウェア組合せ試験が行われている。従来、このようなソフトウェア組合せ試験では、試験計画者が試験仕様書を作成し、試験者がデバッガを手動実行して行っていた。
また、Ｗｅｂシステムといった特定のシステムのソフトウェアの自動試験を行う装置として例えば特許文献１に記載されたようなシステムテスト装置があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２２１４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のソフトウェア組合せ試験では、試験計画者が作成する試験仕様書の作成時間が長い、試験者がデバッガを手動実行して行っているため、試験時間が長い、実施手順や規格チェックの誤りが発生しやすい、繰り返し試験、長時間の負荷試験が困難などの問題があった。
また、特許文献１に記載されたようなシステムテスト装置では、シーケンス図のソフトウェアに対しては単純には適用できないという問題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、シーケンス図のソフトウェアに対しても効率の良い組合せ試験環境を構築することのできるソフトウェア試験装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るソフトウェア試験装置は、シーケンス図のソフトウェアを入力し、ソフトウェアの処理順序、事前条件、事後条件に関するキーワード情報を抽出するキーワード抽出部と、キーワード抽出部で抽出されたキーワード情報に基づいて、ソフトウェア組合せ試験の事前条件、事後条件、試験範囲を記載する為のテストデータテンプレートを生成する第１のデータ解析部とを備えたものである。
【発明の効果】
【０００７】
この発明のソフトウェア試験装置は、ソフトウェアの処理順序、事前条件、事後条件に関するキーワード情報に基づいて、ソフトウェア組合せ試験の事前条件、事後条件、試験範囲を記載する為のテストデータテンプレートを生成するようにしたので、シーケンス図のソフトウェアに対しても効率の良い組合せ試験環境を構築することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１によるソフトウェア試験装置を示す構成図である。
【図２】この発明の実施の形態１によるソフトウェア試験装置が対象とするシーケンス図の一例を示す説明図である。
【図３】この発明の実施の形態１によるソフトウェア試験装置のテストデータテンプレートとテストデータとを示す説明図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１によるソフトウェア試験装置１００を示す構成図である。
図１に示すソフトウェア試験装置１００は、シーケンス図データ入力部１０１、キーワード抽出部１０２、第１のデータ解析部１０３、テストデータテンプレート出力部１０４、第１のテストデータ入力部１０５、第２のデータ解析部１０６、テストコード出力部１０７、ソースコード／テストコード／テストデータ入力部１０８、ビルドコマンド発行部１０９、モジュール生成部１１０、モジュール実行部１１１、第２のテストデータ入力部１１２、実行結果判定部１１３、実行結果出力部１１４を備えている。
【００１０】
シーケンス図データ入力部１０１は、設計書として記述されたシーケンス図１を入力する入力インタフェースである。キーワード抽出部１０２は、入力されたシーケンス図から、その処理順序、事前条件、事後条件に関するキーワード情報を抽出する機能部である。第１のデータ解析部１０３は、キーワード抽出部１０２で抽出されたキーワード情報を解析して、ソフトウェア組合せ試験の事前条件、事後条件、試験範囲を記載する為のテストデータテンプレート２を生成する機能部である。テストデータテンプレート出力部１０４は、第１のデータ解析部１０３で生成されたテストデータテンプレートを外部に出力する出力インタフェースである。
【００１１】
第１のテストデータ入力部１０５は、テストデータテンプレート２に事前条件、事後条件、試験範囲を記載したテストデータ３を入力する入力インタフェースである。第２のデータ解析部１０６は、テストデータ３から事前条件及び事後条件を抽出して、条件に応じたパラメータ設定やパラメータチェックを行うテストコードを生成し、また、試験範囲を抽出して、試験範囲に含まれない処理をスタブとするテストコードと、スタブの機能を実現するためのテストデータを生成する機能を有している。テストコード出力部１０７は第２のデータ解析部１０６で生成されたテストコード４を出力する出力インタフェースである。
【００１２】
ソースコード／テストコード／テストデータ入力部１０８は、試験対象となるソースコード５と、テストコード出力部１０７から出力されたテストコード４と、テストデータ３とを入力する入力インタフェースである。ビルドコマンド発行部１０９は、コンパイルとリンクを実行するためのビルドコマンドを発行する機能部である。モジュール生成部１１０は、ビルドコマンドに基づいて、モジュール６を生成する機能部である。モジュール実行部１１１は、モジュール生成部１１０で生成されたモジュールを実行する機能部である。第２のテストデータ入力部１１２は、モジュール実行部１１１で実行されたモジュールに対してテストデータ３を入力する機能部である。実行結果判定部１１３は、モジュール実行部１１１における実行結果と第２のテストデータ入力部１１２に入力されたテストデータ３とを比較して実行結果を判定する機能部である。実行結果出力部１１４は、実行結果判定部１１３の判定結果を試験成績書７として出力する出力インタフェースである。
【００１３】
尚、本発明のソフトウェア試験装置はコンピュータによって実現され、上記のキーワード抽出部１０２、第１のデータ解析部１０３、第２のデータ解析部１０６、ビルドコマンド発行部１０９、モジュール生成部１１０、モジュール実行部１１１、実行結果判定部１１３は、それぞれの機能に対応したソフトウェアと、これを実行するためのＣＰＵやメモリといったハードウェアから構成されている。あるいは、少なくともその一部を専用のハードウェアで構成してもよい。
【００１４】
次に、このように構成されたソフトウェア試験装置の動作について説明する。
図２は、シーケンス図１の一例を示す説明図である。このようなシーケンス図１がシーケンス図データ入力部１０１に入力されると、キーワード抽出部１０２はこのシーケンス図１からキーワードを抽出する。例えば、図２に示したシーケンス図から抽出されるキーワードとしては、msg1，msg2，msg3，msg4，enter，#include"common.h"，test_num，deta，test_out，int，voidといったものである。尚、キーワード抽出部１０２における抽出方法としては予め決められたルールに従って、シーケンス図１中のテキストデータから抽出するものである。また、メッセージ名称はシーケンス図のメッセージ名称から抽出する（ＵＭＬ記法による）。
【００１５】
第１のデータ解析部１０３は、抽出されたキーワード情報に基づいて実行順序（ソフトウェアの処理順序）の解析を行う。尚、実行順序の解析は、シーケンス図１中のメッセージ名称に付与している数字に基づいて行う。そして、第１のデータ解析部１０３は、キーワード情報と解析結果により図３に示すようなテストデータテンプレート２を生成する。即ち、テストデータテンプレート２は、ソフトウェア組合せ試験の事前条件、事後条件、試験範囲を記載するためのテンプレートである。尚、図３において、テストデータテンプレート２は、網掛けが施されていないセルの部分であり、試験範囲とは、test1，test2で定義される部分である。さらに、ユーザによりテストデータテンプレート２からテストデータ３が生成される。テストデータ３は、図３において網掛け無しセル＋網掛け有りセルの値で構成されるものである。
【００１６】
また、図３中の各セルの定義は次の通りである。先ず、項目の「対象」とは、ソフトウェア組合せ試験の対象となる項目を意味している。「テスト内容」とは、試験の目的であり、例えばtest1の場合、「正常」ケースのNo.「１」といったことを意味している。また、「事前条件」とは、試験を実施する際、満たしていなければならない条件であり、「事後条件」とは、試験終了時、満たしていなければならない条件である。そして「チェック箇所」とは試験を行う項目であり、図３の例では「enter」以降のテスト項目をテストすることを示している。「出現回数」はシーケンス図１中の対象項目の出現回数である。また、「test1」「test2」とはそれぞれテストを示し、２回のテストであることを示しており、セル中の「正常１」とは「test1」の「テスト内容」を示している。また、msg3の「１」は、「test1」の「msg3」の値が「１」であることを示し、同様に、msg4の「２」は、「test1」の「msg4」の値が「２」であることを示している。また、図３における一番目（上側）の表）はテスト内容を示し、二番目（中間）の表はテストコード生成に必要なインクルードファイルを示し、三番目（下側）の表は、テスト実施に必要なスタブの仕様を示している。
【００１７】
テストデータ３は第１のテストデータ入力部１０５に入力され、第２のデータ解析部１０６は、データ名称、型、値のデータ解析を行ってテストコード４を生成し、このテストコード４がテストコード出力部１０７より出力される。ここで、解析されるデータ名称としては「変数名」のセル中の値、型としては「変数の型」のセル中の値、値としては「test1」「test2」における列中の数値である。即ち、第２のデータ解析部１０６は、テストデータ３から事前条件や事後条件および試験範囲を抽出し、条件に応じたパラメータ設定やパラメータチェックを行うためのテストコードや試験範囲に含まれない処理をスタブとするテストコードと、スタブの機能を実現するためのテストデータとを生成する。尚、条件に応じたパラメータチェックとは、test1，test2それぞれに応じて記載された値であるか否かを確認することを意味している。
【００１８】
ソースコード／テストコード／テストデータ入力部１０８は、試験対象となるソースコード５、テストコード４およびテストデータ３を入力し、ビルドコマンド発行部１０９によってビルドコマンドを発行する。モジュール生成部１１０は、ビルドコマンド発行部１０９より発行されたビルドコマンドにてテストコード４を埋め込んだモジュール６を生成する。
【００１９】
モジュール実行部１１１は、生成されたモジュール６を実行し、実行結果判定部１１３は、第２のテストデータ入力部１１２に入力されたテストデータ３の内容と比較することで実行結果を判定し、その結果と動作の途中経過を含む詳細ステータスとを実行結果出力部１１４より試験成績書７として出力する。
【００２０】
以上のように、実施の形態１のソフトウェア試験装置によれば、シーケンス図のソフトウェアを入力し、ソフトウェアの処理順序、事前条件、事後条件に関するキーワード情報を抽出するキーワード抽出部と、キーワード抽出部で抽出されたキーワード情報に基づいて、ソフトウェア組合せ試験の事前条件、事後条件、試験範囲を記載する為のテストデータテンプレートを生成する第１のデータ解析部とを備えたので、シーケンス図のソフトウェアに対しても効率の良い組合せ試験環境を構築することができる。
【００２１】
また、実施の形態１のソフトウェア試験装置によれば、テストデータテンプレートに事前条件、事後条件、試験範囲を記載したテストデータから事前条件を抽出し、条件に応じたパラメータ設定を行うテストコードを生成する第２のデータ解析部を備えたので、さらにソフトウェア組合せ試験の効率を向上させることができる。
【００２２】
また、実施の形態１のソフトウェア試験装置によれば、第２のデータ解析部は、テストデータから事後条件を抽出し、条件に応じたパラメータチェックを行うテストコードを生成するようにしたので、さらにソフトウェア組合せ試験の効率を向上させることができる。
【００２３】
また、実施の形態１のソフトウェア試験装置によれば、第２のデータ解析部は、テストデータから試験範囲を抽出し、試験範囲に含まれない処理をスタブとするテストコードと、スタブの機能を実現する為のテストデータを生成するようにしたので、さらにソフトウェア組合せ試験の効率を向上させることができる。
【００２４】
また、実施の形態１のソフトウェア試験装置によれば、ソースコードと、テストコードと、テストデータからコンパイル、リンクを実行し、モジュールを生成するモジュール生成部を備えたので、さらにソフトウェア組合せ試験の効率を向上させることができる。
【００２５】
また、実施の形態１のソフトウェア試験装置によれば、モジュールを実行し、テストデータとの整合性を検査し、実行結果を試験成績書として出力する実行結果判定部を備えたので、さらにソフトウェア組合せ試験の効率を向上させることができる。
【００２６】
尚、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【００２７】
１  シーケンス図、２  テストデータテンプレート、３  テストデータ、４  テストコード、５  ソースコード、６  モジュール、７  試験成績書、１００  ソフトウェア試験装置、１０１  シーケンス図データ入力部、１０２  キーワード抽出部、１０３  第１のデータ解析部、１０４  テストデータテンプレート出力部、１０５  第１のテストデータ入力部、１０６  第２のデータ解析部、１０７  テストコード出力部、１０８  ソースコード／テストコード／テストデータ入力部、１０９  ビルドコマンド発行部、１１０  モジュール生成部、１１１  モジュール実行部、１１２  第２のテストデータ入力部、１１３  実行結果判定部、１１４  実行結果出力部。
【図１】
2012168764.tif 000003
【図２】
2012168764.tif 000004
【図３】
2012168764.tif 000005