JP2004110267A - Test conducting device, method, and program - Google Patents

Test conducting device, method, and program Download PDF

Info

Publication number
JP2004110267A
JP2004110267A JP2002270082A JP2002270082A JP2004110267A JP 2004110267 A JP2004110267 A JP 2004110267A JP 2002270082 A JP2002270082 A JP 2002270082A JP 2002270082 A JP2002270082 A JP 2002270082A JP 2004110267 A JP2004110267 A JP 2004110267A
Authority
JP
Japan
Prior art keywords
sequence
state
user
execution
attribute
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
JP2002270082A
Other languages
Japanese (ja)
Inventor
Satoyuki Yamaguchi
山口 聡之
Chikashi Kosaka
小坂 史
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2002270082A priority Critical patent/JP2004110267A/en
Publication of JP2004110267A publication Critical patent/JP2004110267A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a test conducting device, method and program capable of easily and reliably conducting an automatic test on a software including a GUI. <P>SOLUTION: A state DB stores the state of a GUI part. An operation DB stores both a user sequence which a user designates when conducting a test and a supplementary sequence which is supplemented so that the user sequence is carried out according to the procedure intended. The procedure of executing the user sequence is stored in a user sequence execution procedure part. A sequence executing part, when executing the user sequence according to the procedure of executing the user sequence, checks the state of the GUI part by means of a state checking part; if the user sequence can be executed under the state of the GUI part checked, the user sequence is executed; if the user sequence cannot be executed under the state of the GUI part checked, the user sequence is executed after the supplementary sequence supplemented by a supplementing part is executed. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、テスト実行装置、方法およびプログラムに関し、特に、GUIを含むソフトウェアのテストの自動化を実現するテスト実行装置、方法およびプログラムに関する。
【0002】
【従来の技術】
近年、ユーザに対する情報の表示にグラフィックを多用し、大半の基礎的な操作をマウス等のポインティングデバイスによって行うことができるGUI(Graphical User Interface)をベースとしたソフトウェアが主流となり、最近ではGUIを利用するための基本的なプログラムをOS(Operating System)が提供することにより、アプリケーションソフトの操作感の統一および開発負担の軽減等が図れている。
【0003】
そして、ソフトウェアの開発段階においては、作成したソフトウェアが仕様通りに動作するかを確認するためのテストが行われ、従来、人手によりマウス若しくはキーボード等の操作を行うことで、テストを実行していた。更に、人手によるテストの実行の手間を省くために、最近では、テストの自動化を実現するために、自動テストが提案されている。
【0004】
ここで、従来利用されてきた自動テストは、テスト実行時の人手によるマウス若しくはキーボード等の操作手順を一旦記録し、記録した操作手順を再現することで、テストを実行するという記録再現型がほとんどであった。
【0005】
【発明が解決しようとする課題】
しかし、記録再生型では、記録した操作手順でしか再現できないため、全てのテストについて予め操作手順を入力しなければならなかった。更に、GUIの機能が複雑になるに連れ、操作によって動的に変化するウィンドウの配置および種類との組み合わせが莫大になるため、入力する操作の組み合わせも莫大になり、全ての操作の組み合わせを漏れなく入力することは困難であるという問題がある。
【0006】
また、記録再生型では、記録した操作手順の通りに実行することしかできないため、テスト実行時に何らかの不具合が発生してしまうと、テストの実行を中止してしまうので、結局テスト実行時には誰かがテストを監視しなければならないという問題がある。
【0007】
そこで、本発明は、GUIを含むソフトウェアの自動テストを容易に且つ確実に行うことが可能なテスト実行装置、方法およびプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するために、請求項1の発明は、GUIを基にするソフトウェアのテストを行うテスト実行方法において、前記ソフトウェアのGUI部に関する状態の状態属性を定義し、前記テストを行う際の具体的な操作の要素であるユーザシーケンスおよびユーザシーケンスの実行を補完する補完シーケンスを定義するとともに、該ユーザシーケンスおよび該補完シーケンスに、実行前後の状態属性変化を示す状態属性変化情報を設定し、前記ソフトウェアのテストを行う際に、該ソフトウェアのGUI部の状態属性を確認し、該確認したGUI部の状態属性の元において前記ユーザシーケンスが実行可能か否か前記状態属性変化情報に基づいて確認し、前記ユーザシーケンスが実行不可能な場合、前記GUI部の状態属性を該ユーザシーケンスが実行可能な状態属性に変化させることが可能な補完シーケンスを前記状態属性変化情報に基づいて検索し、該検索した補完シーケンスを実行した後に該ユーザシーケンスを実行することを特徴とする。
【0009】
また、請求項2の発明は、請求項1の発明において、前記状態属性変化情報として、前記ユーザシーケンスおよび前記補完シーケンスの実行において、該実行に必須な状態属性を示す前状態属性と、該実行により変化した状態属性を示す後状態属性とを設定することを特徴とする。
【0010】
また、請求項3の発明は、請求項2の発明において、前記ソフトウェアのGUI部の状態属性がユーザシーケンスに設定された前状態属性と一致しない場合、該前状態属性と一致する後状態属性が設定された補完シーケンスを検索し、該検索した補完シーケンスに設定された前状態属性が前記ソフトウェアのGUI部の状態属性と一致しない際は、該ソフトウェアのGUI部の状態属性と一致する前状態属性が設定された補完シーケンスを検索するまで、検索を繰り返すことを特徴とする。
【0011】
また、請求項4の発明は、請求項1の発明において、第1のユーザシーケンス群を実行した後に第2のユーザシーケンス群を実行する手順のテストを行う際に、該第1のユーザシーケンス群内のユーザシーケンス若しくは補完シーケンスが実行不可能な場合、該第1のユーザシーケンス群の実行を回避し、前記GUI部の状態属性を該第2のユーザシーケンス群の最初のユーザシーケンスが実行可能な状態属性に変化させることが可能な一連の補完シーケンスを前記状態属性変化情報に基づいて検索し、該検索した補完シーケンスを実行した後に該第2のユーザシーケンス群を実行することを特徴とする。
【0012】
また、請求項5の発明は、GUIを基にするソフトウェアのテストを行うテスト実行装置において、前記ソフトウェアのGUI部に関する状態の状態属性を記憶する状態属性記憶手段と、前記テストを行う際の具体的な操作の要素であるユーザシーケンスおよびユーザシーケンスの実行を補完する補完シーケンスを記憶するシーケンス記憶手段と、前記ユーザシーケンスおよび前記補完シーケンスに、実行前後の状態属性変化を示す状態属性変化情報を設定する状態属性変化情報設定手段と、前記ソフトウェアのテストとして、複数のユーザシーケンスの実行手順を設定する実行手順設定手段と、前記実行手順設定手段で設定した複数のユーザシーケンスの実行手順に従ってユーザシーケンスを実行するシーケンス実行手段と、前記ユーザシーケンス実行手段がユーザシーケンスを実行する際に、前記ソフトウェアのGUI部の状態属性を確認する状態属性確認手段と、前記状態属性確認手段で確認したGUI部の状態属性の元において前記ユーザシーケンスが実行不可能である場合、前記GUI部の状態属性を該ユーザシーケンスが実行可能な状態属性に変化させることが可能な補完シーケンスを前記状態属性変化情報に基づいて補完する補完手段とを具備し、前記シーケンス実行手段は、補完手段で補完された補完シーケンスを実行した後に前記ユーザシーケンスを実行することを特徴とする。
【0013】
また、請求項6の発明は、請求項5の発明において、前記状態属性変化情報設定手段は、前記ユーザシーケンスおよび前記補完シーケンスの実行において、該実行に必須な状態属性を示す前状態属性と、該実行により変化した状態属性を示す後状態属性とを設定することを特徴とする。
【0014】
また、請求項7の発明は、請求項6の発明において、前記補完手段は、
前記ソフトウェアのGUI部の状態属性がユーザシーケンスに設定された前状態属性と一致しない場合、該前状態属性と一致する後状態属性が設定された補完シーケンスを検索し、該検索した補完シーケンスに設定された前状態属性が前記ソフトウェアのGUI部の状態属性と一致しない際は、該ソフトウェアのGUI部の状態属性と一致する前状態属性が設定された補完シーケンスを検索するまで、検索を繰り返すことを特徴とする。
【0015】
また、請求項8の発明は、請求項5の発明において、第1のユーザシーケンス群を実行した後に第2のユーザシーケンス群を実行するテストの際に、第1のユーザシーケンス群内のユーザシーケンス若しくは補完シーケンスが実行不可能な場合、前記補完手段は、前記GUI部の状態属性を該第2のユーザシーケンス群の最初のユーザシーケンスが実行可能な状態属性に変化させることが可能な一連の補完シーケンスを前記状態属性変化情報に基づいて検索し、前記シーケンス実行手段は、第1のユーザシーケンス群の実行を回避し、前記補完手段で検索した補完シーケンスを実行した後に該第2のユーザシーケンスを実行することを特徴とする。
【0016】
また、請求項9の発明は、GUIを基にするソフトウェアのテストを行うテスト実行プログラムにおいて、前記ソフトウェアのGUI部に関する状態の状態属性を定義する処理と、前記テストを行う際の具体的な操作の要素であるユーザシーケンスおよびユーザシーケンスの実行を補完する補完シーケンスを定義するとともに、該ユーザシーケンスおよび該補完シーケンスに、実行前後の状態属性変化を示す状態属性変化情報を設定する処理と、前記ソフトウェアのテストを行う際に、該ソフトウェアのGUI部の状態属性を確認する処理と、該確認したGUI部の状態属性の元において前記ユーザシーケンスが実行可能か否か前記状態属性変化情報に基づいて確認する処理と、前記ユーザシーケンスが実行不可能な場合、前記GUI部の状態属性を該ユーザシーケンスが実行可能な状態属性に変化させることが可能な補完シーケンスを前記状態属性変化情報に基づいて検索する処理と、該検索した補完シーケンスを実行した後に該ユーザシーケンスを実行する処理とをコンピュータに動作させることを特徴とする。
【0017】
また、請求項10の発明は、請求項9の発明において、前記状態属性変化情報として、前記ユーザシーケンスおよび前記補完シーケンスの実行において、該実行に必須な状態属性を示す前状態属性と、該実行により変化した状態属性を示す後状態属性とを設定することを特徴とする。
【0018】
また、請求項11の発明は、請求項10の発明において、前記ソフトウェアのGUI部の状態属性がユーザシーケンスに設定された前状態属性と一致しない場合、該前状態属性と一致する後状態属性が設定された補完シーケンスを検索する処理と、該検索した補完シーケンスに設定された前状態属性が前記ソフトウェアのGUI部の状態属性と一致しない際は、該ソフトウェアのGUI部の状態属性と一致する前状態属性が設定された補完シーケンスを検索するまで、検索を繰り返す処理とをコンピュータに動作させることを特徴とする。
【0019】
また、請求項12の発明は、請求項9の発明において、第1のユーザシーケンス群を実行した後に第2のユーザシーケンス群を実行する手順のテストを行う際に、該第1のユーザシーケンス群内のユーザシーケンスもしくは補完シーケンスが実行不可能な場合、前記GUI部の状態属性を該第2のユーザシーケンス群の最初のユーザシーケンスが実行可能な状態属性に変化させることが可能な一連の補完シーケンスを前記状態属性変化情報に基づいて検索する処理と、前記第1のユーザシーケンス群の実行を回避し、該第2のユーザシーケンス群の最初のユーザシーケンスを実行する処理とをコンピュータに動作させることを特徴とする。
【0020】
【発明の実施の形態】
以下、本発明に係わるテスト実行装置、方法およびプログラムの実施の形態について添付図面を参照して詳細に説明する。
【0021】
図1は、本発明に係わるテスト実行装置1の概略構成の一例を示すブロック図である。
【0022】
図1に示すように、テスト実行装置1は、入力部2、状態DB3、操作DB4、ユーザシーケンス実行手順部5、シーケンス実行部6、状態確認部7、補完部8から構成されている。
【0023】
ここで、状態DB3はソフトウェアのGUI部に関する状態を保存し、操作DB4はテストを実行する際にユーザが指定するユーザシーケンスと、ユーザシーケンスが手順通りに実行するために補完される補完シーケンスとを保存する。なお、ユーザは入力部2でGUI部の状態、ユーザシーケンスおよび補完シーケンスを作成して状態DB3または操作DB4に保存する。
【0024】
ユーザは、実行するテストに基づいてユーザシーケンスの実行手順を入力部2からユーザシーケンス実行手順部5に入力する。
【0025】
そして、シーケンス実行部6はユーザシーケンス実行手順部5から指示されるユーザシーケンスの実行手順に従ってユーザシーケンスを実行する。なお、ユーザシーケンスを実行する際に、状態確認部7でGUI部の状態を確認し、確認したGUI部の状態の元でユーザシーケンスが実行できる場合は、ユーザシーケンスを実行し、また、確認したGUI部の状態の元でユーザシーケンスが実行できない場合、補完部8で補完した補完シーケンスを実行した後に、ユーザシーケンスを実行する。
【0026】
図2は、本実施例におけるGUI部の状態、シーケンスおよびシーケンス要素について詳細に説明する図である。
【0027】
本実施例において、図2に示すように、「S1」、「S2」、「S3」、「S4」および「S5」をシーケンス要素とし、順番のある一連のシーケンス要素の集合をシーケンスとしている。
【0028】
そして、シーケンス要素を実行する度に、実行の対象となるソフトウェアのGUI部に関する状態は変化していく。例えば、図2のように、初めGUI部の状態が「状態A」だとすると、「状態A」の元でシーケンス要素「S1」を実行することで「状態B」に変化し、「状態B」の元でシーケンス要素「S2」を実行することで「状態C」に変化し、「状態C」の元でシーケンス要素「S3」を実行することで「状態D」に変化し、「状態D」の元でシーケンス要素「S4」を実行することで「状態E」に変化し、「状態E」の元でシーケンス要素「S5」を実行することで「状態F」に変化している。
【0029】
ここで、シーケンス要素を実行するための前提とする状態を「PRE状態」とし、シーケンス要素を実行した後の状態を「POST状態」とし、各シーケンス要素に状態変化の情報として「PRE状態」と「POST状態」とを付加する。これは、図2のように、シーケンス要素「S1」には、「PRE状態=状態A」、「POST状態=状態B」、「SEQ1」という操作を実行するという情報が付加され、また、シーケンス要素「S2」には、「PRE状態=状態B」、「POST状態=状態C」、「SEQ2」という操作を実行するという情報が付加され、また、シーケンス要素「S3」には、「PRE状態=状態C」、「POST状態=状態D」、「SEQ3」という操作を実行するという情報が付加され、また、シーケンス要素「S4」には、「PRE状態=状態D」、「POST状態=状態E」、「SEQ4」という操作を実行するという情報が付加され、また、シーケンス要素「S5」には、「PRE状態=状態E」、「POST状態=状態F」、「SEQ5」という操作を実行するという情報が付加されている。なお、「PRE状態」がGUI部の状態と一致しなければ、シーケンス要素を実行することはできない。
【0030】
次に、ユーザシーケンスを実行する際に補完シーケンスを補完する処理について詳細に説明する。
【0031】
図3は、状態DB3に保存されたGUI部の状態の一例、および操作DB4に保存されたユーザシーケンスおよび補完シーケンスの一例を示す図である。
【0032】
図3に示すように、状態DB3には「状態A」、「状態B」、「状態C」、「状態D」、「状態E」および「状態F」が保存され、操作DB4にはユーザシーケンスである「USER SEQ1」および「USER SEQ2」、補完シーケンスである「補完SEQ1」、「補完SEQ2」および「補完SEQ3」が保存されている。
【0033】
ここで、「USER SEQ1」は「PRE状態=状態C」なので、GUI部の状態が「状態C」でなければ、「USER SEQ1」を実行することはできず、また、「USER SEQ2」は「PRE状態=状態E」なので、GUI部の状態が「状態E」でなければ、「USER SEQ2」を実行することはできない。
【0034】
また、「補完SEQ1」は「PRE状態=状態A」、「POST状態=状態B」であり、「補完SEQ2」は「PRE状態=状態B」、「POST状態=状態C」であり、「補完SEQ3」は「PRE状態=状態D」、「POST状態=状態E」である。
【0035】
図4は、ユーザシーケンスを手順通りに実行するために、補完シーケンスを補完する処理を示す図である。
【0036】
GUI部の状態が「状態A」である際に、「USER SEQ1」から「USER SEQ2」の手順でテストを実行する(図4(a)参照)。しかし、「USER SEQ1」は「PRE状態=状態C」なので、「状態A」の元では「USER SEQ1」を実行することはできない。
【0037】
そこで、「POST状態=状態C」である補完シーケンスを操作DBから検索し、「USER SEQ1」の実行の前に、「POST状態=状態C」である「補完SEQ2」の実行を仮決定する。しかし、「補完SEQ2」は「PRE状態=状態B」なので、「状態A」の元では「補完SEQ2」を実行することはできないため、「POST状態=状態B」である補完シーケンスを操作DBから検索し、「補完SEQ2」の実行の前に、「POST状態=状態B」である「補完SEQ1」の実行を仮決定する。ここで、「補完SEQ1」は「PRE状態=状態A」なので、「状態A」の元で「補完SEQ1」を実行することができる(図4(b)参照)。
【0038】
そして、「状態A」の元で「補完SEQ1」を実行すると、GUI部の状態が「状態B」に変化する。
【0039】
同様に、「POST状態=状態C」である補完シーケンスを操作DBから検索し、「USER SEQ1」の実行の前に、「POST状態=状態C」である「補完SEQ2」の実行を仮決定し、「補完SEQ2」は「PRE状態=状態B」なので、「状態B」の元で「補完SEQ2」を実行する。
【0040】
そして、GUI部の状態が「状態C」に変化し、次に「状態C」の元で「USER SEQ1」を実行すると、GUI部の状態が「状態D」に変化する(図4(c)参照)。
【0041】
ここで、GUI部の状態が「状態D」である際に、「USER SEQ2」の実行を試みるも、「USER SEQ2」は「PRE状態=状態E」なので、「状態D」の元では「USER SEQ2」を実行することはできない。
【0042】
そこで、「POST状態=状態E」である補完シーケンスを操作DBから検索し、「USER SEQ2」の実行の前に、「POST状態=状態E」である「補完SEQ3」の実行を仮決定する。ここで、「補完SEQ3」は「PRE状態=状態D」なので、「状態D」の元で「補完SEQ3」を実行することができる(図4(d)参照)。
【0043】
そして、「状態D」の元で「補完SEQ3」を実行すると、GUI部の状態が「状態E」に変化し、次に「状態E」の元で「USER SEQ2」を実行すると、GUI部の状態が「状態F」に変化する(図4(e)参照)。
【0044】
以上のように、「USER SEQ1」の実行の前に「補完SEQ1」および「補完SEQ2」を補完し、「USER SEQ2」の実行の前に「補完SEQ3」を補完することで、ユーザシーケンスを手順通りに実行することできる。
【0045】
次に、ユーザシーケンスを実行する際に行う処理手順について図5のフローチャートを参照して説明する。
【0046】
ユーザシーケンスの実行手順(一連のユーザシーケンス群)を入力し(ステップS501)、テストが開始すると、次に実行するユーザシーケンスを取り出す(ステップS502)。現在のGUI部の状態を確認し(ステップS503)、確認したGUI部の状態がユーザシーケンスの「PRE状態」と一致するか否か確認する(ステップS504)。
【0047】
ここで、現在のGUI部の状態がユーザシーケンスの「PRE状態」と一致しない場合(ステップS504でNO)、操作DBから「POST状態」がユーザシーケンスの「PRE状態」と一致する補完シーケンスを検索し(ステップS505)、検索した補完シーケンスの「PRE状態」が現在のGUI部の状態と一致するか否か確認する(ステップS506)。
【0048】
ここで、現在のGUI部の状態が補完シーケンスの「PRE状態」と一致しない場合(ステップS506でNO)、操作DBから「POST状態」が補完シーケンスの「PRE状態」と一致する補完シーケンスを検索し(ステップS507)、ステップ507に戻り、検索した補完シーケンスの「PRE状態」が現在のGUI部の状態と一致するか否か確認する。
【0049】
また、現在のGUI部の状態が補完シーケンスの「PRE状態」と一致する場合(ステップS506でYES)、検索した補完シーケンスを実行し(ステップS508)、ステップS503に戻る。
【0050】
また、ステップS504において、現在のGUI部の状態がユーザシーケンスの「PRE状態」と一致する場合(ステップS504でYES)、ユーザシーケンスを実行し(ステップS509)、未実行のユーザシーケンスが存在すれば(ステップS510でNO)、ステップS502に戻る。
【0051】
また、ステップS510において、未実行のユーザシーケンスが存在しなければ(ステップS510でYES)、処理手順を終了する。
【0052】
次に、何らかの理由でユーザシーケンスが実行不可能になってしまった場合、実行不可能なユーザシーケンスをスキップする際に行う処理について詳細に説明する。
【0053】
図6は、実行不可能なユーザシーケンスをスキップするために、補完シーケンスを補完する処理を示す図である。
【0054】
GUI部の状態が「状態A」である際に、ユーザシーケンス群▲1▼の「USERSEQ1」、「USER SEQ2」、および、ユーザシーケンス群▲2▼の「USER SEQ3」の手順でテストを実行しようと試みる(図6(a)参照)。
【0055】
そして、「状態A」の元で「USER SEQ1」を実行すると、GUI部の状態が「状態B」に変化する(図6(b)参照)。
【0056】
ここで、「USER SEQ2」が何らかの理由で実行不可能な場合、「USER SEQ2」をスキップしてユーザシーケンス群▲2▼の最初のユーザシーケンスである「USER SEQ3」を実行しようと試みるものの、「USER SEQ3」は「PRE状態=状態D」なので、「状態B」の元では「USER SEQ3」を実行することはできない。そこで、「POST状態=状態D」である補完シーケンスを操作DBから検索し、「USER SEQ3」の実行の前に、「POST状態=状態D」である「補完SEQ2」の実行を仮決定する。しかし、「補完SEQ2」は「PRE状態=状態C」なので、「状態B」の元では「補完SEQ2」を実行することはできないため、「POST状態=状態C」である補完シーケンスを操作DBから検索し、「補完SEQ2」の実行の前に、「POST状態=状態C」である「補完SEQ1」の実行を仮決定する。ここで、「補完SEQ1」は「PRE状態=状態B」なので、「状態B」の元で「補完SEQ1」を実行することができる(図6(c)参照)。
【0057】
そして、「状態B」の元で「補完SEQ1」を実行すると、GUI部の状態が「状態C」に変化し、同様に補完処理を実施した後に「状態C」の元で「補完SEQ2」を実行すると、GUI部の状態が「状態D」に変化し、次に「状態D」の元で「USER SEQ3」を実行すると、GUI部の状態が「状態E」に変化する(図6(d)参照)。
【0058】
以上のように、ユーザシーケンス群▲1▼の途中の「USER SEQ2」が実行不可能になっても、「USER SEQ3」の実行の前に「補完SEQ1」および「補完SEQ2」を補完し、「USER SEQ2」をスキップして「USER SEQ3」の実行に移れることができ、後のユーザシーケンス群の実行を停止することなく一連のテストにおけるユーザシーケンスを手順通りに実行することできる。また、実行できたユーザシーケンスとスキップしたユーザシーケンスをログ等に記憶しておくことで、テスト実行者はそのログを見て、テストの解析を容易に行うことが可能になる。
【0059】
次に、実行不可能なユーザシーケンスをスキップする際に行う処理手順について図7のフローチャートを参照して説明する。なお、図5のフローチャートにおけるステップS509の処理が開始すると、図7のフローチャートが開始する。
【0060】
ユーザシーケンスが実行可能か否か確認し(ステップS701)、ユーザシーケンスが実行不可能な場合(ステップS701でNO)、次のユーザシーケンス群が存在するか否か確認する(ステップS702)。
【0061】
ここで、次のユーザシーケンス群が存在する場合(ステップS702でYES)、次のユーザシーケンスの「PRE状態」を確認し(ステップS703)、操作DBから「POST状態」が次のユーザシーケンスの「PRE状態」と一致する補完シーケンスを検索し(ステップS704)、検索した補完シーケンスの「PRE状態」が現在のGUI部の状態と一致するか否か確認する(ステップS705)。
【0062】
ここで、現在のGUI部の状態が補完シーケンスの「PRE状態」と一致しない場合(ステップS705でNO)、操作DBから「POST状態」が補完シーケンスの「PRE状態」と一致する補完シーケンスを検索し(ステップS706)、ステップ705に戻り、検索した補完シーケンスの「PRE状態」が現在のGUI部の状態と一致するか否か確認する。
【0063】
また、現在のGUI部の状態が補完シーケンスの「PRE状態」と一致する場合(ステップS705でYES)、検索した補完シーケンスを実行し(ステップS707)、次のユーザシーケンスを実行し(ステップS708)、処理手順を終了する。
【0064】
また、ステップS701において、ユーザシーケンスが実行可能な場合(ステップS701でYES)、ユーザシーケンスを実行し(ステップS709)、処理手順を終了する。
【0065】
また、ステップS702において、次のユーザシーケンス群が存在しない場合(ステップS702でNO)、実行不可能なユーザシーケンスをスキップし、処理手順を終了する。
【0066】
次に、ユーザシーケンスを実行する際に、補完シーケンスを補完する処理について具体的な実施例を参照して詳細に説明する。ここで、ある文書作成ソフトウェア(以後、Applicationと呼ぶ)で作成した文書を印刷するというテストを具体的な実施例とする。
【0067】
図8は、状態DB3に保存されたGUI部の状態の具体例、および操作DB4に保存されたユーザシーケンスおよび補完シーケンスの具体例を示す図である。
【0068】
図8に示すように、状態DB3には「Application画面がCLOSE」、「Application画面がOPEN」、「ファイル選択画面がOPEN」、「印刷画面がOPEN」および「プリンタドライバがOPEN」が保存され、操作DB4にはユーザシーケンスである「文書”xx”を開く」、「印刷実施」および「用紙サイズ”A4”に設定」、補完シーケンスである「Applicationを起動する」、「印刷画面を開く」、「プリンタドライバを閉じる」、「ファイル選択画面を開く」および「プリンタドライバを開く」が保存されている。
【0069】
図9は、ユーザシーケンスの実行手順を示す図である。
【0070】
図9に示すように、GUI部の状態が「Application画面がCLOSE」である際に、「文書”xx”を開く」、「用紙サイズ”A4”に設定」、「印刷実施」の手順で実行する。
【0071】
図10は、ユーザシーケンスを手順通りに実行するために、補完シーケンスを補完する処理の具体例を示す図である。
【0072】
GUI部の状態が「Application画面がCLOSE」である際に、ユーザシーケンスである「文書”xx”を開く」の実行を試みるも、「文書”xx”を開く」は「PRE状態=ファイル選択画面がOPEN」なので、「Application画面がCLOSE」の元では「文書”xx”を開く」を実行することはできない。
【0073】
そこで、「POST状態=ファイル選択画面がOPEN」である補完シーケンスを操作DBから検索し、「文書”xx”を開く」の実行の前に、「POST状態=ファイル選択画面がOPEN」である「ファイル選択画面を開く」の実行を仮決定する。しかし、「ファイル選択画面を開く」は「PRE状態=Application画面がOPEN」なので、「Application画面がCLOSE」の元では「ファイル選択画面を開く」を実行することはできない。
【0074】
そこで、「POST状態=Application画面がOPEN」である補完シーケンスを操作DBから検索し、「ファイル選択画面を開く」の実行の前に、「POST状態=Application画面がOPEN」である「Applicationを起動する」の実行を仮決定する。ここで、「Applicationを起動する」は「PRE状態=Application画面がCLOSE」なので、「Application画面がCLOSE」の元で「Applicationを起動する」を実行することができる。
【0075】
同様に補完操作により「Application画面がCLOSE」の実行を仮決定し、「Application画面がCLOSE」の元で「Applicationを起動する」を実行すると、GUI部の状態が「Application画面がOPEN」に変化し、次に「Application画面がOPEN」の元で「ファイル選択画面を開く」を実行すると、GUI部の状態が「ファイル選択画面がOPEN」に変化する。そして、「ファイル選択画面がOPEN」の元でユーザシーケンスである「文書”xx”を開く」を実行することができ、「文書”xx”を開く」を実行すると、GUI部の状態が「Application画面がOPEN」に変化する。
【0076】
ここで、GUI部の状態が「Application画面がOPEN」である際に、「用紙サイズ”A4”に設定」の実行を試みるも、「用紙サイズ”A4”に設定」は「PRE状態=プリンタドライバがOPEN」なので、「Application画面がOPEN」の元では「用紙サイズ”A4”に設定」を実行することはできない。
【0077】
そこで、「POST状態=プリンタドライバがOPEN」である補完シーケンスを操作DBから検索し、「用紙サイズ”A4”に設定」の実行の前に、「POST状態=プリンタドライバがOPEN」である「プリンタドライバを開く」の実行を仮決定する。しかし、「プリンタドライバを開く」は「PRE状態=印刷画面がOPEN」なので、「Application画面がOPEN」の元では「プリンタドライバを開く」を実行することはできない。
【0078】
そこで、「POST状態=印刷画面がOPEN」である補完シーケンスを操作DBから検索し、「プリンタドライバを開く」の実行の前に、「POST状態=印刷画面がOPEN」である「印刷画面を開く」の実行を仮決定する。ここで、「印刷画面を開く」は「PRE状態=Application画面がOPEN」なので、「Application画面がOPEN」の元で「印刷画面を開く」を実行することができる。
【0079】
同様に補完操作により「印刷画面を開く」の実行を仮決定し、「Application画面がOPEN」の元で「印刷画面を開く」を実行すると、GUI部の状態が「印刷画面がOPEN」に変化し、次に「印刷画面がOPEN」の元で「プリンタドライバを開く」を実行すると、GUI部の状態が「プリンタドライバがOPEN」に変化する。そして、「プリンタドライバがOPEN」の元でユーザシーケンスである「用紙サイズ”A4”に設定」を実行することができ、「用紙サイズ”A4”に設定」を実行し、GUI部の状態は「プリンタドライバがOPEN」のままである。
【0080】
ここで、GUI部の状態が「プリンタドライバがOPEN」である際に、「印刷実施」の実行を試みるも、「印刷実施」は「PRE状態=印刷画面がOPEN」なので、「プリンタドライバがOPEN」の元では「印刷実施」を実行することはできない。
【0081】
そこで、「POST状態=印刷画面がOPEN」である補完シーケンスを操作DBから検索し、「印刷実施」の実行の前に、「POST状態=印刷画面がOPEN(=プリンタドライバがCLOSE)」である「プリンタドライバを閉じる」の実行を仮決定する。ここで、「プリンタドライバを閉じる」は「PRE状態=プリンタドライバがOPEN」なので、「プリンタドライバがOPEN」の元で「プリンタドライバを閉じる」を実行することができる。
【0082】
そして、「プリンタドライバがOPEN」の元で「プリンタドライバを閉じる」を実行すると、GUI部の状態が「印刷画面がOPEN」に変化する。そして、「印刷画面がOPEN」の元でユーザシーケンスである「印刷実施」を実行することができ、「印刷実施」を実行し、テストは終了する。
【0083】
次に、図10で記述したユーザシーケンスを手順通りに実行するための補完シーケンスを補完する処理においての実際のGUI部の操作について説明する。
【0084】
図11は、ユーザシーケンスの実行手順の入力の一例を示す図である。
【0085】
図11に示すように、1番目の実行手順の操作の項目9に、「文書を開く」の操作が入力され、1番目の実行手順の値の項目10には、開く文書として「xx」が入力され、1番目のユーザシーケンスとして「文書”xx”を開く」が決定し、2番目の実行手順の操作の項目11に、「用紙サイズを設定」の操作が入力され、2番目の実行手順の値の項目12には、用紙サイズとして「A4」が入力され、2番目のユーザシーケンスとして「用紙サイズ”A4”を設定」が決定し、3番目の実行手順の操作の項目13に、「印刷実施」の操作が入力され、3番目のユーザシーケンスとして「印刷実施」が決定する。
【0086】
以上のように、ユーザシーケンスの実行手順を容易に入力することができる。
【0087】
図12は、図10におけるGUI部の状態が「Application画面がCLOSE」の元で補完シーケンスである「Applicationを起動する」を実行している際の操作を示す図である。
【0088】
図12に示すように、マウス等のポインティングデバイス14(以後、マウスと呼ぶ)により、「スタート」15をクリックし、「プログラム」16をクリックし、「Application」17をクリックすることで、Applicationが起動してApplication画面が開く。
【0089】
そして、Application画面が開くと、「ファイル選択画面を開く」の補完シーケンスが実行され、ファイル選択画面が開く。
【0090】
図13は、図10におけるGUI部の状態が「ファイル選択画面がOPEN」の元でユーザシーケンスである「文書”xx”を開く」を実行している際の操作を示す図である。
【0091】
図13に示すように、マウス14により、Application画面18に表示されたファイル選択画面19上の「xx」の文書名20を選択し、「開く」ボタン21をクリックすることで、文書”xx”が開くとともに、ファイル選択画面19が閉じる。
【0092】
図14は、図10におけるGUI部の状態が「Application画面がOPEN」の元で補完シーケンスである「印刷画面を開く」を実行している際の操作を示す図である。
【0093】
図14に示すように、文書”xx”22が表示され、マウス14により、「ファイル」23をクリックし、「印刷」24をクリックすることで、印刷画面が開く。
【0094】
図15は、図10におけるGUI部の状態が「印刷画面がOPEN」の元で補完シーケンスである「プリンタドライバを開く」を実行している際の操作を示す図である。
【0095】
図15に示すように、マウス14により、印刷画面25上の「プロパティ」のボタン26をクリックすることで、プリンタドライバが開く。
【0096】
図16は、図10におけるGUI部の状態が「プリンタドライバがOPEN」の元でユーザシーケンスである「用紙サイズ”A4”に設定」を実行した後、補完シーケンスである「プリンタドライバを閉じる」を実行している際の操作を示す図である。
【0097】
図16に示すように、マウス14により、プリンタドライバ27上の「用紙サイズ」のコンボボックス28を「A4 210×297 mm」に設定し、「OK」のボタン29をクリックすることで、プリンタドライバ27が閉じる。
【0098】
図17は、図10におけるGUI部の状態が「印刷画面がOPEN」の元でユーザシーケンスである「印刷実施」を実行している際の操作を示す図である。
【0099】
図17に示すように、マウス14により、印刷画面25上の「OK」のボタン30をクリックすることで、印刷が開始され、テストが終了する。
【0100】
なお、上記実施例で説明したテスト実行装置と同様の動作を行うことが可能なテスト実行プログラムを、一般的なPC(Personal Computer)にインストールする構成でも適用可能である。
【0101】
【発明の効果】
以上説明したように本発明によれば、GUIを含むソフトウェアの自動テストを容易に且つ確実に行うことを可能にするという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係わるテスト実行装置1の概略構成の一例を示すブロック図である。
【図2】本実施例におけるGUI部の状態、シーケンスおよびシーケンス要素について詳細に説明する図である。
【図3】状態DB3に保存されたGUI部の状態の一例、および操作DB4に保存されたユーザシーケンスおよび補完シーケンスの一例を示す図である。
【図4】ユーザシーケンスを手順通りに実行するために、補完シーケンスを補完する処理を示す図である。
【図5】ユーザシーケンスを実行する際に行う処理手順を示すフローチャートである。
【図6】実行不可能なユーザシーケンスをスキップするために、補完シーケンスを補完する処理を示す図である。
【図7】実行不可能なユーザシーケンスをスキップする際に行う処理手順を示すである。
【図8】状態DB3に保存されたGUI部の状態の具体例、および操作DB4に保存されたユーザシーケンスおよび補完シーケンスの具体例を示す図である。
【図9】ユーザシーケンスの実行手順を示す図である。
【図10】ユーザシーケンスを手順通りに実行するために、補完シーケンスを補完する処理の具体例を示す図である。
【図11】ユーザシーケンスの実行手順の入力の一例を示す図である。
【図12】図10におけるGUI部の状態が「Application画面がCLOSE」の元で補完シーケンスである「Applicationを起動する」を実行している際の操作を示す図である。
【図13】図10におけるGUI部の状態が「ファイル選択画面がOPEN」の元でユーザシーケンスである「文書”xx”を開く」を実行している際の操作を示す図である。
【図14】図10におけるGUI部の状態が「Application画面がOPEN」の元で補完シーケンスである「印刷画面を開く」を実行している際の操作を示す図である。
【図15】図10におけるGUI部の状態が「印刷画面がOPEN」の元で補完シーケンスである「プリンタドライバを開く」を実行している際の操作を示す図である。
【図16】図10におけるGUI部の状態が「プリンタドライバがOPEN」の元でユーザシーケンスである「用紙サイズ”A4”に設定」を実行した後、補完シーケンスである「プリンタドライバを閉じる」を実行している際の操作を示す図である。
【図17】図10におけるGUI部の状態が「印刷画面がOPEN」の元でユーザシーケンスである「印刷実施」を実行している際の操作を示す図である。
【符号の説明】
1  テスト実行装置
2  入力部
3  状態DB
4  操作DB
5  ユーザシーケンス実行手順部
6  シーケンス実行部
7  補完部
8  状態確認部
9  1番目の実行手順の操作の項目
10  1番目の実行手順の値の項目
11  2番目の実行手順の操作の項目
12  2番目の実行手順の値の項目
13  3番目の実行手順の操作の項目
14  マウス
15  「スタート」
16  「プログラム」
17  「Application」
18  Application画面
19  ファイル選択画面
20  「xx」の文書名
21  「開く」ボタン
22  文書”xx”
23  「ファイル」
24  「印刷」
25  印刷画面
26  「プロパティ」のボタン
27  プリンタドライバ
28  「用紙サイズ」のコンボボックス
29、30  「OK」のボタン
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a test execution device, a method, and a program, and more particularly, to a test execution device, a method, and a program that realizes automation of software test including a GUI.
[0002]
[Prior art]
In recent years, software based on a GUI (Graphical User Interface), which makes extensive use of graphics for displaying information to a user and allows most basic operations to be performed using a pointing device such as a mouse, has become mainstream. By providing an OS (Operating System) with a basic program for performing such operations, it is possible to unify the operational feeling of application software and reduce the development burden.
[0003]
In the software development stage, a test is performed to confirm that the created software operates as specified.Conventionally, the test was performed by manually operating a mouse or a keyboard. . Further, in order to save the labor of executing the test manually, recently, an automatic test has been proposed to realize the automation of the test.
[0004]
Here, most of the automatic tests that have been used in the past are mostly a record reproduction type in which a manual operation procedure such as a mouse or a keyboard at the time of test execution is temporarily recorded, and the recorded operation procedure is reproduced to execute the test. Met.
[0005]
[Problems to be solved by the invention]
However, in the recording / reproducing type, since it can be reproduced only by the recorded operation procedure, the operation procedure has to be input in advance for all tests. Furthermore, as the functions of the GUI become more complicated, the number of combinations of the window arrangements and types that dynamically change with the operation becomes enormous, so that the number of combinations of input operations becomes enormous, and all combinations of operations are omitted. There is a problem that it is difficult to input without it.
[0006]
In addition, since the recording / reproducing type can only be executed according to the recorded operation procedure, if any trouble occurs during the test execution, the test execution will be stopped. There is a problem that must be monitored.
[0007]
Therefore, an object of the present invention is to provide a test execution device, a method, and a program that can easily and reliably perform an automatic test of software including a GUI.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, according to a first aspect of the present invention, in a test execution method for testing software based on a GUI, a state attribute of a state related to a GUI portion of the software is defined, A user sequence that is a specific operation element and a complementary sequence that complements the execution of the user sequence are defined, and in the user sequence and the complementary sequence, state attribute change information indicating a state attribute change before and after execution is set, When the software is tested, a status attribute of a GUI portion of the software is checked, and whether or not the user sequence can be executed based on the checked status attribute of the GUI portion is checked based on the status attribute change information. If the user sequence cannot be executed, the status attribute of the GUI unit is changed to the user sequence. Cans complementary sequence which can be varied in executable state attributes to search on the basis of the state property change information, and executes the user sequence after performing the complementary sequence to the search.
[0009]
Further, according to the invention of claim 2, in the invention of claim 1, in the execution of the user sequence and the complementary sequence, a previous state attribute indicating a state attribute essential for the execution, and And setting a post-state attribute indicating the state attribute changed by (1).
[0010]
Also, in the invention according to claim 3, in the invention according to claim 2, when the status attribute of the GUI part of the software does not match the previous status attribute set in the user sequence, the post-status attribute matching the previous status attribute is changed to When the set complementary sequence is searched, and the previous state attribute set in the searched complementary sequence does not match the state attribute of the GUI part of the software, the previous state attribute matching the state attribute of the GUI part of the software The search is repeated until a complementary sequence in which is set is searched.
[0011]
According to a fourth aspect of the present invention, in the first aspect of the present invention, when performing a test of a procedure for executing the second user sequence group after executing the first user sequence group, the first user sequence group If the user sequence or the complementary sequence in the group cannot be executed, the execution of the first user sequence group is avoided, and the state attribute of the GUI unit is changed by the first user sequence of the second user sequence group. A series of complementary sequences that can be changed to state attributes are searched based on the state attribute change information, and after executing the searched complementary sequences, the second user sequence group is executed.
[0012]
According to a fifth aspect of the present invention, there is provided a test execution apparatus for testing software based on a GUI, wherein a state attribute storage means for storing a state attribute of a state related to a GUI portion of the software; Storage means for storing a user sequence, which is an element of a typical operation, and a complementary sequence that complements the execution of the user sequence, and state attribute change information indicating a state attribute change before and after execution is set in the user sequence and the complementary sequence. State attribute change information setting means to execute, as the software test, an execution procedure setting means for setting an execution procedure of a plurality of user sequences; and Executing sequence executing means; When the sequence execution means executes the user sequence, the user sequence is executed based on the state attribute confirmation means for confirming the state attribute of the GUI part of the software, and the state attribute of the GUI part confirmed by the state attribute confirmation means. If not possible, comprising a complementing means for complementing a complement sequence capable of changing a state attribute of the GUI unit to a state attribute executable by the user sequence based on the state attribute change information, The sequence executing means executes the user sequence after executing the complementary sequence complemented by the complementing means.
[0013]
The invention of claim 6 is the invention of claim 5, wherein the state attribute change information setting means, in the execution of the user sequence and the complementary sequence, a pre-state attribute indicating a state attribute essential for the execution; A post-state attribute indicating a state attribute changed by the execution is set.
[0014]
Also, in the invention according to claim 7, in the invention according to claim 6, the complementing means includes:
When the status attribute of the GUI part of the software does not match the previous status attribute set in the user sequence, a complementary sequence in which the post-status attribute matching the previous status attribute is set is searched, and the searched complementary sequence is set. If the pre-state attribute thus set does not match the status attribute of the GUI part of the software, the search is repeated until a complementary sequence in which the pre-state attribute matching the status attribute of the GUI part of the software is set is searched. Features.
[0015]
The invention according to claim 8 is the invention according to claim 5, wherein a user sequence in the first user sequence group is executed at the time of a test for executing the second user sequence group after executing the first user sequence group. Alternatively, when the complementing sequence is not executable, the complementing means may change a state attribute of the GUI unit to a state attribute capable of executing the first user sequence of the second user sequence group. A sequence is searched based on the state attribute change information, and the sequence executing means avoids execution of the first user sequence group, and executes the supplementary sequence searched by the complementing means to execute the second user sequence. It is characterized by executing.
[0016]
According to a ninth aspect of the present invention, in a test execution program for testing software based on a GUI, a process for defining a state attribute of a state related to a GUI portion of the software, and a specific operation for performing the test A process for defining a user sequence and a complementary sequence that complements the execution of the user sequence, and setting state attribute change information indicating a state attribute change before and after execution in the user sequence and the complementary sequence, and the software When performing the test, the process of confirming the state attribute of the GUI unit of the software and the confirmation of whether or not the user sequence can be executed based on the confirmed state attribute of the GUI unit based on the state attribute change information And the state of the GUI unit when the user sequence cannot be executed. A process of searching for a complementary sequence capable of changing an attribute to a state attribute executable by the user sequence based on the state attribute change information, and a process of executing the user sequence after executing the searched complementary sequence Are operated by a computer.
[0017]
According to a tenth aspect of the present invention, in the ninth aspect of the present invention, as the status attribute change information, in the execution of the user sequence and the complementary sequence, a previous status attribute indicating a status attribute essential for the execution; And setting a post-state attribute indicating the state attribute changed by (1).
[0018]
Also, in the invention according to claim 11, in the invention according to claim 10, when the state attribute of the GUI part of the software does not match the previous state attribute set in the user sequence, the post-state attribute matching the previous state attribute is changed to A process of searching for the set complementary sequence, and when the previous state attribute set in the searched complementary sequence does not match the state attribute of the GUI part of the software, the state before matching the state attribute of the GUI part of the software. Until a complementary sequence in which a state attribute is set is searched, a process of repeating the search is performed by a computer.
[0019]
According to a twelfth aspect of the present invention, in the ninth aspect of the present invention, when performing a test of a procedure for executing the second user sequence group after executing the first user sequence group, the first user sequence group A series of complementary sequences capable of changing the state attribute of the GUI unit to a state attribute executable by the first user sequence of the second user sequence group when the user sequence or the complementary sequence in the group cannot be executed. Causing the computer to perform a process of searching for the first user sequence group based on the state attribute change information and a process of avoiding execution of the first user sequence group and executing a first user sequence of the second user sequence group. It is characterized by.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a test execution device, a method, and a program according to the present invention will be described in detail with reference to the accompanying drawings.
[0021]
FIG. 1 is a block diagram showing an example of a schematic configuration of a test execution device 1 according to the present invention.
[0022]
As shown in FIG. 1, the test execution device 1 includes an input unit 2, a state DB 3, an operation DB 4, a user sequence execution procedure unit 5, a sequence execution unit 6, a state confirmation unit 7, and a complement unit 8.
[0023]
Here, the state DB 3 stores a state relating to the GUI portion of the software, and the operation DB 4 stores a user sequence specified by a user when executing a test and a complementary sequence that is complemented to execute the user sequence according to a procedure. save. The user creates the state of the GUI unit, the user sequence, and the complementary sequence using the input unit 2 and saves the created state in the state DB 3 or the operation DB 4.
[0024]
The user inputs a user sequence execution procedure from the input unit 2 to the user sequence execution procedure unit 5 based on a test to be executed.
[0025]
Then, the sequence execution unit 6 executes the user sequence according to the user sequence execution procedure specified by the user sequence execution procedure unit 5. When the user sequence is executed, the state of the GUI unit is confirmed by the state confirmation unit 7, and if the user sequence can be executed under the confirmed state of the GUI unit, the user sequence is executed and confirmed. If the user sequence cannot be executed under the state of the GUI unit, the user sequence is executed after executing the complemented sequence complemented by the complementing unit 8.
[0026]
FIG. 2 is a diagram for explaining in detail a state, a sequence, and a sequence element of the GUI unit in the present embodiment.
[0027]
In the present embodiment, as shown in FIG. 2, "S1,""S2,""S3,""S4," and "S5" are sequence elements, and a set of a sequence of sequence elements is a sequence.
[0028]
Then, every time the sequence element is executed, the state of the GUI part of the software to be executed changes. For example, as shown in FIG. 2, when the state of the GUI unit is “state A” at first, the sequence element “S1” is executed under “state A” to change to “state B”, and the “state B” The sequence element “S2” changes to “state C” by executing the sequence element, and the sequence element “S3” changes to “state D” by executing the sequence element “state C”. The sequence element “S4” changes to “state E” by executing the sequence element “S4”, and the sequence element “S5” changes to “state F” by executing the sequence element “S5” under “state E”.
[0029]
Here, the state assumed to execute the sequence element is referred to as “PRE state”, the state after execution of the sequence element is referred to as “POST state”, and each sequence element is referred to as “PRE state” as state change information. "POST state" is added. This is because, as shown in FIG. 2, information indicating that operations of “PRE state = state A”, “POST state = state B”, and “SEQ1” are executed is added to the sequence element “S1”. Information that the operation of “PRE state = state B”, “POST state = state C”, and “SEQ2” is executed is added to the element “S2”, and the sequence element “S3” is = State C ”,“ POST state = state D ”, and information that the operation of“ SEQ3 ”is to be executed, and“ PRE state = state D ”,“ POST state = state ”are added to the sequence element“ S4 ”. Information that the operations of “E” and “SEQ4” are to be executed is added, and “PRE state = state E”, “POST state = state F”, and “SEQ5” are added to the sequence element “S5”. Information of running the cormorant operation is added. If the “PRE state” does not match the state of the GUI unit, the sequence element cannot be executed.
[0030]
Next, a process of complementing the complement sequence when executing the user sequence will be described in detail.
[0031]
FIG. 3 is a diagram illustrating an example of the state of the GUI unit stored in the state DB3, and an example of the user sequence and the complementary sequence stored in the operation DB4.
[0032]
As shown in FIG. 3, “state A”, “state B”, “state C”, “state D”, “state E” and “state F” are stored in the state DB 3, and the user sequence is stored in the operation DB 4. “USER SEQ1” and “USER SEQ2”, and complementary sequences “complementary SEQ1”, “complementary SEQ2” and “complementary SEQ3” are stored.
[0033]
Here, since “USER SEQ1” is “PRE state = state C”, “USER SEQ1” cannot be executed unless the state of the GUI unit is “state C”, and “USER SEQ2” is “USER SEQ1”. Since the PRE state = state E, "USER SEQ2" cannot be executed unless the state of the GUI unit is "state E".
[0034]
“Complementary SEQ1” is “PRE state = state A” and “POST state = state B”, “Complementary SEQ2” is “PRE state = state B”, “POST state = state C”, and “complementary SEQ1” is “complementary SEQ1”. “SEQ3” is “PRE state = state D” and “POST state = state E”.
[0035]
FIG. 4 is a diagram illustrating a process of complementing a complement sequence in order to execute a user sequence according to a procedure.
[0036]
When the state of the GUI unit is “state A”, a test is executed in the procedure “USER SEQ1” to “USER SEQ2” (see FIG. 4A). However, since “USER SEQ1” is “PRE state = state C”, “USER SEQ1” cannot be executed under “state A”.
[0037]
Therefore, a complementary sequence in which “POST state = state C” is searched from the operation DB, and execution of “complementary SEQ2” in which “POST state = state C” is provisionally determined before execution of “USER SEQ1”. However, since “complementary SEQ2” is “PRE state = state B”, “complementary SEQ2” cannot be executed under “state A”. The search is performed, and before the execution of “complementary SEQ2”, the execution of “complementary SEQ1” with “POST state = state B” is provisionally determined. Here, since “complementary SEQ1” is “PRE state = state A”, “complementary SEQ1” can be executed under “state A” (see FIG. 4B).
[0038]
When “complementary SEQ1” is executed under “state A”, the state of the GUI unit changes to “state B”.
[0039]
Similarly, the operation DB searches for a complementary sequence with “POST state = state C” from the operation DB, and tentatively determines execution of “complementary SEQ2” with “POST state = state C” before execution of “USER SEQ1”. Since “complement SEQ2” is “PRE state = state B”, “complement SEQ2” is executed under “state B”.
[0040]
Then, when the state of the GUI unit changes to “state C” and then “USER SEQ1” is executed under “state C”, the state of the GUI unit changes to “state D” (FIG. 4C). reference).
[0041]
Here, when the state of the GUI unit is “state D”, execution of “USER SEQ2” is attempted, but “USER SEQ2” is “PRE state = state E”. SEQ2 "cannot be performed.
[0042]
Therefore, a complementary sequence in which “POST state = state E” is searched from the operation DB, and execution of “complementary SEQ3” in which “POST state = state E” is provisionally determined before execution of “USER SEQ2”. Here, since “complementary SEQ3” is “PRE state = state D”, “complementary SEQ3” can be executed under “state D” (see FIG. 4D).
[0043]
Then, when “complementary SEQ3” is executed under “state D”, the state of the GUI unit changes to “state E”. Next, when “USER SEQ2” is executed under “state E”, the GUI unit The state changes to “state F” (see FIG. 4E).
[0044]
As described above, the user sequence is completed by complementing “complementary SEQ1” and “complementary SEQ2” before executing “USER SEQ1” and complementing “complementary SEQ3” before executing “USER SEQ2”. Can be run as it is.
[0045]
Next, a processing procedure performed when executing the user sequence will be described with reference to a flowchart of FIG.
[0046]
An execution procedure (a series of user sequences) of the user sequence is input (step S501). When the test starts, a user sequence to be executed next is extracted (step S502). The current state of the GUI unit is confirmed (step S503), and it is confirmed whether or not the confirmed state of the GUI unit matches the “PRE state” of the user sequence (step S504).
[0047]
If the current state of the GUI unit does not match the “PRE state” of the user sequence (NO in step S504), the operation DB is searched for a complementary sequence whose “POST state” matches the “PRE state” of the user sequence. Then, it is determined whether or not the “PRE state” of the retrieved complementary sequence matches the current state of the GUI unit (step S506).
[0048]
Here, if the current state of the GUI unit does not match the “PRE state” of the complementary sequence (NO in step S506), the operation DB is searched for a complementary sequence in which the “POST state” matches the “PRE state” of the complementary sequence. Then (step S507), the process returns to step 507, and it is confirmed whether or not the “PRE state” of the searched complementary sequence matches the current state of the GUI unit.
[0049]
If the current state of the GUI unit matches the “PRE state” of the complementary sequence (YES in step S506), the searched complementary sequence is executed (step S508), and the process returns to step S503.
[0050]
In step S504, if the current state of the GUI unit matches the “PRE state” of the user sequence (YES in step S504), the user sequence is executed (step S509), and if there is an unexecuted user sequence, (NO in step S510), and returns to step S502.
[0051]
If there is no unexecuted user sequence in step S510 (YES in step S510), the processing procedure ends.
[0052]
Next, in the case where the user sequence becomes unexecutable for some reason, a process performed when the unexecutable user sequence is skipped will be described in detail.
[0053]
FIG. 6 is a diagram illustrating a process of complementing a complement sequence in order to skip an unexecutable user sequence.
[0054]
When the state of the GUI unit is “state A”, let's execute a test in the procedure of “USERSEQ1” and “USER SEQ2” of the user sequence group (1) and “USER SEQ3” of the user sequence group (2). (See FIG. 6A).
[0055]
When “USER SEQ1” is executed under “state A”, the state of the GUI unit changes to “state B” (see FIG. 6B).
[0056]
Here, if "USER SEQ2" cannot be executed for some reason, "USER SEQ2" is skipped, and an attempt is made to execute "USER SEQ3" which is the first user sequence of the user sequence group (2). Since “USER SEQ3” is “PRE state = state D”, “USER SEQ3” cannot be executed under “state B”. Therefore, a complementary sequence with “POST state = state D” is searched from the operation DB, and before the execution of “USER SEQ3”, the execution of “complementary SEQ2” with “POST state = state D” is provisionally determined. However, since “complementary SEQ2” is “PRE state = state C”, “complementary SEQ2” cannot be executed under “state B”. The search is performed, and before the execution of “complementary SEQ2”, the execution of “complementary SEQ1” with “POST state = state C” is provisionally determined. Here, since “complementary SEQ1” is “PRE state = state B”, “complementary SEQ1” can be executed under “state B” (see FIG. 6C).
[0057]
Then, when “complementary SEQ1” is executed under “state B”, the state of the GUI unit changes to “state C”. Similarly, after performing complementing processing, “complementary SEQ2” is added under “state C”. When executed, the state of the GUI unit changes to “state D”. Next, when “USER SEQ3” is executed under “state D”, the state of the GUI unit changes to “state E” (FIG. 6 (d)). )reference).
[0058]
As described above, even if the “USER SEQ2” in the middle of the user sequence group (1) becomes unexecutable, the “complementary SEQ1” and the “complementary SEQ2” are complemented before the execution of the “USER SEQ3”. The user sequence can be skipped to the execution of the “USER SEQ3”, and the user sequence in a series of tests can be executed according to the procedure without stopping the execution of the subsequent user sequence group. In addition, by storing the executed user sequence and the skipped user sequence in a log or the like, the tester can easily analyze the test by looking at the log.
[0059]
Next, a processing procedure performed when an unexecutable user sequence is skipped will be described with reference to the flowchart in FIG. When the process of step S509 in the flowchart of FIG. 5 starts, the flowchart of FIG. 7 starts.
[0060]
It is checked whether the user sequence can be executed (step S701). If the user sequence cannot be executed (NO in step S701), it is checked whether the next user sequence group exists (step S702).
[0061]
Here, if the next user sequence group exists (YES in step S702), the “PRE state” of the next user sequence is confirmed (step S703), and the “POST state” is changed from the operation DB to “POST state” of the next user sequence. A complementary sequence that matches the "PRE state" is searched (step S704), and it is confirmed whether the "PRE state" of the searched complementary sequence matches the current state of the GUI unit (step S705).
[0062]
If the current state of the GUI unit does not match the “PRE state” of the complementary sequence (NO in step S705), the operation DB is searched for a complementary sequence in which the “POST state” matches the “PRE state” of the complementary sequence. Then (step S706), the process returns to step 705, and it is checked whether or not the “PRE state” of the searched complementary sequence matches the current state of the GUI unit.
[0063]
If the current state of the GUI unit matches the “PRE state” of the complementary sequence (YES in step S705), the searched complementary sequence is executed (step S707), and the next user sequence is executed (step S708). Then, the processing procedure ends.
[0064]
If the user sequence can be executed in step S701 (YES in step S701), the user sequence is executed (step S709), and the processing procedure ends.
[0065]
If the next user sequence group does not exist in step S702 (NO in step S702), the unexecutable user sequence is skipped, and the processing procedure ends.
[0066]
Next, a process of complementing a complementary sequence when executing a user sequence will be described in detail with reference to a specific embodiment. Here, a specific example is a test of printing a document created by a certain document creation software (hereinafter, referred to as Application).
[0067]
FIG. 8 is a diagram illustrating a specific example of the state of the GUI unit stored in the state DB 3 and a specific example of the user sequence and the complementary sequence stored in the operation DB 4.
[0068]
As shown in FIG. 8, “Application screen is CLOSE”, “Application screen is OPEN”, “File selection screen is OPEN”, “Print screen is OPEN”, and “Printer driver is OPEN” are stored in the state DB 3. The operation DB 4 includes a user sequence “open document“ xx ””, “print execution” and “set to paper size“ A4 ””, a complementary sequence “start application”, “open print screen”, "Close printer driver", "Open file selection screen" and "Open printer driver" are stored.
[0069]
FIG. 9 is a diagram showing a procedure for executing a user sequence.
[0070]
As shown in FIG. 9, when the state of the GUI unit is “Application screen is CLOSE”, the process is executed in the order of “open document“ xx ””, “set to paper size“ A4 ””, and “print execution”. I do.
[0071]
FIG. 10 is a diagram illustrating a specific example of a process of complementing a complement sequence in order to execute a user sequence according to a procedure.
[0072]
When the state of the GUI section is “Application screen is CLOSE”, an attempt is made to execute “Open document“ xx ”” as a user sequence, but “Open document“ xx ”is“ PRE state = file selection screen ”. "OPEN", it is not possible to execute "open document" xx "" under "Application screen is CLOSE".
[0073]
Therefore, the operation DB searches for a complementary sequence in which “POST status = file selection screen is OPEN” and executes “POST status = file selection screen is OPEN” before executing “open document“ xx ””. The execution of "Open file selection screen" is provisionally determined. However, since “Open the file selection screen” is “PRE state = Application screen is OPEN”, “Open file selection screen” cannot be executed under “Application screen is CLOSE”.
[0074]
Therefore, the operation DB searches the operation DB for a complementary sequence in which “POST status = Application screen is OPEN”, and executes “Launch Application” in which “POST status = Application screen is OPEN” before executing “Open file selection screen”. The execution of "do" is provisionally determined. Here, “Start Application” is “PRE state = Application screen is CLOSE”, so that “Start Application” under “Application screen is CLOSE” can be executed.
[0075]
Similarly, when the execution of “Application screen is CLOSE” is provisionally determined by a supplementary operation, and the “Start application” is executed under “Application screen is CLOSE”, the state of the GUI unit changes to “Application screen is OPEN”. Then, when “Open the file selection screen” is executed under “Application screen is OPEN”, the state of the GUI section changes to “File selection screen is OPEN”. Then, the user sequence “Open document“ xx ”” can be executed under “File selection screen is OPEN”. When “Open document“ xx ”” is executed, the state of the GUI unit becomes “Application”. The screen changes to "OPEN".
[0076]
Here, when the state of the GUI unit is “Application screen is OPEN”, an attempt is made to execute “Set paper size“ A4 ””, but “Set paper size“ A4 ”” is “PRE state = printer driver”. Is "OPEN", so "set to paper size" A4 "" cannot be executed under "Application screen is OPEN".
[0077]
Therefore, a complementary sequence in which “POST status = printer driver is OPEN” is searched from the operation DB, and before executing “set paper size“ A4 ””, “print status in which printer status is“ OPEN ”is“ printer driver is OPEN ”. Provisionally decide to execute "Open driver". However, since “Open printer driver” is “PRE state = Print screen is OPEN”, “Open printer driver” cannot be executed under “Application screen is OPEN”.
[0078]
Therefore, a complementary sequence in which “POST status = print screen is OPEN” is searched from the operation DB, and “POST status = print screen is open” “open print screen” is executed before execution of “open printer driver”. Is provisionally determined. Here, since "open print screen" is "PRE state = Application screen is OPEN", "open print screen" can be executed under "Application screen is OPEN".
[0079]
Similarly, when the execution of “Open the print screen” is provisionally determined by the complementing operation, and the “Open print screen” is executed under the “Application screen is OPEN”, the state of the GUI unit changes to “The print screen is OPEN”. Then, when "open printer driver" is executed under "print screen is open", the state of the GUI unit changes to "printer driver is open". Then, the user sequence “set to paper size“ A4 ”” can be executed under “printer driver is OPEN”, and “set to paper size“ A4 ”” is executed, and the state of the GUI unit is “ The printer driver remains "OPEN".
[0080]
Here, when the status of the GUI unit is “printer driver is open”, execution of “print execution” is attempted, but “print execution” is “PRE status = print screen is open”. Cannot perform "print execution".
[0081]
Therefore, a complementary sequence in which “POST status = print screen is OPEN” is searched from the operation DB, and “POST status = print screen is OPEN (= printer driver is CLOSE)” before execution of “print execution”. The execution of “close the printer driver” is provisionally determined. Here, since “close printer driver” is “PRE state = printer driver is open”, “close printer driver” can be executed under “printer driver is open”.
[0082]
Then, when "close printer driver" is executed under "printer driver is open", the state of the GUI unit changes to "print screen is open". Then, the user sequence “print execution” can be executed under the “print screen is OPEN”, the “print execution” is executed, and the test ends.
[0083]
Next, the actual operation of the GUI unit in the process of complementing the complement sequence for executing the user sequence described in FIG. 10 according to the procedure will be described.
[0084]
FIG. 11 is a diagram illustrating an example of an input of a user sequence execution procedure.
[0085]
As shown in FIG. 11, an operation of “opening a document” is input in the item 9 of the operation of the first execution procedure, and “xx” is set as the document to be opened in the item 10 of the value of the first execution procedure. "Open document" xx "is determined as the first user sequence, and" Set paper size "operation is input in the operation item 11 of the second execution procedure. In the value item 12, "A4" is input as the paper size, "set the paper size" A4 "" is determined as the second user sequence, and the operation item 13 of the third execution procedure is "13". The operation of “print execution” is input, and “print execution” is determined as the third user sequence.
[0086]
As described above, the execution sequence of the user sequence can be easily input.
[0087]
FIG. 12 is a diagram illustrating an operation when the state of the GUI unit in FIG. 10 is executing “Start Application”, which is a complementary sequence under “Application screen is CLOSE”.
[0088]
As shown in FIG. 12, the “Start” 15 is clicked, the “Program” 16 is clicked, and the “Application” 17 is clicked by the pointing device 14 (hereinafter referred to as a mouse) such as a mouse. The application starts and the Application screen opens.
[0089]
Then, when the Application screen is opened, a complementary sequence of “Open file selection screen” is executed, and the file selection screen is opened.
[0090]
FIG. 13 is a diagram showing an operation performed when the state of the GUI unit in FIG. 10 is executing “open document“ xx ”” as a user sequence under the condition that “the file selection screen is OPEN”.
[0091]
As shown in FIG. 13, by selecting the document name 20 of “xx” on the file selection screen 19 displayed on the application screen 18 with the mouse 14 and clicking the “open” button 21, the document “xx” is displayed. Opens, and the file selection screen 19 closes.
[0092]
FIG. 14 is a diagram illustrating an operation performed when the GUI unit in FIG. 10 executes “open print screen”, which is a complementary sequence, under the condition that “application screen is open”.
[0093]
As shown in FIG. 14, a document “xx” 22 is displayed, and a “file” 23 is clicked by the mouse 14 and a “print” 24 is clicked, whereby a print screen is opened.
[0094]
FIG. 15 is a diagram illustrating an operation performed when the state of the GUI unit in FIG. 10 executes “open printer driver” which is a complementary sequence under “print screen is open”.
[0095]
As shown in FIG. 15, the printer driver is opened by clicking the “Properties” button 26 on the print screen 25 with the mouse 14.
[0096]
FIG. 16 illustrates a case where the state of the GUI unit in FIG. 10 is “printer driver is OPEN” and the user sequence “set to paper size“ A4 ”” is executed, and then the complementary sequence “close printer driver” is executed. It is a figure showing operation at the time of performing.
[0097]
As shown in FIG. 16, the “paper size” combo box 28 on the printer driver 27 is set to “A4 210 × 297 mm” with the mouse 14 and the “OK” button 29 is clicked. 27 closes.
[0098]
FIG. 17 is a diagram showing an operation performed when the user sequence “print execution” is executed under the condition that the state of the GUI unit in FIG. 10 is “print screen is open”.
[0099]
As shown in FIG. 17, by clicking the “OK” button 30 on the print screen 25 with the mouse 14, printing is started and the test ends.
[0100]
Note that the present invention is also applicable to a configuration in which a test execution program capable of performing the same operation as the test execution device described in the above embodiment is installed in a general PC (Personal Computer).
[0101]
【The invention's effect】
As described above, according to the present invention, there is an effect that an automatic test of software including a GUI can be easily and reliably performed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a schematic configuration of a test execution device 1 according to the present invention.
FIG. 2 is a diagram for explaining in detail a state, a sequence, and a sequence element of a GUI unit according to the embodiment;
FIG. 3 is a diagram illustrating an example of a state of a GUI unit stored in a state DB3, and an example of a user sequence and a complementary sequence stored in an operation DB4.
FIG. 4 is a diagram showing a process of complementing a supplemental sequence in order to execute a user sequence according to a procedure.
FIG. 5 is a flowchart illustrating a processing procedure performed when a user sequence is executed.
FIG. 6 is a diagram illustrating a process of complementing a complement sequence in order to skip an unexecutable user sequence.
FIG. 7 illustrates a processing procedure performed when an unexecutable user sequence is skipped.
FIG. 8 is a diagram illustrating a specific example of a state of the GUI unit stored in the state DB3, and a specific example of a user sequence and a complementary sequence stored in the operation DB4.
FIG. 9 is a diagram showing an execution procedure of a user sequence.
FIG. 10 is a diagram illustrating a specific example of a process of complementing a supplemental sequence in order to execute a user sequence according to a procedure.
FIG. 11 is a diagram illustrating an example of input of an execution procedure of a user sequence.
FIG. 12 is a diagram illustrating an operation when the state of the GUI unit in FIG. 10 is executing “Start Application” which is a complementary sequence under “Application screen is CLOSE”.
FIG. 13 is a diagram illustrating an operation performed when the state of the GUI unit in FIG. 10 is executing “open document“ xx ”” as a user sequence under the condition that “the file selection screen is OPEN”.
FIG. 14 is a diagram illustrating an operation performed when a GUI sequence in FIG. 10 is executing a complementary sequence “open print screen” under “Application screen is OPEN”.
FIG. 15 is a diagram illustrating an operation performed when the state of the GUI unit in FIG. 10 is executing “open printer driver” which is a complementary sequence under “print screen is open”.
FIG. 16 illustrates a user sequence “set to paper size“ A4 ”” under the condition that the status of the GUI unit in FIG. 10 is “OPEN printer driver”, and then a complementary sequence “close printer driver”. It is a figure showing operation at the time of performing.
FIG. 17 is a diagram illustrating an operation performed when a user sequence “print execution” is executed under the condition that the status of the GUI unit in FIG. 10 is “print screen is open”.
[Explanation of symbols]
1 Test execution device
2 Input section
3 State DB
4 Operation DB
5 User sequence execution procedure section
6 Sequence execution unit
7 Complementary part
8 Status confirmation section
9 Operation items of the first execution procedure
10 Items for the value of the first execution procedure
11 Operation items of the second execution procedure
12 Value item of the second execution procedure
13 Operation items of the third execution procedure
14 mouse
15 "Start"
16 "Program"
17 "Application"
18 Application screen
19 File selection screen
20 Document name "xx"
21 "Open" button
22 Document "xx"
23 "File"
24 "Printing"
25 Print screen
26 “Properties” button
27 Printer Driver
28 "Paper Size" Combo Box
29, 30 "OK" button

Claims (12)

GUIを基にするソフトウェアのテストを行うテスト実行方法において、
前記ソフトウェアのGUI部に関する状態の属性を定義し、
前記テストを行う際の具体的な操作の要素であるユーザシーケンスおよびユーザシーケンスの実行を補完する補完シーケンスを定義するとともに、該ユーザシーケンスおよび該補完シーケンスに、実行前後の状態属性変化を示す状態属性変化情報を設定し、
前記ソフトウェアのテストを行う際に、該ソフトウェアのGUI部の状態属性を確認し、該確認したGUI部の状態属性の元において前記ユーザシーケンスが実行可能か否か前記状態属性変化情報に基づいて確認し、
前記ユーザシーケンスが実行不可能な場合、前記GUI部の状態属性を該ユーザシーケンスが実行可能な状態属性に変化させることが可能な補完シーケンスを前記状態属性変化情報に基づいて検索し、該検索した補完シーケンスを実行した後に該ユーザシーケンスを実行する
ことを特徴とするテスト実行方法。
In a test execution method for testing software based on a GUI,
Defining status attributes for the GUI part of the software,
A user sequence, which is a specific operation element when performing the test, and a supplementary sequence that complements the execution of the user sequence are defined, and the user sequence and the supplementary sequence have state attributes that indicate changes in state attributes before and after execution. Set the change information,
When the software is tested, a status attribute of a GUI portion of the software is checked, and whether or not the user sequence can be executed based on the checked status attribute of the GUI portion is checked based on the status attribute change information. And
If the user sequence is not executable, a search is made for a complementary sequence capable of changing the status attribute of the GUI unit to a status attribute executable for the user sequence based on the status attribute change information. A test execution method characterized by executing the user sequence after executing the complementary sequence.
前記状態属性変化情報として、前記ユーザシーケンスおよび前記補完シーケンスの実行において、該実行に必須な状態属性を示す前状態属性と、該実行により変化した状態属性を示す後状態属性とを設定する
ことを特徴とする請求項1記載のテスト実行方法。
As the state attribute change information, in the execution of the user sequence and the complementary sequence, a pre-state attribute indicating a state attribute essential for the execution and a post-state attribute indicating a state attribute changed by the execution are set. 2. The test execution method according to claim 1, wherein:
前記ソフトウェアのGUI部の状態属性がユーザシーケンスに設定された前状態属性と一致しない場合、該前状態属性と一致する後状態属性が設定された補完シーケンスを検索し、
該検索した補完シーケンスに設定された前状態属性が前記ソフトウェアのGUI部の状態属性と一致しない際は、該ソフトウェアのGUI部の状態属性と一致する前状態属性が設定された補完シーケンスを検索するまで、検索を繰り返す
ことを特徴とする請求項2記載のテスト実行方法。
If the state attribute of the GUI unit of the software does not match the previous state attribute set in the user sequence, a search is made for a complementary sequence in which the subsequent state attribute that matches the previous state attribute is set,
When the previous state attribute set in the searched complementary sequence does not match the state attribute of the GUI part of the software, a complementary sequence in which the previous state attribute matching the state attribute of the GUI part of the software is set is searched. 3. The test execution method according to claim 2, wherein the search is repeated until the search is performed.
第1のユーザシーケンス群を実行した後に第2のユーザシーケンス群を実行する手順のテストを行う際に、該第1のユーザシーケンス群内のユーザシーケンス若しくは補完シーケンスが実行不可能な場合、該第1のユーザシーケンス群の実行を回避し、前記GUI部の状態属性を該第2のユーザシーケンス群の最初のユーザシーケンスが実行可能な状態属性に変化させることが可能な一連の補完シーケンスを前記状態属性変化情報に基づいて検索し、該検索した補完シーケンスを実行した後に該第2のユーザシーケンス群を実行する
ことを特徴とする請求項1記載のテスト実行方法。
When performing a test of a procedure for executing the second user sequence group after executing the first user sequence group, if the user sequence or the complementary sequence in the first user sequence group cannot be executed, A series of complementary sequences capable of avoiding execution of one user sequence group and changing a state attribute of the GUI unit to a state attribute that can be executed by a first user sequence of the second user sequence group are set in the state. The test execution method according to claim 1, wherein a search is performed based on the attribute change information, and the second user sequence group is executed after executing the searched complementary sequence.
GUIを基にするソフトウェアのテストを行うテスト実行装置において、
前記ソフトウェアのGUI部に関する状態の状態属性を記憶する状態属性記憶手段と、
前記テストを行う際の具体的な操作の要素であるユーザシーケンスおよびユーザシーケンスの実行を補完する補完シーケンスを記憶するシーケンス記憶手段と、
前記ユーザシーケンスおよび前記補完シーケンスに、実行前後の状態属性変化を示す状態属性変化情報を設定する状態属性変化情報設定手段と、
前記ソフトウェアのテストとして、複数のユーザシーケンスの実行手順を設定する実行手順設定手段と、
前記実行手順設定手段で設定した複数のユーザシーケンスの実行手順に従ってユーザシーケンスを実行するシーケンス実行手段と、
前記ユーザシーケンス実行手段がユーザシーケンスを実行する際に、前記ソフトウェアのGUI部の状態属性を確認する状態属性確認手段と、
前記状態属性確認手段で確認したGUI部の状態属性の元において前記ユーザシーケンスが実行不可能である場合、前記GUI部の状態属性を該ユーザシーケンスが実行可能な状態属性に変化させることが可能な補完シーケンスを前記状態属性変化情報に基づいて補完する補完手段と
を具備し、
前記シーケンス実行手段は、
補完手段で補完された補完シーケンスを実行した後に前記ユーザシーケンスを実行する
ことを特徴とするテスト実行装置。
In a test execution device for testing software based on a GUI,
State attribute storage means for storing a state attribute of a state relating to a GUI unit of the software;
A sequence storage unit that stores a user sequence that is a specific operation element when performing the test and a complementary sequence that complements the execution of the user sequence,
In the user sequence and the complementary sequence, state attribute change information setting means for setting state attribute change information indicating a state attribute change before and after execution,
Execution procedure setting means for setting an execution procedure of a plurality of user sequences as a test of the software,
Sequence execution means for executing a user sequence according to the execution procedure of the plurality of user sequences set by the execution procedure setting means,
State attribute confirming means for confirming a state attribute of a GUI unit of the software when the user sequence executing means executes a user sequence;
If the user sequence cannot be executed under the status attribute of the GUI unit confirmed by the status attribute confirmation unit, the status attribute of the GUI unit can be changed to a status attribute executable by the user sequence. And complementing means for complementing a complementary sequence based on the state attribute change information,
The sequence execution means,
A test execution device characterized by executing the user sequence after executing a complementary sequence complemented by a complementing means.
前記状態属性変化情報設定手段は、
前記ユーザシーケンスおよび前記補完シーケンスの実行において、該実行に必須な状態属性を示す前状態属性と、該実行により変化した状態属性を示す後状態属性とを設定する
ことを特徴とする請求項5記載のテスト実行装置。
The state attribute change information setting means,
6. The execution of the user sequence and the complementary sequence, wherein a pre-state attribute indicating a state attribute essential for the execution and a post-state attribute indicating a state attribute changed by the execution are set. Test execution equipment.
前記補完手段は、
前記ソフトウェアのGUI部の状態属性がユーザシーケンスに設定された前状態属性と一致しない場合、該前状態属性と一致する後状態属性が設定された補完シーケンスを検索し、
該検索した補完シーケンスに設定された前状態属性が前記ソフトウェアのGUI部の状態属性と一致しない際は、該ソフトウェアのGUI部の状態属性と一致する前状態属性が設定された補完シーケンスを検索するまで、検索を繰り返す
ことを特徴とする請求項6記載のテスト実行装置。
The complementing means,
If the state attribute of the GUI unit of the software does not match the previous state attribute set in the user sequence, a search is made for a complementary sequence in which the subsequent state attribute that matches the previous state attribute is set,
If the previous state attribute set in the searched complementary sequence does not match the state attribute of the GUI part of the software, a complementary sequence set with the previous state attribute matching the state attribute of the GUI part of the software is searched. 7. The test execution device according to claim 6, wherein the search is repeated up to.
第1のユーザシーケンス群を実行した後に第2のユーザシーケンス群を実行するテストの際に、第1のユーザシーケンス群内のユーザシーケンス若しくは補完シーケンスが実行不可能な場合、
前記補完手段は、
前記GUI部の状態属性を該第2のユーザシーケンス群の最初のユーザシーケンスが実行可能な状態属性に変化させることが可能な一連の補完シーケンスを前記状態属性変化情報に基づいて検索し、
前記シーケンス実行手段は、
第1のユーザシーケンス群の実行を回避し、前記補完手段で検索した補完シーケンスを実行した後に該第2のユーザシーケンスを実行する
ことを特徴とする請求項5記載のテスト実行装置。
In a test for executing the second user sequence group after executing the first user sequence group, if a user sequence or a complementary sequence in the first user sequence group cannot be executed,
The complementing means,
Searching for a series of complementary sequences that can change the state attribute of the GUI unit to a state attribute executable by the first user sequence of the second user sequence group based on the state attribute change information;
The sequence execution means,
6. The test execution device according to claim 5, wherein the execution of the first user sequence group is avoided, and the second user sequence is executed after executing the complement sequence searched by the complement unit.
GUIを基にするソフトウェアのテストを行うテスト実行プログラムにおいて、
前記ソフトウェアのGUI部に関する状態の状態属性を定義する処理と、
前記テストを行う際の具体的な操作の要素であるユーザシーケンスおよびユーザシーケンスの実行を補完する補完シーケンスを定義するとともに、該ユーザシーケンスおよび該補完シーケンスに、実行前後の状態属性変化を示す状態属性変化情報を設定する処理と、
前記ソフトウェアのテストを行う際に、該ソフトウェアのGUI部の状態属性を確認する処理と、
該確認したGUI部の状態属性の元において前記ユーザシーケンスが実行可能か否か前記状態属性変化情報に基づいて確認する処理と、
前記ユーザシーケンスが実行不可能な場合、前記GUI部の状態属性を該ユーザシーケンスが実行可能な状態属性に変化させることが可能な補完シーケンスを前記状態属性変化情報に基づいて検索する処理と、
該検索した補完シーケンスを実行した後に該ユーザシーケンスを実行する処理と
をコンピュータに動作させることを特徴とするテスト実行プログラム。
In a test execution program for testing software based on a GUI,
Processing for defining a state attribute of a state relating to a GUI part of the software;
A user sequence, which is a specific operation element when performing the test, and a supplementary sequence that complements the execution of the user sequence are defined, and the user sequence and the supplementary sequence have state attributes that indicate changes in state attributes before and after execution. A process of setting change information;
A process of confirming a state attribute of a GUI unit of the software when testing the software;
Processing for confirming whether or not the user sequence can be executed based on the confirmed state attribute of the GUI unit based on the state attribute change information;
When the user sequence is not executable, a process of searching for a complementary sequence capable of changing the status attribute of the GUI unit to a status attribute executable by the user sequence based on the status attribute change information;
A computer executing a process of executing the user sequence after executing the searched complementary sequence.
前記状態属性変化情報として、前記ユーザシーケンスおよび前記補完シーケンスの実行において、該実行に必須な状態属性を示す前状態属性と、該実行により変化した状態属性を示す後状態属性とを設定する
ことを特徴とする請求項9記載のテスト実行プログラム。
As the state attribute change information, in the execution of the user sequence and the complementary sequence, a pre-state attribute indicating a state attribute essential for the execution and a post-state attribute indicating a state attribute changed by the execution are set. The test execution program according to claim 9, wherein:
前記ソフトウェアのGUI部の状態属性がユーザシーケンスに設定された前状態属性と一致しない場合、該前状態属性と一致する後状態属性が設定された補完シーケンスを検索する処理と、
該検索した補完シーケンスに設定された前状態属性が前記ソフトウェアのGUI部の状態属性と一致しない際は、該ソフトウェアのGUI部の状態属性と一致する前状態属性が設定された補完シーケンスを検索するまで、検索を繰り返す処理と
をコンピュータに動作させることを特徴とする請求項10記載のテスト実行プログラム。
If the status attribute of the GUI part of the software does not match the pre-status attribute set in the user sequence, a process of searching for a complementary sequence in which the post-status attribute that matches the pre-status attribute is set;
When the previous state attribute set in the searched complementary sequence does not match the state attribute of the GUI part of the software, a complementary sequence in which the previous state attribute matching the state attribute of the GUI part of the software is set is searched. 11. The test execution program according to claim 10, wherein the computer is caused to execute a process of repeating the search up to the next step.
第1のユーザシーケンス群を実行した後に第2のユーザシーケンス群を実行する手順のテストを行う際に、該第1のユーザシーケンス群内のユーザシーケンスもしくは補完シーケンスが実行不可能な場合、
前記GUI部の状態属性を該第2のユーザシーケンス群の最初のユーザシーケンスが実行可能な状態属性に変化させることが可能な一連の補完シーケンスを前記状態属性変化情報に基づいて検索する処理と、
前記第1のユーザシーケンス群の実行を回避し、該第2のユーザシーケンス群の最初のユーザシーケンスを実行する処理と
をコンピュータに動作させることを特徴とする請求項9記載のテスト実行プログラム。
When testing a procedure for executing the second user sequence group after executing the first user sequence group, if a user sequence or a complementary sequence in the first user sequence group cannot be executed,
Searching for a series of complementary sequences that can change the state attribute of the GUI unit to a state attribute executable by the first user sequence of the second user sequence group based on the state attribute change information;
10. The test execution program according to claim 9, wherein the computer executes a process of avoiding execution of the first user sequence group and executing a first user sequence of the second user sequence group.
JP2002270082A 2002-09-17 2002-09-17 Test conducting device, method, and program Pending JP2004110267A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002270082A JP2004110267A (en) 2002-09-17 2002-09-17 Test conducting device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002270082A JP2004110267A (en) 2002-09-17 2002-09-17 Test conducting device, method, and program

Publications (1)

Publication Number Publication Date
JP2004110267A true JP2004110267A (en) 2004-04-08

Family

ID=32267825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002270082A Pending JP2004110267A (en) 2002-09-17 2002-09-17 Test conducting device, method, and program

Country Status (1)

Country Link
JP (1) JP2004110267A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006114049A (en) * 2004-10-15 2006-04-27 Microsoft Corp System and method for visualizing user interface element
JP2011048714A (en) * 2009-08-28 2011-03-10 Fujitsu Ltd Test support method and test support apparatus
US8065625B2 (en) 2008-09-29 2011-11-22 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
US8347223B2 (en) 2008-09-29 2013-01-01 Nec Corporation GUI evaluation system, method, and program for evaluating a text input component
JP2013058075A (en) * 2011-09-08 2013-03-28 Nippon Telegr & Teleph Corp <Ntt> Device, method, and program for generating test items of scenario test
US8645815B2 (en) 2008-09-29 2014-02-04 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
JP2014142745A (en) * 2013-01-23 2014-08-07 Geo Technical Laboratory Co Ltd Application/test system
US8826185B2 (en) 2008-09-29 2014-09-02 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
US8924871B2 (en) 2008-09-29 2014-12-30 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006114049A (en) * 2004-10-15 2006-04-27 Microsoft Corp System and method for visualizing user interface element
US8065625B2 (en) 2008-09-29 2011-11-22 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
US8347223B2 (en) 2008-09-29 2013-01-01 Nec Corporation GUI evaluation system, method, and program for evaluating a text input component
US8645815B2 (en) 2008-09-29 2014-02-04 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
US8826185B2 (en) 2008-09-29 2014-09-02 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
US8924871B2 (en) 2008-09-29 2014-12-30 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
JP2011048714A (en) * 2009-08-28 2011-03-10 Fujitsu Ltd Test support method and test support apparatus
JP2013058075A (en) * 2011-09-08 2013-03-28 Nippon Telegr & Teleph Corp <Ntt> Device, method, and program for generating test items of scenario test
JP2014142745A (en) * 2013-01-23 2014-08-07 Geo Technical Laboratory Co Ltd Application/test system

Similar Documents

Publication Publication Date Title
US8214805B2 (en) Method and system for graphical user interface testing
US7316000B2 (en) Interactive agent for a topological multi-tier business application composer
JP2795244B2 (en) Program debugging system
US8146059B2 (en) Feeding test metrics into an integrated development environment to aid software developers to improve code quality
EP1650663A2 (en) Automated Software Testing using a layered architecture
US20040049768A1 (en) Method and program for compiling processing, and computer-readable medium recoding the program thereof
EP1643369A2 (en) System and method for selecting test case execution behaviors for reproducible test automation
US6349393B1 (en) Method and apparatus for training an automated software test
JPH05346875A (en) Automation testing system for computer application software
JPH09101949A (en) Method and system for support of interactive text correctionand user guidance
US7730466B2 (en) System and method for manipulating source code in a text editor
JP2004110267A (en) Test conducting device, method, and program
US20100095279A1 (en) Method for automatically testing menu items of application software
JPH11265368A (en) Working procedure management system
US6606616B1 (en) Modified action rules
JP3206096B2 (en) Input data processing device
JPH10149301A (en) Script generation device
JPH103405A (en) Test support device
JP6739599B1 (en) Information processing program, information processing method, and information processing apparatus
CN118377726B (en) Web application automatic test method and computer device
JP7327471B2 (en) Test equipment, test method and program
JP2874601B2 (en) Screen application program evaluation processing system
JP3179353B2 (en) Program test automation system
JP2006048528A (en) System and method of screen transition of web application
JP3557439B2 (en) Computer operation data search method and apparatus therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080805