JP2011039786A - ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム - Google Patents

ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム Download PDF

Info

Publication number
JP2011039786A
JP2011039786A JP2009186718A JP2009186718A JP2011039786A JP 2011039786 A JP2011039786 A JP 2011039786A JP 2009186718 A JP2009186718 A JP 2009186718A JP 2009186718 A JP2009186718 A JP 2009186718A JP 2011039786 A JP2011039786 A JP 2011039786A
Authority
JP
Japan
Prior art keywords
gui
test
information
gui information
orthogonal table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009186718A
Other languages
English (en)
Inventor
Akira Suzuki
彰 鈴木
Kota Matsuura
幸太 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009186718A priority Critical patent/JP2011039786A/ja
Publication of JP2011039786A publication Critical patent/JP2011039786A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】GUIを持つアプリケーションのテスト項目作成のため、当該アプリケーションから直接ボタン等のGUIに関する情報を抽出して因子・水準を決定し、テストの実行を自動的に行うソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラムを提供する。
【解決手段】GUIを有する被テストアプリケーション11から表示装置16に表示するための画面情報をGUI情報として抽出するGUI情報抽出部12と、GUI情報抽出部12により抽出されたGUI情報を表示装置16に表示させるGUI情報表示制御部14と、GUI情報抽出部12により抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定するGUI情報判定部17と、GUI情報判定部17により決定された因子・水準に基づいて直交表を生成する直交表生成部18とを備える。
【選択図】図1

Description

本発明は、GUI(Graphical User Interface)を備えるソフトウェアに対し、直交表を利用したテスト項目を作成するための因子・水準の入力を支援し、テスト項目を自動的に実行するソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラムに関する。
近年、ソフトウェアテストの際に、テスト項目の多様性を保ちつつ、少ないテスト数で不具合検出が行えることから直交表を利用したテスト項目作成手法が着目されている。
直交表とは、どの列をとっても同じ組み合わせが同じ回数出現する表のことである。図9は、L4直交表の例を示す図であり、因子A、因子B、及び因子Cの各々が2通りの水準をとる場合の直交表である。図9において例えば、テスト1は、(因子A,因子B,因子C)=(1,1,1)の組み合わせでテストを行い、テスト2は、(因子A,因子B,因子C)=(1,2,2)の組み合わせでテストを行うことを意味する。
ここで、因子Aと因子Bとの組み合わせに着目すると、(因子A,因子B)={(1,1),(1,2),(2,1),(2,2)}となり、因子Aと因子Bとで生成できるすべての組み合わせを網羅しているといえる。同様に、因子Aと因子Cとの組み合わせ、及び因子Bと因子Cとの組み合わせにおいても生成できるすべての組み合わせを網羅している。ソフトウェアテストに直交表を利用することにより、少ないテスト回数で網羅度の高いテストを作成できるといえる。
次に、直交表を用いてソフトウェアテストを作成する場合の一般的なプロセスを説明する。図10は、直交表を用いたソフトウェアテストの流れを示すフローチャート図である。まず、因子・水準の抽出を行い、テストにおいて必要とされる因子とその水準を決定する(ステップS1)。次に、抽出された因子・水準から、二因子間の直交性を保証する最小の直交表の大きさを計算する(ステップS2)。
次に、直交表に因子・水準を割り当てる(ステップS3)。この際、最小の直交表は、必ずしもテストが必要な因子数、水準数と等しくなるわけではないため、余剰した因子・水準についてはダミー水準法や、Empty法等により補完される。
次に、禁則の除外により、テストが必要な因子・水準から有効でないテスト項目を削除する(ステップS4)。これにより、ありえない組み合わせとして予め認識されているテストを排除することができ、高効率化に資する。
次に、組み合わせ網羅率の計算として、二因子間の網羅度を計算する(ステップS5)。これは、ステップS4の禁則の除外によりテスト項目が削除された結果、二因子間の網羅度が100%ではなくなるため、要求されるテストの網羅度を保っているか否かの確認に利用する。
最後に、直交表へのテスト項目追加を行う(ステップS6)。これは、直交表に新たにテスト項目追加することで先の二因子間の網羅度を、要求されるテストの網羅度まで向上させる処理である。
例えば、図9の直交表において、(因子A,因子B)=(1,2)の組み合わせがありえないことが予めわかっている場合には、ステップS4の禁則の除外において「テスト2」の項目は削除される。その場合に、(因子B,因子C)=(2,2)の組み合わせもテストされないこととなり、組み合わせ網羅率が低下する。そこで、ステップS6において(因子A,因子B,因子C)=(2,2,2)のテスト項目を追加することにより、因子BC間の網羅率低下を防止することができる。
なお、ステップS6において、ユーザが特に確認しておきたいテスト項目を追加することもできる。
以上のプロセスにより、直交表に基づいたテスト項目を作成し実際のテストを行う。直交表の因子・水準抽出支援に関する先行技術文献として、以下に示す特許文献が挙げられる。
特許文献1には、プログラムテスト用のデータを、必要な多様性を確保しつつ少ないデータ量で生成するテストデータ生成システム及びテストデータ生成方法が記載されている。このテストデータ生成システムは、プログラムに入力され得る合計M個のパラメータのうち、任意のN(M≧N>1)個のパラメータの組合せについて全てのパターンをそれぞれ網羅するテストデータを生成させるので、全てのパターンに従ってテストデータを生成する場合に比べて、テストデータのデータ量を低減することができ、多様なテストデータを効率よく生成することができるとともに、プログラムテストに要する時間を短縮することができる。
さらに、特許文献1に記載のテストデータ生成システムは、禁則パターンを除外してテストデータを生成できるため、無駄なテストデータの生成を未然に防止し、多様性を確保しつつテストデータのデータ量をより一層少なくすることができる。
特許文献2には、仕様情報の制御の分岐条件からテスト項目し、抽出したテスト項目の組み合わせを最適化したテスト項目組み合わせ情報を生成するテスト項目生成装置が記載されている。このテスト項目生成装置は、ガード条件情報解釈部、組合せ最適化部、組合せ情報出力部、及び直交表データ記憶部を備えている。
ガード条件情報解釈部は、アクティビティ図による仕様情報からテスト項目であるガード条件を2つ以上有する構成モデル要素を抽出し、抽出した構成モデル要素に対応付けて当該構成モデル要素が有するガード条件数、およびガード条件の文字列を登録したガード条件情報を生成する。
組合せ最適化部内部の因子数算出部は、ガード条件情報に登録されている構成モデル要素毎の水準値およびガード条件の割付に必要な因子数と、各構成モデル要素の因子数の合計値とを算出する。また、組合せ最適化部内部の直交表検索部は、直交表データ記憶部に登録されている直交表の中から因子数算出部によって算出された因子数の合計値を含む直交表に対応付けられた線点図の因子の水準値と因子数算出部が算出した各構成モデル要素の水準値とに基づいて直交表および線点図を選択してガード条件情報に登録された各構成モデル要素が有するガード条件の組合せを最適化する。
組合せ情報出力部は、直交表検索部によって最適化されたガード条件の組合せをテスト項目組合せ情報として出力する。
以上の構成を備えた特許文献2に記載のテスト項目生成装置によれば、仕様情報の制御の分岐条件からテスト項目を抽出するとともに、抽出したテスト項目の中で同時にテスト可能なテスト項目の組合せを最適化したテスト項目組合せ情報を生成することができる。すなわち、仕様情報から抽出したすべてのテスト項目であるガード条件を、直交表を用いて最適化して出力するようにしているため、テスト項目の組合せの数を最低限にすることができる。
特許文献3には、最適化解析を行う実験計画や田口メソッドの前処理として、制御因子や誤差因子あるいは信号因子を直交表や外側表等の水準表に対して割り付けして編集する際に好適なグラフィカルなユーザインターフェースを提供する実験計画法の支援装置が記載されている。この実験計画法の支援装置は、実験計画法に沿った最適化解析を支援する支援装置において、最適化解析に必要なデータの準備に用いられる水準値表に対して割り付ける誤差因子若しくは信号因子を、表示画面に表示された複数の候補一覧のなかから選択する選択手段と、候補一覧の中から制御因子として既に選択がなされている候補を識別し、他の候補と区別可能なように表示属性を変更する表示制御手段とを備えている。
この実験計画法の支援装置によれば、実験計画法や田口メソッドにおいて、制御因子のみならず誤差因子や信号因子を選択して最適化解析を行うにあたり、ユーザの不注意等により不適切なデータが設定されることなく安定して解析を行うことができる。
特開2006−227958号公報 特開2007−249826号公報 特開2002−259464号公報
直交表作成において最も重要なプロセスは、因子・水準の抽出である。しかしながら、今日においてインターフェースとして広く普及しているGUI(Graphical User Interface)を備えるソフトウェアに対して直交表を利用したテスト項目を作成するために、ボタン等のGUI部品に関する情報から直接的に必要な因子・水準を抽出する技術は開示されていない。
特許文献1に記載のテストデータ生成システムは、データ生成プログラムにより、データベース等に登録されたテーブル情報からテストテーブルを作成し、テストテーブルに基づいてテストを行うためのものである。しかしながら、データ生成プログラムに入力される条件やパラメータは、データベース等の表をベースにしたものであるため、GUI情報から直接的に因子・水準抽出を行うことはできない。したがって、GUIのテストの際には、GUIに関する情報を表情報に変換する必要がある。
特許文献2に記載のテスト項目生成装置は、アクティビティ図のような仕様情報からガード条件や状態遷移を検出してテスト項目を作成する。しかしながら、GUIのテストの際には、このような状態遷移がガード条件をGUI部品から直接的に抽出することができないため、単純に適用することは困難である。
特許文献3に記載の実験計画法の支援装置は、入力編集部により、設計情報DBに制御因子、信号因子、誤差因子等の変数を登録し、その直交表を作成するシステムである。しかしながら、設計情報DBに登録されるのは数式等の数理モデルであり、GUIに関する情報を扱うことはできない。
本発明は上述した従来技術の問題点を解決するもので、GUIを持つアプリケーションのテスト項目作成のため、当該アプリケーションから直接ボタン等のGUIに関する情報を抽出して因子・水準を決定し、テストの実行を自動的に行うソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラムを提供することを課題とする。
本発明に係るソフトウェアテスト支援装置は、上記課題を解決するために、GUIを有する被テストアプリケーションから表示装置に表示するための画面情報をGUI情報として抽出するGUI情報抽出部と、前記GUI情報抽出部により抽出されたGUI情報を前記表示装置に表示させるGUI情報表示制御部と、前記GUI情報抽出部により抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定するGUI情報判定部と、前記GUI情報判定部により決定された因子・水準に基づいて直交表を生成する直交表生成部とを備えることを特徴とする。
本発明によれば、GUIを持つアプリケーションのテスト項目作成のため、当該アプリケーションから直接ボタン等のGUIに関する情報を抽出して因子・水準を決定し、テストの実行を自動的に行うことができる。
本発明の実施例1の形態のソフトウェアテスト支援装置の構成を示すブロック図である。 本発明の実施例1の形態のソフトウェアテスト支援装置のGUI情報抽出部によるGUI情報抽出例を示す図である。 本発明の実施例1の形態のソフトウェアテスト支援装置のGUI情報判定部による因子・水準の抽出例を示す図である。 本発明の実施例1の形態のソフトウェアテスト支援装置のGUI情報判定部の動作を示すフローチャート図である。 本発明の実施例1の形態のソフトウェアテスト支援装置の直交表生成部による直交表の作成例を示す図である。 本発明の実施例2の形態のソフトウェアテスト支援装置の構成を示すブロック図である。 本発明の実施例2の形態のソフトウェアテスト支援装置のGUI情報判定部によるテスト自動実行部に対する出力例を示す図である。 本発明の実施例2の形態のソフトウェアテスト支援装置のテスト自動実行部の動作を示すフローチャート図である。 L4直交表の例を示す図である。 直交表を用いたソフトウェアテストの流れを示すフローチャート図である。
以下、本発明のソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラムの実施の形態について、図面を参照して詳細に説明する。
図1は、本発明の実施例1のソフトウェアテスト支援装置1aの構成を示すブロック図である。図1を参照して、ソフトウェアテスト支援装置1aの構成を説明する。本実施例のソフトウェアテスト支援装置1aは、図1に示すように、GUI情報抽出部12、GUI情報記憶部13、GUI情報表示制御部14、GUI情報判定部17、直交表生成部18、及び直交表出力部19により構成されている。
被テストアプリケーション11は、テストが行われるGUIを有するアプリケーションであり、ソフトウェアテスト支援装置1a内のGUI情報抽出部12との間で情報の授受を行う。被テストアプリケーション11とソフトウェアテスト支援装置1aとは、通常、同一のCPU内に構成されている。
GUI情報抽出部12は、GUIを有する被テストアプリケーション11から表示装置16に表示するための画面情報をGUI情報として抽出し、抽出結果をGUI情報記憶部13に対して出力する。ここで、表示装置16は、被テストアプリケーション11やソフトウェアテスト支援装置1aからの情報を表示する装置であり、例えばディスプレイである。
GUI情報記憶部13は、GUI情報抽出部12により抽出されたGUI情報を格納する場所である。ここで、GUI情報とは、被テストアプリケーション11の画面を構成するGUI部品を列挙した情報である。
GUI情報表示制御部14は、GUI情報抽出部12により抽出されたGUI情報をGUI情報記憶部13から取得し、取得したGUI情報を表示装置16に表示させる。なお、表示形式は、表形式であってもよいし、GUI部品を実際の位置に配置した画面でもよい。
GUI情報判定部17は、GUI情報抽出部12により抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定する。ユーザは、表示装置16に表示されたGUI情報を元に、テストを行いたい項目を決定し、入力装置15を介してテスト対象情報をGUI情報判定部17に送る。
ここで、入力装置15は、ユーザが操作することにより情報を送信する機器であり、例えばキーボードやマウス等である。また、テスト対象情報は、例えばユーザにより選択された被テストGUI部品の情報である。
直交表生成部18は、GUI情報判定部17により決定された因子・水準に基づいて直交表を生成し、直交表出力部19に出力する。
直交表出力部19は、直交表生成部18により生成された直交表を出力する。出力は、CSV形式等の表形式や、XML等のタグ形式等でもよい。本実施例において、直交表出力部19は、直交表を表示装置16に表示させるものとするが、メモリ等の記憶部やネットワークを介したデータベース等に記憶させてもよい。
なお、ソフトウェアテスト支援装置1aは、プログラムにより実現することも可能であり、GUIを有する被テストアプリケーション11から表示装置16に表示するための画面情報をGUI情報として抽出する処理と、抽出されたGUI情報を表示装置16に表示させる処理と、抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定する処理と、決定された因子・水準に基づいて直交表を生成する処理とをコンピュータに実行させるプログラムであればよい。
次に、上述のように構成された本実施の形態の作用を説明する。まず、GUI情報抽出部12は、GUIを有する被テストアプリケーション11から表示装置16に表示するための画面情報をGUI情報として抽出する(GUI情報抽出ステップ)。図2は、本実施例のソフトウェアテスト支援装置1aのGUI情報抽出部12によるGUI情報抽出例を示す図である。左側に示す「ご旅行予約画面」は、被テストアプリケーション11の有するGUIによる表示画面である。また、右側に示す表は、GUI情報抽出部12により抽出されたGUI情報である。本実施例において、GUI情報抽出部12は、図4に示すように、各GUI部品からそのキャプション名、表示座標、部品情報を抽出する。部品情報は、部品毎に異なる。
GUI情報抽出部12は、GUI情報の抽出結果をGUI情報記憶部13に対して出力する。GUI情報表示制御部14は、GUI情報抽出部12により抽出されたGUI情報をGUI情報記憶部13から取得し、取得したGUI情報を表示装置16に表示させる(GUI情報表示制御ステップ)。
次に、ユーザは、ディスプレイ等の表示装置16に表示されたGUI情報を確認し、入力装置15を使用してテストを行う部品を選択する。図3は、本実施例のソフトウェアテスト支援装置1aのGUI情報判定部17による因子・水準の抽出例を示す図である。本実施例において、ユーザは、図2,3に示すように列挙されたGUI情報の中からグループボックス「オプション」のチェックボックスを全て選択し、さらにグループボックス「現地での移動手段」のラジオボタンを選択している。これらの選択情報は、本発明のテスト対象情報に対応する。
GUI情報判定部17は、GUI情報抽出部12により抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定する(GUI情報判定ステップ)。図3の右側の表に示すように、GUI情報判定部17は、因子・水準を抽出する。図3において、因子・水準は表形式になっているが、必ずしもこの形式にかぎらず、GUI情報判定部17は、後段の直交表生成部18に合わせた形式で出力する。
ここで、GUI情報判定部17の動作の詳細について説明する。GUI情報判定部17は、被テストGUI部品の判定を行う際に、各部品の部品種がプッシュボタン、チェックボックス、ラジオボタン、コンボボックス、及びエディットボックスのいずれの部品種であるかを判定し、部品種に応じた因子・水準を決定する。
図4は、本実施例のソフトウェアテスト支援装置1aのGUI情報判定部17の動作を示すフローチャート図である。GUI情報判定部17は、ユーザにより選択された全てのGUI部品に対して図4に示すフローチャートの動作を行う。逆に、GUI情報判定部17は、GUI情報に含まれる部品であってもユーザにより選択されていない部品に対しては、図4に示すフローチャートの動作を行わない。このような部品は、因子・水準の対象とする必要がないためである。
まず、GUI情報判定部17は、ユーザにより選択された部品の種類を判定する(ステップS11)。もし部品種がButtonである場合には、GUI情報判定部17は、ボタンの種類の判定を行う(ステップS12)。本実施例においては、ユーザにより選択されたGUI部品の部品種は全てButtonであるため、GUI情報判定部17は、各部品のボタンの種類の判定を行う。
ステップS12でのボタンの判定の結果、ボタンがプッシュボタンである場合には、GUI情報判定部17は、プッシュボタン用の因子・水準の決定を行う(ステップS13)。プッシュボタンでは「押す」、「押さない」の2つの状態が発生するので、GUI情報判定部17は、これらを水準として登録し、因子にはプッシュボタンのキャプション名を設定する。
ステップS12でのボタンの判定の結果、ボタンがチェックボックスである場合には、GUI情報判定部17は、チェックボックス用の因子・水準の決定を行う(ステップS14)。チェックボックスでは「チェックする」、「チェックしない」の2つの状態が発生するので、GUI情報判定部17は、これらを水準として登録し、因子にはチェックボックスのキャプション名を設定する。
本実施例において、ユーザは、グループボックス「オプション」のチェックボックスを選択しているため、GUI情報判定部17は、「チェックする」、「チェックしない」の2つを水準とし、「昼食付き」、「ホテルグレードアップ」等のキャプション名を因子とする。
ステップS12でのボタンの判定の結果、ボタンがラジオボタンである場合には、GUI情報判定部17は、ラジオボタン用の因子・水準の決定を行う(ステップS15,16)。ラジオボタンでは、複数のボタンが排他的関係になっているため、GUI情報判定部17は、まず同一グループのラジオボタンの取得を行う(ステップS15)。次に、GUI情報判定部17は、取得されたグループのラジオボタンのキャプション名を水準にし、ラジオボタンを因子に設定する(ステップS16)。
本実施例においては、ユーザがグループボックス「現地での移動手段」のラジオボタンを選択しているため、GUI情報判定部17は、同一グループのラジオボタンの取得を行い、キャプション名である「バス」、「電車」、「レンタカー」の3つを水準にするとともに、「ラジオボタン」を因子に設定する。
ステップS11での部品種の判定の結果、部品種がComboBoxである場合には、GUI情報判定部17は、コンボボックス用の因子・水準の決定を行う(ステップS17,18)。コンボボックスでは、複数の要素の中から一つを選ぶような操作が行われるため、GUI情報判定部17は、まずリスト(ドロップダウンリスト)の取得を行う(ステップS17)。次に、GUI情報判定部17は、取得したリストの各々のアイテム名を水準に、因子をリストとする(ステップS18)。
ステップS11での部品種の判定の結果、部品種がEditBoxである場合には、GUI情報判定部17は、エディットボックス用の因子・水準の決定を行う(ステップS19〜S24)。エディットボックスにおいては、文字列や数列のユーザ入力及びその表示が行われるので、GUI情報判定部17は、まず入力可能なエディットボックスであるか否かの判定を行う(ステップS19)。
入力不可能である場合には、GUI情報判定部17は、因子・水準の抽出を行わない。入力可能なエディットボックスである場合に、GUI情報判定部17は、入力可能な文字の判定を行う(ステップS20)。数字のみ入力可能である場合には、GUI情報判定部17は、ランダムな数字列を生成し(ステップS21)、生成した数字列を水準として設定するとともに、エディットを因子に設定する(ステップS22)。この場合の水準の数は予め設定されており、GUI情報判定部17は、水準の数だけランダムな数字列を生成する。例えば水準が2つであれば、GUI情報判定部17は、「713894」、「235416」のようにランダムな数字列を2つ生成する。
なお、GUI情報判定部17の代わりにユーザが水準としての数字列を決定する構成でもよい。その場合には、ユーザは、自ら決定した数字列を入力装置15を介して入力する。GUI情報判定部17は、ユーザにより入力された数字列を水準に設定する。これにより、ユーザは、有効な数字と無効な数字についてのテストや、不具合が生じるかもしれないと予想される数字列についてのテストを行うことができる。
エディットボックスに文字列も入力可能である場合に、GUI情報判定部17は、ランダムな文字列を生成し(ステップS23)、生成した文字列を水準として設定するとともに、エディットを因子に設定する(ステップS24)。上述したように、GUI情報判定部17の代わりにユーザが水準としての文字列を決定する構成でもよい。
次に、直交表生成部18は、GUI情報判定部17により決定された因子・水準に基づいて直交表を生成する(直交表生成ステップ)。図5は、本実施例のソフトウェアテスト支援装置1aの直交表生成部18による直交表の作成例を示す図である。図5に示すように、直交表生成部18は、3水準の因子1個と2水準の因子6個を入力とし、L16直交表を作成する。L16直交表では、最大4水準の因子1個と2水準の因子12個を取ることができるため、直交表生成部18は、4水準の因子については3水準の因子を割り当てる。ただし、このとき、直交表生成部18は、余った1水準についてはダミー水準として3水準の中から任意の1水準(ここではバス)を重複して割り当てる。網羅率の低下を防止するためである。2水準の因子についてはそのまま割り当て、あまった6因子については、空欄(Empty)としておく。
以上述べたプロセスを経て、本実施例のソフトウェアテスト支援装置1aは、画面を持った被テストアプリケーション11から、そのテストを行うための直交表を生成する。直交表出力部19は、直交表生成部18により生成された直交表を表示装置16あるいは記憶部やデータベース等に出力する。ユーザは、出力された直交表に基づいて自らテストを行ってもよいし、機械器具等にテストを行わせてもよい。
上述のとおり、本発明の実施例1の形態に係るソフトウェアテスト支援装置1aによれば、GUIを持つ被テストアプリケーション11のテスト項目作成のため、被テストアプリケーション11から直接ボタン等のGUIに関する情報を抽出して因子・水準を決定し、直交表を作成することができる。
すなわち、従来の直交表作成プロセスにおいては、ユーザが画面を見てその因子・水準を決定していたのに対し、本実施例のソフトウェアテスト支援装置1aは、画面を持つアプリケーションから、その画面の部品を列挙し、それぞれの部品に応じた操作により、因子・水準を決定して自動的に直交表を作成することができる。これにより、ユーザは、テストを行いたいGUI部品を選択するのみで直交表の作成を行うことができ、因子・水準の抽出に不慣れなテスト作成者であっても容易にテストケースを作成することができる。
また、本実施例のソフトウェアテスト支援装置1aは、各GUI部品に応じた操作を自動的に判定するので、ユーザが部品に対して行える操作を意識する必要が無くなり、直交表を作る際に必要な因子・水準の決定プロセスを、より直感的に行うことができ、従来よりも短い時間でテストケースを作成することができる。
次に、本発明の実施例2のソフトウェアテスト支援装置1bについて説明する。図6は、本実施例のソフトウェアテスト支援装置1bの構成を示すブロック図である。実施例1に示すソフトウェアテスト支援装置1aと異なる点は、テスト自動実行部31と実行結果出力部32とをさらに備える点である。
テスト自動実行部31は、GUI情報判定部27により判定された被テストGUI部品の部品情報及び因子と直交表生成部28により生成された直交表とユーザにより外部から入力されたテスト条件情報とに基づいて被テストアプリケーション21に対するテストを行う。
具体的に言うと、テスト自動実行部31は、テスト条件情報に基づいて直交表の行と列の実行順序を決定するとともに、実行順序に基づいて被テストアプリケーション21を制御するためのメッセージを生成し、当該メッセージを被テストアプリケーション21に対して出力することによりテストを行う。テスト条件情報については後述する。
実行結果出力部32は、テスト自動実行部31により実行された実行結果を出力し、表示装置30に表示させる。
その他の構成は、実施例1と同様であり、重複した説明を省略する。
次に、上述のように構成された本実施の形態の作用を説明する。本実施例のソフトウェアテスト支援装置1bは、直交表生成部28が直交表を生成するところまで実施例1のソフトウェアテスト支援装置1aと同様の動作を行う。直交表生成部18は、生成した直交表を直交表出力部29のみならず、テスト自動実行部31に対しても出力する。
また、GUI情報判定部27は、テスト自動実行部31に対して因子とその部品種、部品情報を関連付けた情報(被テストGUI部品の部品情報)を出力する。図7は、本実施例のソフトウェアテスト支援装置1bのGUI情報判定部27によるテスト自動実行部に対する出力例を示す図である。なお、テスト自動実行部31が図7に示すような部品情報を必要とするのは、単に図5に示すような直交表を直交表生成部28から受け取るのみでは、部品情報及び因子と部品情報との対応関係に関する情報が失われており、テストの自動実行を行うにあたって支障をきたすためである。
また、GUI情報判定部27は、表示装置30に対しても部品情報を出力し、表示装置30に表示させる。これにより、ユーザは、部品情報を画面上で確認することができる。同様に、直交表出力部29は、実施例1の場合と同様に、直交表生成部28により生成された直交表を表示装置30に出力する。
ユーザは、ディスプレイ等の表示装置30に表示された部品情報及び直交表を確認し、実行順序を選択して入力装置25から入力する。実行順序とは、直交表の列に対する順序と行に対する順序との2つの要素からなる。
例えば、図5に示す直交表において、ユーザは、自由にテストが行われる順番を変更することができる。図5の直交表は、16個のテストケースを示しているが、ユーザは、テストの実行順序を例えばテストケース2,8,3,5,1,・・・のように任意に変更することができる。
さらに、ユーザは、同じテストケース内における因子の実行順序の変更も可能である。例えば、図5の直交表における1つ目のテストケースにおいて、テスト自動実行部31は、最初にラジオボタンに対して「バス」が選択されるようにメッセージを送信し、次に「昼食付き」、「ホテルグレードアップ」、「夕食グレードアップ」、「ゴルフ付き」、「ナイトショー付き」、「オーロラ体験」のキャプションを持つチェックボックスに対して、順番にチェックのメッセージを送信する。
ところが、ユーザが入力装置25を介して事前に順序を指定することにより、列の実行順序を変更して設定することができる。これにより、例えば「夕食グレードアップ」、「オーロラ体験」、「昼食付き」、「ナイトショー付き」、「ホテルグレードアップ」、「ゴルフ付き」の順序にチェックし、最後にラジオボタンの選択を行うといったテストも可能である。
ユーザによる列の実行順序の変更を可能としているのは、列の実行順序によっては結果に変化が出てしまう場合があると想定されるためである。1例としては、プッシュボタンを押すと画面の状態が変化するような場合であり、ユーザは、プッシュボタンの順番を最後にするか、プッシュボタンに対するテストを行わないように指定することも可能である。
次に、テスト自動実行部31の動作について説明する。図8は、本実施例のソフトウェアテスト支援装置1bのテスト自動実行部31の動作を示すフローチャート図である。テスト自動実行部31は、直交表の各行に対してそれぞれ図8に示す流れを実行する。
テスト自動実行部31は、まず、ユーザから入力された直交表の行の実行順序に従って、直交表から1行を入力する(ステップS31)。次に、テスト自動実行部31は、入力された行に対してユーザから入力された列の実行順序に従って、1列を入力する(ステップS32)。次に、テスト自動実行部31は、GUI情報判定部27から取得した図7に示す情報に基づき、1列の因子に対応した部品種、部品情報を取得する。
次に、テスト自動実行部31は、取得した部品種、部品情報からそれぞれの部品に対応したメッセージを作成する(ステップS34)。ここで、テスト自動実行部31は、図4の流れと同様の処理を行うが、「因子、水準の決定」のプロセスに代わって「対応するメッセージの作成処理」を行うものとする。ここで、メッセージとは、各部品に対し可能な操作を外部から入力することができる機能である。
最後に、テスト自動実行部31は、被テストアプリケーション21に対してメッセージを出力する(ステップS35)。この際に、テスト自動実行部31は、メッセージを実際に送信(実行)してもよいし、メッセージを送信するスクリプトを作成してもよい。テスト自動実行部31は、以上説明したステップS32〜ステップS35のプロセスを取得した行の全列に対して繰り返す(ステップS36)ことにより、1回のテストケースを実行できる。
実行結果出力部32は、テスト自動実行部31により実行された実行結果を出力し、表示装置30に表示させる。この際に、実行結果出力部32は、被テストアプリケーションに対するテスト結果をそのままディスプレイ等の表示装置30に表示させてもよいし、テスト結果が容易に理解できるように適切な形に変えて表示させてもよい。例えば、実行結果出力部32は、画面をキャプチャして画面の変化を観察したものを出力してもよいし、GUI情報を再度取得して特定の部品の出力結果を取得してもよい。1例として、図2に示す画面例の場合には、チェックの結果によって「金額」のエディットボックスが変化すると想定されるので、実行結果出力部32は、この「金額」の値を好適な形で出力する等が考えられる。また、テストの結果エラー等が生じる場合には、実行結果出力部32は、生じたエラーの種類等を出力してもよい。
なお、実行結果出力部32は、表示装置30にテストの実行結果を表示させる代わりに(あるいは表示させるとともに)、メモリ等の記憶部やネットワーク上のデータベース等にテストの実行結果を出力してもよい。
その他の作用は、実施例1と同様であり、重複した説明を省略する。
上述のとおり、本発明の実施例2の形態に係るソフトウェアテスト支援装置1bによれば、実施例1と同様の効果に加え、画面を持つ被テストアプリケーションから出力された直交表の各行のテストケースを、ユーザから指定された順序で自動的に実行することができる。その際、ユーザは、表示装置30に表示されたGUI部品からテストを望む部品を選ぶことにより、容易にテストを実行することができる。また、ユーザが直接GUIを持つアプリケーションのテストケースを手入力で実行する方法に比して、本実施例のソフトウェアテスト支援装置1bは、生成した直交表に基づいて高速且つ短時間にテストを行うことができる。
また、スクリプトの出力により、同じ操作を繰り返し再現することができることになり、操作ミスを防ぎ、結果としてテストの効率化を図ることができる。
本発明に係るソフトウェアテスト支援装置は、直交表を利用したテスト項目を作成するソフトウェアテスト支援装置に利用可能である。
1a,1b ソフトウェアテスト支援装置
11 被テストアプリケーション
12 GUI情報抽出部
13 GUI情報記憶部
14 GUI情報表示制御部
15 入力装置
16 表示装置
17 GUI情報判定部
18 直交表生成部
19 直交表出力部
21 被テストアプリケーション
22 GUI情報抽出部
23 GUI情報記憶部
24 GUI情報表示制御部
25 入力装置
27 GUI情報判定部
28 直交表生成部
29 直交表出力部
30 表示装置
31 テスト自動実行部
32 実行結果出力部

Claims (6)

  1. GUIを有する被テストアプリケーションから表示装置に表示するための画面情報をGUI情報として抽出するGUI情報抽出部と、
    前記GUI情報抽出部により抽出されたGUI情報を前記表示装置に表示させるGUI情報表示制御部と、
    前記GUI情報抽出部により抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定するGUI情報判定部と、
    前記GUI情報判定部により決定された因子・水準に基づいて直交表を生成する直交表生成部と、
    を備えることを特徴とするソフトウェアテスト支援装置。
  2. 前記GUI情報判定部は、被テストGUI部品の判定を行う際に、各部品の部品種がプッシュボタン、チェックボックス、ラジオボタン、コンボボックス、及びエディットボックスのいずれの部品種であるかを判定し、部品種に応じた因子・水準を決定することを特徴とする請求項1記載のソフトウェアテスト支援装置。
  3. 前記GUI情報判定部により判定された被テストGUI部品の部品情報と前記直交表生成部により生成された直交表とユーザにより外部から入力されたテスト条件情報とに基づいて前記被テストアプリケーションに対するテストを行うテスト自動実行部を備えることを特徴とする請求項1又は請求項2記載のソフトウェアテスト支援装置。
  4. 前記テスト自動実行部は、前記テスト条件情報に基づいて前記直交表の行と列の実行順序を決定するとともに、前記実行順序に基づいて被テストアプリケーションを制御するためのメッセージを生成し、前記メッセージを前記被テストアプリケーションに対して出力することによりテストを行うことを特徴とする請求項3記載のソフトウェアテスト支援装置。
  5. GUIを有する被テストアプリケーションから表示装置に表示するための画面情報をGUI情報として抽出するGUI情報抽出ステップと、
    前記GUI情報抽出ステップにより抽出されたGUI情報を前記表示装置に表示させるGUI情報表示制御ステップと、
    前記GUI情報抽出ステップにより抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定するGUI情報判定ステップと、
    前記GUI情報判定ステップにより決定された因子・水準に基づいて直交表を生成する直交表生成ステップと、
    を備えることを特徴とするソフトウェアテスト支援方法。
  6. GUIを有する被テストアプリケーションから表示装置に表示するための画面情報をGUI情報として抽出する処理と、
    抽出されたGUI情報を前記表示装置に表示させる処理と、
    抽出されたGUI情報とユーザにより外部から入力されたテスト対象を特定するためのテスト対象情報とに基づいて被テストGUI部品の判定を行うとともに、判定結果に基づいて因子・水準を決定する処理と、
    決定された因子・水準に基づいて直交表を生成する処理と、
    をコンピュータに実行させることを特徴とするプログラム。
JP2009186718A 2009-08-11 2009-08-11 ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム Pending JP2011039786A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009186718A JP2011039786A (ja) 2009-08-11 2009-08-11 ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009186718A JP2011039786A (ja) 2009-08-11 2009-08-11 ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2011039786A true JP2011039786A (ja) 2011-02-24

Family

ID=43767491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009186718A Pending JP2011039786A (ja) 2009-08-11 2009-08-11 ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2011039786A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097404A (ja) * 2011-10-28 2013-05-20 Mitsubishi Electric Corp ソフトウェア試験支援装置、ソフトウェア試験支援方法、及びプログラム
WO2014141510A1 (ja) * 2013-03-15 2014-09-18 富士ゼロックス株式会社 テスト設計支援装置、テスト設計支援方法、プログラム及びコンピュータ読み取り媒体
JP2014186407A (ja) * 2013-03-22 2014-10-02 Hitachi Ltd テストケース生成方法、テストケース生成装置およびプログラム
JP2018112919A (ja) * 2017-01-12 2018-07-19 株式会社日立製作所 テスト入力情報検索装置及び方法
WO2023281756A1 (ja) * 2021-07-09 2023-01-12 日本電信電話株式会社 交通シミュレーション装置、交通シミュレーション方法および交通シミュレーションプログラム
JP7494558B2 (ja) 2020-05-15 2024-06-04 コニカミノルタ株式会社 ユーザーインターフェイスの操作パターンを生成するプログラムおよび操作パターン生成装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097404A (ja) * 2011-10-28 2013-05-20 Mitsubishi Electric Corp ソフトウェア試験支援装置、ソフトウェア試験支援方法、及びプログラム
WO2014141510A1 (ja) * 2013-03-15 2014-09-18 富士ゼロックス株式会社 テスト設計支援装置、テスト設計支援方法、プログラム及びコンピュータ読み取り媒体
JP2014178921A (ja) * 2013-03-15 2014-09-25 Fuji Xerox Co Ltd テスト設計支援装置及びプログラム
US20150317241A1 (en) * 2013-03-15 2015-11-05 Fuji Xerox Co., Ltd. Test design assistance device, test design assistance method, and computer-readable medium
CN105074668A (zh) * 2013-03-15 2015-11-18 富士施乐株式会社 测试设计辅助装置、测试设计辅助方法、程序和计算机可读介质
CN105074668B (zh) * 2013-03-15 2017-11-03 富士施乐株式会社 测试设计辅助装置和测试设计辅助方法
JP2014186407A (ja) * 2013-03-22 2014-10-02 Hitachi Ltd テストケース生成方法、テストケース生成装置およびプログラム
JP2018112919A (ja) * 2017-01-12 2018-07-19 株式会社日立製作所 テスト入力情報検索装置及び方法
JP7494558B2 (ja) 2020-05-15 2024-06-04 コニカミノルタ株式会社 ユーザーインターフェイスの操作パターンを生成するプログラムおよび操作パターン生成装置
WO2023281756A1 (ja) * 2021-07-09 2023-01-12 日本電信電話株式会社 交通シミュレーション装置、交通シミュレーション方法および交通シミュレーションプログラム

Similar Documents

Publication Publication Date Title
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
JP6354457B2 (ja) アプリケーション開発支援装置、そのデータ処理方法、およびプログラム
KR20070069010A (ko) 아이콘 데이터 처리 시스템, 확장가능 아이콘 관리 방법 및컴퓨터 판독가능 저장 매체
JP6514084B2 (ja) 操作支援システム、操作支援方法、および、操作支援プログラム
JP2019525373A (ja) テストケースの生成方法
JP2011039786A (ja) ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム
WO2018036529A1 (zh) 一种可视化测试报告生成方法
JP2007304660A (ja) コマンド実行結果記録システム及びコマンド実行結果記録方法
JP5454783B2 (ja) Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム
JP2009217473A (ja) プラント情報表示装置およびプラント情報表示方法
JP2009163609A (ja) テストデータ生成用プログラム、および装置
JP2016004414A (ja) プログラム編集装置、方法、およびプログラム
JPWO2014167623A1 (ja) プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
US20130007697A1 (en) Program creation support apparatus, program, and information system
JP5937245B1 (ja) 運用手順評価装置および運用手順評価プログラム
US20130326466A1 (en) Human Readable Software Program Test Step
JP7113765B2 (ja) コード管理システムおよびコード管理方法
JP2008083979A (ja) 電子部品検索システム及び電子部品検索プログラム
US20150026570A1 (en) Report creating support apparatus, method for the same, and computer-readable storage medium
JP4767309B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP2008197897A (ja) テストパターン作成装置及び作成方法
JP6097231B2 (ja) プログラム生成装置および方法
US20180121044A1 (en) Run-time event handler generation in json environments
JP7160327B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2018036530A1 (zh) 一种测试设计书生成方法