JP2012018583A - Software development support device and processing method thereof - Google Patents

Software development support device and processing method thereof Download PDF

Info

Publication number
JP2012018583A
JP2012018583A JP2010156183A JP2010156183A JP2012018583A JP 2012018583 A JP2012018583 A JP 2012018583A JP 2010156183 A JP2010156183 A JP 2010156183A JP 2010156183 A JP2010156183 A JP 2010156183A JP 2012018583 A JP2012018583 A JP 2012018583A
Authority
JP
Japan
Prior art keywords
gui
component
software development
event
information
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.)
Withdrawn
Application number
JP2010156183A
Other languages
Japanese (ja)
Inventor
Yukari Yano
由香里 矢野
Shuichi Okamura
秀一 岡村
Kunimasa Fujisawa
邦匡 藤澤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010156183A priority Critical patent/JP2012018583A/en
Publication of JP2012018583A publication Critical patent/JP2012018583A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a device and a method for recording an operation by using logical positional information indicating an arrangement on a GUI screen when the operation is performed for components of the GUI screen.SOLUTION: In a software development support device and processing method thereof, when a user's operation or an automatic operation is performed for components displayed on a GUI screen with an GUI application, generated is logical positional information indicating an arrangement of the components on the GUI screen. Then, the generated logical positional information is recorded as a operation record of the components operated.

Description

本発明は、ソフトウェアの開発を支援する技術に関する。   The present invention relates to technology for supporting software development.

従来、GUIアプリケーションのテスト自動化を行う技術としては、テストスクリプトを自動生成する技術が存在する(例えば、特許文献1参照)。   Conventionally, as a technique for performing test automation of a GUI application, there is a technique for automatically generating a test script (see, for example, Patent Document 1).

特許文献1に記載されたテストスクリプト(テスト記述書)の自動生成技術は、GUIアプリケーション全般の画面遷移に対して網羅テストを行うことに主眼が置かれている。また、GUIアプリケーションのプログラムのソースコードやUMLなどの設計情報などを必要としている。   The automatic generation technique of the test script (test description) described in Patent Document 1 is focused on performing an exhaustive test on the screen transition of the entire GUI application. In addition, it requires design information such as the source code of the GUI application program and UML.

特許4148527号公報Japanese Patent No. 4148527

しかしながら、従来、GUIアプリケーションのテスト自動化システムの用途として、プログラムのソースコードやUMLなどの設計情報を使用せずに、ブラックボックス的な回帰テストに利用するというものがある。   Conventionally, however, GUI application test automation systems are used for black-box regression tests without using design information such as program source code and UML.

特に、最初にユーザがGUI画面上を操作し、その操作に関する情報を操作記録として保存し、その操作記録をテストスクリプトとして再生(自動操作)させる記録再生タイプのテスト自動化が広く利用されている。   In particular, a recording / playback type test automation in which a user first operates on a GUI screen, stores information related to the operation as an operation record, and reproduces the operation record as a test script (automatic operation) is widely used.

上述の記録再生タイプのテスト自動化システムでは、GUI画面上の操作をスクリーン座標系(XY座標系)を用いて記録している。これ以降、記録再生タイプのテスト自動化システムにおいて、スクリーン座標系を使った記録再生タイプのテスト自動化での課題について説明する。   In the recording / reproducing type test automation system described above, operations on the GUI screen are recorded using a screen coordinate system (XY coordinate system). In the following, problems in the recording / reproducing type test automation using the screen coordinate system in the recording / reproducing type test automation system will be described.

操作記録を取得する際に、スクリーン座標系を用いて記録した場合、再生(自動操作)時に操作対象のGUIコンポーネントの配置が異なっていると、記録された位置にGUIコンポーネントが存在せず再生できないことがある。   When the operation record is acquired and recorded using the screen coordinate system, if the layout of the operation target GUI component is different during reproduction (automatic operation), the GUI component does not exist at the recorded position and cannot be reproduced. Sometimes.

再生(自動操作)できない具体例として、GUIコンポーネントの大きさが変更された場合や、異なる座標位置に描画された場合などが挙げられる。   Specific examples that cannot be reproduced (automatically operated) include a case where the size of the GUI component is changed and a case where the GUI component is drawn at a different coordinate position.

そのため、GUI画面のサイズの拡大・縮小や縦横比、見栄えなどのデザイン上の変更が生じると、画面遷移のパターンや処理フローに変更がなくても、全般的に操作を記録し直さなければならないという問題があった。   Therefore, if changes in the design such as enlargement / reduction, aspect ratio, and appearance of the GUI screen occur, the operation must be re-recorded as a whole even if there is no change in the screen transition pattern or processing flow. There was a problem.

上述したように、スクリーン座標系を使った記録再生タイプのテスト自動化システムにおいて、表示デバイスの画面サイズやデザインの変更に柔軟に対応できないことが課題としてある。   As described above, in the recording / reproducing type test automation system using the screen coordinate system, the problem is that it is not possible to flexibly cope with a change in the screen size or design of the display device.

また、GUIアプリケーションの多機能化及び高機能化に伴い、GUI画面の画面遷移パターンが増大してきており、画面サイズの変更やデザイン変更の度に、操作記録を取り直すことに対するコストの問題もある。   In addition, with the increase in functionality and functionality of GUI applications, screen transition patterns of GUI screens have increased, and there is a problem of cost for re-recording operation records every time the screen size is changed or the design is changed.

一方、GUIプログラミングにおいては、Java(登録商標)のようなオブジェクト指向言語で問題を生ずる場合がある。このオブジェクト指向言語は、抽象データ型の一つであるクラスの再利用性が高いため、サイズや配置の全く同じオブジェクトを誤って生成してしまうことがある。このような場合、ユーザが目視では検証できないため、内部的にはCPUやメモリなどのリソースの無駄であり、更に、プログラムの可読性を低下させ、バグを誘発するコードを内包してしまうという課題があった。   On the other hand, in GUI programming, a problem may occur in an object-oriented language such as Java (registered trademark). Since this object-oriented language has high reusability of a class that is one of abstract data types, an object having exactly the same size and arrangement may be erroneously generated. In such a case, since the user cannot visually verify, there is a problem that internally, resources such as CPU and memory are wasted, and further, the readability of the program is lowered and a code that induces a bug is included. there were.

更に、GUI画面の構成が複雑化及び多様化するに伴い、ユーザ対話型のGUIコンポーネントが増える場合があり、その際、操作イベントを検知するためのリスナー登録ミスが起きることがある。リスナーとは、GUIアプリケーション内の種々のイベントを処理するための仕組みであり、ユーザ対話型のGUIコンポーネントの場合、操作イベントに応じたリスナーが登録されている必要がある。リスナーが登録されていないと、クリックしても実際には何の処理もされないボタンなどが存在することになり、ソースコードから間違いに気付くか、対象のGUIコンポーネントを操作しないと発見できないという課題があった。   Furthermore, as the configuration of the GUI screen becomes complicated and diversified, the number of user interactive GUI components may increase, and at that time, a listener registration error for detecting an operation event may occur. A listener is a mechanism for processing various events in a GUI application. In the case of a user interactive GUI component, a listener corresponding to an operation event needs to be registered. If the listener is not registered, there will be a button that will not actually be processed even if it is clicked, and you will notice that there is an error from the source code, or you can not find it unless you operate the target GUI component there were.

本発明は、GUI画面のコンポーネントに対して操作が行われた際に、該GUI画面上の配置を示す論理的な位置情報を用いて該操作を記録する装置及び方法を提供する。   The present invention provides an apparatus and a method for recording an operation using logical position information indicating an arrangement on the GUI screen when an operation is performed on a component of the GUI screen.

本発明は、GUIアプリケーションによりGUI画面上に表示された複数のコンポーネントに対するユーザの操作又は自動操作を記録した操作記録を用いてソフトウェアの開発を支援するソフトウェア開発支援装置であって、
前記ユーザの操作又は自動操作が行われたコンポーネントの前記GUI画面上の配置を示す論理的な位置情報を生成する生成手段と、
前記生成手段により生成された論理的な位置情報を前記操作が行われたコンポーネントの操作記録として記録する操作記録手段と、
を有することを特徴とする。
The present invention is a software development support device that supports software development using operation records in which user operations or automatic operations are recorded on a plurality of components displayed on a GUI screen by a GUI application,
Generating means for generating logical position information indicating an arrangement on the GUI screen of a component on which the user operation or automatic operation has been performed;
Operation recording means for recording the logical position information generated by the generating means as an operation record of the component on which the operation has been performed;
It is characterized by having.

本発明によれば、GUI画面のコンポーネントに対して操作が行われた際に、該GUI画面上の配置を示す論理的な位置情報を用いて該操作を記録することができる。従って、画面サイズやデザイン変更を行う際に、操作記録を取り直す手間やコストを低減することができる。   According to the present invention, when an operation is performed on a component on the GUI screen, the operation can be recorded using logical position information indicating an arrangement on the GUI screen. Therefore, when changing the screen size or design, it is possible to reduce the trouble and cost of re-recording the operation record.

本実施形態におけるシステムの構成を示すブロック図。The block diagram which shows the structure of the system in this embodiment. ソフトウェア開発支援装置のソフトウェア構成を示す図。The figure which shows the software structure of a software development assistance apparatus. 本実施形態における操作記録システムの処理を示すフローチャート。The flowchart which shows the process of the operation recording system in this embodiment. テスト対象アプリケーションの表示部における表示例を示す図。The figure which shows the example of a display in the display part of a test object application. GUIコンポーネントの配置順と親子関係を木構造として示す図。The figure which shows the arrangement | positioning order of a GUI component, and parent-child relationship as a tree structure. 構造化言語のXMLで表記した操作記録の一例を示す図。The figure which shows an example of the operation recording described with XML of structured language. 本実施形態における自動操作システムのシステム構成を示す図。The figure which shows the system configuration | structure of the automatic operation system in this embodiment. 被試験装置における自動操作プログラムA及びテスト対象のGUIアプリケーションに関する処理を示すフローチャート。6 is a flowchart showing processing relating to an automatic operation program A and a test target GUI application in the device under test. リモート試験装置における自動操作プログラムBの処理を示すフローチャート。The flowchart which shows the process of the automatic operation program B in a remote test apparatus. (A)はGUIコンポーネントの操作記録を取得した時の配置を示す図、(B)は自動操作プログラムを実行した時の配置を示す図。(A) is a figure which shows arrangement | positioning when the operation record of a GUI component is acquired, (B) is a figure which shows arrangement | positioning when an automatic operation program is performed. 記録分析プログラムの手順を示すフローチャート。The flowchart which shows the procedure of a recording analysis program. GUIアプリケーションが表示するGUI画面の例を示す図。The figure which shows the example of the GUI screen which a GUI application displays. XMLで記述された操作結果の情報を示す図。The figure which shows the information of the operation result described by XML. 記録分析プログラムの手順を示すフローチャート。The flowchart which shows the procedure of a recording analysis program. XMLで記述された操作結果の情報を示す図。The figure which shows the information of the operation result described by XML. GUIコンポーネント種別の必須リスナーのテーブルを示す図。The figure which shows the table of the essential listener of a GUI component classification.

以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本発明に係るソフトウェア開発支援装置として、操作記録システム、自動操作システム及び記録分析システムを例に挙げて説明する。また、テスト対象のソフトウェアとしては、GUIアプリケーションを例に挙げて説明する。   Hereinafter, embodiments for carrying out the invention will be described in detail with reference to the drawings. As a software development support apparatus according to the present invention, an operation recording system, an automatic operation system, and a record analysis system will be described as examples. The test target software will be described by taking a GUI application as an example.

図1は、本実施形態におけるシステムの構成を示すブロック図である。図1に示すように、システムはCPU101、RAM102、外部記憶装置104、表示部105、操作部106を含み、それぞれバス103を介して接続されている。このシステムが操作記録システム、自動操作システム及び記録分析システムに適用される。   FIG. 1 is a block diagram showing a configuration of a system in the present embodiment. As shown in FIG. 1, the system includes a CPU 101, a RAM 102, an external storage device 104, a display unit 105, and an operation unit 106, which are connected via a bus 103. This system is applied to an operation recording system, an automatic operation system, and a record analysis system.

CPU101はシステム全体を制御する。RAM102は外部装置などから供給されるプログラムやデータベースから取得したデータ、或いはプログラム実行中の中間データを一時記憶する。外部記憶装置104はハードディスクや不揮発性半導体メモリなどであり、システムを制御するプログラム及びRAM102より取得した情報を記憶する。表示部105はユーザインタフェース画面などを表示する。操作部106はユーザの操作を受け付け、その操作に応じた情報を入力する。尚、この操作部106と表示部105とが一体となったタッチパネル付きディスプレイ等も考えられる。   The CPU 101 controls the entire system. The RAM 102 temporarily stores a program supplied from an external device or the like, data acquired from a database, or intermediate data during program execution. The external storage device 104 is a hard disk, a nonvolatile semiconductor memory, or the like, and stores a program for controlling the system and information acquired from the RAM 102. The display unit 105 displays a user interface screen and the like. The operation unit 106 receives a user operation and inputs information corresponding to the operation. A display with a touch panel in which the operation unit 106 and the display unit 105 are integrated is also conceivable.

ソフトウェア開発支援装置の適用例として、テスト対象GUIアプリケーションによりGUI画面上に表示された複数のGUIコンポーネントに対するユーザの操作を記録する操作記録システムを説明する。   As an application example of the software development support apparatus, an operation recording system for recording user operations on a plurality of GUI components displayed on a GUI screen by a test target GUI application will be described.

図2は、本発明に係るソフトウェア開発支援装置のソフトウェア構成を示す図である。GUIアプリケーションの操作記録システムでは、図2において「テスト対象アプリケーション」と「操作記録プログラム」に着眼する。   FIG. 2 is a diagram showing a software configuration of the software development support apparatus according to the present invention. In the operation recording system of the GUI application, attention is paid to “test target application” and “operation recording program” in FIG.

図3は、本実施形態における操作記録システムの処理を示すフローチャートである。図4は、テスト対象アプリケーションの表示部における表示例を示す図であり、テスト対象アプリケーションが表示部105上に構成したGUIコンポーネントの配置イメージである。   FIG. 3 is a flowchart showing processing of the operation recording system in the present embodiment. FIG. 4 is a diagram illustrating a display example on the display unit of the test target application, and is an arrangement image of GUI components configured on the display unit 105 by the test target application.

先ず、図3において、CPU101がテスト対象アプリケーションの実行を開始すると、S301において、アプリケーションのGUI画面を表示部105に表示する。テスト対象アプリケーションは、S302においてマウスクリックなどのユーザ操作が行われた場合やアプリケーションの実行により、GUIコンポーネントの配置が変更された場合に、S303において、イベントを発生する。   First, in FIG. 3, when the CPU 101 starts execution of the test target application, an application GUI screen is displayed on the display unit 105 in S <b> 301. The test target application generates an event in S303 when a user operation such as a mouse click is performed in S302 or when the layout of the GUI component is changed by execution of the application.

これ以降、ユーザ操作によって発生したイベントを「操作イベント」と表現し、配置の変更によって発生したイベントを「配置イベント」と表現する。そして、このテスト対象アプリケーションのS303で発生したこのイベントを図2に示す操作記録プログラムがS306で検知することにより、様々な操作の記録を行う。   Hereinafter, an event generated by a user operation is expressed as an “operation event”, and an event generated due to a change in arrangement is expressed as an “arrangement event”. Then, the operation recording program shown in FIG. 2 detects this event that occurred in S303 of the test target application in S306, thereby recording various operations.

その後、S304において、イベントがテスト対象アプリケーションの終了イベントであるか否かを判定し、操作を続けるのであればS302に遷移し、次のユーザ操作を待つ。また、終了イベントであればテスト対象アプリケーションを終了する。   Thereafter, in S304, it is determined whether or not the event is an end event of the test target application. If the operation is continued, the process proceeds to S302 to wait for the next user operation. If it is an end event, the test target application is ended.

一方、操作記録プログラムは、図3に示すように、テスト対象アプリケーションと同時に実行され、S305において、テスト対象アプリケーションからのイベント通知を待つ。続いて、S303において発生したイベントをS306において検出する。S303においてイベントを発生させる仕組みは、テスト対象アプリケーションが持つこともできるし、アプリケーション実行環境がその仕組みを内包することもできる。   On the other hand, the operation recording program is executed simultaneously with the test target application as shown in FIG. 3, and waits for an event notification from the test target application in S305. Subsequently, an event occurring in S303 is detected in S306. The mechanism for generating an event in S303 can be included in the test target application, or the application execution environment can include the mechanism.

また、イベントの発生の仕組みがアプリケーション実行環境にあるならば、テスト対象アプリケーションは、本実施形態を実現するにあたって何ら特別な仕組みを追加する必要はない。また、使用するアプリケーション実行環境がイベントをキューなどによって集中的に一元管理しているならば、操作記録プログラムのイベント検出処理の実現は容易にはなるが、必ずしもイベントは一元的にキューイングされる必要はない。   Further, if the event generation mechanism is in the application execution environment, the test target application does not need to add any special mechanism to realize the present embodiment. Also, if the application execution environment to be used centrally manages events by queuing or the like, the event detection process of the operation recording program can be easily realized, but the events are not necessarily queued centrally. There is no need.

アプリケーション実行環境がイベントをキューなどによって集中的に一元管理している場合、S303で発生した全てのイベントは、アプリケーション実行環境の一つのキューに対するイベントの入出力を監視することで得られる。その場合、イベントの入出力を監視するイベント監視処理が、S303のイベント発生処理とS306のイベント検出処理の間におかれることもある。イベント監視処理では、キューに対するイベントが入力又は出力されるタイミングでイベントの情報を出力する仕組みを持ち、S306のイベント検出では、このイベント監視処理から得られた情報を取得することによって全てのイベントを検知することができる。   When the application execution environment centrally manages events by a queue or the like, all events generated in S303 can be obtained by monitoring input / output of events to one queue of the application execution environment. In this case, an event monitoring process for monitoring event input / output may be placed between the event generation process in S303 and the event detection process in S306. The event monitoring process has a mechanism for outputting event information at the timing when an event for the queue is input or output. In the event detection of S306, all events are acquired by acquiring information obtained from the event monitoring process. Can be detected.

次に、S306で検出したイベントがGUIアプリを構成するコンポーネントの配置が変化したことを示す配置イベントであるか、マウスクリックなどの操作イベントであるかをS307において判定する。判定の結果、配置イベントであればS313に遷移する。また、操作イベントであればS308に遷移する。   Next, in S307, it is determined whether the event detected in S306 is an arrangement event indicating that the arrangement of components constituting the GUI application has changed or an operation event such as a mouse click. If it is determined that the event is an arrangement event, the process proceeds to S313. If it is an operation event, the process proceeds to S308.

S306で検知したイベントが配置イベントの場合、S313において、イベントから配置イベント情報を取得する。この配置イベント情報は配置されたGUIコンポーネントや親コンポーネントの識別子であり、GUIコンポーネントが追加されたのか、削除されたのかといった情報も含まれる。   If the event detected in S306 is a placement event, placement event information is acquired from the event in S313. This placement event information is an identifier of the placed GUI component or parent component, and includes information such as whether the GUI component has been added or deleted.

S313で得られた情報を用いてGUIコンポーネントの配置順と親子関係から図5に示すような木構造の情報である配置情報をS314において更新し、S305に遷移して次のイベントを待つ。   Using the information obtained in S313, the arrangement information, which is the tree structure information shown in FIG. 5, is updated in S314 from the arrangement order of the GUI components and the parent-child relationship, and the process proceeds to S305 to wait for the next event.

一方、S306で検知したイベントが操作イベントの場合、S308においてイベントから操作イベント情報を取得する。操作イベント情報はGUIに対して操作がなされたかという情報であり、イベントの種類又は操作の種類に応じて、クリック、ダブルクリック、ドラッグ、キー入力などがある。   On the other hand, if the event detected in S306 is an operation event, operation event information is acquired from the event in S308. The operation event information is information indicating whether an operation has been performed on the GUI, and includes click, double click, drag, key input, and the like according to the type of event or the type of operation.

更に、S309において、イベントを受信したGUIコンポーネントであるリスナーの情報を取得する。S310において、上述のS314で更新された配置情報とS309で取得されたリスナーの情報を用いてGUIコンポーネントのアドレス情報を生成する。   In step S309, information on a listener that is a GUI component that has received the event is acquired. In S310, the address information of the GUI component is generated using the arrangement information updated in S314 and the listener information acquired in S309.

ここで、論理的な位置情報であるアドレス情報の生成方法について説明する。具体的には、先ず、図5において、frame0を表示部105上に配置されたGUI画面の基底の画面とし、この画面を木構造上の基点ととらえ、このノード位置をノードレベル0とする。   Here, a method of generating address information that is logical position information will be described. Specifically, first, in FIG. 5, frame 0 is a base screen of the GUI screen arranged on the display unit 105, this screen is regarded as a base point on the tree structure, and this node position is set to node level 0.

次に、GUIコンポーネントの親子関係の子に相当する向きを図の下方にとり、それらをノードレベル1、2、…とする。また、各GUIコンポーネントの配置順を0から順に正の整数値を付与したものをコンポーネントIDとする。即ち、図5に示すbutton3は、ノードレベル1にあるpanel1の上のノードレベル2の0オリジン(0を原点として0、1、2、…と数える方法)で3(0を原点として4番目)のコンポーネントである。   Next, the direction corresponding to the child of the parent-child relationship of the GUI component is taken in the lower part of the figure, and these are designated as node levels 1, 2,. Also, component GUIs are assigned with positive integer values in order from 0 in the arrangement order of GUI components. In other words, button 3 shown in FIG. 5 is 3 at node level 2 origin 0 above panel 1 at node level 1 (a method of counting 0, 1, 2,... With 0 as the origin) (4th with 0 as the origin). Is a component.

更に、panel1は、frame0の上にあるノードレベル1の0オリジンで1(0を原点として2番目)のコンポーネントである(アドレス情報:0.1)。frame0は、ノードレベル0の0オリジンで0(0を原点として1番目)のコンポーネントである(アドレス情報:0)。   Further, panel1 is a component of 0 (originating from 0 as the origin) of 0 at node level 1 above frame0 (address information: 0.1). Frame 0 is a component of 0 at node level 0 and 0 (first with 0 as the origin) (address information: 0).

このようにして、図5に示すbutton3のアドレス情報は、ノードレベルとコンポーネントIDを組み合わせ、0.1.3のようになる。アドレス情報の表現形式としては、上述のノードレベルとコンポーネントIDを組み合わせるだけでなく、コンポーネント名の文字列情報を付加して構成することも可能であるが、本実施形態の説明においては、文字列情報は使わずに数値的な表現とする。   In this way, the address information of button 3 shown in FIG. 5 is 0.1.3, combining the node level and the component ID. As an address information expression format, not only the above-described node level and component ID may be combined, but also a character string information of a component name may be added, but in the description of the present embodiment, a character string is used. Do not use information and use numerical expressions.

ここで図3に戻り、S311において、上述のアドレス情報を配置情報、イベント情報、リスナー登録情報と紐付け、操作記録を出力する。本実施形態では、上述の操作記録のフォーマットとして構造化言語のXML(Extensible Markup Language)を用いることとする。そして、S312において、操作記録を続けるかを判定し、記録の終わりに達するまで、S305〜S311の処理を繰り返す。   Returning to FIG. 3, in S <b> 311, the above address information is associated with the arrangement information, event information, and listener registration information, and an operation record is output. In the present embodiment, the structured language XML (Extensible Markup Language) is used as the above-described operation recording format. In S312, it is determined whether or not the operation recording is continued, and the processes in S305 to S311 are repeated until the end of the recording is reached.

ここで、操作記録プログラムのS311において出力される操作記録を、図6を用いて説明する。図6は、構造化言語のXMLで表記した操作記録の一例を示す図である。図6に示すadd要素601及びremove要素603は、S314において得られた配置情報である。このadd要素601は、GUI画面上に追加されたGUIコンポーネントに関する情報を表している。component属性は、GUIコンポーネントのクラス名であり、name属性は、コンポーネントIDである。また、id属性は、S310において得られたアドレス情報(論理的な位置情報)を表している。そして、remove要素603は、GUI画面上から削除されたGUIコンポーネントに関する情報を表している。尚、配置情報は、追加(add)・削除(remove)の他にも可視・不可視といった情報もあり得るが説明の簡単のために省略する。   Here, the operation record output in S311 of the operation record program will be described with reference to FIG. FIG. 6 is a diagram illustrating an example of an operation record expressed in XML of a structured language. An add element 601 and a remove element 603 shown in FIG. 6 are the arrangement information obtained in S314. The add element 601 represents information related to a GUI component added on the GUI screen. The component attribute is a class name of the GUI component, and the name attribute is a component ID. The id attribute represents the address information (logical position information) obtained in S310. A remove element 603 represents information related to a GUI component deleted from the GUI screen. The arrangement information may be visible / invisible information in addition to add / remove, but is omitted for the sake of simplicity.

また、図6に示す602は、S308及びS309において得られた操作イベント情報及びリスナー情報に関する情報である。event要素は、操作部106で操作された表示部105上のGUI画面上に発生したイベントに関する情報を表し、type属性は、発生したイベントの種類を表している。   Also, 602 shown in FIG. 6 is information regarding the operation event information and listener information obtained in S308 and S309. The event element represents information related to an event that has occurred on the GUI screen on the display unit 105 operated by the operation unit 106, and the type attribute represents the type of event that has occurred.

component属性は、GUIコンポーネントのクラス名であり、name属性は、GUIコンポーネントの内部オブジェクト名である。また、id属性は、S310において得られたアドレス情報(論理的な位置情報)、time属性は、イベントが発生した時刻を表している。   The component attribute is the class name of the GUI component, and the name attribute is the internal object name of the GUI component. The id attribute represents the address information (logical location information) obtained in S310, and the time attribute represents the time when the event occurred.

更に、S309において得られたリスナー情報は、listener属性、ActionListener属性、ItemListener属性、FocusListener属性などで表記されている。listener属性は、リスナー登録されているGUIコンポーネントのアドレス情報である。   Furthermore, the listener information obtained in S309 is described by a listener attribute, an ActionListener attribute, an ItemListener attribute, a FocusListener attribute, and the like. The listener attribute is address information of a GUI component registered as a listener.

図6示す602では、listener=“0.1”であるため、図5よりpanel1となり、panel1にリスナー登録されていることが分かる。また、ActionListener属性は、アクションリスナーが登録されているか否かの有無、ItemListener属性は、アイテムリスナーが登録されているか否かの有無である。更に、FocusListener属性は、フォーカスリスナーが登録されているか否かの有無を表している。   In 602 shown in FIG. 6, listener = “0.1”, so that it becomes panel 1 from FIG. 5 and it is understood that the listener is registered in panel 1. The ActionListener attribute is whether or not an action listener is registered, and the ItemListener attribute is whether or not an item listener is registered. Further, the FocusListener attribute represents whether or not a focus listener is registered.

上述したように、操作記録システムにおけるテスト対象アプリケーション及び操作記録プログラムによれば、スクリーン座標系を使わずに、GUIコンポーネントベースの操作記録を取得することが可能になる。   As described above, according to the test target application and the operation recording program in the operation recording system, it is possible to acquire a GUI component-based operation record without using the screen coordinate system.

次に、GUIアプリケーションのテストを自動化するための自動操作システムについて述べる。自動操作システムでは、テスト対象のGUIアプリケーションに与える外部からの影響を少なくするためにも、リモート操作を行う構成が望ましい。そのため、システム構成として、図7に示すように、テスト対象アプリケーション及び自動操作プログラムがネットワークを介して遠隔システム上にあるような構成で実施した場合を例に挙げて説明する。   Next, an automatic operation system for automating GUI application testing will be described. In the automatic operation system, it is desirable to perform a remote operation in order to reduce the external influence on the GUI application to be tested. Therefore, as an example of the system configuration, as shown in FIG. 7, a case where the test target application and the automatic operation program are implemented on the remote system via the network will be described as an example.

図7は、本実施形態における自動操作システムのシステム構成を示す図である。この例では、自動操作システムの中核をなす自動操作プログラムを次の2種類に分ける。即ち、テスト対象のGUIアプリケーションが実行されるシステムを被試験装置と称し、被試験装置上にある自動操作プログラムを自動操作プログラムAとする。   FIG. 7 is a diagram showing a system configuration of the automatic operation system in the present embodiment. In this example, the automatic operation program forming the core of the automatic operation system is divided into the following two types. That is, a system in which a GUI application to be tested is executed is referred to as a device under test, and an automatic operation program on the device under test is referred to as an automatic operation program A.

一方、被試験装置とネットワークを介して接続されているリモートシステムをリモート試験装置と称し、リモート試験装置上にある自動操作プログラムを自動操作プログラムBとする。   On the other hand, a remote system connected to the device under test via a network is referred to as a remote test device, and an automatic operation program on the remote test device is referred to as an automatic operation program B.

図8及び図9は、本実施形態における自動操作システムの処理を示すフローチャートである。図8は、被試験装置における自動操作プログラムA及びテスト対象のGUIアプリケーションに関する処理を示すフローチャートである。一方、図9は、リモート試験装置における自動操作プログラムBの処理を示すフローチャートである。   8 and 9 are flowcharts showing processing of the automatic operation system in the present embodiment. FIG. 8 is a flowchart showing processing relating to the automatic operation program A and the GUI application to be tested in the device under test. On the other hand, FIG. 9 is a flowchart showing processing of the automatic operation program B in the remote test apparatus.

先ず、テストを実行する前に、上述の操作記録システムで記録されたアプリケーションの操作記録を予め取得しておく。操作記録は、毎回取得する必要はなく、既に取得済みの場合は、それを利用する。   First, before executing a test, an operation record of an application recorded by the above-described operation record system is acquired in advance. The operation record does not need to be acquired every time. If it has already been acquired, it is used.

S801において、被試験装置上でテスト対象のGUIアプリケーションを実行し、S802において、自動操作プログラムAを実行する。一方、S901において、リモート試験装置上で自動操作プログラムBを起動し、S902において、操作記録を読み出す。次に、S903において、自動操作プログラムBは、操作記録を解釈して1操作分を選択し、S904において、そのアドレス情報(論理的な位置情報)とイベントの種類とを自動操作プログラムAに送信する。   In step S801, a GUI application to be tested is executed on the device under test. In step S802, the automatic operation program A is executed. On the other hand, in S901, the automatic operation program B is activated on the remote test apparatus, and in S902, the operation record is read. In step S903, the automatic operation program B interprets the operation record and selects one operation. In step S904, the automatic operation program B transmits the address information (logical position information) and the event type to the automatic operation program A. To do.

次に、S803において、自動操作プログラムAは自動操作プログラムBから自動操作のための操作指示情報であるアドレス情報及びイベントの種類に関する情報を受信する。ここで、自動操作プログラムAは、被試験装置上で実行中のGUIアプリケーションにおけるGUIコンポーネントの配置情報を収集し、S804において自動操作プログラムBから送られてきたアドレス情報と一致するGUIコンポーネントを選択する。   In step S <b> 803, the automatic operation program A receives from the automatic operation program B address information that is operation instruction information for automatic operation and information related to an event type. Here, the automatic operation program A collects GUI component arrangement information in the GUI application being executed on the device under test, and selects a GUI component that matches the address information sent from the automatic operation program B in S804. .

次に、S805において、自動操作プログラムAは、選択されたGUIコンポーネントについて、可視・不可視の状態及び他のGUIコンポーネントの重なり具合(Zオーダーなどの配置順)などを調べ、操作可能であるかを検証する。S806において、操作可能であると検証された場合にはS807へ進み、現在実行中のGUIアプリケーションからGUIコンポーネントのスクリーン座標系における位置を算出する。   Next, in S805, the automatic operation program A checks the visible / invisible state of the selected GUI component, the overlapping state of other GUI components (arrangement order such as Z order), etc., and determines whether the operation is possible. Validate. If it is verified in S806 that the operation is possible, the process proceeds to S807, and the position of the GUI component in the screen coordinate system is calculated from the currently executing GUI application.

ここで、button2の配置が、操作記録を取得した時には、図10に示す(A)のように配置されていたが、自動操作プログラムを実行した時には、図10に示す(B)のように変更になっていたとする。   Here, the arrangement of button 2 was arranged as shown in FIG. 10A when the operation record was acquired, but changed as shown in FIG. 10B when the automatic operation program was executed. Suppose that

本実施形態では、操作記録時のGUIコンポーネントのアドレス情報に基づいて自動操作時に対応するGUIコンポーネントのスクリーン座標上の実際の位置を算出している。そのため、GUIコンポーネントの位置が変更されていても自動操作が可能となる。   In the present embodiment, the actual position on the screen coordinates of the GUI component corresponding to the automatic operation is calculated based on the address information of the GUI component at the time of operation recording. Therefore, automatic operation is possible even if the position of the GUI component is changed.

このように、GUIコンポーネントが記録時のスクリーン座標系の位置とは異なっていても、GUIコンポーネントの論理的な位置情報(ID)が等しいGUIコンポーネントであれば操作対象とみなすことができる。   As described above, even if the GUI component is different from the position of the screen coordinate system at the time of recording, if the GUI component has the same logical position information (ID), it can be regarded as an operation target.

続いて、S808において、自動操作プログラムAは、操作対象となるGUIコンポーネントを、S807において算出されたスクリーン座標に対してS803で取得したイベントを発行することで操作を実行する。次に、S809において、GUIコンポーネントから発生したイベント情報を結果として自動操作プログラムBへ送信する。   Subsequently, in S808, the automatic operation program A executes the operation by issuing the event acquired in S803 for the GUI component to be operated on the screen coordinates calculated in S807. In step S809, event information generated from the GUI component is transmitted to the automatic operation program B as a result.

自動操作プログラムBは、S905において、自動操作プログラムAから送られてきた結果を受信し、S906において、その受信されたイベント情報と操作記録に記述されている情報とを比較する。そして、S907において、比較した結果が同じであるかを判定し、同じであれば、S908へ進み、比較結果を出力する。そして、S909において、操作の終わりでなければ、S903に戻り、上述の処理を繰り返すが、操作の終わりであれば、この処理を終了する。また、S907において、比較結果が異なっていれば、この処理を終了する。   The automatic operation program B receives the result sent from the automatic operation program A in S905, and compares the received event information with the information described in the operation record in S906. In step S907, it is determined whether the comparison results are the same. If the comparison results are the same, the process proceeds to step S908, and the comparison result is output. If it is not the end of the operation in S909, the process returns to S903 and the above processing is repeated. If the operation is ended, this processing is terminated. If the comparison results are different in S907, this process is terminated.

尚、自動操作システムでは、GUIアプリケーションのテストであることから、テストのシナリオ通りに処理が進まなかった場合、S907において処理を中断する。これは、GUIアプリケーションのテストでは、シナリオ通りに処理が進まないまま、続きの処理を継続すると、あるべきチェックボックスがない場合や、ないはずのボタンが表示されることがある。そのため、一つの操作に失敗しただけでも、続きのテストシナリオの継続に支障をきたすことが多いため、自動操作システムでは処理を中断している。   Since the automatic operation system is a GUI application test, if the process does not proceed according to the test scenario, the process is interrupted in step S907. This is because, in a GUI application test, if the subsequent processing is continued without proceeding according to the scenario, there may be a case where there is no check box or a button that should not exist. For this reason, even if only one operation fails, the continuation of the subsequent test scenario is often hindered, and the processing is interrupted in the automatic operation system.

しかし、操作の失敗に対する対処法としては、操作の結果を無視して継続させることも可能であるし、擬似的にあるべき結果を発生させることも可能である。また、操作が失敗した時に、ユーザ(テスター)に対して次の処理を対話式に問い合わせる方法もある。   However, as a countermeasure against the operation failure, the operation result can be ignored and continued, or a desired result can be generated in a pseudo manner. There is also a method of interactively inquiring the user (tester) about the next process when the operation fails.

また、本実施形態では、自動操作プログラムBにおいて、操作記録の中から1操作分を自動操作プログラムAへ送るようにしたが、複数の操作をまとめた1シナリオ単位として送っても良いし、全操作記録をまとめて一度に送っても良い。   In the present embodiment, in the automatic operation program B, one operation portion is sent from the operation record to the automatic operation program A. However, a plurality of operations may be sent as one scenario unit, or all operations may be sent. Operation records may be sent all at once.

また、操作と操作の時間的な間隔などのタイミングについては説明していないが、操作記録を取得したときに各操作が行われた時刻を記録しておけば、記録された時刻から操作と操作の間隔も同じくして自動操作させることも可能である。   In addition, timing such as the time interval between operations is not explained, but if you record the time when each operation was performed when the operation record was acquired, the operation and operation from the recorded time It is also possible to automatically operate the same interval.

次に、GUIアプリケーションの操作記録を静的に分析することによりGUIコンポーネントの重なりを検出する記録分析システムを説明する。この記録分析システムは、図2に示す記録分析プログラムが含まれ、図11は、記録分析プログラムの手順を示すフローチャートである。   Next, a description will be given of a record analysis system that detects an overlap of GUI components by statically analyzing operation records of GUI applications. This record analysis system includes the record analysis program shown in FIG. 2, and FIG. 11 is a flowchart showing the procedure of the record analysis program.

先ず、図12に示すようなGUI画面を持つアプリケーションを起動する。ここで、GUIコンポーネントのbutton3は、button2の背面に完全に隠れており操作できない状態になっている。尚、図12では、button3が背面にあることを分かりやすくするため、説明の便宜上、背面に完全に隠さず右下へずらして描かれている。   First, an application having a GUI screen as shown in FIG. 12 is started. Here, the button 3 of the GUI component is completely hidden behind the button 2 and cannot be operated. In FIG. 12, in order to make it easy to understand that button 3 is on the back side, for convenience of explanation, the button 3 is drawn to the lower right without being completely hidden on the back side.

ユーザがGUIアプリケーションのテストを行うため、上述の操作記録システムを使ってGUI画面上にある全てのユーザ対話型のGUIコンポーネントに対して必要な操作の全てを網羅的に行う。若しくは、ユーザが操作するのではなく、GUI画面全体を網羅的にクリックするツールを利用して自動操作を行わせても良い。その場合、操作の最小単位である1ドット単位で自動的にクリック操作を行わせることでGUI画面全体を網羅することができる。   In order for the user to test the GUI application, all necessary operations are performed comprehensively for all user interactive GUI components on the GUI screen using the operation recording system described above. Alternatively, instead of being operated by the user, automatic operation may be performed using a tool that comprehensively clicks the entire GUI screen. In that case, the entire GUI screen can be covered by automatically performing a click operation in units of one dot, which is the minimum unit of operation.

ここでは、ユーザがGUI画面を操作する方法をとったとして、ユーザがbutton0、button1、button2をクリック操作する。button3は、button2の背面に完全に隠れているので、ユーザはbutton3を目視で確認できないため操作できない。   Here, assuming that the user operates the GUI screen, the user clicks button 0, button 1, and button 2. Since button 3 is completely hidden behind the button 2, the user cannot operate button 3 because it cannot be visually confirmed.

上述の操作の結果、図13に示すようなXMLで記述された情報を得ることができる。アプリケーションが生成したGUIコンポーネントがadd要素1401として記述され、ユーザ操作がevent要素1402として記述されている。   As a result of the above operation, information described in XML as shown in FIG. 13 can be obtained. A GUI component generated by the application is described as an add element 1401, and a user operation is described as an event element 1402.

説明を簡単にするため、add要素1401は、ユーザ対話側のGUIコンポーネントが配置された時の情報であり、add要素1401が生成された時は、GUIコンポーネントが配置(コンテナへの追加)及び可視化されて操作可能な状態であるとする。また、event要素1402は、ユーザ操作時のGUIコンポーネントの情報とする。   In order to simplify the explanation, the add element 1401 is information when the GUI component on the user interaction side is arranged. When the add element 1401 is generated, the GUI component is arranged (added to the container) and visualized. Suppose that it is in an operable state. The event element 1402 is GUI component information at the time of user operation.

ここで、記録分析プログラムは、S1201において、上述した操作記録を読み取り、S1202及びS1203において、add要素1401及びevent要素1402からアドレス情報を取得する。そして、S1204において、これら2つのアドレス情報を比較する。   Here, the record analysis program reads the operation record described above in S1201 and acquires address information from the add element 1401 and the event element 1402 in S1202 and S1203. In step S1204, the two pieces of address information are compared.

比較の結果、GUIコンポーネントのbutton3は、add要素1401から取り出されたアドレス情報内には、0.1.3として記録されており、確かにGUI画面上に生成されていることがわかる。しかし、ユーザ操作の記録であるevent要素1402には、0.1.3のアドレス情報の記述がない。そのため、このbutton3は、操作されていないGUIコンポーネントであることがわかる。   As a result of the comparison, it can be seen that button 3 of the GUI component is recorded as 0.1.3 in the address information extracted from the add element 1401, and is certainly generated on the GUI screen. However, the event element 1402, which is a record of user operations, has no description of address information of 0.1.3. Therefore, it can be seen that button 3 is a GUI component that is not operated.

操作されなかった原因は、そもそも不要なGUIコンポーネントであるか、必要な処理が未実装か、若しくは、ユーザの操作漏れなどが考えられるため、S1205において、その結果を出力する。   The reason why the operation was not performed is an unnecessary GUI component in the first place, a necessary process is not implemented, or a user operation omission is considered. Therefore, in S1205, the result is output.

多くのユーザ対話型のGUIコンポーネントは、操作イベントを受け取り、イベントの種類に応じて何らかの処理を実行する仕組みになっている。そのため、GUI画面を網羅的に操作しているにも関わらず操作イベントが発生しないGUIコンポーネントは、上述のような問題を抱えている可能性がある。   Many user-interactive GUI components are configured to receive an operation event and execute some processing according to the type of the event. For this reason, a GUI component that does not generate an operation event even though the GUI screen is comprehensively operated may have the above-described problem.

以上のように、本実施形態による操作記録はGUIコンポーネントの重なりを検出する分析にも利用できる。   As described above, the operation record according to the present embodiment can also be used for analysis for detecting an overlap of GUI components.

続いて、GUIアプリケーションの操作記録を静的に分析することによりリスナー登録されていないコンポーネントを検出する記録分析システム(静的解析)を説明する。この記録分析システム(静的解析)は、図2に示す記録分析プログラムが含まれ、図14は、記録分析プログラムの手順を示すフローチャートである。   Next, a record analysis system (static analysis) for detecting a component that is not registered as a listener by statically analyzing an operation record of a GUI application will be described. This record analysis system (static analysis) includes the record analysis program shown in FIG. 2, and FIG. 14 is a flowchart showing the procedure of the record analysis program.

先ず、図12に示すようなGUI画面を持つアプリケーションを起動する。ここで、ユーザがGUIアプリケーションのテストを行うため、上述した操作記録システムを使ってGUI画面上にある全てのユーザ対話型のGUIコンポーネントに対して必要な操作の全てを網羅的に行う。若しくは、ユーザが操作するのではなく、GUI画面全体を網羅的にクリックするツールを利用して自動操作を行わせても良い。この場合、操作の最小単位である1ドット単位で自動的にクリック操作を行わせることでGUI画面全体を網羅することができる。   First, an application having a GUI screen as shown in FIG. 12 is started. Here, in order for the user to test the GUI application, all the necessary operations for all the user interactive GUI components on the GUI screen are comprehensively performed using the operation recording system described above. Alternatively, instead of being operated by the user, automatic operation may be performed using a tool that comprehensively clicks the entire GUI screen. In this case, the entire GUI screen can be covered by automatically performing a click operation in units of one dot, which is the minimum unit of operation.

操作の結果、図15に示すようなXMLで記述された情報が得られる。尚、add要素1601は、図13に示すadd要素1401と同じである。ここで、リスナー情報は、event要素1602の中のActionListener属性、ItemListener属性、FocusListener属性として記述されている。そして、ActionListener属性の内容は、リスナーが受信するようになっていれば、trueとなる。受信するようになっていなければ、falseとなる。また同様に、ItemListener属性やFocusListener属性が記録されている。   As a result of the operation, information described in XML as shown in FIG. 15 is obtained. The add element 1601 is the same as the add element 1401 shown in FIG. Here, the listener information is described as an ActionListener attribute, an ItemListener attribute, and a FocusListener attribute in the event element 1602. The content of the ActionListener attribute becomes true if the listener is to receive the content. If it is not received, it becomes false. Similarly, an ItemListener attribute and a FocusListener attribute are recorded.

S1501において、記録分析プログラムは、操作記録を読み込み、S1502では、event要素1602からcomponent属性の情報を取得し、S1503では、event要素1602からリスナー情報を取得する。図16は、GUIコンポーネント種別の必須リスナーのテーブルを示す図である。ここでリスナーとは、GUIアプリケーション内の種々のイベントを処理するための仕組みであり、ユーザ対話型のGUIコンポーネントには操作イベントに応じたリスナーが登録されている必要がある。   In S1501, the record analysis program reads the operation record, acquires component attribute information from the event element 1602 in S1502, and acquires listener information from the event element 1602 in S1503. FIG. 16 is a diagram illustrating a table of essential listeners of the GUI component type. Here, the listener is a mechanism for processing various events in the GUI application, and a listener corresponding to the operation event needs to be registered in the user interactive GUI component.

必須リスナーとは、特にユーザ対話型のGUIコンポーネントにおいて、その種類毎に各機能を実現するために最低限必要とするリスナーのことである。GUIアプリケーションは、対応するリスナーを登録することにより操作イベントを検知することができる。   The essential listener is a listener that is required at least in order to realize each function for each type, particularly in a user interactive GUI component. The GUI application can detect an operation event by registering a corresponding listener.

次に、S1504において、S1502で取得したcomponent属性の情報を図16に示すテーブルのComponent Class列から探し、対応するListener Nameを取得する。そして、S1505において、取得されたListener NameがS1503で取得したevent要素1602においてtrueとなっているか判定する。   Next, in S1504, the component attribute information acquired in S1502 is searched from the Component Class column of the table shown in FIG. 16, and the corresponding Listener Name is acquired. In step S1505, it is determined whether the acquired Listener Name is true in the event element 1602 acquired in step S1503.

必須リスナーが登録されていないGUIコンポーネントは、操作イベントのリスナーがいないため、操作しても何の処理もされないので、S1506において、その結果を出力する。例えば、図15に示すbutton1は、component属性からjava.awt.Buttonという種類のコンポーネントであることが分かる。更に、図16を参照すると、対応するリスナーとして、必ずActionListenerが登録されている必要があることがわかる。   A GUI component for which an essential listener is not registered does not have any operation event listener, so no processing is performed even if operated. In S1506, the result is output. For example, button 1 shown in FIG. awt. It can be seen that the component is a type of Button. Furthermore, referring to FIG. 16, it can be seen that the ActionListener must be registered as a corresponding listener.

しかし、図15に示すActionListener属性の内容は、false(1603)であり、リスナー登録がされていないことがわかる。従って、そもそも不要なGUIコンポーネントであるか、必要な処理が未実装などの理由が考えられるため、その結果を出力する。   However, the content of the ActionListener attribute shown in FIG. 15 is false (1603), and it can be seen that the listener is not registered. Therefore, it is possible that the GUI component is unnecessary in the first place, or the necessary processing is not implemented, and the result is output.

これにより、ユーザはその出力結果に基づいて、不要なGUIコンポーネントであればプログラム中から削除することができるし、また必要な処理が未実装であれば、その処理を実装することができる。   Thereby, based on the output result, the user can delete an unnecessary GUI component from the program, and can implement the process if the necessary process is not implemented.

操作記録システム(静的解析)によれば、GUIコンポーネントのリスナー登録されていないコンポーネントを検出する分析にも利用できる。   According to the operation recording system (static analysis), it can also be used for analysis for detecting a component that is not registered as a GUI component listener.

本実施形態によれば、GUIアプリケーションのテスト自動化システムにおいて、スクリーン座標系ではなくGUIコンポーネントに基づく記録方法を用いることにより、画面サイズやデザイン変更に柔軟に対応可能な操作記録を得ることができる。そのため、画面サイズやデザイン変更を行う際に、操作記録を取り直す手間やコストが低減される。また、前記記録方法により取得した情報によりGUIプログラムの分析を容易せしめる効果がある。更に、操作記録を分析することによりGUIプログラムの不具合を発見することが可能になる。   According to the present embodiment, in the GUI application test automation system, by using a recording method based on a GUI component instead of a screen coordinate system, it is possible to obtain an operation record that can flexibly cope with a screen size and a design change. For this reason, when changing the screen size or the design, it is possible to reduce the trouble and cost of re-recording the operation record. In addition, the GUI program can be easily analyzed by the information acquired by the recording method. Furthermore, it is possible to find a defect in the GUI program by analyzing the operation record.

[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
[Other Embodiments]
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

Claims (6)

GUIアプリケーションによりGUI画面上に表示された複数のコンポーネントに対するユーザの操作又は自動操作を記録した操作記録を用いてソフトウェアの開発を支援するソフトウェア開発支援装置であって、
前記ユーザの操作又は自動操作が行われたコンポーネントの前記GUI画面上の配置を示す論理的な位置情報を生成する生成手段と、
前記生成手段により生成された論理的な位置情報を前記操作が行われたコンポーネントの操作記録として記録する操作記録手段と、
を有することを特徴とするソフトウェア開発支援装置。
A software development support apparatus that supports software development using operation records in which user operations or automatic operations are recorded on a plurality of components displayed on a GUI screen by a GUI application,
Generating means for generating logical position information indicating an arrangement on the GUI screen of a component on which the user operation or automatic operation has been performed;
Operation recording means for recording the logical position information generated by the generating means as an operation record of the component on which the operation has been performed;
A software development support apparatus characterized by comprising:
前記操作記録手段により記録された論理的な位置情報に配置されたコンポーネントが操作可能であるかを他のコンポーネントとの重なり具合を元に検証する検証手段を更に有することを特徴とする請求項1に記載のソフトウェア開発支援装置。   2. The apparatus according to claim 1, further comprising verification means for verifying whether or not the component arranged in the logical position information recorded by the operation recording means can be operated based on the degree of overlap with other components. The software development support apparatus described in 1. 前記生成手段は、前記複数のコンポーネントの前記GUI画面上の配置順及び親子関係により木構造の情報として前記操作が行われたコンポーネントの論理的な位置情報を生成することを特徴とする請求項1に記載のソフトウェア開発支援装置。   The generation unit generates logical position information of a component on which the operation has been performed as tree structure information based on an arrangement order and a parent-child relationship of the plurality of components on the GUI screen. The software development support apparatus described in 1. 前記操作記録は、各操作が行われた時間的な間隔や各操作の時刻を示す情報を更に含み、該操作記録を用いて前記複数のコンポーネントの検証を行うことを特徴とする請求項1又は2に記載のソフトウェア開発支援装置。   The operation record further includes information indicating a time interval at which each operation is performed and a time of each operation, and the plurality of components are verified using the operation record. 2. The software development support apparatus according to 2. GUIアプリケーションによりGUI画面上に表示された複数のコンポーネントに対するユーザの操作又は自動操作を記録した操作記録を用いてソフトウェアの開発を支援するソフトウェア開発支援装置の処理方法であって、
生成手段が、前記ユーザの操作又は自動操作が行われたコンポーネントの前記GUI画面上の配置を示す論理的な位置情報を生成する生成工程と、
操作記録手段が、前記生成工程において生成された論理的な位置情報を前記操作が行われたコンポーネントの操作記録として記録する操作記録工程と、
を有することを特徴とするソフトウェア開発支援装置の処理方法。
A processing method of a software development support apparatus that supports software development using an operation record that records user operations or automatic operations on a plurality of components displayed on a GUI screen by a GUI application,
A generating step in which generating means generates logical position information indicating an arrangement of the component on which the user operation or automatic operation has been performed on the GUI screen;
An operation recording step, wherein the operation recording means records the logical position information generated in the generation step as an operation record of the component on which the operation has been performed;
A processing method for a software development support apparatus, comprising:
コンピュータを、請求項1乃至4の何れか1項に記載のソフトウェア開発支援装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the software development assistance apparatus of any one of Claims 1 thru | or 4.
JP2010156183A 2010-07-08 2010-07-08 Software development support device and processing method thereof Withdrawn JP2012018583A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010156183A JP2012018583A (en) 2010-07-08 2010-07-08 Software development support device and processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010156183A JP2012018583A (en) 2010-07-08 2010-07-08 Software development support device and processing method thereof

Publications (1)

Publication Number Publication Date
JP2012018583A true JP2012018583A (en) 2012-01-26

Family

ID=45603781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010156183A Withdrawn JP2012018583A (en) 2010-07-08 2010-07-08 Software development support device and processing method thereof

Country Status (1)

Country Link
JP (1) JP2012018583A (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049520A (en) * 2013-08-29 2015-03-16 富士通株式会社 Scenario generation program, scenario execution program, scenario generation method, scenario execution method, scenario generation apparatus, and scenario execution apparatus
JP2016071397A (en) * 2014-09-26 2016-05-09 株式会社野村総合研究所 Test execution device, test execution method, and computer program
JP2017111798A (en) * 2015-12-18 2017-06-22 富士通株式会社 Event driven software test
JP2017219978A (en) * 2016-06-06 2017-12-14 グレープシティ株式会社 Method and program for automatic program testing
JP2018206288A (en) * 2017-06-09 2018-12-27 富士ゼロックス株式会社 Information processing device and program
JP2019079426A (en) * 2017-10-26 2019-05-23 株式会社東芝 Test assistance device for plant monitoring system, its test assistance method, and its test assistance program
US10300370B1 (en) 2015-10-06 2019-05-28 Google Llc Advanced gaming and virtual reality control using radar
US10409385B2 (en) 2014-08-22 2019-09-10 Google Llc Occluded gesture recognition
US10496182B2 (en) 2015-04-30 2019-12-03 Google Llc Type-agnostic RF signal representations
JP2020013400A (en) * 2018-07-19 2020-01-23 株式会社野村総合研究所 Apparatus and computer program
JP2020046897A (en) * 2018-09-19 2020-03-26 みずほ情報総研株式会社 Test support system, test support method and test support program
US10642367B2 (en) 2014-08-07 2020-05-05 Google Llc Radar-based gesture sensing and data transmission
US10664059B2 (en) 2014-10-02 2020-05-26 Google Llc Non-line-of-sight radar-based gesture recognition
JP2020166773A (en) * 2019-03-29 2020-10-08 日本電気株式会社 Data recording device, data recording method, and program
JP2021033409A (en) * 2019-08-19 2021-03-01 Necフィールディング株式会社 System and method for automatically executing task
US10936085B2 (en) 2015-05-27 2021-03-02 Google Llc Gesture detection and interactions
US10948996B2 (en) 2014-06-03 2021-03-16 Google Llc Radar-based gesture-recognition at a surface of an object
US11140787B2 (en) 2016-05-03 2021-10-05 Google Llc Connecting an electronic component to an interactive textile
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US11709552B2 (en) 2015-04-30 2023-07-25 Google Llc RF-based micro-motion tracking for gesture tracking and recognition

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049520A (en) * 2013-08-29 2015-03-16 富士通株式会社 Scenario generation program, scenario execution program, scenario generation method, scenario execution method, scenario generation apparatus, and scenario execution apparatus
US10222949B2 (en) 2013-08-29 2019-03-05 Fujitsu Limited Scenario generation method in which various data are associated with each other, scenario execution method in which various data are associated with each other, scenario generation device, and scenario execution device
US10948996B2 (en) 2014-06-03 2021-03-16 Google Llc Radar-based gesture-recognition at a surface of an object
US10642367B2 (en) 2014-08-07 2020-05-05 Google Llc Radar-based gesture sensing and data transmission
US11816101B2 (en) 2014-08-22 2023-11-14 Google Llc Radar recognition-aided search
US11221682B2 (en) 2014-08-22 2022-01-11 Google Llc Occluded gesture recognition
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US10409385B2 (en) 2014-08-22 2019-09-10 Google Llc Occluded gesture recognition
US10936081B2 (en) 2014-08-22 2021-03-02 Google Llc Occluded gesture recognition
JP2016071397A (en) * 2014-09-26 2016-05-09 株式会社野村総合研究所 Test execution device, test execution method, and computer program
US11163371B2 (en) 2014-10-02 2021-11-02 Google Llc Non-line-of-sight radar-based gesture recognition
US10664059B2 (en) 2014-10-02 2020-05-26 Google Llc Non-line-of-sight radar-based gesture recognition
US11709552B2 (en) 2015-04-30 2023-07-25 Google Llc RF-based micro-motion tracking for gesture tracking and recognition
US10496182B2 (en) 2015-04-30 2019-12-03 Google Llc Type-agnostic RF signal representations
US10936085B2 (en) 2015-05-27 2021-03-02 Google Llc Gesture detection and interactions
US10908696B2 (en) 2015-10-06 2021-02-02 Google Llc Advanced gaming and virtual reality control using radar
US10310621B1 (en) 2015-10-06 2019-06-04 Google Llc Radar gesture sensing using existing data protocols
US11481040B2 (en) 2015-10-06 2022-10-25 Google Llc User-customizable machine-learning in radar-based gesture detection
US10705185B1 (en) 2015-10-06 2020-07-07 Google Llc Application-based signal processing parameters in radar-based detection
US10768712B2 (en) 2015-10-06 2020-09-08 Google Llc Gesture component with gesture library
US11385721B2 (en) 2015-10-06 2022-07-12 Google Llc Application-based signal processing parameters in radar-based detection
US10823841B1 (en) 2015-10-06 2020-11-03 Google Llc Radar imaging on a mobile computing device
US10540001B1 (en) 2015-10-06 2020-01-21 Google Llc Fine-motion virtual-reality or augmented-reality control using radar
US11698438B2 (en) 2015-10-06 2023-07-11 Google Llc Gesture recognition using multiple antenna
US10459080B1 (en) 2015-10-06 2019-10-29 Google Llc Radar-based object detection for vehicles
US10379621B2 (en) 2015-10-06 2019-08-13 Google Llc Gesture component with gesture library
US11592909B2 (en) 2015-10-06 2023-02-28 Google Llc Fine-motion virtual-reality or augmented-reality control using radar
US11132065B2 (en) 2015-10-06 2021-09-28 Google Llc Radar-enabled sensor fusion
US11656336B2 (en) 2015-10-06 2023-05-23 Google Llc Advanced gaming and virtual reality control using radar
US10300370B1 (en) 2015-10-06 2019-05-28 Google Llc Advanced gaming and virtual reality control using radar
US11698439B2 (en) 2015-10-06 2023-07-11 Google Llc Gesture recognition using multiple antenna
US11175743B2 (en) 2015-10-06 2021-11-16 Google Llc Gesture recognition using multiple antenna
US11256335B2 (en) 2015-10-06 2022-02-22 Google Llc Fine-motion virtual-reality or augmented-reality control using radar
US11693092B2 (en) 2015-10-06 2023-07-04 Google Llc Gesture recognition using multiple antenna
JP2017111798A (en) * 2015-12-18 2017-06-22 富士通株式会社 Event driven software test
US11140787B2 (en) 2016-05-03 2021-10-05 Google Llc Connecting an electronic component to an interactive textile
JP2017219978A (en) * 2016-06-06 2017-12-14 グレープシティ株式会社 Method and program for automatic program testing
JP2018206288A (en) * 2017-06-09 2018-12-27 富士ゼロックス株式会社 Information processing device and program
JP2019079426A (en) * 2017-10-26 2019-05-23 株式会社東芝 Test assistance device for plant monitoring system, its test assistance method, and its test assistance program
JP7020863B2 (en) 2017-10-26 2022-02-16 株式会社東芝 Test support equipment for plant monitoring system, its test support method, and its test support program
JP7190834B2 (en) 2018-07-19 2022-12-16 株式会社野村総合研究所 Apparatus and computer program
JP2020013400A (en) * 2018-07-19 2020-01-23 株式会社野村総合研究所 Apparatus and computer program
JP2020046897A (en) * 2018-09-19 2020-03-26 みずほ情報総研株式会社 Test support system, test support method and test support program
JP7306022B2 (en) 2019-03-29 2023-07-11 日本電気株式会社 Data recording device, data recording method and program
JP2020166773A (en) * 2019-03-29 2020-10-08 日本電気株式会社 Data recording device, data recording method, and program
JP7092364B2 (en) 2019-08-19 2022-06-28 Necフィールディング株式会社 Business automatic execution system and method
JP2021033409A (en) * 2019-08-19 2021-03-01 Necフィールディング株式会社 System and method for automatically executing task

Similar Documents

Publication Publication Date Title
JP2012018583A (en) Software development support device and processing method thereof
US7627821B2 (en) Recording/playback tools for UI-based applications
US10303581B2 (en) Graphical transaction model
US8645912B2 (en) System and method for use in replaying software application events
US10853232B2 (en) Adaptive system for mobile device testing
US10324828B2 (en) Generating annotated screenshots based on automated tests
US9465725B2 (en) Software defect reporting
JP3008872B2 (en) GUI system automatic operation device and operation macro execution device
US8392886B2 (en) System, program product, and methods to enable visual recording and editing of test automation scenarios for web application
US8612806B2 (en) Systems and methods for recording user interactions within a target application
US8943424B2 (en) Dynamic interface component control support
JP4023803B2 (en) Web application development support apparatus, data processing method, and program
JP2007172377A (en) Method for analyzing state transition in web page
US9037913B2 (en) Dynamic event generation for user interface control
WO2012086217A1 (en) Operation log collection method and device
JP4896909B2 (en) Scenario generation apparatus and program
JP5747751B2 (en) Regression test support program and regression test support device
KR100809291B1 (en) API test method and apparatus of embedded software
KR20140059600A (en) Gui test apparatus using test scenario model based on states and the method thereof
JP4681673B1 (en) Operation verification apparatus, operation verification method, and operation verification program
JP2007066077A (en) Method and apparatus for generating gui, computer program, and storage medium
JP2017054217A (en) Test support apparatus, test support method, and test support program
KR101913558B1 (en) Sequence diagram based integrated development apparatus
JP6739599B1 (en) Information processing program, information processing method, and information processing apparatus
JP2005122398A (en) Dynamic document generating program, recording medium thereof, dynamic document generating device, and dynamic document generating method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20131001