(57)【要約】  本発明は、ソフトウェアテストの技術分野に関する、テスト設計書の生成方法であって、順に複数のテストケースを予め設定し、テストケースは順に実行される複数のテスト動作に対応しており、テスト設計書には、テストケース名、テスト動作名及び予測結果値がそれぞれ設定されており、テストケース名は、テストケースにおけるケース名に関連付けられた属性値に基づいて充填され、テスト動作名は、テスト動作における動作名に関連付けられた属性値に基づいて充填され、各テスト動作に関連付けられた予測結果が、対応する予測結果値にそれぞれ充填される。本発明の有益な効果は、テスト設計書の生成が簡便且つ視覚的とともに、人件費の節約となる。
2019525372.tif 000002
【特許請求の範囲】
【請求項１】
テスト設計書の生成方法であって、順に複数の前記テストケースを予め設定し、各前記テストケースは順に実行される複数のテスト動作に対応しており、前記テスト動作ごとにテストコントロールが１つずつ対応しており、前記テスト動作ごとに操作方法が１つずつ対応しており、前記テストコントロールごとにテスト画面が１つずつ対応しており、前記テスト動作ごとに複数の予測結果が対応しており、
テスト設計書には、テストケース名、テスト動作名及び予測結果値がそれぞれ設定されており、
前記テストケース名は、前記テストケースにおけるケース名に関連付けられた属性値に基づいて充填され、
前記テスト動作名は、前記テスト動作における動作名に関連付けられた属性値に基づいて充填され、
各前記テスト動作に関連付けられた前記予測結果が、対応する前記予測結果値にそれぞれ充填され、
充填済みの前記テスト設計書は、テスト設計画面に表示されることを特徴とするテスト設計書の生成方法。
【請求項２】
前記テスト設計書には、前記テストケースごとに初期化データ値がそれぞれ設定され、各前記テストケースに対応する初期化データが対応する前記初期化データ値にそれぞれ充填されることを特徴とする請求項１に記載のテスト設計書の生成方法。
【請求項３】
前記テスト設計書に基づき、今回実行したい全ての前記テストケースに対応する全ての前記テスト動作を前記テストケースの実行順に配列することでテスト動作リストを形成し、自動テスト方法を実行するテスト設計書の生成方法であって、
前記自動テスト方法は、
前記動作リストから現在の動作として前記テスト動作を１つ選択し、前記現在の動作に対応する前記テストケースを現在のケースとしてテストを行うステップＳ１、
テスト過程におけるシステムブラウザの表示画面の番号と、前記現在の動作に対応する前記テスト画面の番号を比較して前記表示画面を特定するステップＳ２、
特定された前記表示画面から、前記現在の動作と一致する前記テストコントロールを現在のコントロールとして取得するステップＳ３、
前記現在の動作の動作属性に基づいて、取得した前記現在のコントロールに対応する前記操作方法にしたがって操作した後に、前記現在の動作に対応する操作結果を出力するステップＳ４、
前記操作結果を前記現在の動作に対応する前記予測結果と比較して、前記現在の動作の実行に成功したか否かを判断し、対応する比較結果を前記現在の動作のテスト結果として保存するステップＳ５、を含むことを特徴とする請求項１に記載のテスト設計書の生成方法。
【請求項４】
前記テスト設計書では、前記テスト動作ごとに結果値が１つずつ設定され、
前記ステップＳ５の実行後に、各前記テスト動作に対応する前記テスト結果に対応する前記結果値にそれぞれ充填することを特徴とする請求項１に記載のテスト設計書の生成方法。
【請求項５】
前記ステップＳ１において、前記現在のケースに関連付けられた１つ目の前記テスト動作を実行する際に、前記現在のケースの１つ目の前記テストコントロールに対応する前記テスト画面をスタート画面として抽出し、前記スタート画面に関連付けられたアドレスで前記スタート画面を開くことで、前記現在のケースのテストを開始することを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項６】
前記ステップＳ１において、前記現在のケースに関連付けられた各前記テスト動作を実行する前に、前記テスト動作の動作属性に基づいて、前記テスト動作に対応する前記テストコントロールの前記テスト画面を開く必要があるか否かを判断するとともに、必要に応じて前記テスト画面に関連付けられたアドレスを抽出し、前記テスト画面を開くことを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項７】
前記ステップＳ１では、前記テストケースを前記現在のケースとみなした後に前記現在のケースの初期化データを抽出し、前記現在のケースのテストを開始するために、前記現在のケースに関連付けられたデータベースのデータについて初期化操作を行い、
前記現在のケースの１つ目の前記テストコントロールに対応する前記テスト画面のアドレスを前記スタート画面の開始アドレスとして抽出するとともに、前記開始アドレスに基づき、前記現在のケースに関連付けられた起動パラメータを使用して前記スタート画面を開き、前記スタート画面のテストを実行することを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項８】
前記ステップＳ２は具体的に、前記現在の動作の後続の前記テスト動作に対応する前記テスト画面の番号を取得するとともに、前記表示画面の番号をモニタリングして、前記表示画面の番号が前記テスト画面の番号と一致している場合には前記表示画面の切り替えに成功したとみなし、前記表示画面を特定することを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項９】
前記ステップＳ２は具体的に、前記現在の動作の後続の前記テスト画面に対応する番号を取得するとともに、前記表示画面の番号をモニタリングして、前記表示画面の番号が前記テスト画面の番号と一致している場合には前記表示画面の切り替えに成功したとみなし、前記表示画面を特定することを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項１０】
前記ステップＳ３では、前記表示画面中の前記テストコントロールを１つ取得した後、前記テストコントロールのコントロール属性と前記現在の動作に対応する前記テストコントロールのコントロール属性をマッチングすることでマッチング結果を得て、前記マッチング結果がマッチングの成功を示している場合には、取得した前記テストコントロールを前記現在のコントロールとして特定することを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項１１】
前記ステップＳ４では、前記コントロールを操作する前にまず前記現在の動作の前記動作属性を判断するとともに、前記動作属性に基づいて前記現在のコントロールに対する操作を決定するし、
前記現在の動作の前記動作属性が値の設定である場合には、前記現在のコントロールに対して行う操作は前記コントロールに対する値の付与となり、
前記現在の動作の前記動作属性が操作命令の実行である場合には、前記現在のコントロールに対して行う操作は前記コントロールを操作するための前記操作命令の実行となり、
前記現在の動作の前記動作属性が文字列メッセージの送信である場合には、前記現在のコントロールを操作して対応する前記文字列メッセージを送信し、
前記現在の動作の前記動作属性がメモリコピーである場合には、前記現在のコントロールの値をシステムメモリに保存し、
前記現在の動作の前記動作属性がメモリの値付与である場合には、前記現在のコントロールの値を前記システムメモリに保存する値に変更し、
前記現在の動作の前記動作属性が論理判断の場合、前記システムメモリに保存されている付与値を示すための式について判断し、判断結果に基づいて、前記現在の動作に関連付けられている予め予め設定された後続の前記テスト動作をスキップし、
前記現在の動作の前記動作属性がファンクションキーの組み合わせによる操作の実行である場合、システムの入力装置に対して対応するファンクションキーの組み合わせ命令を送信することで前記現在のコントロールを操作することを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項１２】
前記ステップＳ５では、前記操作結果の種別に応じて前記操作結果と前記予測結果を比較し、
前記操作結果が前記表示画面に含まれる前記コントロールを操作した結果である場合、システムは前記ブラウザ内の前記表示画面における対応する前記コントロールの情報を読み取るとともに、読み取った情報を前記予測結果と比較し、
前記操作結果が前記ブラウザの欄内データに対応する結果である場合、システムは前記ブラウザにおける対応する前記欄内データを読み取り、読み取った情報を前記予測結果と比較し、
前記操作結果がシステムのデータベース内のデータである場合、システムは前記データベース内のデータを読み取って、読み取った情報を前記予測結果と比較することを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項１３】
前記ステップＳ５では、前記現在の動作の実行に成功したか否かを判断し、成功した場合には、前記現在の動作に関連付けられた前記操作結果を保存した後、前記ステップＳ５の実行を継続し、成功しなかった場合には前記現在のケースのテストを終了し、次の前記テストケースに進行して前記ステップＳ１に戻ることを特徴とする請求項３に記載のテスト設計書の生成方法。
【請求項１４】
前記ステップＳ５では、対応する比較結果を前記現在の動作のテスト結果として保存した後、次の前記テスト動作に進行し、進行した次の前記テスト動作が全体のコントロールに対する操作を示している場合には、前記ステップＳ４に戻ることを特徴とする請求項３に記載のテスト設計書の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアテストの技術分野に関し、特に、テスト設計書の生成方法に関する。
【背景技術】
【０００２】
従来のソフトウェアテスト技術には人為的介入段階が存在しており、人がテストケース及びテストケースに含まれる各種テスト動作を手作業で設定するとともに、手作業でテストを実施し、手作業でテスト結果を比較して、比較結果に基づきテストが成功したか否かを判断せねばならない。換言すれば、従来のソフトウェアテスト技術には人為的介入の手順が過剰に存在している。そのため、大量のヒューマンリソースを占有することになり、ソフトウェアテストが長時間化し、テスト効率を低下させている。
【０００３】
また、従来のソフトウェアテスト技術では、一般的にテストの専門家でなければ分からないコードレベルを用いてテストパラメータの設定を実現している。そのため、テストの設定が複雑化し、テスト担当者は適切なコード知識や技術がなければソフトウェアテストのパラメータを設定することができない。
【０００４】
更に、従来のソフトウェアテスト技術の場合には、テスト設計書を作成する際にテスト担当者が大量のテストケースを手作業で作成するとともに、手作業で作成したテストケースに基づいて複雑なテスト設計書を手作業で形成せねばならないため、多くのヒューマンリソースを消耗してしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術に存在する上記の課題に基づき、テストの可視化を実現して自動的に実施することで、テスト過程をより視覚化及び効率化し、テスト操作を簡略化するテスト設計書の生成方法にかかる技術方案を提供する。
【課題を解決するための手段】
【０００６】
上記の技術方案は、具体的に以下を含む。
【０００７】
テスト設計書の生成方法であって、順に複数の前記テストケースを予め設定する。各前記テストケースは順に実行される複数のテスト動作に対応している。また、前記テスト動作ごとにテストコントロールが１つずつ対応しており、前記テスト動作ごとに操作方法が１つずつ対応しており、前記テストコントロールごとにテスト画面が１つずつ対応しており、前記テスト動作ごとに複数の予測結果が対応している。
【０００８】
テスト設計書には、テストケース名、テスト動作名及び予測結果値がそれぞれ設定されている。前記テストケース名は、前記テストケースにおけるケース名に関連付けられた属性値に基づいて充填される。前記テスト動作名は、前記テスト動作における動作名に関連付けられた属性値に基づいて充填される。また、各前記テスト動作に関連付けられた前記予測結果が、対応する前記予測結果値にそれぞれ充填される。充填済みの前記テスト設計書は、テスト設計画面に表示される。
【０００９】
好ましくは、当該テスト設計書の生成方法において、前記テスト設計書には、前記テストケースごとに初期化データ値がそれぞれ設定され、各前記テストケースに対応する初期化データが対応する前記初期化データ値にそれぞれ充填される。
【００１０】
好ましくは、当該テスト設計書の生成方法において、前記テスト設計書に基づき、今回実行したい全ての前記テストケースに対応する全ての前記テスト動作を前記テストケースの実行順に配列することでテスト動作リストを形成し、自動テスト方法を実行する。当該方法は、具体的に以下を含む。
ステップＳ１：前記動作リストから現在の動作として前記テスト動作を１つ選択し、前記現在の動作に対応する前記テストケースを現在のケースとしてテストを行う。
ステップＳ２：テスト過程におけるシステムブラウザの表示画面の番号と、前記現在の動作に対応する前記テスト画面の番号を比較して前記表示画面を特定する。
ステップＳ３：特定された前記表示画面から、前記現在の動作とマッチングする前記テストコントロールを現在のコントロールとして取得する。
ステップＳ４：前記現在の動作の動作属性に基づいて、取得した前記現在のコントロールに対応する前記操作方法にしたがって操作した後に、前記現在の動作に対応する操作結果を出力する。
ステップＳ５：前記操作結果を前記現在の動作に対応する前記予測結果と比較して、前記現在の動作の実行に成功したか否かを判断し、対応する比較結果を前記現在の動作のテスト結果として保存する。
【００１１】
好ましくは、当該テスト設計書の生成方法において、前記テスト設計書では、前記テスト動作ごとに結果値が１つずつ設定される。
上記ステップＳ５の実行後に、各前記テスト動作に対応する前記テスト結果に対応する前記結果値にそれぞれ充填する。
【００１２】
好ましくは、当該テスト設計書の生成方法において、上記ステップＳ１において、前記現在のケースに関連付けられた１つ目の前記テスト動作を実行する際に、前記現在のケースの１つ目の前記テストコントロールに対応する前記テスト画面をスタート画面として抽出する。そして、前記スタート画面に関連付けられたアドレスで前記スタート画面を開くことで、前記現在のケースのテストを開始する。
【００１３】
好ましくは、当該テスト設計書の生成方法において、上記ステップＳ１において、前記現在のケースに関連付けられた各前記テスト動作を実行する前に、前記テスト動作の動作属性に基づいて、前記テスト動作に対応する前記テストコントロールの前記テスト画面を開く必要があるか否かを判断するとともに、必要に応じて前記テスト画面に関連付けられたアドレスを抽出し、前記テスト画面を開く。
【００１４】
好ましくは、当該テスト設計書の生成方法において、上記ステップＳ１では、前記テストケースを前記現在のケースとみなした後に前記現在のケースの初期化データを抽出し、前記現在のケースのテストを開始するために、前記現在のケースに関連付けられたデータベースのデータについて初期化操作を行う。
【００１５】
前記現在のケースの１つ目の前記テストコントロールに対応する前記テスト画面のアドレスを前記スタート画面の開始アドレスとして抽出するとともに、前記開始アドレスに基づき、前記現在のケースに関連付けられた起動パラメータを使用して前記スタート画面を開き、前記スタート画面のテストを実行する。
【００１６】
好ましくは、当該テスト設計書の生成方法において、前記ステップＳ２は具体的に、前記現在の動作の後続の前記テスト動作に対応する前記テスト画面の番号を取得するとともに、前記表示画面の番号をモニタリングして、前記表示画面の番号が前記テスト画面の番号と一致している場合には前記表示画面の切り替えに成功したとみなし、前記表示画面を特定する。
【００１７】
好ましくは、当該テスト設計書の生成方法において、前記ステップＳ２は具体的に、前記現在の動作の後続の前記テスト画面に対応する番号を取得するとともに、前記表示画面の番号をモニタリングして、前記表示画面の番号が前記テスト画面の番号と一致している場合には前記表示画面の切り替えに成功したとみなし、前記表示画面を特定する。
【００１８】
好ましくは、当該テスト設計書の生成方法において、前記ステップＳ３では、前記表示画面中の前記テストコントロールを１つ取得した後、前記テストコントロールのコントロール属性と前記現在の動作に対応する前記テストコントロールのコントロール属性をマッチングすることでマッチング結果を得る。そして、前記マッチング結果がマッチングの成功を示している場合には、取得した前記テストコントロールを前記現在のコントロールとして特定する。
【００１９】
好ましくは、当該テスト設計書の生成方法において、上記ステップＳ４では、前記コントロールを操作する前にまず前記現在の動作の前記動作属性を判断するとともに、前記動作属性に基づいて前記現在のコントロールに対する操作を決定する。
前記現在の動作の前記動作属性が値の設定である場合には、前記現在のコントロールに対して行う操作は前記コントロールに対する値の付与となる。
前記現在の動作の前記動作属性が操作命令の実行である場合には、前記現在のコントロールに対して行う操作は前記コントロールを操作するための前記操作命令の実行となる。
前記現在の動作の前記動作属性が文字列メッセージの送信である場合には、前記現在のコントロールを操作して対応する前記文字列メッセージを送信する。
前記現在の動作の前記動作属性がメモリコピーである場合には、前記現在のコントロールの値をシステムメモリに保存する。
前記現在の動作の前記動作属性がメモリの値付与である場合には、前記現在のコントロールの値を前記システムメモリに保存する値に変更する。
前記現在の動作の前記動作属性が論理判断の場合、前記システムメモリに保存されている付与値を示すための式について判断し、判断結果に基づいて、前記現在の動作に関連付けられている予め予め設定された後続の前記テスト動作をスキップする。
前記現在の動作の前記動作属性がファンクションキーの組み合わせによる操作の実行である場合、システムの入力装置に対して対応するファンクションキーの組み合わせ命令を送信することで前記現在のコントロールを操作する。
【００２０】
好ましくは、当該テスト設計書の生成方法において、上記ステップＳ５では、前記操作結果の種別に応じて前記操作結果と前記予測結果を比較する。
前記操作結果が前記表示画面に含まれる前記コントロールを操作した結果である場合、システムは前記ブラウザ内の前記表示画面における対応する前記コントロールの情報を読み取るとともに、読み取った情報を前記予測結果と比較する。
前記操作結果が前記ブラウザの欄内データに対応する結果である場合、システムは前記ブラウザにおける対応する前記欄内データを読み取り、読み取った情報を前記予測結果と比較する。
前記操作結果がシステムのデータベース内のデータである場合、システムは前記データベース内のデータを読み取って、読み取った情報を前記予測結果と比較する。
【００２１】
好ましくは、当該テスト設計書の生成方法において、上記ステップＳ５では、前記現在の動作の実行に成功したか否かを判断する。そして、成功した場合には、前記現在の動作に関連付けられた前記操作結果を保存した後、前記ステップＳ５の実行を継続する。一方、成功しなかった場合には前記現在のケースのテストを終了し、次の前記テストケースに進行して前記ステップＳ１に戻る。
【００２２】
好ましくは、当該テスト設計書の生成方法において、上記ステップＳ５では、対応する比較結果を前記現在の動作のテスト結果として保存した後、次の前記テスト動作に進行する。そして、進行した次の前記テスト動作が全体のコントロールに対する操作を示している場合には、前記ステップＳ４に戻る。
【発明の効果】
【００２３】
上記技術方案の有益な効果は以下の通りである。即ち、テストの可視化を実現して自動的に実施可能なテスト設計書の生成方法を提供することで、テスト過程がより視覚化及び効率化し、テスト操作が簡略化される。また、テスト設計書の生成がより簡便且つ視覚的であるとともに、人件費の節約となる。
【図面の簡単な説明】
【００２４】
【図１】図１は、本発明の好ましい実施例における自動充填により生成したテスト設計書を示す図である。
【図２】図２は、本発明の好ましい実施例におけるテスト設計書に基づき自動テストを実行する場合の全体フローである。
【図３】図３は、本発明の好ましい実施例におけるテストケースの事前設定を示す図である。
【図４】図４は、本発明の好ましい実施例におけるテストケースの事前設定を示す図である。
【図５】図５は、本発明の好ましい実施例における画面の事前設定を示す図である。
【図６】図６は、本発明の好ましい実施例におけるテスト動作の事前設定を示す図である。
【図７】図７は、本発明の好ましい実施例におけるコントロールの事前設定を示す図である。
【図８】図８は、本発明の好ましい実施例における予測結果を示す図である。
【図９】図９は、本発明の好ましい実施例における予測結果を示す図である。
【図１０】図１０は、本発明の好ましい実施例における予測結果を示す図である。
【発明を実施するための形態】
【００２５】
以下に、本発明の実施例にかかる図面を組み合わせて、本発明の実施例の技術方案について明瞭且つ完全に述べる。なお、言うまでもなく、ここで記載する実施例は本発明の実施例の一部にすぎず、全ての実施例ではない。本発明の実施例に基づいて当業者が創造的労働を要さずに取得するその他あらゆる実施例は、いずれも本発明による保護の範囲に属する。
【００２６】
なお、本発明の実施例及び実施例における特徴は、互いに矛盾しないことを前提に組み合わせてもよい。
【００２７】
以下に、図面と具体的実施例を組み合わせて本発明につき更に説明するが、本発明を限定するとの主旨ではない。
【００２８】
本発明の好ましい実施例では、従来技術に存在する上記の課題に基づいて、テスト設計書の生成方法を提供する。当該テスト設計書の生成方法では、複数のテストケースを順に予め設定する。各テストケースは順に実行される複数のテスト動作に対応しており、テスト動作ごとにテストコントロールが１つずつ対応している。また、テスト動作ごとに操作方法が１つずつ対応しており、テストコントロールごとにテスト画面が１つずつ対応している。また、テスト動作ごとに複数の予測結果が対応している。
【００２９】
テスト設計書には、テストケース名、テスト動作名及び予測結果値がそれぞれ設定されている。テストケース名は、テストケースにおけるケース名に関連付けられた属性値に基づいて充填される。テスト動作名は、テスト動作における動作名に関連付けられた属性値に基づいて充填される。また、各テスト動作に関連付けられた予測結果が、対応する予測結果値にそれぞれ充填される。充填済みのテスト設計書は、テスト設計画面に表示される。
【００３０】
上記実施例において、前記テスト設計リポートの充填はユーザが手作業で行うのではなく、システムにより自動で実行される。なお、上述の内容は、テスト設計書に設定される項目及び各項目に対応するデータの由来を記載したにすぎない。
【００３１】
本発明の好ましい実施例において、テスト設計書には、テストケースごとに初期化データ値がそれぞれ設定され、各テストケースに対応する初期化データが対応する初期化データ値にそれぞれ充填される。
【００３２】
本発明の好ましい実施例において、テスト設計書には更にテストタイトルが設定される。具体的には、異なる複数のテストケースを組み合わせて１つのテストプランとすることができる。当該テストプランにおける複数のテストケースは互いに関連しており、且つ、一定の実行順が存在する。換言すれば、当該テストプランは複数のテストケースを含む全体的なテスト項目である。前記テスト設計書に設定されるテストタイトルは、前記テストプランのタイトルをデータの由来とすればよい。即ち、前記テストプランのタイトルがテスト設計書のテストタイトルに充填される。
【００３３】
図１は、前記テスト設計書を示す図である。図１では前記「システム管理」がテストタイトルにあたり、そのデータはテストプランのタイトルから由来している。前記ケース名のデータは、各テストケースにおけるケース名の属性値から由来している。前記テスト動作のデータは、各テスト動作の動作名に関連付けられた属性値から由来している。前記予測結果値のデータは、各テスト動作に対応する予測結果から由来している（図４では、初期化データ及び予測結果値の欄はデータ未充填である）。また、前記図４に示されるその他の項目については、予め設定されたテストケース及び／又はテスト動作に関連するものがデータの由来となるが、ここでは逐一詳述しない。
【００３４】
本発明の好ましい実施例では、今回実行したい全テストケースに対応する全てのテスト動作をテストケースの実行順に配列することでテスト動作リストを形成し、テスト設計書に基づいて自動テスト方法を実行する。具体的には、図５に示すように以下のステップを含む。
ステップＳ１：動作リストから現在の動作としてテスト動作を１つ選択し、現在の動作に対応するテストケースを現在のケースとしてテストを行う。
ステップＳ２：テスト過程におけるシステムブラウザの表示画面の番号と、現在の動作に対応するテスト画面の番号を比較して表示画面を特定する。
ステップＳ３：特定された表示画面から、現在の動作と一致するテストコントロールを現在のコントロールとして取得する。
ステップＳ４：現在の動作の動作属性に基づいて、取得した現在のコントロールに対応する操作方法にしたがって操作した後に、現在の動作に対応する操作結果を出力する。
ステップＳ５：操作結果を現在の動作に対応する予測結果と比較して、現在の動作の実行に成功したか否かを判断し、対応する比較結果を現在の動作のテスト結果として保存する。
【００３５】
具体的な実施例では、まずベーステストケースを予め設定し、当該ベーステストケースに基づいて複数の派生テストケースをランダムに生成する。前記ベーステストケースは、ユーザにより関連パラメータが予め設定されたテストケースとすればよく、前記複数の派生テストケースは、ベーステストケースに基づいて関連パラメータをランダムに変更して生成される異なるテストケースとすればよい。同一のベーステストケースから派生させて生成するため、ベーステストケースと派生テストケースは同一のテストプラン（又はテスト項目）に属する。前記ベーステストケースと派生テストケースは、いずれもテストケースとみなされる。
【００３６】
上記実施例では、前記ベーステストケースと複数の派生テストケースを全てテスト設計書に充填して、当該テストプラン（又は、テスト項目）に関するテスト設計書を形成する。具体的には、前記テストケースを充填する前に、前記テストケース全ての実行順を形成しておき、前記テストケースの実行順に基づいて、テスト設計書に充填するテストケースの充填位置を調整する。最終的に形成されるテスト設計書は通常の設計書とは異なり、テスト担当者が手作業でテスト設計書の各テストケースを作成する必要がない。また、同様に、テスト担当者が各テストケースの具体的パラメータを手作業で作成する必要がないため、人件費の節約となる。
【００３７】
具体的実施例では、まず複数のテストケースを予め設定する。各テストケースには複数のテスト動作が含まれており、テスト動作ごとにテストコントロールが１つずつ対応している。また、テストコントロールごとにテスト画面が１つずつ対応しているため、各テストケースには複数のテスト画面が対応付けられている。
【００３８】
具体的に、前記テストケースは順に予め設定される。即ち、一定の実行順にしたがって複数のテストケースを予め設定しておき、１つのテストケースの実行が完了すると、次のテストケースの実行に移行する。同様に、同一のテストケースにおいて、異なるテスト動作も順に配列される。また、テスト動作ごとにテストコントロールが１つずつ対応しており、テストコントロールごとにテスト画面が１つずつ対応している。前記テスト画面は、スタート画面と後続画面に分けられる。１つのテストケースに対しスタート画面は１つのみであるが、後続画面は複数存在してもよい。前記スタート画面はテストケースの実行の１つ目の画面とし、後続画面は前記スタート画面の後に順に配列される表示画面とすればよい。各テスト画面（スタート画面及び後続画面を含む）は、いずれも１つのテストコントロールの操作に対応する画面である。例えば、ユーザがこのテストケースにログインする場合には、ユーザ名及びパスワードを入力するテスト動作と、ログインコントロールをクリックするテスト動作が含まれ得る。前記ログインコントロールに対応するテスト画面は、ユーザがユーザ名及びパスワードを入力可能となるよう提供されるログイン画面とすればよく、且つ、当該画面をテストケースのスタート画面とすればよい。前記テストケースにおける複数の後続画面は、ログイン成功後に表示されるシステムブラウザのその他の画面としてもよいし、ログインの失敗を表示する画面としてもよい。前記画面は、テストロジックにしたがって配列される。
【００３９】
上記実施例において、テストケースの設定インターフェースは図３〜４のようになる。当該テストケースのスタート画面の名称は「アカウント情報」、当該テストケースの名称は「アカウント・パスワード修正インターフェースへ移行」、当該テストケースの前期の関連テストケースは「アカウント情報インターフェースへ移行」である。また、これに対応して、当該テストケースの前期の関連テストケースは、更に、「ログイン」、「システム管理へ移行」及び「アカウント情報インターフェースへ移行」を含む。上記の前期の関連テストケースは順に配列される。図２に示すテストケースの設定インターフェースは可視化インターフェースであり、従来技術におけるコードレベルの設定インターフェースではないため、テストケースの設定プロセスを簡略化できる。また、図４は、上記の予め設定されるテストケースのリストを示す。
【００４０】
上記実施例において、テストケースに関連付けられたテスト画面（スタート画面及び後続画面を含む）の設定インターフェースは図５のようになる。図５の画面情報には、画面番号（ＩＤ）、画面名及び画面アクセスアドレスが含まれる。アクセスアドレスとは、ＵＲＬ（Ｕｎｉｆｏｒｍ Ｒｅｓｏｕｒｅ Ｌｏｃａｔｏｒ，統一資源位置指定子）アドレスのことである。前記画面設定インターフェースも同様に可視化されたインターフェースである。
【００４１】
上記実施例において、テスト動作の設定インターフェースは図６のようになる。図６において、テスト動作は「検索条件入力」と設定可能であり、複数の表示画面名、複数のコントロール名、複数の動作属性（方法）及び複数のテスト動作に付与される値等が関連付けられている。前記テスト動作の設定インターフェースも同様に可視化されているため、操作が容易である。
【００４２】
上記実施例において、各テスト動作に対応する操作方法は、一連の演算を通じて動作属性から取得可能である。また、前記動作属性は対応の式で表すことができる。
【００４３】
上記実施例では、設定を完了した異なるテストケースに関連付けられるテスト動作から動作リストを形成する。具体的には、例えば、テストケースＡ、Ｂ、Ｃが順に配列されるようそれぞれ設定されているとする。テストケースＡには、テスト動作Ａ１、Ａ２、Ａ３が順に配列されるようそれぞれ設定されており、テストケースＢには、テスト動作Ｂ１、Ｂ２が順に配列されるようそれぞれ設定されており、テストケースＣには、テスト動作Ｃ１、Ｃ２、Ｃ３、Ｃ４が順に配列されるようそれぞれ設定されている。この場合、前記動作リストは、Ａ１、Ａ２、Ａ３、Ｂ１、Ｂ２、Ｃ１、Ｃ２、Ｃ３、Ｃ４の順に配列すればよい。
【００４４】
上記実施例において、各テスト動作に関連付けられるコントロールの設定インターフェースは図７のようになる。図７において、各コントロールのコントロール情報には、コントロール番号（ＩＤ）、コントロールタイトル、コントロール種別、コントロールのフロントエンド技術、コントロール特定用の属性名称、コントロール特定用の属性値、コントロールの最大値／最小値／最大長さ／最小長さ、コントロールのデフォルト値、コントロールの正常値リスト／エラー値リスト等が含まれる。前記コントロールの設定画面も可視化画面である。
【００４５】
上記実施例において、前記テストケース、テスト動作、画面及びコントロール等の設定については、１）システムにより予め設定するか、２）システムに各テスト要素を予め設定しておき、ユーザが対応する可視化インターフェースを通じて異なるテスト要素を選択し、組み合わせて、テストケース、テスト動作、画面及びコントロール等の設定情報を形成する、という２種類の方式が可能である。
【００４６】
なお、上記実施例で記載した予測結果の設定インターフェースについては後に詳述する。
【００４７】
上記実施例では、今回実行したい全テストケースについて、各テストケースの配列順序にしたがってテストケースに含まれる全てのテスト動作を１つの動作リストに配置する。
【００４８】
その後、図１が示すように、前記テスト設計書に基づき、１つの自動テスト方法の実行することができる。前記ステップＳ１では、まずテスト動作を１つ選択してテストの実行を開始する。具体的には、当該テスト動作について対応するテストケースを決定し、決定したテストケースを現在のケースとしてテストを開始すればよい。
【００４９】
上記実施例では、現在の動作と現在のケースを特定した後、ブラウザの表示画面の切替状態をモニタリングすることで、現時点でブラウザにロード済みの表示画面の画面番号を探し出し、現在の動作におけるテスト画面の番号と当該表示画面の番号とを比較する。即ち、現在の表示画面における画面番号に基づいて、現在の動作に対応するテスト画面とのマッチングを行い、現時点のブラウザの表示画面を現在のケースにおける現在の動作に対応するテスト画面として特定する。
【００５０】
上記実施例では、表示画面を特定した後、表示画面の表示内容を分析し、表示画面における全てのコントロールのリアルタイム情報を取得する。そして、表示画面から取得したコントロールの関連情報に基づいて、テスト動作に対応するコントロール情報（例えば、特定用の属性）とマッチングすることで、正確なコントロールを特定するとともに、特定されたコントロールの位置情報を記録すればよい。具体的には、表示画面中のコントロールを１つ取得した後に、コントロールのコントロール属性と現在の動作に対応するテストコントロールのコントロール属性をマッチングすることでマッチング結果を得る。そして、マッチング結果がマッチングの成功を示している場合には、取得したコントロールを現在のコントロールとして特定する。例えば、コントロールを１つ取得した後に、当該コントロールとテスト動作に対応するテストコントロールとを比較して、異なる場合には現在の動作のコントロールではないことを意味し、同じ場合には現在の動作のコントロールであることを意味する。そして、マッチングに成功したコントロールを現在のコントロールとみなす。したがって、前記コントロールの特定方式としては、まず、テスト動作に対応するテストコントロールを用い、現在表示中の表示画面であるテスト画面を特定する。表示画面に含まれるコントロールは１つとは限らない。そのため、当該表示画面において、更にコントロール属性を比較することで前記テスト動作に対応するテストコントロールを特定し、テストコントロールの特定を完了する。
【００５１】
上記実施例では、テストコントロールの特定後に、現在の動作の動作属性に基づいて当該テストコントロールに対し相応の操作を実行可能となる。そして、現在の動作の実行が完了すると、現在の動作に対応する操作結果を記録する。
【００５２】
上記実施例では、操作結果の取得後に、当該操作結果を現在の動作に対応する予測結果と比較することで、現在の動作の操作に成功したか否かを判断し、比較結果を記録する。
【００５３】
上記プロセスの実行完了後、現在の動作については実行を終えたと判断すると、次のテスト動作に移行して上記ステップＳ１に戻る。
【００５４】
上述したように、本発明の技術方案では、可視化した操作方法によって、テストケース、テスト動作、テストコントロール、テスト画面及び予測結果等のテストパラメータを予め設定するプロセスを簡単・明瞭としている。且つ、設定されたこれらテストパラメータに基づいて、可視化したソフトウェアテストをスピーディー且つ自動的に実行可能なことから、ソフトウェアテストのニーズに応えることが可能となり、且つ、ソフトウェアテストの効率も向上する。
【００５５】
本発明の好ましい実施例では、図１が示すように、テスト設計書では、テスト動作ごとに結果値が１つずつ設定される。ステップＳ５の実行後に、各テスト動作に対応するテスト結果に対応する結果値にそれぞれ充填する。例えば、テスト結果に基づき、結果値に「成功」または「失敗」を充填する。
【００５６】
本発明の好ましい実施例では、上記ステップＳ１において、現在のケースに関連付けられた各テスト動作を実行する前に、テスト動作の動作属性に基づいて、テスト動作に対応するテストコントロールのテスト画面を開く必要があるか否かを判断するとともに、必要に応じてテスト画面に関連付けられたアドレスを抽出し、テスト画面を開く。具体的に、上記実施例では、各テスト動作を実行する前に、当該テスト動作に対応するテストコントロールのテスト画面をロードする必要があるか否かを判断し、必要であれば対応するテスト画面をロードする一方、不要な場合には画面を一切変更しない。上記実施例において、前記テスト画面の抽出及びロードは、対応するコントロールの対応画面のＵＲＬアドレスを抽出することで実現される。具体的には、対応するコントロールの対応画面に関連付けられたＵＲＬアドレスを抽出し、現在のケースが指定する起動パラメータを使用するとともに、ブラウザにおいて対応するＵＲＬアドレスを開くことで、現在のケースをテストする。その時点で指定されたブラウザがすでに開いている場合には、画面に関連付けられたＵＲＬアドレスを抽出してブラウザの表示画面を更新するだけでよい。且つ、上記実施例で言うところのテスト動作の動作属性には、テスト動作と、その前後の動作との関連性が含まれる。システムは、テスト動作とその前後の動作との関連性を判断した後、対応するＵＲＬアドレスを抽出して相応のテスト画面を開く必要があるか否かを判断する。
【００５７】
本発明の他の好ましい実施例では、上記ステップＳ１において、現在のケースに関連付けられた１つ目のテスト動作を実行する際に、現在のケースに対応する１つ目のテストコントロールのテスト画面をスタート画面として抽出する。そして、スタート画面に関連付けられたアドレスでスタート画面を開くことで、現在のケースのテストを開始する。具体的に、上記実施例では、テストケースにおける１つ目のテスト動作を実行する際にのみ、当該テスト動作に対応するテストコントロールのテスト画面をスタート画面としてロードする。具体的に、最初にテストを開始する際には、前記動作リストにおける１つ目のテスト動作を選択してテストを開始すればよい。テスト動作を選択した後、当該テスト動作を現在の動作とし、且つ、現在の動作に基づいて対応するテストケースを特定するとともに、当該テストケースを現在のケースとする。続いて、当該現在の動作に対応するテストコントロールの対応テスト画面を抽出し、テストを開始する。上記実施例では、最初にテストを開始する際のテスト動作を１つ目のテスト動作とするため、上記で抽出される画面が対応する現在のケースのスタート画面となるはずである。なお、スタート画面をロード及び抽出する方法は上記の実施例と同様である。即ち、スタート画面のＵＲＬアドレスを抽出するとともに、現在のケースが指定する起動パラメータを使用して、所定のシステムブラウザで開くことにより実現する。
【００５８】
本発明の好ましい実施例では、前記各テストケースの実行を開始する前に、まず当該テストケースの初期化データを設定する。即ち、テストケースのデータについて初期化操作を行う。データの初期化操作には、データベース内の対応するデータについて初期化処理を実施することで、それ以前のテストデータが残留することによる今回のテストへの影響を回避することや、データベース内に対応する初期化データを追加することでテストの初期化テスト環境を形成し、テスト開始環境の統一性を保証すること等が含まれ得る。
【００５９】
したがって、本発明の好ましい実施例では、新たなテスト動作を実行する際に、まず当該テスト動作がいずれかのテストケースにおける１つ目のテスト動作であるか否かを判断する必要がある。そして、１つ目の場合には、テストケースについてデータの初期化操作を行ってからテスト動作を実行する一方、１つ目でない場合には当該テスト動作をそのまま実行する。
【００６０】
或いは、本発明における他の好ましい実施例では、各テストケースのスタート画面をラベリングしておく。そして、テスト過程においてスタート画面に進行した場合には、対応するテストケースについてデータの初期化操作を行ってから、スタート画面に対応するテスト動作を実行する。
【００６１】
本発明における好ましい実施例では、上記ステップＳ１においてテストケースを現在のケースとみなした後に、現在のケースのテストを開始すべく現在のケースの初期化データを抽出する。
【００６２】
現在のケースの１つ目のテストコントロールに対応するテスト画面のアドレスをスタート画面として抽出した後、現在のケースが指定する起動パラメータを使用してスタート画面を開き、テストを実行する。
【００６３】
上記実施例で言うところの起動パラメータとは、上記のスタート画面としてのテスト画面を開く際の基準ネットワークパラメータのことである。
【００６４】
本発明の好ましい実施例において、上記ステップＳ２は具体的に、現在の動作の後続のテスト動作に対応するテスト画面の番号を取得するとともに、表示画面の番号をモニタリングして、表示画面の番号がテスト画面の番号と一致している場合には表示画面の切り替えに成功したとみなし、表示画面を特定する。具体的に、上記ステップＳ２では、現在の表示画面の番号が現在の動作の後続の動作に対応するテスト画面の番号と一致している場合には、現在の表示画面の切り替えに成功したとみなして、当該表示画面を現在の動作の後続の動作におけるテスト画面として特定する。
【００６５】
本発明の他の好ましい実施例において、上記ステップＳ２は具体的に、現在の動作の後続のテスト画面に対応する番号を取得するとともに、表示画面の番号をモニタリングして、表示画面の番号がテスト画面の番号と一致している場合には表示画面の切り替えに成功したとみなし、表示画面を特定する。具体的に、上記ステップＳ２では、現在の表示画面の番号が現在の動作の後続の画面の番号と一致している場合には、現在の表示画面の切り替えに成功したとみなして、当該表示画面を現在の動作の後続の画面と特定する。
【００６６】
本発明の好ましい実施例において、上記ステップＳ４では、コントロールを操作する前にまず現在の動作の動作属性を判断するとともに、動作属性に基づいて現在のコントロールに対する操作を決定する。
【００６７】
現在の動作の動作属性が値の設定である場合には、現在のコントロールに対して行う操作はコントロールに対する値の付与となる。例えば、コントロールに対し予め設定した数値を付与する等となる。
【００６８】
現在の動作の動作属性が操作命令の実行である場合には、現在のコントロールに対して行う操作はコントロールを操作するための操作命令の実行となる。例えば、操作命令が「クリック」の場合、現在のコントロールに対しコントロールのクリック操作を実行すればよい。
【００６９】
現在の動作の動作属性がファンクションキーの組み合わせによる操作の実行である場合には、システムの入力装置に対して対応するファンクションキーの組み合わせ命令を送信することで現在のコントロールを操作する。例えば、ファンクションキーの組み合わせが、入力キーボード上の「Ｓｈｉｆｔ」キー、「Ａｌｔ」キー及び「Ｅｎｔｅｒ」キーの組み合わせである場合、システムはキーボードに対し前記３つのキーの組み合わせ命令を出力するよう通知すべく、対応するファンクションキーの組み合わせ命令をキーボードに送信すればよい。
【００７０】
現在の動作の動作属性が文字列メッセージの送信である場合には、現在のコントロールを操作して対応する文字列メッセージを送信する。具体的には、ブラウザを通じて対応する文字列メッセージを送信すればよい。
【００７１】
現在の動作の動作属性がメモリコピーである場合には、現在のコントロールに付与される値をシステムメモリに保存する。具体的には、現在のコントロールに付与される値、又はその他特定の値をシステムメモリに保存することで、即ち、システムメモリの「クリップボード」機能を実現する。
【００７２】
現在の動作の動作属性がメモリからの値付与である場合には、現在の動作の動作属性に基づいて、システムメモリに保存されている値を現在のコントロールに付与する。
【００７３】
現在の動作の動作属性が論理判断の場合、メモリに保存されている値について判断し、判断結果に基づいて予め設定された後続のテスト動作をスキップする。具体的に、論理判断とは、システムメモリ内の付与値を示す式について判断することをいう。例えば、当該式が予め設定された何らかの値よりも大きい／小さいか否かを判断するか、システムメモリに保存されている値がｔｒｕｅ／ｆａｌｓｅか否かを判断する。また、上記のスキップ動作を示すスキッププランについては、各テスト動作のテスト属性に予め設定しておけばよい。具体的な判断プロセスとしては、前記システムメモリに保存されている数値を示す式について判断する。そして、判断結果に基づき、上記の予め設定されたスキッププランを実行すべきか否かを決定し、１又は複数の後続のテスト動作をスキップする。なお、上記実施例においては、前記スキッププランが後続の動作を１つも含まなくともよい。即ち、判断結果がどうであれ、どの後続動作もスキップしなくともよい。
【００７４】
本発明の好ましい実施例では、上述したように、現在の画面が進行した場合、ブラウザの表示内容をモニタリングすることで新たな画面の番号を特定するとともに、新たなテストコントロールを特定する。
【００７５】
本発明の好ましい実施例では、上記ステップＳ５において、操作結果の種別に応じて操作結果と予測結果を比較する。
【００７６】
操作結果が表示画面のコントロールを操作した結果である場合、システムはブラウザ内の表示画面に含まれる対応するコントロールの情報を読み取るとともに、読み取った情報を予測結果と比較する。具体的に、コントロールの情報と予測結果を比較する際には、まとまったコントロールを一括して比較する。例えば、現在の表示画面における全てのコントロールに対応する情報を取得して、予測結果とそれぞれ比較する。
【００７７】
操作結果がブラウザの欄内データに対応する結果である場合、システムはブラウザにおける対応する欄内データを読み取り、読み取った情報を予測結果と比較する。
【００７８】
操作結果がシステムのデータベース内のデータである場合、システムはデータベース内のデータを読み取って、読み取った情報を予測結果と比較する。
【００７９】
具体的に、本発明の好ましい実施例において、前記予測結果が予め設定されたインターフェースは図８〜１０のようになる。
【００８０】
図８は、画面内のコントロールの予測結果を示す。予測結果には、コントロールのＩＤ、コントロールタイトル、予測結果の種別及び予測結果の値が含まれ得る。
【００８１】
図９は、テーブル類の予測結果を示す。予測結果には、コントロールＩＤ、コントロールのタイトル、予測件数、比較件数及びテーブルデータ等の属性が含まれ得る。
【００８２】
図１０は、データベース類の予測結果を示す。予測結果には、検索条件、ソート条件、制限行数及びデータ等の属性が含まれ得る。
【００８３】
本発明の好ましい実施例では、コントロールの比較の場合、システムはブラウザにおける対応するコントロールの情報を読み取るとともに、読み取った情報を予測結果と比較する。
【００８４】
欄内データの比較の場合、システムはブラウザにおける対応する欄内データを読み取るとともに、読み取った情報を予測結果と比較する。
【００８５】
また、データベースの比較の場合、システムは所定のデータベース内のデータを読み取るとともに、読み取った情報を予測結果と比較する。
【００８６】
本発明の好ましい実施例において、上記ステップＳ５では、現在の動作の実行に成功したか否かを判断する。そして、成功した場合には、現在の動作に関連付けられた操作結果を保存した後、ステップＳ５の実行を継続する。一方、成功しなかった場合には現在のケースのテストを終了し、次のテストケースに進行してステップＳ１に戻る。
【００８７】
具体的に、本発明の好ましい実施例では、現在の動作の実行に成功した場合には、同一の現在のケースにおける次のテスト動作に自動的に進行して実行する（ステップＳ５の実行を継続する）とともに、実行に成功した操作結果を保存する。
【００８８】
また、現在の動作の実行に失敗した場合には、現在のケースのテストを終了し、次のテストケースに進行して実行する（ステップＳ１に戻る）。つまり、動作リストのうち現在のケースに対応する後続のテスト動作についてはスキップして、次のテストケースにおける１つ目のテスト動作から改めてテストを開始する。
【００８９】
本発明の好ましい実施例では、１つの現在の動作における操作結果が完了すると、ブラウザの表示ページ（即ち、操作結果を表すページ）をスクリーンショットにより保存するとともに、スクリーンショット内に現在の動作に対応するコントロールの位置を表記する（その前のコントロールの特定を元に表記する）。
【００９０】
本発明の好ましい実施例において、上記ステップＳ５では、対応する比較結果を現在の動作のテスト結果として保存した後、次のテスト動作に進行する。そして、進行した次のテスト動作が全体のコントロールに対する操作を示している場合には、ステップＳ４に戻る。
【００９１】
本発明の好ましい実施例において、上記ステップＳ５では、対応する比較結果を現在の動作のテスト結果として保存した後、次のテスト動作に進行する。
【００９２】
本発明の好ましい実施例において、前記テストケースの生成方法は主流なソフトウェアシステムのいずれにも適用可能である。これは、主流ソフトウェアシステムの動作方法の駆動を保証するよう、予め設定される前記テストケース、テスト動作、テストコントロール、テスト画面等のデータベースにおいて、主流ソフトウェアシステムが使用を要する駆動方法の実現形態を予め保証しているからである。
【００９３】
以上は本発明の好ましい実施例にすぎず、本発明の実施形態及び保護の範囲を制限するものではない。当業者であれば、本発明の明細書及び図面の内容を利用して実施される等価の置き換えや自明の変更により得られる方案が、いずれも本発明による保護の範囲に含まれるものと意識し得る。
【図１】
2019525372.tif 000003
【図２】
2019525372.tif 000004
【図３】
2019525372.tif 000005
【図４】
2019525372.tif 000006
【図５】
2019525372.tif 000007
【図６】
2019525372.tif 000008
【図７】
2019525372.tif 000009
【図８】
2019525372.tif 000010
【図９】
2019525372.tif 000011
【図１０】
2019525372.tif 000012
【国際調査報告】
2019525372.tif 000013
2019525372.tif 000014
2019525372.tif 000015
2019525372.tif 000016