JP2010231594A - Test program and testing device - Google Patents

Test program and testing device Download PDF

Info

Publication number
JP2010231594A
JP2010231594A JP2009079546A JP2009079546A JP2010231594A JP 2010231594 A JP2010231594 A JP 2010231594A JP 2009079546 A JP2009079546 A JP 2009079546A JP 2009079546 A JP2009079546 A JP 2009079546A JP 2010231594 A JP2010231594 A JP 2010231594A
Authority
JP
Japan
Prior art keywords
menu
test
command
focus
target
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
JP2009079546A
Other languages
Japanese (ja)
Inventor
Toshihiro Odaka
敏裕 小高
Rieko Yamamoto
里枝子 山本
Tadahiro Uehara
忠弘 上原
Yuka Tanaka
ユカ 田中
Shoichiro Fujiwara
翔一朗 藤原
Naomi Itaya
尚規 板谷
Shinichi Matsumoto
慎一 松本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009079546A priority Critical patent/JP2010231594A/en
Publication of JP2010231594A publication Critical patent/JP2010231594A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a test program and a testing device for reusing a test scenario. <P>SOLUTION: An execution means 12 reads a test scenario stored in a scenario DB 11, and makes test object integrated equipment 20 execute an operation based on the test scenario. In executing the moving operation of a focus on a display screen, a re-execution means 14 determines whether or not the component of the movement destination of focus based on the operation result information is matched with a target component. When it is determined that those components are not matched, the integrated equipment 20 is made to execute the moving operation of the focus until the focus moves to the target component, and a procedure to confirm the component of the movement destination is repeated. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、試験プログラム及び試験装置に関し、特に、対象機器の試験手順を記述したテストシナリオに基づいて試験を行う試験プログラム及び試験装置に関する。   The present invention relates to a test program and a test apparatus, and more particularly to a test program and a test apparatus that perform a test based on a test scenario that describes a test procedure for a target device.

従来、携帯電話などの組み込み機器に搭載するソフトウェアの開発では、試験時間の短縮や開発費の削減を図るため、試験の自動化が進められていた。
試験を自動的に行う方法としては、試験対象の機器の試験手順を記述したテストシナリオと期待値とを事前に用意し、キー操作などを自動で実行する操作部と、試験対象の状態を抽出する測定部とを備えた試験装置に実行させる技術がある。このような試験装置では、操作部にテストシナリオを実行させ、測定部の観測したテストシナリオ実行結果を期待値と比較し、相違があればエラーとすることで、テストの実行から判定までを自動で実行可能としている(例えば、特許文献1参照)。
Conventionally, in the development of software installed in embedded devices such as mobile phones, testing has been automated in order to shorten test time and reduce development costs.
As a method of automatically performing the test, prepare a test scenario describing the test procedure of the device under test and an expected value in advance, and extract the operation target that automatically executes key operations and the test target status. There is a technique for causing a test apparatus including a measuring unit to execute the method. In such a test equipment, the test scenario is executed by the operation unit, the test scenario execution result observed by the measurement unit is compared with the expected value, and if there is a difference, an error is detected, and the test execution to judgment is automatically performed. (See, for example, Patent Document 1).

特開2005−196672号公報Japanese Patent Laid-Open No. 2005-196672

しかし、従来の試験装置では、テストシナリオの再利用が容易でないという問題点がある。
製品開発においては、搭載される機能の一部が異なる複数の機種が同時期に開発される場合がある。また、バージョンアップなどに伴う僅かな仕様変更が発生する場合もある。例えば、携帯電話では、機能の違いや時期により複数の機種を開発することが一般的である。このような場合には、同じアプリケーションでも、メニューの構成は搭載する機能の有無や仕様変更に応じて異なってしまう。
However, the conventional test apparatus has a problem that it is not easy to reuse the test scenario.
In product development, a plurality of models with different installed functions may be developed at the same time. In addition, slight specification changes may occur due to version upgrades. For example, in mobile phones, it is common to develop a plurality of models depending on differences in function and time. In such a case, even in the same application, the menu configuration differs depending on the presence or absence of the function to be installed and the specification change.

このように僅かに仕様が異なる機種が複数存在するとき、ある機種について一度作成されたテストシナリオを他の機種に再利用できれば、試験に要する負担を大幅に削減することができる。しかし、従来の試験装置では、仕様が僅かにでも異なると、テストシナリオの記述を修正しなければならず、再利用することは難しかった。   Thus, when there are a plurality of models having slightly different specifications, if a test scenario created once for a certain model can be reused for another model, the burden required for the test can be greatly reduced. However, in the conventional test apparatus, if the specifications are slightly different, the description of the test scenario has to be corrected and it is difficult to reuse.

一例を挙げて説明する。機種Aのメニュー画面は、「登録」と「削除」の操作ボタンが垂直方向に並べて配置されており、メニュー画面が開かれたときには、「登録」がフォーカスされるとする。以下、操作ボタンなど、対象機器に所定の処理を促す操作命令に対応付けられる表示画面上の所定の範囲を総称して、部品と表記する。また、フォーカスとは当該部品の操作が選択され指示可能な状態となっていることをいい、通常、部品あるいは部品上の文字列が強調表示されている。例えば、部品上の文字の色を他の部分と変える、文字列の下にカーソルが設定されるなど、選択されていることが利用者に容易にわかるような表示がされる。この機種Aのメニュー画面で削除操作のテストを行う場合には、「登録」のフォーカスを下に配置される「削除」に移動させ、「削除」を選択して実行させるという手順が必要になる。このとき、テストシナリオは、「『下キー』を押下し、『決定』を押下する操作を行う。」と記述される。   An example will be described. The model A menu screen has “register” and “delete” operation buttons arranged in a vertical direction, and “registration” is focused when the menu screen is opened. Hereinafter, a predetermined range on the display screen associated with an operation command that prompts the target device to perform a predetermined process, such as an operation button, is collectively referred to as a part. The focus means that the operation of the part is selected and instructed, and usually a part or a character string on the part is highlighted. For example, the user can easily see that the character is selected, such as changing the color of the character on the part to another part, or setting the cursor under the character string. When testing the delete operation on the menu screen of this model A, it is necessary to move the focus of “Registration” to “Delete” arranged below, and select “Delete” to execute it. . At this time, the test scenario is described as “the operation of pressing“ down key ”and pressing“ decision ”.”

ここで、次世代の機種Bとして、登録機能と削除機能に加え、編集機能を付加する仕様変更を行ったとする。登録機能と削除機能は機種Aと同じである。機種Bのメニュー画面では、「登録」と「削除」との間に「編集」の操作ボタンが追加され、「登録」、「編集」、「削除」と上下方向に並べて配置される。この場合、上記のテストシナリオが実行されると、「下キー」操作で選択されるのは「編集」であり、編集機能が実行されてしまう。削除機能の試験を行うためには、テストシナリオを「下キー」を二度押下するように書き直さなければならなかった。この場合、テストシナリオは、例えば、「『下キー』を押下し、『下キー』を押下し、『決定』を押下する操作を行う。」と書き直される。このようなテストシナリオの修正は、機種ごとに手作業で行わなければならず、試験実施者の負担が大きかった。   Here, as the next-generation model B, it is assumed that the specification is changed to add an editing function in addition to the registration function and the deletion function. The registration function and the deletion function are the same as model A. On the menu screen of the model B, an “edit” operation button is added between “registration” and “deletion”, and “registration”, “edit”, and “deletion” are arranged in the vertical direction. In this case, when the above test scenario is executed, “edit” is selected by the “down key” operation, and the editing function is executed. In order to test the delete function, the test scenario had to be rewritten to press the “down key” twice. In this case, the test scenario is rewritten, for example, “Press the“ down key ”, press the“ down key ”, and press“ decision ””. Such a test scenario correction must be performed manually for each model, which is a heavy burden on the tester.

このような問題点に鑑み、小規模な仕様の違いであれば、テストシナリオを再利用することが可能な試験プログラム及び試験装置を提供することを目的とする。   In view of such problems, it is an object to provide a test program and a test apparatus that can reuse a test scenario if a difference in specifications is small.

上記課題を解決するために、対象機器の試験手順を記述したテストシナリオに基づいて試験を行う試験プログラムが提供される。試験プログラムは、試験装置に適用され、コンピュータを実行手段、操作結果取得手段及び再実行手段として機能させる。実行手段は、表示画面上の部品のフォーカスを目的の部品に移動させる移動操作命令が目的の部品の識別情報に対応付けて記述されるテストシナリオを含むテストシナリオ群が記憶されるシナリオ記憶手段からテストシナリオを読み出す。そして、読み出したテストシナリオに基づく動作を対象機器に実行させる。操作結果取得手段は、実行手段によってフォーカスの移動操作が実行されたときは、移動操作実行後にフォーカスされた移動先の部品の識別情報を含む操作結果情報を対象機器より取得する。再実行手段は、操作結果取得手段が取得した操作結果情報に含まれる移動先の部品の識別情報と、テストシナリオに記述される目的の部品の識別情報とが一致するか否かを判定する。一致しないと判定されたときは、対象機器にフォーカスの移動操作を実行させ、操作結果取得手段を介して取得される操作結果情報に含まれる移動先の部品の識別情報と目的の部品の識別情報とを照合する手順を繰り返す。そして、移動先の部品の識別情報と目的の部品の識別情報とを一致させる。   In order to solve the above-described problem, a test program for performing a test based on a test scenario describing a test procedure of a target device is provided. The test program is applied to the test apparatus, and causes the computer to function as an execution unit, an operation result acquisition unit, and a re-execution unit. The execution means includes a scenario storage means for storing a test scenario group including a test scenario in which a movement operation command for moving the focus of the part on the display screen to the target part is described in association with the identification information of the target part. Read test scenario. Then, the target device is caused to execute an operation based on the read test scenario. The operation result acquisition unit acquires, from the target device, operation result information including identification information of a movement destination component focused after the execution of the movement operation when the execution unit performs the focus movement operation. The re-execution unit determines whether or not the identification information of the destination component included in the operation result information acquired by the operation result acquisition unit matches the identification information of the target component described in the test scenario. When it is determined that they do not match, the target device is caused to execute a focus movement operation, and the identification information of the destination component and the identification information of the target component included in the operation result information acquired via the operation result acquisition unit Repeat the procedure for checking. Then, the identification information of the destination component and the identification information of the target component are matched.

このような試験プログラムを実行するコンピュータは、シナリオ記憶手段に記憶されるテストシナリオを読み出し、テストシナリオに基づく動作を対象機器に実行させる。実行される命令がフォーカスの移動操作であれば、フォーカスの移動先の部品の識別情報を操作結果情報から取得し、目的の部品の識別情報と一致するか否かを判定する。そして、一致しないと判定されたときは、対象機器にフォーカスの移動操作を実行させるとともに実行後の移動先の部品の識別情報を目的の部品の識別情報と照合する手順を繰り返し、移動先の部品を目的の部品に一致させる。   A computer that executes such a test program reads a test scenario stored in the scenario storage means, and causes the target device to execute an operation based on the test scenario. If the instruction to be executed is a focus movement operation, the identification information of the component to which the focus is moved is obtained from the operation result information, and it is determined whether or not it matches the identification information of the target component. When it is determined that they do not match, the target device is caused to execute the focus movement operation and the procedure for collating the identification information of the destination component after execution with the identification information of the target component is repeated. To match the desired part.

開示の試験プログラム及び試験装置によれば、テストシナリオに記述されるフォーカスの移動操作が実行されるときは、移動操作後にフォーカスされる移動先の部品を判別し、目的の部品がフォーカスされるまでフォーカスの移動操作が繰り返される。これにより、仕様変更などによって表示画面上の部品の配置が異なったときも、その違いを吸収し、目的の部品をフォーカスできるようになる。この結果、テストシナリオを複数の機種で再利用することが可能となる。   According to the disclosed test program and test apparatus, when the focus movement operation described in the test scenario is executed, the target component to be focused after the movement operation is determined, and the target component is focused. The focus movement operation is repeated. As a result, even when the arrangement of components on the display screen changes due to a specification change or the like, the difference can be absorbed and the target component can be focused. As a result, the test scenario can be reused on a plurality of models.

発明の概要を示した図である。It is the figure which showed the outline | summary of invention. テストシステムの構成例を示した図である。It is the figure which showed the structural example of the test system. テスト装置のハードウェア構成を示した図である。It is the figure which showed the hardware constitutions of the test apparatus. メニュー画面とテストシナリオの一例を示した図である。It is the figure which showed an example of the menu screen and the test scenario. 期待値データの一例を示した図である。It is the figure which showed an example of expected value data. 仕様変更後のメニュー画面を示した図である。It is the figure which showed the menu screen after a specification change. 深さが2のメニュー画面とテストシナリオの一例を示した図である。It is the figure which showed an example of the menu screen of depth 2, and a test scenario. 自動テストの処理手順を示したフローチャートである。It is the flowchart which showed the processing procedure of the automatic test. メニュー実行処理の手順を示したフローチャートである。It is the flowchart which showed the procedure of the menu execution process. コマンドメニュー文字列が存在しない場合を加味したメッセージ実行処理の手順を示したフローチャートである。It is the flowchart which showed the procedure of the message execution process in consideration of the case where a command menu character string does not exist. テストシナリオのコマンド深さがメニューよりも大きかった場合を加味したメッセージ実行処理の手順を示したフローチャートである。It is the flowchart which showed the procedure of the message execution process which considered the case where the command depth of a test scenario was larger than a menu. テストシナリオのコマンド深さがメニューよりも小さかった場合を加味したメッセージ実行処理の手順を示したフローチャートである。It is the flowchart which showed the procedure of the message execution process which considered the case where the command depth of a test scenario was smaller than a menu.

以下、実施の形態を図面を参照して説明する。まず、発明の概要について説明し、その後、具体的な内容を説明する。
図1は、発明の概要を示した図である。
Hereinafter, embodiments will be described with reference to the drawings. First, an outline of the invention will be described, and then specific contents will be described.
FIG. 1 is a diagram showing an outline of the invention.

試験装置10は、組み込み機器20のアプリケーション試験を自動で行う装置である。組み込み機器20は、試験対象の装置である。なお、試験を実施するための装置であるため、機械的に製品と全く同一である必要はない。試験に関係のない一部の機能が省略されていても、組み込み機器20そのものをコンピュータ上で仮想的に再現するエミュレータであってもよい。また、試験装置10と、組み込み機器20とは、図示しない情報伝達手段によって、情報を交換することができる。例えば、試験装置10と組み込み機器20が別装置であれば、通信手段を介して情報が交換される。同一装置内に存在するときは、共通のメモリなどを介して情報交換が行われる。   The test apparatus 10 is an apparatus that automatically performs an application test of the embedded device 20. The embedded device 20 is a device to be tested. In addition, since it is an apparatus for performing a test, it is not necessary to be exactly the same as a product mechanically. Even if some functions not related to the test are omitted, an emulator that virtually reproduces the embedded device 20 itself on the computer may be used. In addition, the test apparatus 10 and the embedded device 20 can exchange information by an information transmission unit (not shown). For example, if the test apparatus 10 and the embedded device 20 are separate apparatuses, information is exchanged via communication means. When they exist in the same device, information is exchanged via a common memory or the like.

まず、試験対象の組み込み機器20について説明する。組み込み機器20は、アプリケーション処理部21、入力手段22、制御手段23及び結果出力手段24を有し、試験装置10から入力される操作命令に応じた処理を実行する。   First, the embedded device 20 to be tested will be described. The embedded device 20 includes an application processing unit 21, an input unit 22, a control unit 23, and a result output unit 24, and executes a process according to an operation command input from the test apparatus 10.

アプリケーション処理部21は、制御手段23に従ってアプリケーションプログラムを実行し、組み込み機器20の所定のアプリケーション機能を実現する。
入力手段22は、試験装置10の実行手段12及び再実行手段14から操作命令を取得し、これを制御手段23が解釈可能な形式に変換し、制御手段23に送る。
The application processing unit 21 executes an application program according to the control unit 23 and realizes a predetermined application function of the embedded device 20.
The input unit 22 acquires an operation command from the execution unit 12 and the re-execution unit 14 of the test apparatus 10, converts it into a format that can be interpreted by the control unit 23, and sends the operation command to the control unit 23.

制御手段23は、組み込み機器20全体を制御し、入力手段22から入力された操作命令に応じた処理をアプリケーション処理部21に実行させる。一部の処理は自身が行う。また、アプリケーション処理部21によって表示される表示画面上でフォーカスされる部品を管理する管理処理も行う。フォーカスの管理処理では、フォーカスの移動操作命令を実行したとき、実行後にフォーカス対象となった部品を特定し、その識別情報を操作結果情報として結果出力手段24を介して試験装置10に通知する。通知は直接、試験装置10に行うとしてもよい。   The control unit 23 controls the entire embedded device 20 and causes the application processing unit 21 to execute processing according to the operation command input from the input unit 22. Some processing is done by itself. In addition, management processing for managing components focused on the display screen displayed by the application processing unit 21 is also performed. In the focus management process, when a focus movement operation command is executed, a component that is a focus target after execution is specified, and the identification information is notified to the test apparatus 10 via the result output means 24 as operation result information. Notification may be made directly to the test apparatus 10.

結果出力手段24は、アプリケーション処理部21や制御手段23が動作した結果を記述した操作結果情報を試験装置10に出力する。
次に、上記の組み込み機器20を試験する試験装置10について説明する。試験装置10は、シナリオデータベース(以下、DBとする)11、実行手段12、操作結果取得手段13、再実行手段14及び深さ出力注入手段15を有する。
The result output unit 24 outputs operation result information describing the result of the operation of the application processing unit 21 and the control unit 23 to the test apparatus 10.
Next, the test apparatus 10 for testing the built-in device 20 will be described. The test apparatus 10 includes a scenario database (hereinafter referred to as DB) 11, execution means 12, operation result acquisition means 13, re-execution means 14, and depth output injection means 15.

シナリオDB11には、試験対象の組み込み機器20で実行される試験手順を記述されるテストシナリオが記憶されるシナリオ記憶手段である。テストシナリオには、組み込み機器20に試験対象の動作を行わせるための操作命令と、操作命令によって実行された結果と期待値とを照合する判定命令とが記述される。さらに、操作命令には、表示画面上の部品のフォーカスを移動させる移動操作命令と、それ以外の操作命令とがある。移動操作命令は、所定の機能の実行を指示するために表示画面上に用意された部品へフォーカスを移動させる指示を行う。このため、テストシナリオに記述される移動操作命令は、フォーカスの移動先とする目的の部品の識別情報と対応付けられている。   The scenario DB 11 is a scenario storage unit that stores a test scenario describing a test procedure to be executed by the embedded device 20 to be tested. In the test scenario, an operation command for causing the embedded device 20 to perform an operation to be tested, and a determination command for comparing the result executed by the operation command with an expected value are described. Further, the operation instructions include a movement operation instruction for moving the focus of a component on the display screen and other operation instructions. The move operation command instructs to move the focus to a component prepared on the display screen in order to instruct execution of a predetermined function. For this reason, the movement operation command described in the test scenario is associated with the identification information of the target component that is the focus movement destination.

実行手段12は、シナリオDB11に格納されるテストシナリオを1行読み込む。そして読み込んだテストシナリオに基づく動作の実行命令を、組み込み機器20の入力手段22へ出力する。   The execution means 12 reads one line of the test scenario stored in the scenario DB 11. Then, an operation execution command based on the read test scenario is output to the input unit 22 of the embedded device 20.

操作結果取得手段13は、組み込み機器20の結果出力手段24から出力される操作結果情報を取得する。操作結果情報には、組み込み機器20がフォーカスの移動操作を実行した後、フォーカスが移動した移動先の部品の識別情報が含まれる。   The operation result acquisition unit 13 acquires operation result information output from the result output unit 24 of the embedded device 20. The operation result information includes identification information of a destination component to which the focus has moved after the embedded device 20 has performed the focus movement operation.

再実行手段14は、操作結果取得手段13が取得した操作結果情報に含まれるフォーカスの移動先の部品の識別情報と、対応するテストシナリオに記述される移動操作命令の目的の部品の識別情報とを照合し、一致するか否かを判定する。一致すると判定されたときは、目的の部品がフォーカスされているので、特に処理は行わない。一致しないと判定されたときは、目的の部品がフォーカスされるように、フォーカスを移動させる。例えば、組み込み機器20にフォーカスを移動させる方向を指示する方向キーが設けられていれば、方向キーが操作されたときと同様の操作命令を組み込み機器20に指示する。組み込み機器20は、この操作命令に応じて指定された方向にフォーカスを移動させる。制御手段23は、この操作により移動したフォーカス対象の部品を特定し、その識別情報を操作結果情報に設定する。試験装置10は、操作結果取得手段13を介して入力される操作結果情報に基づいて、移動先の部品の識別情報を得る。そして、移動先の部品の識別情報と、目的の部品の識別情報とを照合し、一致していないときは、再び移動操作を実行させるという手順を繰り返す。この手順は、移動先の部品が目的の部品に一致するまで繰り返される。   The re-execution unit 14 includes identification information of a component to which the focus is moved included in the operation result information acquired by the operation result acquisition unit 13, identification information of a target component of the movement operation command described in the corresponding test scenario, and To determine whether or not they match. If it is determined that they match, the target part is focused, and no particular processing is performed. When it is determined that they do not match, the focus is moved so that the target component is focused. For example, if the embedded device 20 is provided with a direction key for instructing the direction in which the focus is moved, the same operation command as when the direction key is operated is instructed to the embedded device 20. The embedded device 20 moves the focus in the direction specified in accordance with this operation command. The control means 23 identifies the part to be focused that has been moved by this operation, and sets its identification information in the operation result information. The test apparatus 10 obtains identification information of the destination component based on the operation result information input via the operation result acquisition unit 13. Then, the identification information of the destination component and the identification information of the target component are collated, and if they do not match, the procedure of executing the movement operation again is repeated. This procedure is repeated until the destination part matches the target part.

深さ出力注入手段15は、試験対象の組み込み機器20のアプリケーション処理部21の処理を実行させるアプリケーションプログラムを解析し、アプリケーションプログラム中に存在するメニュー表示命令を要求する命令を検出する。そして、検出されたメニュー表示命令に、メニューの深さを通知するメニュー呼び出しログの出力命令を注入する。ここでのメニューは、所定のアプリケーションに関する操作を行うため、このアプリケーション画面上に表示される操作メニューを指す。組み込み機器20を操作する場合には、操作メニュー画面を開き、メニュー画面上に表示される操作に対応する部品を選択し、部品に対応する処理を起動させる。操作メニュー画面には、選択可能な操作が部品として一覧表示されている。なお、メニュー画面は、階層構造をとる場合がある。例えば、最初に表示されるメニュー画面で選択された操作についてより詳細な設定を行うため、最初のメニュー画面で部品が選択されたとき、この部品の操作に関するメニュー画面がさらに開く。この階層の数をメニューの深さと呼ぶ。メニュー表示命令に注入される出力命令は、アプリケーションプログラムに存在するメニュー表示命令すべてに対して設定される。そして、メニュー表示命令に出力命令が注入されたアプリケーションプログラムが、組み込み機器20の記憶部に格納される。   The depth output injection means 15 analyzes an application program that executes the processing of the application processing unit 21 of the embedded device 20 to be tested, and detects a command that requests a menu display command existing in the application program. Then, a menu call log output command for notifying the menu depth is injected into the detected menu display command. The menu here refers to an operation menu displayed on the application screen in order to perform an operation related to a predetermined application. When operating the embedded device 20, an operation menu screen is opened, a component corresponding to the operation displayed on the menu screen is selected, and processing corresponding to the component is started. On the operation menu screen, selectable operations are displayed as a list. The menu screen may have a hierarchical structure. For example, in order to perform more detailed settings for the operation selected on the menu screen displayed first, when a component is selected on the first menu screen, a menu screen related to the operation of this component is further opened. This number of layers is called the menu depth. The output command injected into the menu display command is set for all the menu display commands existing in the application program. Then, the application program in which the output command is injected into the menu display command is stored in the storage unit of the embedded device 20.

このような構成の試験装置10を用いた組み込み機器20のアプリケーションテストについて説明する。
組み込み機器20のアプリケーションテストでは、テストシナリオに沿って、利用者が組み込み機器20の操作を行ったときと同様の操作命令を組み込み機器20に出力し、テスト対象の動作を実行させる。操作指示は、メニュー画面を表示し、メニュー画面に表示される操作一覧から方向キーを操作して所望の操作に対応する部品を選択し、決定キーを操作して行う。
An application test of the embedded device 20 using the test apparatus 10 having such a configuration will be described.
In the application test of the embedded device 20, an operation command similar to that when the user operates the embedded device 20 is output to the embedded device 20 according to the test scenario, and the test target operation is executed. The operation instruction is performed by displaying a menu screen, selecting a part corresponding to a desired operation from the operation list displayed on the menu screen, and operating the enter key.

組み込み機器20に搭載するアプリケーションプログラムは、深さ出力注入手段15によって、メニュー表示命令が呼び出されたときに、メニューの深さを通知するメニュー呼び出しログの出力命令が注入された後、組み込み機器20に転送される。また、シナリオDB11には、試験手順を記述したテストシナリオが格納される。このテストシナリオに含まれる移動操作命令には、目的の部品の識別情報が設定されている。   When the menu display command is called by the depth output injection means 15, the application program installed in the embedded device 20 is injected with a menu call log output command for notifying the depth of the menu, and then the embedded device 20. Forwarded to The scenario DB 11 stores a test scenario describing a test procedure. In the movement operation command included in this test scenario, identification information of the target part is set.

試験装置10による組み込み機器20のアプリケーションテストが開始されると、実行手段12は、シナリオDB11からテストシナリオを読み出し、テストシナリオに基づく試験手順に沿った操作命令を組み込み機器20に出力する。試験装置10からの操作命令は、組み込み機器20の入力手段22が受け取り、制御手段23に転送する。制御手段23は、アプリケーション処理部21に実行命令に対応する処理を実行させる。このとき、実行命令がメニュー表示要求であれば、アプリケーション処理部21は、要求されたメニューを表示させるとともに、そのメニューの深さをメニュー呼び出しログとして、結果出力手段24を介して試験装置10に出力する。また、メニュー表示命令を含むフォーカスの移動を伴うフォーカスの移動操作命令であるときは、制御手段23は命令実行後に移動されたフォーカス対象の部品の識別情報を結果出力手段24経由で出力する。   When the application test of the embedded device 20 by the test apparatus 10 is started, the execution unit 12 reads the test scenario from the scenario DB 11 and outputs an operation command according to the test procedure based on the test scenario to the embedded device 20. An operation command from the test apparatus 10 is received by the input unit 22 of the embedded device 20 and transferred to the control unit 23. The control unit 23 causes the application processing unit 21 to execute processing corresponding to the execution instruction. At this time, if the execution instruction is a menu display request, the application processing unit 21 displays the requested menu, and the depth of the menu is set as a menu call log to the test apparatus 10 via the result output unit 24. Output. In the case of a focus movement operation command including a focus movement including a menu display command, the control unit 23 outputs the identification information of the focus target component moved after the command execution via the result output unit 24.

試験装置10は、操作結果取得手段13が、組み込み機器20の操作結果情報を取得し、再実行手段14へ送る。再実行手段14は、実行手段12が組み込み機器20に実行させた操作命令が、メニュー表示命令を含むフォーカスの移動操作命令であったときは、操作結果情報に含まれる移動先の部品の識別情報と、テストシナリオの目的の部品の識別情報とを比較する。一致していれば、現在フォーカスされている部品が目的の部品であると判断し、処理を終了する。一致しないときは、現在フォーカスされている部品が目的の部品でないと判断し、フォーカスを移動させる。フォーカスの移動操作命令を組み込み機器20に送信するとともに、このフォーカスの移動操作命令実行後の操作結果情報を取得し、フォーカスの移動先の部品の識別情報を確認する。取得された移動先の部品の識別情報が目的の部品の識別情報と一致するまで、この手順を繰り返す。こうして、フォーカスされている部品が目的の部品となった後、再実行手段14の処理は終了する。   In the test apparatus 10, the operation result acquisition unit 13 acquires operation result information of the embedded device 20 and sends it to the re-execution unit 14. When the operation command that the execution unit 12 has caused the embedded device 20 to execute is a focus movement operation command including a menu display command, the re-execution unit 14 identifies identification information of the movement destination component included in the operation result information. And the identification information of the target part of the test scenario are compared. If they match, it is determined that the currently focused component is the target component, and the process ends. If they do not match, it is determined that the currently focused component is not the target component, and the focus is moved. A focus movement operation command is transmitted to the embedded device 20, operation result information after execution of the focus movement operation command is acquired, and identification information of the component to which the focus is moved is confirmed. This procedure is repeated until the acquired identification information of the destination component matches the identification information of the target component. Thus, after the focused component becomes the target component, the processing of the re-execution unit 14 ends.

続いて、実行手段12は、シナリオDB11から次のテストシナリオを読み出し、上記の手順を繰り返す。
このように試験装置10によれば、メニュー表示命令を含むフォーカスの移動を伴う移動操作命令が実行されるとき、フォーカスされる部品が監視され、再実行手段14によって、目的の部品がフォーカスされるまでフォーカスの移動操作命令が繰り返される。こうして目的の部品がフォーカスされ、実行手段12によって次の試験手順が実行される。
Subsequently, the execution means 12 reads the next test scenario from the scenario DB 11 and repeats the above procedure.
As described above, according to the test apparatus 10, when a moving operation command including a focus movement including a menu display command is executed, the focused component is monitored, and the target component is focused by the re-execution unit 14. Until the focus movement operation command is repeated. Thus, the target part is focused, and the next test procedure is executed by the execution means 12.

これにより、仕様変更などによって表示画面上の部品の配置がずれたときも、そのずれを吸収し、目的の部品をフォーカスできるようになり、テストシナリオの試験手順を継続させることが可能となる。そして、テストシナリオを複数の機種で再利用することが可能となる。このように、試験装置10によれば、テストシナリオの作成、管理のための工数を削減することができ、テスト時間を短縮し、開発費を削減することが可能となる。この結果、早期に高品質の製品を提供することが可能となる。   Thereby, even when the arrangement of components on the display screen is shifted due to a specification change or the like, the shift can be absorbed and the target component can be focused, and the test procedure of the test scenario can be continued. The test scenario can be reused on a plurality of models. As described above, according to the test apparatus 10, the man-hours for creating and managing the test scenario can be reduced, the test time can be shortened, and the development cost can be reduced. As a result, it becomes possible to provide a high-quality product at an early stage.

次に、図1に示した試験装置10を、携帯電話のアプリケーションのテストを行うテストシステムに適用した場合を例にとり、実施の形態について説明する。
図2は、テストシステムの構成例を示した図である。
Next, an embodiment will be described by taking as an example the case where the test apparatus 10 shown in FIG. 1 is applied to a test system for testing mobile phone applications.
FIG. 2 is a diagram illustrating a configuration example of the test system.

テストシステムは、テストを実行するテスト装置100、試験対象の携帯電話装置200及び携帯電話装置200の試験時に使用される機能を組み込んだアプリケーションプログラム410を生成する開発環境300を有する。なお、図では、テスト装置100、携帯電話装置200、開発環境300を別装置で構成するとしたが、それぞれの処理機能を同一のコンピュータ上で実現する構成とすることもできる。例えば、コンピュータ上にテスト装置100の処理機能を実現するテスト部と、携帯電話装置200の動作を再現するエミュレータ部と、アプリケーションプログラム410を生成する開発環境部、を実装する。各装置について説明する。   The test system includes a test device 100 that executes a test, a mobile phone device 200 to be tested, and a development environment 300 that generates an application program 410 that incorporates functions used when testing the mobile phone device 200. In the figure, the test device 100, the mobile phone device 200, and the development environment 300 are configured as separate devices. However, each processing function may be realized on the same computer. For example, a test unit that realizes the processing function of the test apparatus 100, an emulator unit that reproduces the operation of the mobile phone device 200, and a development environment unit that generates the application program 410 are mounted on a computer. Each device will be described.

テスト装置100は、シナリオDB110、シナリオ駆動部120、期待値DB130及び測定部140を有する。
アプリケーションテストは、携帯電話装置200に対し、利用者が操作を行った場合と同じように操作命令を入力し、操作に応じて実行された処理の結果が期待値と一致するか否かを判定して行う。シナリオDB110には、携帯電話装置200のアプリケーションテストの試験手順を記述したテストシナリオが記憶される。テストシナリオには、携帯電話装置200に対する操作を表すコマンドと、コマンドに関連する情報とが記述される。メニュー画面を開いて操作を選択する手順であれば、メニュー画面の表示を指示するコマンドと、メニュー画面から選択される目的の部品の識別情報が設定される。なお、部品の識別情報は、部品上に表示される所定の操作を表す文字列であるとする。例えば、「削除」という文字列が表示される表示画面上の部品が選択されるときは、対応する情報を削除する操作命令が携帯電話装置200で発生する。
The test apparatus 100 includes a scenario DB 110, a scenario drive unit 120, an expected value DB 130, and a measurement unit 140.
In the application test, an operation command is input to the mobile phone device 200 in the same manner as when the user performs an operation, and it is determined whether or not the result of the process executed according to the operation matches an expected value. And do it. The scenario DB 110 stores a test scenario describing a test procedure for an application test of the mobile phone device 200. In the test scenario, a command representing an operation on the mobile phone device 200 and information related to the command are described. In the procedure of opening the menu screen and selecting an operation, a command for instructing display of the menu screen and identification information of a target component selected from the menu screen are set. Note that the component identification information is a character string representing a predetermined operation displayed on the component. For example, when a part on the display screen on which a character string “delete” is displayed is selected, an operation command for deleting the corresponding information is generated in the mobile phone device 200.

シナリオ駆動部120は、実行手段12、操作結果取得手段13及び再実行手段14を有し、シナリオDB110のテストシナリオに基づく試験動作を順次実行させる。まず、シナリオDB110に格納されるテストシナリオを1行ずつ読み出し、テストシナリオを解釈する。テストシナリオに基づいて、入力部220を介して携帯電話装置200に対し、操作命令を行う。操作命令が、メニュー表示要求を含むフォーカスの移動操作命令のときは、移動操作命令を行った後、メニュー呼び出しログ501と、メニューログ502とに基づいて移動先の部品を確認する。そして、移動先の部品が目的の部品でないときは、フォーカスの移動操作と、移動先の部品が目的の部品であるか否かの判定とを繰り返し、フォーカスを目的の部品まで移動させる。   The scenario driving unit 120 includes an execution unit 12, an operation result acquisition unit 13, and a re-execution unit 14, and sequentially executes a test operation based on the test scenario in the scenario DB 110. First, the test scenarios stored in the scenario DB 110 are read line by line to interpret the test scenarios. Based on the test scenario, an operation command is issued to the mobile phone device 200 via the input unit 220. When the operation instruction is a focus movement operation instruction including a menu display request, after the movement operation instruction is performed, the movement destination component is confirmed based on the menu call log 501 and the menu log 502. When the destination component is not the target component, the focus movement operation and the determination as to whether or not the destination component is the target component are repeated to move the focus to the target component.

測定部140は、携帯電話装置200の出力部230の出力情報を監視する。測定の方法としては、例えば、画面に表示される文字やグラフィックスを取得し、期待値DB130に格納される期待値データと比較する。比較結果は、テスト装置100の表示部に表示される。   The measurement unit 140 monitors output information of the output unit 230 of the mobile phone device 200. As a measurement method, for example, characters and graphics displayed on the screen are acquired and compared with expected value data stored in the expected value DB 130. The comparison result is displayed on the display unit of the test apparatus 100.

携帯電話装置200は、OS(Operating System)210、入力部220及び出力部230及びアプリケーション部240を有する。
OS210には、一般的なオペレーティングシステムに加え、アプリケーションに汎用的な機能を提供するミドルウェア、フレームワーク、共通ライブラリといったプログラムも含まれており、携帯電話装置200全体を制御する。特に、メニュー機構部211として、メニューが表示されているときに、選択されているメニューのテキスト情報をメニューログ502として出力する機能を備えている。メニューログ502には、少なくとも、メニュー表示画面でフォーカスされた部品上の文字列が記録される。
The mobile phone device 200 includes an OS (Operating System) 210, an input unit 220, an output unit 230, and an application unit 240.
In addition to a general operating system, the OS 210 includes programs such as middleware, a framework, and a common library that provide general-purpose functions to applications, and controls the entire mobile phone device 200. In particular, the menu mechanism unit 211 has a function of outputting text information of the selected menu as the menu log 502 when the menu is displayed. In the menu log 502, at least a character string on a component focused on the menu display screen is recorded.

入力部220は、キーボードやタッチパネル等の利用者が操作をするための機構を言う。さらに、マイク等の音声を検出する装置、有線または無線による通信を介しての入力、GPS(Global Positioning System)、加速度センサ等のセンサからの信号入力も含まれる。以下では、主として、利用者が操作指示を行うキーボードからの入力信号を対象として説明する。キーボードには、メニューを表示させるメニューキーと、フォーカスを移動させる方向を示す矢印キーと、フォーカスされた部品に対応する操作を起動させる決定キーとがあるとする。   The input unit 220 is a mechanism for a user to operate such as a keyboard and a touch panel. Furthermore, a device for detecting sound such as a microphone, an input via wired or wireless communication, a signal input from a sensor such as a GPS (Global Positioning System), an acceleration sensor, and the like are also included. In the following, an explanation will be given mainly on an input signal from a keyboard on which a user gives an operation instruction. The keyboard includes a menu key for displaying a menu, an arrow key indicating a direction in which the focus is moved, and a determination key for starting an operation corresponding to the focused component.

出力部230は、画面出力、LEDなどの発光出力、音声、振動などの利用者に情報を通知する機構、及び通信による出力を言う。ここでは、主として画面出力を対象として説明する。   The output unit 230 refers to a screen output, a light emission output such as an LED, a mechanism for notifying the user of information such as sound and vibration, and an output by communication. Here, a description will be given mainly for screen output.

アプリケーション部240は、開発環境300が生成したアプリケーションプログラム410に基づいて、アプリケーション処理を実行する。アプリケーション部240は、電話機能やアドレス帳など、個別の機能を提供する。その際に、開発の効率を向上し、統一感のある機能群を提供するために、OS210が提供する機能を利用してプログラムが作成される。例えば、アドレス帳のアプリケーションでは、メニューキーが押された際に、画面上にメニューを表示する場合、メニューキーハンドラ(プログラム)412が生成される。その中でOS210のメニュー機構部211を呼び出すプログラムとしてメニュー表示命令411が作成される。これらのプログラムは、コンピュータを、それぞれメニューキーハンドラ242、メニュー表示命令241として動作させる。   The application unit 240 executes application processing based on the application program 410 generated by the development environment 300. The application unit 240 provides individual functions such as a telephone function and an address book. At that time, in order to improve development efficiency and provide a group of functions with a sense of unity, a program is created using the functions provided by the OS 210. For example, in an address book application, a menu key handler (program) 412 is generated when a menu is displayed on the screen when a menu key is pressed. Among them, a menu display command 411 is created as a program for calling the menu mechanism unit 211 of the OS 210. These programs cause the computer to operate as a menu key handler 242 and a menu display command 241 respectively.

開発環境300は、深さ出力注入部310を備え、対象のアプリケーションプログラム400に深さ出力命令を注入し、アプリケーションプログラム410を生成する。例えば、メニュー表示命令401は、メニュー機構部211にメニュー表示を要求する命令である。深さ出力注入部310では、その時点でのメニューの深さをメニューログ502に出力する深さ出力機能が追加され、メニュー表示命令411が生成される。この機能追加は、アプリケーションプログラム400に含まれるメニュー表示命令401すべてに施される。機能追加の方法は、プリプロセッサとしてアプリケーションプログラム400のソースプログラムを解析し、新しいアプリケーションプログラム410のソースコードとして生成することができる。また、アスペクト指向言語を用いてバイナリレベルで注入してもよい。   The development environment 300 includes a depth output injection unit 310 and injects a depth output command into the target application program 400 to generate the application program 410. For example, the menu display command 401 is a command for requesting the menu mechanism unit 211 to display a menu. In the depth output injection unit 310, a depth output function for outputting the menu depth at that time to the menu log 502 is added, and a menu display command 411 is generated. This function addition is applied to all menu display commands 401 included in the application program 400. The function addition method can analyze a source program of the application program 400 as a preprocessor and generate a new application program 410 as source code. Moreover, you may inject | pour in a binary level using an aspect-oriented language.

このようにして、メニュー表示命令401、メニューキーハンドラ402を含むアプリケーションプログラム400から、深さ出力機能が追加されたメニュー表示命令411、メニューキーハンドラ412を含むアプリケーションプログラム410が作成される。   In this way, the application program 410 including the menu display command 411 and the menu key handler 412 to which the depth output function is added is created from the application program 400 including the menu display command 401 and the menu key handler 402.

ここで、テスト装置100のハードウェア構成について説明する。図3は、テスト装置のハードウェア構成を示した図である。
テスト装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、及び通信インタフェース106が接続されている。
Here, the hardware configuration of the test apparatus 100 will be described. FIG. 3 is a diagram illustrating a hardware configuration of the test apparatus.
The entire test apparatus 100 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the CPU 101 via a bus 107.

RAM102には、CPU101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、図示しないネットワークに接続されており、ネットワークを介して他の装置との間でデータの送受信を行うことができる。   The RAM 102 temporarily stores at least a part of OS programs and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs. A monitor 108 is connected to the graphic processing device 104, and an image is displayed on the screen of the monitor 108 in accordance with a command from the CPU 101. A keyboard 109 a and a mouse 109 b are connected to the input interface 105, and signals transmitted from the keyboard 109 a and the mouse 109 b are transmitted to the CPU 101 via the bus 107. The communication interface 106 is connected to a network (not shown), and can send and receive data to and from other devices via the network.

このようなハードウェア構成によって、テスト装置100の処理機能を実現することができる。なお、図3には、テスト装置のハードウェア構成を示したが、開発環境300及び携帯電話装置200のハードウェア構成も同様である。   With such a hardware configuration, the processing function of the test apparatus 100 can be realized. 3 shows the hardware configuration of the test device, the hardware configurations of the development environment 300 and the mobile phone device 200 are the same.

テストシステムによる携帯電話装置200のアプリケーションテストを詳細に説明する。アプリケーションテストは、携帯電話装置200が利用者の操作に応じて仕様通り動作するかどうかをテストする。利用者の手順は、メニューキーを押下し、操作メニューを呼び出し、表示された操作メニュー画面から所望の操作を選択するというものになる。この操作メニュー画面には、メニュー画面を開いたときに所望の操作が表示される場合と、さらにメニュー画面が階層構造を取っている場合がある。階層構造を取っている場合には、メニューキーを押下して表示される第1のメニュー画面に表示されるメニューキーを選択すると、第2のメニュー画面が開かれ、いくつかのメニューキーが表示される。階層構造をとるメニュー表示画面において、どの階層のメニュー画面が表示されているかを、深さというパラメータで表す。メニューキー押下によって表示される画面を深さ1とし、展開されるごとに深さの数値を増加させていく。なお、単階層は、深さ1の場合と同様と見なすことができる。   An application test of the mobile phone device 200 by the test system will be described in detail. The application test tests whether the mobile phone device 200 operates according to the specification according to the user's operation. The user's procedure is to press a menu key, call up an operation menu, and select a desired operation from the displayed operation menu screen. The operation menu screen includes a case where a desired operation is displayed when the menu screen is opened and a case where the menu screen has a hierarchical structure. In the case of a hierarchical structure, when the menu key displayed on the first menu screen displayed by pressing the menu key is selected, the second menu screen is opened and several menu keys are displayed. Is done. In a menu display screen having a hierarchical structure, which level of the menu screen is displayed is represented by a parameter called depth. The screen displayed by pressing the menu key is set to depth 1, and the depth value is increased each time the menu key is expanded. Note that the single layer can be regarded as the same as in the case of depth 1.

以下、第1の実施の形態として単階層(深さ1)のメニュー処理について説明し、第2の実施の形態として複階層のメニュー処理について説明する。
第1の実施の形態の単階層(深さ1)のメニュー画面のアプリケーションテストについて説明する。
Hereinafter, a single-layer (depth 1) menu process will be described as the first embodiment, and a multi-layer menu process will be described as the second embodiment.
An application test for a single-level (depth 1) menu screen according to the first embodiment will be described.

アプリケーションテストは、以下のサイクルで実施される。
(1)ソースコードの作成、編集、コンパイル、ビルド、深さ出力機能の注入、携帯電話装置への展開
(2)テストシナリオ及び期待値の作成または再利用
(3)自動テストの実行
以下、各処理手順について順に説明する。
The application test is performed in the following cycle.
(1) Source code creation, editing, compilation, build, depth output function injection, deployment to mobile phone devices (2) Creation or reuse of test scenarios and expected values (3) Automatic test execution The processing procedure will be described in order.

まず、(1)ソースコードの作成から携帯電話装置への展開までの処理を説明する。
アプリケーションプログラム410は、パーソナルコンピュータなどの開発環境300で作成される。最初に、メニュー表示命令401及びメニューキーハンドラ(プログラムb)402を含む元のアプリケーションプログラム400が用意される。開発環境300では、開発環境300の中に用意されたエディタ、コンパイラ、リンカを用いて、アプリケーションプログラム400から実行形式ファイルを作成する。この際、深さ出力注入部310は、アプリケーションプログラム400に含まれるメニュー表示命令401を検出し、現時点でのメニューの深さをメニュー呼び出しログに出力する機能を追加し、アプリケーションプログラム410を生成する。この処理は、アプリケーションプログラム410の実行形式のファイルが作成されるまでのいずれかの段階で行われる。そして、生成された実行形式のファイルは、携帯電話装置200に転送される。
First, (1) processing from creation of source code to deployment to a mobile phone device will be described.
The application program 410 is created in the development environment 300 such as a personal computer. First, an original application program 400 including a menu display command 401 and a menu key handler (program b) 402 is prepared. In the development environment 300, an executable file is created from the application program 400 using an editor, a compiler, and a linker prepared in the development environment 300. At this time, the depth output injection unit 310 detects the menu display command 401 included in the application program 400, adds a function of outputting the current menu depth to the menu call log, and generates the application program 410. . This process is performed at any stage until the execution format file of the application program 410 is created. The generated executable file is transferred to the mobile phone device 200.

次に、(2)テストシナリオ及び期待値の作成または再利用までの処理を説明する。
図4は、メニュー画面とテストシナリオの一例を示した図である。図の例は、メニューの深さが1のメニュー画面を示している。
Next, (2) processing up to creation or reuse of test scenarios and expected values will be described.
FIG. 4 is a diagram illustrating an example of a menu screen and a test scenario. The example in the figure shows a menu screen with a menu depth of 1.

メニュー画面2000は、アドレス一覧からアドレス情報を1件削除しようとして開いたメニューであるとする。例えば、アドレス一覧表示画面を表示中に、メニューキーを押下したとき、ポップアップ画面として表示される。メニュー画面2000には、アドレス一覧に新たにアドレス情報を登録する機能を表す文字列「登録」を含む部品2001と、アドレス一覧からアドレス情報を削除する操作を表す文字列「削除」を含む部品2002と、が垂直方向に並べて配置される。以下、それぞれ「登録」2001、「削除」2002と表記する。また、フォーカスされた部品は、フォーカスメニュー文字列と表記する。   The menu screen 2000 is assumed to be a menu opened to delete one piece of address information from the address list. For example, when the menu key is pressed while the address list display screen is displayed, it is displayed as a pop-up screen. The menu screen 2000 includes a component 2001 including a character string “registration” representing a function for newly registering address information in the address list, and a component 2002 including a character string “delete” representing an operation of deleting address information from the address list. Are arranged in the vertical direction. Hereinafter, they are referred to as “register” 2001 and “delete” 2002, respectively. The focused component is referred to as a focus menu character string.

「登録」2001がフォーカスされているときに決定キーが操作されると、登録処理のアプリケーションが起動され、入力されていたアドレス情報が登録される。「削除」2002がフォーカスされているときに決定キーが操作されると、削除処理のアプリケーションが起動され、選択されていたアドレス情報が削除される。   When the enter key is operated while “Registration” 2001 is focused, an application for registration processing is started and the input address information is registered. When the enter key is operated while “Delete” 2002 is focused, an application for deletion processing is started and the selected address information is deleted.

テストシナリオ1000は、アドレス一覧表示画面からメニュー画面を開き、1行削除することを指示する命令である。「Menu メニューキー“削除”」1001は、メニューキーを押下してメニュー画面を開き、メニュー画面の中から「削除」2002を選択するという操作命令である。ここで、「Menu」は、メニュー画面の表示を要求するメニュー表示操作コマンドである。「メニューキー“削除”」は、表示されたメニューキーから「削除」を選択することを命令するコマンドである。なお、記号「“」「”」で区切られた文字列は、コマンドに記述された目的の操作命令を表す文字列であり、以下の説明では、コマンドメニュー文字列とする。   The test scenario 1000 is an instruction for opening a menu screen from the address list display screen and instructing deletion of one line. “Menu menu key“ delete ”” 1001 is an operation command for pressing a menu key to open a menu screen and selecting “delete” 2002 from the menu screen. Here, “Menu” is a menu display operation command for requesting display of a menu screen. The “menu key“ delete ”” is a command for instructing to select “delete” from the displayed menu key. Note that the character string delimited by the symbols ““ ”and“ ”” is a character string that represents a target operation instruction described in the command, and is a command menu character string in the following description.

「Assert アドレス一覧」1002は、「Menu メニューキー“削除”」1001の処理実行後の「アドレス一覧」画面が正しいかどうか、期待値と比較して一致するか否か判定するという判定命令である。   The “Assert address list” 1002 is a determination command for determining whether the “address list” screen after executing the process of the “Menu menu key“ delete ”” 1001 is correct, and whether it matches with the expected value. .

このように、テスト装置100が用いるテストシナリオは、「下キー操作」といったメニューキーまでの実際のキー操作を示すものではなく、目的のメニューキーのみが記述され、途中のキー操作の手順は記述されない。   Thus, the test scenario used by the test apparatus 100 does not indicate an actual key operation up to the menu key such as “down key operation”, but only the target menu key is described, and the procedure of the key operation in the middle is described. Not.

このときの期待値データについて説明する。
図5は、期待値データの一例を示した図である。さらに、図5では、測定部140が取得する結果も示している。
The expected value data at this time will be described.
FIG. 5 is a diagram illustrating an example of expected value data. Further, FIG. 5 also shows the result obtained by the measurement unit 140.

測定部140は、テストシナリオを実行して結果を取得すると、取得された結果2300と、予め用意されている期待値データ1300とを照合する。
期待値データ1300は、予め、試験担当者によって作成され、期待値DB130に格納される。図の期待値データ1300は、図4に示したテストシナリオ1000の「Assert アドレス一覧」1002が実行されるときに参照される。
When the measurement unit 140 executes the test scenario and acquires the result, the measurement unit 140 collates the acquired result 2300 with the expected value data 1300 prepared in advance.
The expected value data 1300 is created in advance by a tester and is stored in the expected value DB 130. The expected value data 1300 in the figure is referred to when the “Assert address list” 1002 of the test scenario 1000 shown in FIG. 4 is executed.

画面1301には、テストシナリオに記述された画面名が登録される。ここでは、テストシナリオ1000の「Assert アドレス一覧」1002に対応する画面名「アドレス一覧」が設定されている。さらに、コントロール1302には対象の種別が記憶され、内容1303には、比較データの項目と、期待値データとが対応付けて記憶される。例えば、テーブルについて、その行数は4になることが期待値データ1300に記述されている。   In the screen 1301, a screen name described in the test scenario is registered. Here, the screen name “address list” corresponding to the “Assert address list” 1002 of the test scenario 1000 is set. Further, the control 1302 stores the target type, and the content 1303 stores the comparison data item and the expected value data in association with each other. For example, the expected value data 1300 describes that the number of rows of the table is 4.

結果2300には、テストシナリオ実行後に測定部140が取得した「アドレス一覧」画面の状態が設定されている。その項目は、期待値データ1300の内容1303に対応する。   In the result 2300, the state of the “address list” screen acquired by the measurement unit 140 after execution of the test scenario is set. The item corresponds to the content 1303 of the expected value data 1300.

(3)自動テストの実行処理について説明する。
携帯電話装置200には、メニュー呼び出しログ501の出力処理手順を含むアプリケーションプログラム410が格納されている。また、テスト装置100のシナリオDB110にはテストシナリオ1000、期待値DB130には期待値データ1300が格納されているとする。
(3) The automatic test execution process will be described.
The mobile phone device 200 stores an application program 410 including an output processing procedure for the menu call log 501. Further, it is assumed that test scenario 1000 is stored in scenario DB 110 of test apparatus 100 and expected value data 1300 is stored in expected value DB 130.

テスト装置100は、シナリオ駆動部120が、シナリオDB110からテストシナリオを1行読み出し、これを解釈して携帯電話装置200に実行命令を出す。「Menu メニューキー“削除”」1001が読み込まれると、まず、メニューキーを押下する指示を携帯電話装置200に送信する。携帯電話装置200では、メニューキー押下の命令は、入力部220を介してOS210に伝達される。OS210は、アプリケーション部240のメニューキーハンドラ242を呼び出し、メニューキーハンドラ242によってメニュー表示命令241が実行される。メニュー表示命令241によってメニュー表示処理が実行される前に、メニュー呼び出しログ501にメニュー呼び出しメッセージが出力される。メニュー表示命令241が処理を実行すると、OS210のメニュー機構部211が呼び出され、メニューログ502にフォーカスメニュー文字列が出力される。これにより、携帯電話装置200の表示画面には、図4に示したメニュー画面2000が表示され、上段の「登録」2001がフォーカスされる。   In the test apparatus 100, the scenario driving unit 120 reads one line of the test scenario from the scenario DB 110, interprets this, and issues an execution command to the mobile phone device 200. When “Menu menu key“ delete ”” 1001 is read, first, an instruction to press the menu key is transmitted to the mobile phone device 200. In the mobile phone device 200, a command for pressing the menu key is transmitted to the OS 210 via the input unit 220. The OS 210 calls the menu key handler 242 of the application unit 240, and the menu display command 241 is executed by the menu key handler 242. A menu call message is output to the menu call log 501 before the menu display process is executed by the menu display command 241. When the menu display command 241 executes processing, the menu mechanism unit 211 of the OS 210 is called and a focus menu character string is output to the menu log 502. As a result, the menu screen 2000 shown in FIG. 4 is displayed on the display screen of the mobile phone device 200, and the upper “registration” 2001 is focused.

テスト装置100のシナリオ駆動部120は、メニュー呼び出しログ501と、メニューログ502とを取得する。メニューログ502に基づき、現在のフォーカスメニュー文字列は、「登録」であることを検出する。このフォーカスメニュー文字列「登録」と、テストシナリオ「Menu メニューキー“削除”」1001のコマンドメニュー文字列「削除」とを照合する。ここでは一致しないので、フォーカス移動操作命令を携帯電話装置200に出力する。例えば、下キー操作命令を入力部220に出力する。入力部220を介して下キー操作命令を受けたOS210は、フォーカスを下へ移動する処理を行い、メニュー機構部211によってメニューログ502に「削除」が出力される。呼び出しログ501の利用については後述する。   The scenario driving unit 120 of the test apparatus 100 acquires the menu call log 501 and the menu log 502. Based on the menu log 502, it is detected that the current focus menu character string is “registration”. This focus menu character string “registration” is compared with the command menu character string “delete” of the test scenario “Menu menu key“ delete ”” 1001. Since they do not match here, a focus movement operation command is output to the mobile phone device 200. For example, a lower key operation command is output to the input unit 220. Upon receiving the down key operation command via the input unit 220, the OS 210 performs a process of moving the focus downward, and the menu mechanism unit 211 outputs “delete” to the menu log 502. Use of the call log 501 will be described later.

シナリオ駆動部120は、メニューログ502のフォーカスメニュー文字列「削除」とテストシナリオ「Menu メニューキー“削除”」1001のコマンドメニュー文字列「削除」と照合する。ここでは一致するので、決定キーを操作する命令を携帯電話装置200に出力し、削除処理を実行させる。   The scenario driver 120 collates the focus menu character string “delete” in the menu log 502 with the command menu character string “delete” in the test scenario “Menu menu key“ delete ”” 1001. Here, since they match, a command for operating the enter key is output to the mobile phone device 200 to execute the deletion process.

携帯電話装置200は、決定キー操作命令を受け取り、OS210に従ってアプリケーション部240が削除処理を実行する。削除処理の詳細は省略する。
こうして、携帯電話装置200の表示画面には、削除処理が実行されたアドレス一覧が表示される。
The cellular phone device 200 receives the determination key operation command, and the application unit 240 executes the deletion process according to the OS 210. Details of the deletion process are omitted.
Thus, the address list on which the deletion process has been executed is displayed on the display screen of the mobile phone device 200.

続いて、シナリオ駆動部120は、テストシナリオ1000の次行を読み出す。「Assert アドレス一覧」1002が読み出され、測定部140が出力部230から結果を取得する。図5に示した結果2300が得られたとする。「Assert アドレス一覧」1002に記述される「アドレス一覧」をキーとして期待値DB130を検索し、期待値データ1300を抽出する。抽出された期待値データ1300の内容1303と、実際に命令が実行されて得られた結果2300とを照合し、内容が全て一致しているか否かを判定する。一致しているときは、その判定命令におけるテスト結果は、合格と判定される。しかし、1箇所でも期待値と違う箇所が検出されたときは、テストシナリオにおける判定命令の位置や、期待値における不一致箇所を記録する。また、その内容がテスト担当者に通知される。   Subsequently, the scenario driving unit 120 reads the next line of the test scenario 1000. The “Assert address list” 1002 is read, and the measurement unit 140 acquires the result from the output unit 230. Assume that the result 2300 shown in FIG. 5 is obtained. The expected value DB 130 is searched using the “address list” described in the “Assert address list” 1002 as a key, and the expected value data 1300 is extracted. The content 1303 of the extracted expected value data 1300 is collated with the result 2300 obtained by actually executing the instruction, and it is determined whether or not all the contents match. When they match, the test result in the determination instruction is determined to be acceptable. However, when a location different from the expected value is detected even at one location, the position of the determination command in the test scenario and the mismatched location in the expected value are recorded. The contents are also notified to the person in charge of the test.

期待値データ1300の内容1303と、結果2300とを照合すると、期待値データ1300のラベル3の名前が「内野」であるのに対し、結果2300では「海野」となっており、一致しない。そこで、一致しない箇所のそのデータなどをエラー情報として記録し、テスト担当者にエラー通知を行う。   When the contents 1303 of the expected value data 1300 and the result 2300 are collated, the name of the label 3 of the expected value data 1300 is “Uchino”, whereas in the result 2300, it is “Unno”, which does not match. Therefore, the data of the part that does not match is recorded as error information, and an error is notified to the person in charge of the test.

シナリオ駆動部120は、シナリオDB110から次のテストシナリオを読み出し、同様の手順を実行する。
このように、テスト装置100は、メニュー表示命令と、目標とするフォーカス文字列と、が定義されるテストシナリオに基づき、該当するメニュー画面に表示される文字列のフォーカスを目標のメニューキーの文字列に移動させる。
The scenario driver 120 reads the next test scenario from the scenario DB 110 and executes the same procedure.
As described above, the test apparatus 100 focuses the character string displayed on the corresponding menu screen based on the test scenario in which the menu display command and the target focus character string are defined. Move to column.

なお、上記の説明では、テストシナリオと同じ文字列が検出されなかったときに、下キー操作を行うとしたが、操作可能な方向が適宜選択される。例えば、メニュー画面が横方向にもメニューキーが表示される構成であれば、下キー操作で検出されないときは、他の方向のキー操作が行われる。   In the above description, the down key operation is performed when the same character string as that in the test scenario is not detected, but the operable direction is appropriately selected. For example, if the menu screen is configured to display the menu key in the horizontal direction, the key operation in the other direction is performed when the menu key is not detected by the down key operation.

ここで、この表示画面の仕様変更が発生したとする。図6は、仕様変更後のメニュー画面を示した図である。深さが1であることは、仕様変更前と同様である。
仕様変更後のメニュー画面2100は、メニューとして「登録」2101、「編集」2102、「削除」2103が用意される。図4に示した仕様変更前のメニュー画面2000から、「編集」2102が追加になっている。
Here, it is assumed that the specification change of the display screen has occurred. FIG. 6 is a diagram showing a menu screen after the specification is changed. The depth of 1 is the same as before the specification change.
In the menu screen 2100 after the specification change, “Register” 2101, “Edit” 2102, and “Delete” 2103 are prepared as menus. “Edit” 2102 is added to the menu screen 2000 before the specification change shown in FIG.

テストシナリオ1100は、テストの内容が変わらないため、仕様変更前のテストシナリオ1000と同じものを再利用することができる。
テスト装置100の(3)自動テストの実行処理について説明する。メニューキーを押下してメニュー画面2100が開かれるまでの処理は、仕様変更前と同様であるので、説明は省略する。
Since the test scenario 1100 does not change the test contents, the same test scenario 1000 as that before the specification change can be reused.
The (3) automatic test execution process of the test apparatus 100 will be described. Since the processing from when the menu key is pressed until the menu screen 2100 is opened is the same as before the specification change, description thereof will be omitted.

仕様変更後のメニュー画面2100が開かれたとき、携帯電話装置200から出力されるメニューログ502のフォーカスメニュー文字列は、仕様変更前と同様に「登録」である。シナリオ駆動部120は、メニューログ502から取得した「登録」と、テストシナリオ「Menu メニューキー“削除”」1101の「削除」と照合し、一致しないので、フォーカス移動操作を携帯電話装置200に命令する。下キー操作命令を入力部220に出力するとする。入力部220を介して下キー操作命令を受けたOS210は、フォーカスを下へ移動する処理が行われ、メニュー機構部211がメニューログ502に「編集」を出力する。   When the menu screen 2100 after the specification change is opened, the focus menu character string of the menu log 502 output from the mobile phone device 200 is “registered” as before the specification change. The scenario driving unit 120 compares “registration” acquired from the menu log 502 with “deletion” of the test scenario “Menu menu key“ deletion ”1101 and does not match. To do. Assume that a lower key operation command is output to the input unit 220. Upon receiving the down key operation command via the input unit 220, the OS 210 performs a process of moving the focus downward, and the menu mechanism unit 211 outputs “edit” to the menu log 502.

シナリオ駆動部120は、メニューログ502から取得した「編集」と、テストシナリオ「Menu メニューキー“削除”」1101の「削除」と照合し、一致しないので、さらに、フォーカス移動操作を携帯電話装置200に命令する。下キー操作命令を入力部220に出力する。入力部220を介して下キー操作命令を受けたOS210によって、フォーカスを下へ移動する処理が行われ、メニュー機構部211がメニューログ502に「削除」を出力する。ここで、メニューログ502から取得したフォーカスメニュー文字列がテストシナリオのコマンドメニュー文字列と一致するので、シナリオ駆動部120は、決定キーを操作する命令を携帯電話装置200に出力し、削除処理を実行させる。以降の処理は、仕様変更前と同様であるので、説明は省略する。   The scenario driving unit 120 compares “edit” acquired from the menu log 502 with “delete” of the test scenario “Menu menu key“ delete ”” 1101 and does not match. To order. A down key operation command is output to the input unit 220. The OS 210 that receives the down key operation command via the input unit 220 performs a process of moving the focus downward, and the menu mechanism unit 211 outputs “delete” to the menu log 502. Here, since the focus menu character string acquired from the menu log 502 matches the command menu character string of the test scenario, the scenario driving unit 120 outputs a command for operating the determination key to the mobile phone device 200 and performs the deletion process. Let it run. Since the subsequent processing is the same as before the specification change, the description is omitted.

このように、テスト装置100は、仕様変更があっても、フォーカスメニュー文字列と、テストシナリオに記述されたコマンドメニュー文字列とを照合し、コマンドメニュー文字列と一致する文字列をメニュー画面から検出することができる。このため、メニュー画面内の表示順序が変わっても、テストシナリオを修正することなく、自動テストを行うことが可能となる。これにより、テスト対象の機種が変更になってもテストシナリオがそのまま利用できるため、テストに要する項数を削減することができ、端末の開発費削減や早期集荷が可能となる。   As described above, the test apparatus 100 collates the focus menu character string with the command menu character string described in the test scenario even if the specification is changed, and finds the character string that matches the command menu character string from the menu screen. Can be detected. For this reason, even if the display order in the menu screen changes, an automatic test can be performed without correcting the test scenario. Thus, since the test scenario can be used as it is even if the model to be tested is changed, the number of items required for the test can be reduced, and the terminal development cost can be reduced and early collection can be achieved.

次に、第2の実施の形態として、メニューの深さが2の場合について説明する。図7は、深さが2のメニュー画面とテストシナリオの一例を示した図である。
メニュー画面2200は、メニューキーを押下したときに表示される第1のメニュー画面2210と、第1のメニュー画面で「削除」が選択されたときに表示される第2のメニュー画面2220とを有する。
Next, a case where the menu depth is 2 will be described as a second embodiment. FIG. 7 is a diagram illustrating an example of a menu screen having a depth of 2 and a test scenario.
The menu screen 2200 includes a first menu screen 2210 displayed when the menu key is pressed, and a second menu screen 2220 displayed when “Delete” is selected on the first menu screen. .

第2のメニュー画面2220は、「キャンセル」2221、「1件」2222、「全件」2223のメニューキーを有する。「キャンセル」2221は、第1のメニュー画面2210で選択された「削除」をキャンセルする操作を選択するメニューキーである。「1件」2222は、アドレス一覧から選択された1件を削除する操作を選択するメニューキーである。「全件」2223は、アドレス一覧に登録されているすべてのアドレス情報を削除する操作を選択するメニューキーである。   The second menu screen 2220 has menu keys of “cancel” 2221, “one case” 2222, and “all cases” 2223. “Cancel” 2221 is a menu key for selecting an operation to cancel “delete” selected on the first menu screen 2210. “One item” 2222 is a menu key for selecting an operation for deleting one item selected from the address list. “All items” 2223 is a menu key for selecting an operation for deleting all address information registered in the address list.

テストシナリオ1210は、アドレス一覧表示画面から1行削除することを指示する命令である。「Menu メニューキー“削除. 1件”」1201は、メニューキーを押下して第1のメニュー画面を開き、第1のメニュー画面の中から「削除」を選択し、第2のメニュー画面から「1件」を選択するという操作命令である。また、「Assert アドレス一覧」1202は、「Menu メニューキー“削除. 1件”」1201の処理実行後の「アドレス一覧」画面が正しいかどうか、期待値と比較して一致するか否か判定するという判定命令である。   The test scenario 1210 is a command for instructing deletion of one line from the address list display screen. “Menu menu key“ Delete. “1 case” ”1201 is that the menu key is pressed to open the first menu screen,“ Delete ”is selected from the first menu screen, and“ 1 ”is selected from the second menu screen. Operation instruction. Also, the “Assert address list” 1202 includes a “Menu menu key“ delete. This is a determination command for determining whether the “address list” screen after the execution of the process of “one case” 1201 is correct and whether it matches with the expected value.

メニュー画面が階層構造をとる場合、メニューから操作を選択するテストシナリオは、選択する文字列を並べて記述する。この例では、階層の区切りを区切り文字「.」で区切って各階層の文字列を複数並べる。最初に記述される文字列が、第1の階層(メニューキー押下で開かれるメニュー画面)で選択される文字列である。区切り文字「.」の以降に順次展開されるメニュー画面(以下、サブメニューとする)で選択される文字列が記述される。例えば、「削除. 1件」であれば、最初に表示されるメニュー画面2210でメニューキー「削除」を選択し、次の階層のサブメニュー2220でメニューキー「1件」を選択することを表している。1階層目のメニュー画面2210が表示されているとき、メニューの深さを1とカウントする。次のサブメニュー2220が表示されているとき、メニューの深さを2とカウントする。ここでは、深さ2の場合を示したが、メニューそのものは、いくらでも深くすることができる。また、区切り文字は、「.」に限定されず、システムに応じて任意に設定することができる。   When the menu screen has a hierarchical structure, the test scenario for selecting an operation from the menu describes the character strings to be selected side by side. In this example, a plurality of character strings in each layer are arranged by separating the layer breaks with a delimiter character “.”. The character string described first is a character string selected on the first layer (a menu screen opened by pressing the menu key). A character string selected on a menu screen (hereinafter referred to as a submenu) that is sequentially expanded after the delimiter “.” Is described. For example, “Delete. 1 item” indicates that the menu key “Delete” is selected on the menu screen 2210 displayed first, and the menu key “1 item” is selected on the submenu 2220 of the next layer. ing. When the menu screen 2210 in the first layer is displayed, the depth of the menu is counted as 1. When the next submenu 2220 is displayed, the menu depth is counted as 2. Here, the case of depth 2 is shown, but the menu itself can be made as deep as possible. The delimiter is not limited to “.”, And can be arbitrarily set according to the system.

このようにメニュー画面が階層構造を有する場合の(3)自動テストの実行処理について説明する。
メニューキーを押下してメニュー画面2210が開かれた以降の処理について説明する。
A description will be given of (3) automatic test execution processing when the menu screen has a hierarchical structure.
Processing after the menu key 22 is pressed to open the menu screen 2210 will be described.

携帯電話装置200において、メニュー画面2210が開かれたとき、テスト装置100のシナリオ駆動部120は、メニュー呼び出しログ501と、メニューログ502とを取得する。メニューログ502は、現在のフォーカスメニュー文字列は、「登録」であることを示す。メニュー呼び出しログ501は、コンピュータによる他のログメッセージと区別するため、メニューの呼び出し日時やID番号などを付加する。例えば、「2008/9/24 10:30:41.768 Menu called」というように、メニュー呼び出しがあったことに加え、その日時をミリ秒単位で付与し、他のログと区別できるようにする。シナリオ駆動部120は、現在のメニュー画面の階層を示す、「深さ変数」を一時的なデータを記憶する記憶領域に保存する。深さ変数は、最初のメニュー画面が表示されたことを示すメニュー呼び出しログ501を取得したとき、「1」が設定される。以降、メニュー呼び出しログ501によってメニューの階層が深くなったことが通知されるごとに、1ずつ増加される。   In the mobile phone device 200, when the menu screen 2210 is opened, the scenario driving unit 120 of the test device 100 acquires the menu call log 501 and the menu log 502. The menu log 502 indicates that the current focus menu character string is “registration”. The menu call log 501 is added with a menu call date and time, an ID number, etc. to distinguish it from other log messages from the computer. For example, “2008/9/24 10: 30: 41.768 Menu called” In addition to the menu call, the date and time is given in milliseconds so that it can be distinguished from other logs. . The scenario driving unit 120 stores a “depth variable” indicating the hierarchy of the current menu screen in a storage area for storing temporary data. The depth variable is set to “1” when the menu call log 501 indicating that the first menu screen is displayed is acquired. Thereafter, each time the menu call log 501 notifies that the menu hierarchy has been deepened, it is incremented by one.

シナリオ駆動部120では、メニュー呼び出しログ501に基づいて、深さ変数に「1」を設定する。そして、メニューログ502に設定されているフォーカスメニュー文字列の「登録」と、テストシナリオ「Menu メニューキー“削除. 1件”」1201の「削除」と照合し、一致しないので、フォーカス移動操作を携帯電話装置200に命令する。なお、深さ変数から、現在のメニュー画面は1階層目であることがわかるので、1階層目の「削除」と照合される。続いて、下キー操作命令を入力部220に出力する。入力部220を介して下キー操作命令を受けたOS210によって、フォーカスを下へ移動する処理が行われ、メニュー機構部211がメニューログ502に「削除」を出力する。メニューは呼び出されておらず、深さ変数は「1」の状態が継続されているので、テストシナリオ「Menu メニューキー“削除. 1件”」1201のコマンドメニュー文字列「削除」と照合する。ここでは、一致する。シナリオ駆動部120は、決定キーを操作する命令を携帯電話装置200に出力する。   The scenario driving unit 120 sets “1” to the depth variable based on the menu call log 501. Then, the registration of the focus menu character string set in the menu log 502 and the test scenario “Menu menu key“ delete. Compared with “delete” of “1 case” ”1201 and does not match, the mobile phone device 200 is instructed to move the focus. Note that the depth menu indicates that the current menu screen is in the first layer, so it is collated with “delete” in the first layer. Subsequently, a lower key operation command is output to the input unit 220. The OS 210 that receives the down key operation command via the input unit 220 performs a process of moving the focus downward, and the menu mechanism unit 211 outputs “delete” to the menu log 502. Since the menu is not called and the state of the depth variable is “1”, the test scenario “Menu menu key“ Delete. The command menu character string “delete” of “1 case” ”1201 is collated. Here, they match. The scenario driving unit 120 outputs a command for operating the determination key to the mobile phone device 200.

携帯電話装置200は、決定キー操作命令を受け取り、次の階層のサブメニュー2220を表示する。このとき、メニュー表示命令241によってメニュー呼び出しログ501に新たなメニュー呼び出しメッセージが出力される。また、メニューログ502には、フォーカスメニュー文字列として「キャンセル」が出力される。   The cellular phone device 200 receives the enter key operation command and displays the submenu 2220 of the next layer. At this time, a new menu call message is output to the menu call log 501 by the menu display command 241. Further, “cancel” is output to the menu log 502 as the focus menu character string.

シナリオ駆動部120は、メニュー呼び出しログ501に基づいて、深さ変数を1増加させ、「2」に設定する。深さ変数に基づいて、テストシナリオ「Menu メニューキー“削除. 1件”」1201の2階層目のコマンドメニュー文字列「1件」と、メニューログ502のフォーカスメニュー文字列「キャンセル」とを比較する。一致しないので下キー操作命令を携帯電話装置200に出力し、フォーカスを移動させる。次の操作が実行されると、メニューログ502から、フォーカスメニュー文字列「1件」が得られる。これは、テストシナリオの2階層目のコマンドメニュー文字列「1件」と一致するので、決定キー操作を命令し、削除処理を実行させる。   The scenario driving unit 120 increments the depth variable by 1 based on the menu call log 501 and sets it to “2”. Based on the depth variable, the test scenario “Menu menu key“ Delete. The command menu character string “1 case” in the second layer of “1 case” ”1201 is compared with the focus menu character string“ cancel ”in the menu log 502. Since they do not match, a lower key operation command is output to the mobile phone device 200 to move the focus. When the next operation is executed, the focus menu character string “1” is obtained from the menu log 502. Since this matches the command menu character string “one case” in the second layer of the test scenario, the determination key operation is instructed to execute the deletion process.

以上のように、メニューの深さが2の場合であっても、試験対象の部品を探索し、対応するメニューキーを検出することができる。
なお、上記の説明は、メニュー画面上にテストシナリオに記述されたコマンドメニュー文字列を有するメニューキーがあるとして処理が行われているが、メニュー画面上に該当メニューキーがない場合も想定される。そこで、メニュー画面で最初にフォーカスメニュー文字列として検出された文字列を記憶しておく。そして、フォーカスの移動操作を行って再度同じ文字列がフォーカスメニュー文字列として検出されたときは、エラーとする。
As described above, even when the depth of the menu is 2, it is possible to search for a part to be tested and detect a corresponding menu key.
In the above description, the processing is performed assuming that there is a menu key having a command menu character string described in the test scenario on the menu screen, but it is also assumed that there is no corresponding menu key on the menu screen. . Therefore, the character string first detected as the focus menu character string on the menu screen is stored. If the same character string is detected again as the focus menu character string after performing the focus movement operation, an error is assumed.

また、テストシナリオのコマンドの深さ(区切り文字列で記述されるメニューキーの文字列の個数)と、実際のメニューの深さが一致しない場合も想定される。例えば、テストシナリオが「Menu メニューキー“削除. 1件”」となっているが、「削除」選択後にサブメニューが表示されない場合である。このような場合は、メニュー呼び出しログ501のメニュー呼び出しメッセージをずっと待ち続けてしまう。これを防止するため、一定時間の待ち時間を設ける。この時間が経過してもサブメニューが表示されないときは、エラーとする。   It is also assumed that the test scenario command depth (the number of menu key character strings described in the delimiter character string) does not match the actual menu depth. For example, the test scenario is “Menu Menu Key“ Delete. This is a case where “1” is displayed, but the submenu is not displayed after “Delete” is selected. In such a case, the menu call message in the menu call log 501 is kept waiting. In order to prevent this, a certain waiting time is provided. If the submenu is not displayed after this time has elapsed, an error is assumed.

上記の例とは逆に、実際のメニューの深さが、テストシナリオのコマンドの深さよりも深い場合も想定される。例えば、テストシナリオが「Menu メニューキー“削除”」となっているが、実際には、「削除」選択後にサブメニューが表示される場合である。削除が検出されたので、決定キーを操作するが、削除処理は実行されない。これを防止するため、シナリオ駆動部120は、メニュー呼び出しログ501を一定時間監視し、区切り文字が設定されていない階層でメニュー呼び出しログ501が呼び出されたときは、エラーとする。   Contrary to the above example, it is also assumed that the actual menu depth is deeper than the test scenario command depth. For example, although the test scenario is “Menu menu key“ delete ””, the sub-menu is actually displayed after “delete” is selected. Since deletion is detected, the enter key is operated, but the deletion process is not executed. In order to prevent this, the scenario driving unit 120 monitors the menu call log 501 for a certain period of time, and if the menu call log 501 is called in a hierarchy in which no delimiter is set, an error occurs.

なお、上記のそれぞれのエラーは、エラーの内容がわかるように、全て異なるエラーメッセージが出力される。
このように、メニュー命令実行中に発生し得る異常状態を的確に識別し、それぞれ異なるエラーメッセージを出力してテスト実行者に通知を行い、テストを中止させることができる。
For each of the above errors, different error messages are output so that the contents of the error can be understood.
In this way, it is possible to accurately identify an abnormal state that may occur during execution of the menu command, output a different error message, notify the test executor, and stop the test.

次に、テスト装置100の自動テストの処理手順を、フローチャートを用いて説明する。
図8は、自動テストの処理手順を示したフローチャートである。
Next, an automatic test processing procedure of the test apparatus 100 will be described using a flowchart.
FIG. 8 is a flowchart showing the processing procedure of the automatic test.

あるテストケースについての自動テスト実行が指示され、処理が開始される。
[ステップS11] 処理が開始されると、まず、現在のメニュー画面の階層がいくつであるかを表す「深さ変数」を0に初期化する。「深さ変数」は、記憶手段に一時的に保存される。
An automatic test execution for a test case is instructed, and the process is started.
[Step S11] When the process is started, first, a “depth variable” indicating how many levels the current menu screen is is initialized to zero. The “depth variable” is temporarily stored in the storage means.

[ステップS12] シナリオDB110に格納される対象のテストケースのテストシナリオを1行読み出す。このとき、未実行のテストシナリオのうち、最も実行順が早いテストシナリオが読み出される。   [Step S12] One line of the test scenario of the target test case stored in the scenario DB 110 is read. At this time, the test scenario with the earliest execution order among the unexecuted test scenarios is read out.

[ステップS13] ステップS12で読み出したテストシナリオが最後の行であるかどうかを判定する。最後の行には、例えば「終了」や「結果表示」など、テストの終了を指示するコマンドが記述されているとする。最後の行であれば、処理をステップS14に進める。最後の行でないときは、処理をステップS15に進める。   [Step S13] It is determined whether or not the test scenario read in step S12 is the last line. In the last line, for example, a command for instructing the end of the test, such as “end” and “result display”, is described. If it is the last row, the process proceeds to step S14. If it is not the last line, the process proceeds to step S15.

[ステップS14] ステップS12で読み出した行が最後の行であったので、テスト結果を表示画面に表示し、このテストケースのテストを終了する。
[ステップS15] ステップS12で読み出した行が最後の行でないときは、読み出したテストシナリオがどのようなコマンドであるかを解釈する。
[Step S14] Since the row read in step S12 is the last row, the test result is displayed on the display screen, and the test of this test case is completed.
[Step S15] When the line read in step S12 is not the last line, it interprets what command the read test scenario is.

[ステップS16] ステップS15においてテストシナリオから解釈されたコマンドが操作命令であるかどうかが判定される。操作命令と判定されたときは、処理をステップS17に進める。操作命令と判定されなかったときは、処理をステップS20に進める。   [Step S16] In step S15, it is determined whether the command interpreted from the test scenario is an operation command. If it is determined as an operation command, the process proceeds to step S17. If it is not determined to be an operation command, the process proceeds to step S20.

[ステップS17] コマンドが移動操作命令と判定されたときは、コマンドが、メニュー表示命令であるかどうかを判定する。ここでは、読み込んだテストシナリオのコマンドが、「Menu」であるかどうかを判定する。メニュー表示命令であれば、ステップS18に処理を進め、メニュー処理を実行させる。メニュー表示命令でなければ、処理をステップS19に進め、メニュー処理を実行させない。   [Step S17] When it is determined that the command is a move operation command, it is determined whether the command is a menu display command. Here, it is determined whether or not the command of the read test scenario is “Menu”. If it is a menu display command, the process proceeds to step S18 to execute the menu process. If it is not a menu display command, the process proceeds to step S19, and the menu process is not executed.

[ステップS18] 読み込んだコマンドがメニュー表示命令であるときは、メニュー画面を表示し、メニュー表示画面に表示されるメニューキーを選択する処理を行う。そして、表示されたメニューキーのうち、メニュー表示命令のコマンドメニュー文字列に相当するメニューキーへフォーカスを移動させる。メニュー実行処理の詳細は、後述する。メニュー実行処理により、フォーカスが、所望の操作の実行を指示するメニューキーに設定される。終了後、処理をステップS12に戻し、次のテストシナリオ行の処理を行う。   [Step S18] When the read command is a menu display command, a menu screen is displayed and a menu key displayed on the menu display screen is selected. Of the displayed menu keys, the focus is moved to the menu key corresponding to the command menu character string of the menu display command. Details of the menu execution process will be described later. By the menu execution process, the focus is set to a menu key that instructs execution of a desired operation. After the completion, the process returns to step S12, and the next test scenario line is processed.

[ステップS19] 対象の携帯電話装置200に対し、テストシナリオに記述される処理の実行命令を出力する。終了後、処理をステップS12に戻し、次のテストシナリオ行の処理を行う。   [Step S19] An execution command for processing described in the test scenario is output to the target mobile phone device 200. After the completion, the process returns to step S12, and the next test scenario line is processed.

[ステップS20] コマンドが操作命令と判定されなかったときは、判定命令であるので、測定部140で出力情報を取得する。
[ステップS21] テストシナリオに記述されるテスト項目に対応する期待値データを期待値DB130から取得する。
[Step S20] When the command is not determined to be an operation command, since it is a determination command, the measurement unit 140 obtains output information.
[Step S21] Expected value data corresponding to the test item described in the test scenario is acquired from the expected value DB.

[ステップS22] ステップS20で取得した測定結果と、ステップS21で取得した期待値データとを照合する。すべて一致すれば、このテスト項目は合格と判定される。1箇所でも一致しないときは、このテスト項目はエラーと判定される。判定後、処理をステップS12に戻し、テストシナリオの次の行の処理を行う。   [Step S22] The measurement result acquired in step S20 is collated with the expected value data acquired in step S21. If all match, this test item is judged to pass. If even one location does not match, this test item is determined to be an error. After the determination, the process returns to step S12, and the next line of the test scenario is processed.

上記の処理手順が実行されることにより、テストシナリオに基づいて、操作命令と、判定命令とが順次実行され、携帯電話装置200の自動テストが実行される。
続いて、メニュー実行処理の詳細を説明する。
By executing the above processing procedure, an operation command and a determination command are sequentially executed based on the test scenario, and an automatic test of the mobile phone device 200 is executed.
Next, details of the menu execution process will be described.

図9は、メニュー実行処理の手順を示したフローチャートである。
読み出されたテストシナリオがメニュー表示命令であったとき、実行される。
[ステップS101] メニューを呼び出すメニューキーを押下する操作命令を携帯電話装置200に出力する。携帯電話装置200では、アプリケーション部240のメニュー表示命令241が実行されるとき、メニュー呼び出しログ501に新たなメニュー呼び出しメッセージが出力される。また、メニュー機構部211が、メニューログ502として、現時点でフォーカスされているフォーカスメニュー文字列を出力する。
FIG. 9 is a flowchart showing a procedure of menu execution processing.
It is executed when the read test scenario is a menu display command.
[Step S101] An operation command for pressing a menu key for calling a menu is output to the mobile phone device 200. In the mobile phone device 200, when the menu display command 241 of the application unit 240 is executed, a new menu call message is output to the menu call log 501. Further, the menu mechanism unit 211 outputs a focus menu character string focused at the present time as the menu log 502.

[ステップS102] シナリオ駆動部120は、メニュー呼び出しログ501の出力を監視し、メニュー呼び出しメッセージが新たに出力されたことを検知する。新たなメニュー呼び出しメッセージが検出されたときは、深さ変数に1を加算する。   [Step S102] The scenario drive unit 120 monitors the output of the menu call log 501 and detects that a menu call message has been newly output. When a new menu call message is detected, 1 is added to the depth variable.

[ステップS103] シナリオ駆動部120は、メニューログ502からフォーカスメニュー文字列を抽出する。
[ステップS104] 深さ変数に基づき、テストシナリオから該当するメニュー階層に設定されるコマンドメニュー文字列を取得する。深さ変数が「1」のときは、最初に記述されるコマンドメニュー文字列が読み出される。深さ変数が「2」のときは、区切り文字「.」で区切られた次のコマンドメニュー文字列を読み出す。
[Step S <b> 103] The scenario driving unit 120 extracts a focus menu character string from the menu log 502.
[Step S104] Based on the depth variable, a command menu character string set in the corresponding menu hierarchy is acquired from the test scenario. When the depth variable is “1”, the command menu character string described first is read. When the depth variable is “2”, the next command menu character string delimited by the delimiter “.” Is read.

[ステップS105] ステップS103で取得されたフォーカスメニュー文字列と、ステップS104で取得されたコマンドメニュー文字列とを照合する。一致すると判定されたときは、処理をステップS106に進める。一致しないときは、処理をステップS109に進める。   [Step S105] The focus menu character string acquired in step S103 is collated with the command menu character string acquired in step S104. If it is determined that they match, the process proceeds to step S106. If not, the process proceeds to step S109.

[ステップS106] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致したときは、目的のメニュー文字列がフォーカスされているので、決定キーを押下する操作命令を携帯電話装置200に出力する。   [Step S106] When the focus menu character string matches the command menu character string, the target menu character string is focused, and therefore an operation command for pressing the enter key is output to the mobile phone device 200.

[ステップS107] 深さ変数と、コマンド深さ変数とが一致するか否かを判定する。深さ変数は、ステップS102によって、メニュー呼び出しログ501に新たなメニュー呼び出しが記録されるごとにカウントされる値である。コマンド深さ変数は、テストシナリオのコマンドから抽出される深さ変数である。コマンドメニュー文字列は、階層ごとに区切り文字で区切られているので、コマンドメニュー文字列の個数がコマンド深さ変数に対応する。深さ変数と、コマンド深さ変数とが一致するときは、処理をステップS108に進める。一致しないときは、ステップS102に戻って、次の階層のメニューが呼び出されるのを待ち、メニュー呼び出しログ501の監視からの処理を行う。   [Step S107] It is determined whether or not the depth variable matches the command depth variable. The depth variable is a value counted every time a new menu call is recorded in the menu call log 501 in step S102. The command depth variable is a depth variable extracted from the test scenario command. Since the command menu character string is delimited by a delimiter for each hierarchy, the number of command menu character strings corresponds to the command depth variable. If the depth variable matches the command depth variable, the process proceeds to step S108. If they do not match, the process returns to step S102, waits for the next level menu to be called, and performs processing from monitoring the menu call log 501.

[ステップS108] 深さ変数とコマンド深さ変数とが一致したときは、深さ変数を0にリセットする。フォーカスメニュー文字列はコマンドメニュー文字列と一致したので、表示されているメニュー画面上のフォーカスメニュー文字列の対応処理を開始するため、処理を終了する。   [Step S108] When the depth variable matches the command depth variable, the depth variable is reset to zero. Since the focus menu character string matches the command menu character string, the processing is ended in order to start the processing for the focus menu character string on the displayed menu screen.

[ステップS109] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致しないときは、フォーカスを移動させる矢印キーを押下する処理を携帯電話装置200に出力する。そして、ステップS103に戻って、フォーカスメニュー文字列の抽出からの処理を行う。   [Step S109] If the focus menu character string does not match the command menu character string, a process of pressing an arrow key for moving the focus is output to the mobile phone device 200. Then, the process returns to step S103 to perform processing from the focus menu character string extraction.

以上の処理手順が実行されることにより、テストシナリオに記述された目的の操作に対応するコマンドメニュー文字列がフォーカスされるようになる。
図9に示した処理手順は、コマンドメニュー文字列に該当する文字列が必ずメニュー画面に存在することを前提としている。しかし、存在しない場合もあると想定される。そこで、コマンドメニュー文字列がメニュー画面で検出されなかった場合の処理を加えたメニュー実行処理について説明する。
By executing the above processing procedure, the command menu character string corresponding to the target operation described in the test scenario is focused.
The processing procedure shown in FIG. 9 is based on the premise that a character string corresponding to the command menu character string always exists on the menu screen. However, it is assumed that it may not exist. Therefore, a menu execution process including a process when a command menu character string is not detected on the menu screen will be described.

図10は、コマンドメニュー文字列が存在しない場合を加味したメッセージ実行処理の手順を示したフローチャートである。
読み出されたテストシナリオがフォーカスの移動操作命令であったとき、実行される。
FIG. 10 is a flowchart showing the procedure of the message execution process taking into account the case where the command menu character string does not exist.
It is executed when the read test scenario is a focus movement operation command.

[ステップS201] メニューを呼び出すメニューキーを押下する操作命令を携帯電話装置200に出力する。携帯電話装置200では、アプリケーション部240のメニュー表示命令241が実行されるとき、メニュー呼び出しログ501に新たなメニュー呼び出しメッセージが出力される。また、メニュー機構部211が、メニューログ502として、現時点でフォーカスされているフォーカスメニュー文字列を出力する。   [Step S201] An operation command for pressing a menu key for calling a menu is output to the mobile phone device 200. In the mobile phone device 200, when the menu display command 241 of the application unit 240 is executed, a new menu call message is output to the menu call log 501. Further, the menu mechanism unit 211 outputs a focus menu character string focused at the present time as the menu log 502.

[ステップS202] シナリオ駆動部120は、メニュー呼び出しログ501の出力を監視し、メニュー呼び出しメッセージが新たに出力されたことを検知する。新たなメニュー呼び出しメッセージが検出されたときは、深さ変数に1を加算する。   [Step S202] The scenario driver 120 monitors the output of the menu call log 501 and detects that a menu call message has been newly output. When a new menu call message is detected, 1 is added to the depth variable.

[ステップS203] メニュー呼び出しメッセージが新たに検出されたとき、先頭メニュー文字列をリセットして初期化する。先頭メニュー文字列は、新たなメニュー画面が表示されたとき、そのメニュー画面で最初に検出されたフォーカスメニュー文字列である。一時的な情報として記憶手段に記憶される。   [Step S203] When a menu call message is newly detected, the top menu character string is reset and initialized. The first menu character string is a focus menu character string that is first detected on the menu screen when a new menu screen is displayed. It is stored in the storage means as temporary information.

[ステップS204] シナリオ駆動部120は、メニューログ502からフォーカスメニュー文字列を抽出する。
[ステップS205] 先頭メニュー文字列に格納されるメニュー画面が開かれたとき、最初に検出されたフォーカスメニュー文字列と、ステップS204で検出された現時点のフォーカスメニュー文字列とを照合し、一致しているか否かを判定する。一致しているときは、このメニュー画面において、コマンドメニュー文字列の検索が一巡しても該当する文字列が検出されなかったと判断される。そこで、「コマンドメニュー文字列に対応するメニューが存在しない」と判定し、処理をステップS206に進める。一致しないときは、処理をステップS207に進める。
[Step S <b> 204] The scenario driving unit 120 extracts a focus menu character string from the menu log 502.
[Step S205] When the menu screen stored in the first menu character string is opened, the focus menu character string detected first and the current focus menu character string detected in step S204 are collated and matched. It is determined whether or not. If they match, it is determined that the corresponding character string has not been detected on the menu screen even after the search for the command menu character string has been completed. Therefore, it is determined that “the menu corresponding to the command menu character string does not exist”, and the process proceeds to step S206. If not, the process proceeds to step S207.

[ステップS206] フォーカスメニュー文字列と、先頭メニュー文字列とが一致したときは、テスト結果を失敗にセットし、自動テスト処理を中断し、図8に示した分岐点Aへ処理を進める。以降の処理では、エラー理由として「コマンドメニュー文字列に対応するメニューが存在しない」旨の通知を出力し、テストシナリオ内でのエラー発生を表示画面などに表示する。   [Step S206] When the focus menu character string matches the first menu character string, the test result is set to failure, the automatic test process is interrupted, and the process proceeds to branch point A shown in FIG. In the subsequent processing, a notification that “the menu corresponding to the command menu character string does not exist” is output as the error reason, and the error occurrence in the test scenario is displayed on the display screen or the like.

[ステップS207] フォーカスメニュー文字列と、先頭メニュー文字列とが一致しないときは、先頭メニュー文字列が空白であれば、ステップS204で取得したフォーカスメニュー文字列を先頭メニュー文字列に設定する。   [Step S207] If the focus menu character string does not match the first menu character string, and the first menu character string is blank, the focus menu character string acquired in step S204 is set as the first menu character string.

[ステップS208] 深さ変数に基づき、テストシナリオから該当するメニュー階層に設定されるコマンドメニュー文字列を取得する。
[ステップS209] ステップS203で取得されたフォーカスメニュー文字列と、ステップS208で取得されたコマンドメニュー文字列とを照合する。一致すると判定されたときは、処理をステップS210に進める。一致しないときは、処理をステップS213に進める。
[Step S208] Based on the depth variable, a command menu character string set in the corresponding menu hierarchy is acquired from the test scenario.
[Step S209] The focus menu character string acquired in step S203 and the command menu character string acquired in step S208 are collated. If it is determined that they match, the process proceeds to step S210. If not, the process proceeds to step S213.

[ステップS210] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致したときは、目的のメニューキーがフォーカスされているので、決定キーを押下する操作命令を携帯電話装置200に出力する。   [Step S210] When the focus menu character string matches the command menu character string, the target menu key is focused, and therefore an operation command for pressing the enter key is output to the mobile phone device 200.

[ステップS211] 深さ変数と、コマンド深さ変数とが一致するか否かを判定する。深さ変数と、コマンド深さ変数とが一致するときは、処理をステップS212に進める。一致しないときは、ステップS202に戻って、次の階層のメニューが呼び出されるのを待つメニュー呼び出しログ501の監視からの処理を行う。   [Step S211] It is determined whether or not the depth variable matches the command depth variable. If the depth variable matches the command depth variable, the process proceeds to step S212. If they do not match, the process returns to step S202, and processing from monitoring the menu call log 501 waiting for the next level menu to be called is performed.

[ステップS212] 深さ変数とコマンド深さ変数とが一致したときは、深さ変数を0にリセットする。フォーカスメニュー文字列はコマンドメニュー文字列と一致したので、表示されているメニュー画面上のフォーカスメニュー文字列の対応処理を開始するため、処理を終了する。   [Step S212] When the depth variable matches the command depth variable, the depth variable is reset to zero. Since the focus menu character string matches the command menu character string, the processing is ended in order to start the processing for the focus menu character string on the displayed menu screen.

[ステップS213] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致しないときは、フォーカスを移動させる矢印キーを押下する処理を携帯電話装置200に出力する。そして、ステップS204に戻って、フォーカスメニュー文字列の抽出からの処理を行う。   [Step S213] When the focus menu character string does not match the command menu character string, a process of pressing an arrow key for moving the focus is output to the mobile phone device 200. Then, the process returns to step S204 to perform processing from extraction of the focus menu character string.

以上の処理手順が実行されることにより、図9に示したメニュー実行処理に加え、メニュー画面でメニューキーを一巡してもコマンドメニュー文字列と一致するメニューキーが検索されないとき、エラーがテスト実行者に通知される。これにより、コマンドメニュー文字列が無限に検索されてしまうことを防止することができる。   By executing the above processing procedure, in addition to the menu execution process shown in FIG. 9, if a menu key that matches the command menu character string is not searched even if the menu key is cycled on the menu screen, an error test is executed. Will be notified. This can prevent the command menu character string from being searched indefinitely.

また、テストシナリオのコマンドの深さと、実際のメニューの深さが一致しない場合もある。
図11は、テストシナリオのコマンド深さがメニューよりも大きかった場合を加味したメッセージ実行処理の手順を示したフローチャートである。
Also, the test scenario command depth may not match the actual menu depth.
FIG. 11 is a flowchart showing the procedure of message execution processing taking into account the case where the command depth of the test scenario is larger than the menu.

読み出されたテストシナリオがフォーカスの移動操作命令であったとき、実行される。 [ステップS301] メニューを呼び出すメニューキーを押下する操作命令を携帯電話装置200に出力する。また、タイマを起動し、メニュー呼び出しメッセージが出力されるまでの待ち時間を設定する。携帯電話装置200では、アプリケーション部240のメニュー表示命令241が実行されるとき、メニュー呼び出しログ501に新たなメニュー呼び出しメッセージが出力される。また、メニュー機構部211が、メニューログ502として、現時点でフォーカスされているフォーカスメニュー文字列を出力する。   It is executed when the read test scenario is a focus movement operation command. [Step S301] An operation command for pressing a menu key for calling a menu is output to the mobile phone device 200. Also, a timer is started and a waiting time until a menu call message is output is set. In the mobile phone device 200, when the menu display command 241 of the application unit 240 is executed, a new menu call message is output to the menu call log 501. Further, the menu mechanism unit 211 outputs a focus menu character string focused at the present time as the menu log 502.

[ステップS302] ステップS301で設定された待ち時間が経過したかどうかが判定される。待ち時間が経過したときは、処理をステップS303に進める。待ち時間が経過していないときは、処理をステップS304に進める。   [Step S302] It is determined whether the waiting time set in step S301 has elapsed. If the waiting time has elapsed, the process proceeds to step S303. If the waiting time has not elapsed, the process proceeds to step S304.

[ステップS303] 待ち時間が経過したときは、次の階層のメニュー画面は表示されないと判断する。テスト結果を失敗にセットし、自動テスト処理を中断し、図8に示した分岐点Aへ処理を進める。以降の処理では、エラー理由として「メニューが表示されない」旨の通知を出力し、テストシナリオ内でのエラー発生を表示画面などに表示する。   [Step S303] When the waiting time has elapsed, it is determined that the menu screen of the next layer is not displayed. The test result is set to failure, the automatic test process is interrupted, and the process proceeds to branch point A shown in FIG. In the subsequent processing, a notification that “the menu is not displayed” is output as the error reason, and the error occurrence in the test scenario is displayed on a display screen or the like.

[ステップS304] 待ち時間が経過していないときは、シナリオ駆動部120は、メニュー呼び出しログ501の出力を監視し、メニュー呼び出しメッセージが新たに出力されたことを検知する。新たなメニュー呼び出しメッセージが検出されたときは、深さ変数に1を加算する。   [Step S304] When the waiting time has not elapsed, the scenario driving unit 120 monitors the output of the menu call log 501 and detects that a menu call message has been newly output. When a new menu call message is detected, 1 is added to the depth variable.

[ステップS305] メニュー呼び出しログ501からメニュー呼び出しメッセージが新たに検出されたとき、シナリオ駆動部120は、メニューログ502からフォーカスメニュー文字列を抽出する。   [Step S <b> 305] When a menu call message is newly detected from the menu call log 501, the scenario driving unit 120 extracts a focus menu character string from the menu log 502.

[ステップS306] 深さ変数に基づき、テストシナリオから該当するメニュー階層に設定されるコマンドメニュー文字列を取得する。
[ステップS307] ステップS305で取得されたフォーカスメニュー文字列と、ステップS306で取得されたコマンドメニュー文字列とを照合する。一致すると判定されたときは、処理をステップS308に進める。一致しないと判定されたときは、処理をステップS311に進める。
[Step S306] Based on the depth variable, a command menu character string set in the corresponding menu hierarchy is acquired from the test scenario.
[Step S307] The focus menu character string acquired in step S305 and the command menu character string acquired in step S306 are collated. If it is determined that they match, the process proceeds to step S308. If it is determined that they do not match, the process proceeds to step S311.

[ステップS308] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致したときは、目的のメニューキーがフォーカスされているので、決定キーを押下する操作命令を携帯電話装置200に出力する。   [Step S308] When the focus menu character string matches the command menu character string, the target menu key is focused, and therefore an operation command for pressing the enter key is output to the mobile phone device 200.

[ステップS309] 深さ変数と、コマンド深さ変数とが一致するか否かを判定する。深さ変数と、コマンド深さ変数とが一致するときは、処理をステップS310に進める。一致しないときは、ステップS302に戻って、次の階層のメニューが呼び出されるのを待つメニュー呼び出しログ501の監視からの処理を行う。   [Step S309] It is determined whether or not the depth variable matches the command depth variable. If the depth variable matches the command depth variable, the process proceeds to step S310. If they do not match, the process returns to step S302 to perform processing from monitoring the menu call log 501 waiting for the next hierarchy menu to be called.

[ステップS310] 深さ変数とコマンド深さ変数とが一致したときは、深さ変数を0にリセットする。フォーカスメニュー文字列はコマンドメニュー文字列と一致したので、フォーカスされているメニューキーの対応処理を開始するため、処理を終了する。   [Step S310] When the depth variable matches the command depth variable, the depth variable is reset to zero. Since the focus menu character string coincides with the command menu character string, the process ends to start the processing for the menu key that is focused.

[ステップS311] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致しないときは、フォーカスを移動させる矢印キーを押下する処理を携帯電話装置200に出力する。そして、ステップS305に戻って、フォーカスメニュー文字列の抽出からの処理を行う。   [Step S311] If the focus menu character string does not match the command menu character string, a process of pressing an arrow key for moving the focus is output to the mobile phone device 200. Then, the process returns to step S305 to perform processing from the focus menu character string extraction.

以上の処理手順が実行されることにより、図9に示したメニュー実行処理に加え、テストシナリオのコマンドの深さがメニューの深さよりも大きいとき、エラーがテスト実行者に通知される。これにより、シナリオ駆動部120が、次の階層のメニュー画面を待ち続けるという状態を防止することができる。   By executing the above processing procedure, in addition to the menu execution process shown in FIG. 9, when the test scenario command depth is greater than the menu depth, an error is notified to the test executor. Thereby, it is possible to prevent the scenario driving unit 120 from waiting for the menu screen of the next layer.

逆に、テストシナリオのコマンドの深さがメニューよりも小さい場合もある。
図12は、テストシナリオのコマンド深さがメニューよりも小さかった場合を加味したメッセージ実行処理の手順を示したフローチャートである。
Conversely, the test scenario command depth may be smaller than the menu.
FIG. 12 is a flowchart showing the procedure of message execution processing taking into account the case where the command depth of the test scenario is smaller than the menu.

読み出されたテストシナリオがフォーカスの移動操作命令であったとき、実行される。
[ステップS401] メニューを呼び出すメニューキーを押下する操作命令を携帯電話装置200に出力する。携帯電話装置200では、アプリケーション部240のメニュー表示命令241が実行されるとき、メニュー呼び出しログ501に新たなメニュー呼び出しメッセージが出力される。また、メニュー機構部211が、メニューログ502として、現時点でフォーカスされているフォーカスメニュー文字列を出力する。
It is executed when the read test scenario is a focus movement operation command.
[Step S401] An operation command for pressing a menu key for calling a menu is output to the mobile phone device 200. In the mobile phone device 200, when the menu display command 241 of the application unit 240 is executed, a new menu call message is output to the menu call log 501. Further, the menu mechanism unit 211 outputs a focus menu character string focused at the present time as the menu log 502.

[ステップS402] シナリオ駆動部120は、メニュー呼び出しログ501の出力を監視し、メニュー呼び出しメッセージが新たに出力されたことを検知する。新たなメニュー呼び出しメッセージが検出されたときは、深さ変数に1を加算する。   [Step S402] The scenario driver 120 monitors the output of the menu call log 501 and detects that a menu call message has been newly output. When a new menu call message is detected, 1 is added to the depth variable.

[ステップS403] シナリオ駆動部120は、メニューログ502からフォーカスメニュー文字列を抽出する。
[ステップS404] 深さ変数に基づき、テストシナリオから該当するメニュー階層に設定されるコマンドメニュー文字列を取得する。
[Step S403] The scenario drive unit 120 extracts a focus menu character string from the menu log 502.
[Step S404] Based on the depth variable, a command menu character string set in the corresponding menu hierarchy is acquired from the test scenario.

[ステップS405] ステップS403で取得されたフォーカスメニュー文字列と、ステップS404で取得されたコマンドメニュー文字列とを照合する。一致すると判定されたときは、処理をステップS406に進める。一致しないときは、処理をステップS412に進める。   [Step S405] The focus menu character string acquired in step S403 is collated with the command menu character string acquired in step S404. If it is determined that they match, the process proceeds to step S406. If not, the process advances to step S412.

[ステップS406] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致したときは、目的のメニュー文字列がフォーカスされているので、決定キーを押下する操作命令を携帯電話装置200に出力する。   [Step S406] When the focus menu character string matches the command menu character string, the target menu character string is focused, and therefore an operation command for pressing the enter key is output to the mobile phone device 200.

[ステップS407] 深さ変数と、コマンド深さ変数とが一致するか否かを判定する。深さ変数と、コマンド深さ変数とが一致するときは、処理をステップS408に進める。一致しないときは、ステップS402に戻って、次の階層のメニューが呼び出されるのを待つメニュー呼び出しログ501の監視からの処理を行う。   [Step S407] It is determined whether or not the depth variable matches the command depth variable. If the depth variable matches the command depth variable, the process proceeds to step S408. If they do not match, the process returns to step S402 to perform processing from monitoring the menu call log 501 that waits for the next hierarchical menu to be called.

[ステップS408] 深さ変数とコマンド深さ変数とが一致したときは、メニュー呼び出しログ501を監視し、新たに呼び出しメッセージが検知されたかどうかを確認する。検知されたときは、処理をステップS409に進める。検知されないときは、処理をステップS410に進める。   [Step S408] When the depth variable matches the command depth variable, the menu call log 501 is monitored to check whether a new call message has been detected. If detected, the process proceeds to step S409. If not detected, the process proceeds to step S410.

[ステップS409] 深さ変数とコマンド深さ変数とが一致しているのに、さらにメニュー呼び出しメッセージが検知されたときは、コマンドに記述されていない次の階層のメニュー画面があると判断する。テスト結果を失敗にセットし、自動テスト処理を中断し、図8に示した分岐点Aへ処理を進める。以降の処理では、エラー理由として「メニューの深さがコマンドよりも深い」旨の通知を出力し、テストシナリオ内でのエラー発生を表示画面などに表示する。   [Step S409] If a menu call message is detected even though the depth variable matches the command depth variable, it is determined that there is a menu screen of the next layer not described in the command. The test result is set to failure, the automatic test process is interrupted, and the process proceeds to branch point A shown in FIG. In the subsequent processing, a notification that “the menu depth is deeper than the command” is output as the error reason, and the error occurrence in the test scenario is displayed on a display screen or the like.

[ステップS410] 深さ変数とコマンド深さ変数とが一致し、メニュー呼び出しメッセージが検知されないときは、決定キーを押下する操作命令から一定時間が経過したかどうかを判定する。一定時間が経過したときは、処理をステップS411に進める。一定時間が経過していないときは、処理をステップS408に戻し、メニュー呼び出しメッセージの監視からの処理を行う。   [Step S410] When the depth variable matches the command depth variable, and no menu call message is detected, it is determined whether or not a predetermined time has elapsed from the operation command for pressing the enter key. If the certain time has elapsed, the process proceeds to step S411. If the predetermined time has not elapsed, the process returns to step S408, and the process from monitoring the menu call message is performed.

[ステップS411] 一定時間経過しても、新たなメニュー呼び出しメッセージが検知されないので、メニューの深さと、コマンドの深さとは一致していると判断する。そして、深さ変数を0にリセットする。また、フォーカスメニュー文字列はコマンドメニュー文字列と一致したので、表示されているメニュー画面上のフォーカスメニュー文字列の対応処理を開始するため、処理を終了する。   [Step S411] Since a new menu call message is not detected even after a certain period of time has elapsed, it is determined that the menu depth matches the command depth. Then, the depth variable is reset to zero. In addition, since the focus menu character string matches the command menu character string, the processing is ended in order to start processing for the focus menu character string on the displayed menu screen.

[ステップS412] フォーカスメニュー文字列と、コマンドメニュー文字列とが一致しないときは、フォーカスを移動させる矢印キーを押下する処理を携帯電話装置200に出力する。そして、ステップS403に戻って、フォーカスメニュー文字列の抽出からの処理を行う。   [Step S412] If the focus menu character string does not match the command menu character string, a process of pressing an arrow key for moving the focus is output to the mobile phone device 200. Then, the process returns to step S403 to perform processing from the focus menu character string extraction.

以上の処理手順が実行されることにより、図9に示したメニュー実行処理に加え、テストシナリオのコマンドの深さがメニューの深さよりも小さいとき、エラーがテスト実行者に通知される。これにより、シナリオ駆動部120が、次の階層のメニュー画面に進んでいるのに、前の階層のメニュー画面として処理を行う状態を防止することができる。   By executing the above processing procedure, in addition to the menu execution process shown in FIG. 9, when the test scenario command depth is smaller than the menu depth, an error is notified to the test executor. As a result, it is possible to prevent the scenario driving unit 120 from proceeding to the menu screen of the next hierarchy, but performing processing as the menu screen of the previous hierarchy.

上記の説明では、それぞれのエラー検出処理を個別に説明したが、これらを適宜組み合わせてエラー検出を行うとしてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、試験装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
In the above description, each error detection process has been described individually. However, error detection may be performed by appropriately combining them.
The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the test apparatus should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium.

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, portable recording media such as a DVD (Digital Versatile Disc) and a CD-ROM (Compact Disc Read Only Memory) on which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 対象機器の試験手順を記述したテストシナリオに基づいて試験を行う試験プログラムにおいて、
コンピュータを、
表示画面上の部品のフォーカスを目的の部品に移動させる移動操作命令が前記目的の部品の識別情報に対応付けて記述されるテストシナリオを含むテストシナリオ群が記憶されるシナリオ記憶手段から前記テストシナリオを読み出し、前記テストシナリオに基づく動作を前記対象機器に実行させる実行手段、
前記実行手段によって前記フォーカスの移動操作が実行されたときは、前記移動操作実行後にフォーカスされた移動先の部品の識別情報を含む操作結果情報を前記対象機器より取得する操作結果取得手段、
前記操作結果取得手段が取得した前記操作結果情報に含まれる前記移動先の部品の識別情報と、前記テストシナリオに記述される前記目的の部品の識別情報とが一致するか否かを判定し、一致しないと判定されたときは、前記対象機器に前記フォーカスの移動操作を実行させ、前記操作結果取得手段を介して取得される前記操作結果情報に含まれる前記移動先の部品の識別情報と前記目的の部品の識別情報とを照合する手順を繰り返し、前記移動先の部品の識別情報と前記目的の部品の識別情報とを一致させる再実行手段、
として機能させることを特徴とする試験プログラム。
Regarding the above embodiment, the following additional notes are disclosed.
(Supplementary note 1) In a test program for testing based on a test scenario that describes the test procedure of the target device,
Computer
The test scenario from a scenario storage means for storing a test scenario group including a test scenario in which a move operation command for moving the focus of the component on the display screen to the target component is described in association with the identification information of the target component Execution means for causing the target device to execute an operation based on the test scenario,
An operation result acquisition unit that acquires, from the target device, operation result information including identification information of a movement-destination part that has been focused after the execution of the movement operation when the execution unit performs the focus movement operation;
Determining whether or not the identification information of the destination component included in the operation result information acquired by the operation result acquisition means matches the identification information of the target component described in the test scenario; When it is determined that they do not match, the target device is caused to execute the focus movement operation, and the identification information of the destination part included in the operation result information acquired via the operation result acquisition unit and the Re-execution means for repeating the procedure of collating with the identification information of the target part, and matching the identification information of the destination part with the identification information of the target part;
A test program characterized by functioning as

(付記2) 前記実行手段及び前記再実行手段は、前記対象機器に搭載される操作を指示する操作キーの押下に対応する操作命令を前記対象機器に出力する、
ことを特徴とする付記1記載の試験プログラム。
(Supplementary Note 2) The execution unit and the re-execution unit output an operation command corresponding to pressing of an operation key that instructs an operation mounted on the target device to the target device.
The test program according to supplementary note 1, characterized by:

(付記3) 前記対象機器は、前記対象機器の少なくとも一部の機能をコンピュータ上で実現するエミュレータ上に構築されている、
ことを特徴とする付記1記載の試験プログラム。
(Supplementary Note 3) The target device is built on an emulator that realizes at least a part of the functions of the target device on a computer.
The test program according to supplementary note 1, characterized by:

(付記4) 前記移動操作命令を含む操作命令が対応付けられる前記目的の部品は、メニュー表示操作命令によって前記表示画面に表示されるメニュー画面内に配置されるメニューキーであり、
前記実行手段は、前記メニュー表示操作命令と、目的の操作に対応する前記メニューキー上の文字列とが記述される前記テストシナリオから前記メニュー表示操作命令を読み出したときは、前記対象機器に前記メニュー表示操作命令を行うとともに、前記再実行手段によって目的の操作に対応する前記メニューキーがフォーカスされた後に、前記メニューキーに対応する操作の実行命令を前記対象機器に出力し、
前記再実行手段は、前記操作結果取得手段が前記操作結果情報として取得した前記メニュー表示操作命令が実行されたことを通知する通知情報と、前記メニュー表示操作命令実行後にフォーカスされた前記メニューキーのフォーカスメニュー文字列とを取得し、前記通知情報に基づき、前記メニュー表示操作命令が実行されたことが検出されたときは、前記フォーカスメニュー文字列と、前記テストシナリオに記述される前記目的のメニューキーの文字列と、が一致しているか否かを判定し、一致するまで前記対象機器に前記フォーカスの移動操作を命令する、
ことを特徴とする付記1記載の試験プログラム。
(Supplementary Note 4) The target component to which an operation command including the movement operation command is associated is a menu key arranged in a menu screen displayed on the display screen by a menu display operation command,
The execution means reads the menu display operation command from the test scenario in which the menu display operation command and a character string on the menu key corresponding to a target operation are described. A menu display operation command is performed, and after the menu key corresponding to a target operation is focused by the re-execution unit, an operation execution command corresponding to the menu key is output to the target device,
The re-execution unit includes notification information for notifying that the menu display operation command acquired as the operation result information by the operation result acquisition unit is executed, and the menu key focused after the menu display operation command is executed. A focus menu character string, and when it is detected that the menu display operation command is executed based on the notification information, the focus menu character string and the target menu described in the test scenario Determine whether or not the character string of the key matches, and instruct the target device to move the focus until it matches,
The test program according to supplementary note 1, characterized by:

(付記5) 前記コンピュータを、前記対象機器のプログラムを取得して解析し、前記メニュー表示操作命令に応じて前記メニュー画面を表示する前記プログラムにおけるメニュー表示命令を検出し、該メニュー表示命令に前記メニュー画面が呼び出されるごとに前記メニュー画面の呼び出し通知を出力する通知処理を追加するとともに、前記通知処理が追加された前記プログラムを前記対象機器に転送する深さ出力注入手段、
として機能させることを特徴とする付記4記載の試験プログラム。
(Additional remark 5) The said computer acquires the program of the said object apparatus, analyzes it, detects the menu display command in the said program which displays the said menu screen according to the said menu display operation command, The said menu display command A depth output injection means for adding a notification process for outputting a call notification of the menu screen each time the menu screen is called, and transferring the program to which the notification process is added to the target device;
The test program according to appendix 4, wherein the test program is made to function as:

(付記6) 前記メニュー画面は、前記テストシナリオに記述される前記メニュー表示操作命令によって最初に表示される第1のメニュー画面から前記目的のメニューキーが表示される前記メニュー画面までが、前記メニュー画面上の所定のメニューキーを操作することによって呼び出される階層構造をとるとき、前記テストシナリオに、前記第1のメニュー画面から前記目的のメニューキーが表示される前記メニュー画面までの呼び出し順に基づいて、次の階層の前記メニュー画面を呼び出す前記メニューキー上の文字列を所定の区切り記号で区切って呼び出し順に記述しておき、
前記実行手段は、前記メニュー画面が呼び出されて切り替わるごとに出力される前記通知情報に基づく前記メニュー画面の深さと、前記テストシナリオの記述に基づく前記メニュー画面の深さとを照合し、表示された前記メニュー画面が前記目的のメニューキーが表示される前記メニュー画面であるかどうかを確認することを特徴とする付記4記載の試験プログラム。
(Supplementary Note 6) The menu screen includes the menu screen from the first menu screen first displayed by the menu display operation command described in the test scenario to the menu screen on which the target menu key is displayed. When taking a hierarchical structure called by operating a predetermined menu key on the screen, the test scenario is based on the calling order from the first menu screen to the menu screen on which the target menu key is displayed. The character string on the menu key that calls the menu screen of the next hierarchy is described in the calling order by separating it with a predetermined delimiter,
The execution means collates the depth of the menu screen based on the notification information that is output every time the menu screen is called and switched, and the depth of the menu screen based on the description of the test scenario, and is displayed. The test program according to appendix 4, wherein the menu screen confirms whether the menu screen is the menu screen on which the target menu key is displayed.

(付記7) 前記再実行手段は、前記メニュー画面が切り替わるごとに出力される前記通知情報が取得されたときに最初に検出された前記フォーカスメニュー文字列を先頭メニュー文字列として記憶するとともに、前記メニュー画面が切り替わるまでに取得された前記フォーカスメニュー文字列と、前記先頭メニュー文字列とを比較し、一致したときは、前記メニュー画面において前記目的のメニューキーが検出されないエラーと判断し、処理を中止するとともに、発生したエラーを通知する、
ことを特徴とする付記4〜6記載の試験プログラム。
(Supplementary Note 7) The re-execution unit stores the focus menu character string detected first when the notification information output every time the menu screen is switched is stored as a first menu character string, and The focus menu character string acquired until the menu screen is switched and the first menu character string are compared, and if they match, it is determined that the target menu key is not detected on the menu screen, and processing is performed. Cancel and notify you of any errors that occur,
The test program according to supplementary notes 4 to 6, characterized in that.

(付記8) 前記再実行手段は、他の階層の前記メニュー画面が呼び出す前記メニューキーが選択されてから所定の待ち時間を経過しても前記対象機器から前記メニュー画面の呼び出し通知が取得できなかったときは、前記メニュー画面がないエラーと判断し、処理を中止するとともに、発生したエラーを通知する、
ことを特徴とする付記4〜6記載の試験プログラム。
(Supplementary Note 8) The re-execution means cannot obtain the menu screen call notification from the target device even after a predetermined waiting time has elapsed since the menu key to be called by the menu screen at another level has been selected. When it is determined that there is no error in the menu screen, the process is stopped and the error that has occurred is notified.
The test program according to supplementary notes 4 to 6, characterized in that.

(付記9) 前記再実行手段は、前記目的のメニューキーが選択されてから一定時間が経過するまで前記メニュー画面の呼び出し通知の出力を監視し、前記メニュー画面の呼び出し通知を取得したときは、前記メニュー画面の深さが前記テストシナリオに記述される前記メニュー画面の深さよりも深いというエラーと判断し、処理を中止するとともに、発生したエラーを通知する、
ことを特徴とする付記4〜6記載の試験プログラム。
(Supplementary Note 9) The re-execution unit monitors the output of the call notification of the menu screen until a predetermined time has elapsed after the target menu key is selected, and when the call notification of the menu screen is acquired, Determining that the depth of the menu screen is deeper than the depth of the menu screen described in the test scenario, canceling the process, and notifying the error that has occurred,
The test program according to supplementary notes 4 to 6, characterized in that.

(付記10) 対象機器の試験手順を記述したテストシナリオに基づいて試験を行う試験装置において、
表示画面上の部品のフォーカスを目的の部品に移動させる移動操作命令が前記目的の部品の識別情報に対応付けて記述されるテストシナリオを含むテストシナリオ群が記憶されるシナリオ記憶手段と、
前記シナリオ記憶手段から前記テストシナリオを読み出し、前記テストシナリオに基づく動作を前記対象機器に実行させる実行手段と、
前記実行手段によって前記フォーカスの移動操作が実行されたときは、前記移動操作実行後にフォーカスされた移動先の部品の識別情報を含む操作結果情報を前記対象機器より取得する操作結果取得手段と、
前記操作結果取得手段が取得した前記操作結果情報に含まれる前記移動先の部品の識別情報と、前記テストシナリオに記述される前記目的の部品の識別情報とが一致するか否かを判定し、一致しないと判定されたときは、前記対象機器に前記フォーカスの移動操作を実行させ、前記操作結果取得手段を介して取得される前記操作結果情報に含まれる前記移動先の部品の識別情報と前記目的の部品の識別情報とを照合する手順を繰り返し、前記移動先の部品の識別情報と前記目的の部品の識別情報とを一致させる再実行手段と、
を有することを特徴とする試験装置。
(Supplementary Note 10) In a test apparatus that performs a test based on a test scenario that describes a test procedure of a target device,
A scenario storage means for storing a test scenario group including a test scenario in which a movement operation command for moving the focus of a component on the display screen to the target component is described in association with the identification information of the target component;
Execution means for reading the test scenario from the scenario storage means and causing the target device to execute an operation based on the test scenario;
When the focus movement operation is executed by the execution means, an operation result acquisition means for acquiring operation result information including identification information of a moving destination component focused after the movement operation is performed,
Determining whether or not the identification information of the destination component included in the operation result information acquired by the operation result acquisition means matches the identification information of the target component described in the test scenario; When it is determined that they do not match, the target device is caused to execute the focus movement operation, and the identification information of the destination part included in the operation result information acquired via the operation result acquisition unit and the A re-execution unit that repeats the procedure of collating the identification information of the target part and reconciles the identification information of the destination part and the identification information of the target part;
A test apparatus characterized by comprising:

10 試験装置
11 シナリオデータベース(DB)
12 実行手段
13 操作結果取得手段
14 再実行手段
15 深さ出力注入手段
20 組み込み機器
21 アプリケーション処理部
22 入力手段
23 制御手段
24 結果出力手段
10 Test equipment 11 Scenario database (DB)
DESCRIPTION OF SYMBOLS 12 Execution means 13 Operation result acquisition means 14 Re-execution means 15 Depth output injection means 20 Embedded equipment 21 Application processing part 22 Input means 23 Control means 24 Result output means

Claims (5)

対象機器の試験手順を記述したテストシナリオに基づいて試験を行う試験プログラムにおいて、
コンピュータを、
表示画面上の部品のフォーカスを目的の部品に移動させる移動操作命令が前記目的の部品の識別情報に対応付けて記述されるテストシナリオを含むテストシナリオ群が記憶されるシナリオ記憶手段から前記テストシナリオを読み出し、前記テストシナリオに基づく動作を前記対象機器に実行させる実行手段、
前記実行手段によって前記フォーカスの移動操作が実行されたときは、前記移動操作実行後にフォーカスされた移動先の部品の識別情報を含む操作結果情報を前記対象機器より取得する操作結果取得手段、
前記操作結果取得手段が取得した前記操作結果情報に含まれる前記移動先の部品の識別情報と、前記テストシナリオに記述される前記目的の部品の識別情報とが一致するか否かを判定し、一致しないと判定されたときは、前記対象機器に前記フォーカスの移動操作を実行させ、前記操作結果取得手段を介して取得される前記操作結果情報に含まれる前記移動先の部品の識別情報と前記目的の部品の識別情報とを照合する手順を繰り返し、前記移動先の部品の識別情報と前記目的の部品の識別情報とを一致させる再実行手段、
として機能させることを特徴とする試験プログラム。
In a test program that tests based on a test scenario that describes the test procedure of the target device,
Computer
The test scenario from a scenario storage means for storing a test scenario group including a test scenario in which a move operation command for moving the focus of the component on the display screen to the target component is described in association with the identification information of the target component Execution means for causing the target device to execute an operation based on the test scenario,
An operation result acquisition unit that acquires, from the target device, operation result information including identification information of a movement-destination part that has been focused after the execution of the movement operation when the execution unit performs the focus movement operation;
Determining whether or not the identification information of the destination component included in the operation result information acquired by the operation result acquisition means matches the identification information of the target component described in the test scenario; When it is determined that they do not match, the target device is caused to execute the focus movement operation, and the identification information of the destination part included in the operation result information acquired via the operation result acquisition unit and the Re-execution means for repeating the procedure of collating with the identification information of the target part, and matching the identification information of the destination part with the identification information of the target part;
A test program characterized by functioning as
前記移動操作命令を含む操作命令が対応付けられる前記目的の部品は、メニュー表示操作命令によって前記表示画面に表示されるメニュー画面内に配置されるメニューキーであり、
前記実行手段は、前記メニュー表示操作命令と、目的の操作に対応する前記メニューキー上の文字列とが記述される前記テストシナリオから前記メニュー表示操作命令を読み出したときは、前記対象機器に前記メニュー表示操作命令を行うとともに、前記再実行手段によって目的の操作に対応する前記メニューキーがフォーカスされた後に、前記メニューキーに対応する操作の実行命令を前記対象機器に出力し、
前記再実行手段は、前記操作結果取得手段が前記操作結果情報として取得した前記メニュー表示操作命令が実行されたことを通知する通知情報と、前記メニュー表示操作命令実行後にフォーカスされた前記メニューキーのフォーカスメニュー文字列とを取得し、前記通知情報に基づき、前記メニュー表示操作命令が実行されたことが検出されたときは、前記フォーカスメニュー文字列と、前記テストシナリオに記述される前記目的のメニューキーの文字列と、が一致しているか否かを判定し、一致するまで前記対象機器に前記フォーカスの移動操作を命令する、
ことを特徴とする請求項1記載の試験プログラム。
The target component associated with the operation instruction including the movement operation instruction is a menu key arranged in a menu screen displayed on the display screen by a menu display operation instruction,
The execution means reads the menu display operation command from the test scenario in which the menu display operation command and a character string on the menu key corresponding to a target operation are described. A menu display operation command is performed, and after the menu key corresponding to a target operation is focused by the re-execution unit, an operation execution command corresponding to the menu key is output to the target device,
The re-execution unit includes notification information for notifying that the menu display operation command acquired as the operation result information by the operation result acquisition unit is executed, and the menu key focused after the menu display operation command is executed. A focus menu character string, and when it is detected that the menu display operation command is executed based on the notification information, the focus menu character string and the target menu described in the test scenario Determine whether or not the character string of the key matches, and instruct the target device to move the focus until it matches,
The test program according to claim 1, wherein:
前記メニュー画面は、前記テストシナリオに記述される前記メニュー表示操作命令によって最初に表示される第1のメニュー画面から前記目的のメニューキーが表示される前記メニュー画面までが、前記メニュー画面上の所定のメニューキーを操作することによって呼び出される階層構造をとるとき、前記テストシナリオに、前記第1のメニュー画面から前記目的のメニューキーが表示される前記メニュー画面までの呼び出し順に基づいて、次の階層の前記メニュー画面を呼び出す前記メニューキー上の文字列を所定の区切り記号で区切って呼び出し順に記述しておき、
前記実行手段は、前記メニュー画面が呼び出されて切り替わるごとに出力される前記通知情報に基づく前記メニュー画面の深さと、前記テストシナリオの記述に基づく前記メニュー画面の深さとを照合し、表示された前記メニュー画面が前記目的のメニューキーが表示される前記メニュー画面であるかどうかを確認することを特徴とする請求項2記載の試験プログラム。
The menu screen has a predetermined range on the menu screen from the first menu screen first displayed by the menu display operation command described in the test scenario to the menu screen on which the target menu key is displayed. When a hierarchical structure called by operating the menu key is taken, the next hierarchy is determined based on the calling order from the first menu screen to the menu screen on which the target menu key is displayed in the test scenario. The character string on the menu key for calling the menu screen is described in the calling order by separating it with a predetermined delimiter,
The execution means collates the depth of the menu screen based on the notification information that is output every time the menu screen is called and switched, and the depth of the menu screen based on the description of the test scenario, and is displayed. 3. The test program according to claim 2, wherein it is confirmed whether or not the menu screen is the menu screen on which the target menu key is displayed.
前記再実行手段は、前記メニュー画面が切り替わるごとに出力される前記通知情報が取得されたときに最初に検出された前記フォーカスメニュー文字列を先頭メニュー文字列として記憶するとともに、前記メニュー画面が切り替わるまでに取得された前記フォーカスメニュー文字列と、前記先頭メニュー文字列とを比較し、一致したときは、前記メニュー画面において前記目的のメニューキーが検出されないエラーと判断し、処理を中止するとともに、発生したエラーを通知する、
ことを特徴とする請求項2または3記載の試験プログラム。
The re-execution means stores the focus menu character string detected first when the notification information output every time the menu screen is switched is acquired as a first menu character string, and the menu screen is switched. The focus menu character string acquired up to and the first menu character string are compared, and when they match, it is determined that the target menu key is not detected on the menu screen, and the process is stopped, Notify the error that occurred,
The test program according to claim 2 or 3, wherein
対象機器の試験手順を記述したテストシナリオに基づいて試験を行う試験装置において、
表示画面上の部品のフォーカスを目的の部品に移動させる移動操作命令が前記目的の部品の識別情報に対応付けて記述されるテストシナリオを含むテストシナリオ群が記憶されるシナリオ記憶手段と、
前記シナリオ記憶手段から前記テストシナリオを読み出し、前記テストシナリオに基づく動作を前記対象機器に実行させる実行手段と、
前記実行手段によって前記フォーカスの移動操作が実行されたときは、前記移動操作実行後にフォーカスされた移動先の部品の識別情報を含む操作結果情報を前記対象機器より取得する操作結果取得手段と、
前記操作結果取得手段が取得した前記操作結果情報に含まれる前記移動先の部品の識別情報と、前記テストシナリオに記述される前記目的の部品の識別情報とが一致するか否かを判定し、一致しないと判定されたときは、前記対象機器に前記フォーカスの移動操作を実行させ、前記操作結果取得手段を介して取得される前記操作結果情報に含まれる前記移動先の部品の識別情報と前記目的の部品の識別情報とを照合する手順を繰り返し、前記移動先の部品の識別情報と前記目的の部品の識別情報とを一致させる再実行手段と、
を有することを特徴とする試験装置。
In test equipment that performs tests based on test scenarios that describe the test procedure of the target device,
A scenario storage means for storing a test scenario group including a test scenario in which a movement operation command for moving the focus of a component on the display screen to the target component is described in association with the identification information of the target component;
Execution means for reading the test scenario from the scenario storage means and causing the target device to execute an operation based on the test scenario;
When the focus movement operation is executed by the execution means, an operation result acquisition means for acquiring operation result information including identification information of a moving destination component focused after the movement operation is performed,
Determining whether or not the identification information of the destination component included in the operation result information acquired by the operation result acquisition means matches the identification information of the target component described in the test scenario; When it is determined that they do not match, the target device is caused to execute the focus movement operation, and the identification information of the destination part included in the operation result information acquired via the operation result acquisition unit and the A re-execution unit that repeats the procedure of collating the identification information of the target part and reconciles the identification information of the destination part and the identification information of the target part;
A test apparatus characterized by comprising:
JP2009079546A 2009-03-27 2009-03-27 Test program and testing device Withdrawn JP2010231594A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009079546A JP2010231594A (en) 2009-03-27 2009-03-27 Test program and testing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009079546A JP2010231594A (en) 2009-03-27 2009-03-27 Test program and testing device

Publications (1)

Publication Number Publication Date
JP2010231594A true JP2010231594A (en) 2010-10-14

Family

ID=43047334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009079546A Withdrawn JP2010231594A (en) 2009-03-27 2009-03-27 Test program and testing device

Country Status (1)

Country Link
JP (1) JP2010231594A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033377A (en) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> Method and device for specifying component to be automatically operated
JP2014160402A (en) * 2013-02-20 2014-09-04 Nippon Telegr & Teleph Corp <Ntt> User interface control method, device therefor, and program
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
CN111581110A (en) * 2020-04-16 2020-08-25 贝壳技术有限公司 Method, device and system for detecting accuracy of service data and storage medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033377A (en) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> Method and device for specifying component to be automatically operated
JP2014160402A (en) * 2013-02-20 2014-09-04 Nippon Telegr & Teleph Corp <Ntt> User interface control method, device therefor, and program
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
CN111581110A (en) * 2020-04-16 2020-08-25 贝壳技术有限公司 Method, device and system for detecting accuracy of service data and storage medium
CN111581110B (en) * 2020-04-16 2023-08-15 贝壳技术有限公司 Service data accuracy detection method, device, system and storage medium

Similar Documents

Publication Publication Date Title
US10853232B2 (en) Adaptive system for mobile device testing
RU2673008C2 (en) User support experience with automatically generated virtual environment
US9632754B2 (en) Auto generation and linkage of source code to test cases
CN103329108A (en) Test device
US9501388B2 (en) Method and system for creating reference data
JP5324638B2 (en) Test apparatus and test method
WO2021248337A1 (en) Application installation method and apparatus, and device and computer-readable storage medium
JP2012103786A (en) Test support device, control method, and program
CN112732587A (en) Method and device for acquiring automatic test log, electronic equipment and storage medium
JP2010231594A (en) Test program and testing device
CN115576600A (en) Code change-based difference processing method and device, terminal and storage medium
KR20080087918A (en) Test method for automatically testing target device and apparatus there-for
KR101460860B1 (en) GUI Test apparatus using test scenario model based on states and the method thereof
JP4625432B2 (en) Operation part data creation device
KR20100056338A (en) Gui test automatic system for improving reusability of test script and method thereof
CN102147797A (en) Method and device for managing element files in content management system
KR101488815B1 (en) Device for generating a script for menu test, menu test automatic system having the same, and method thereof
JP2010218231A (en) Test support program, test support method, and test support device
CN109933976B (en) Android application similarity detection method, mobile terminal and storage device
JP2009223568A (en) Scenario-generating device and program
CN105339974A (en) Simulating sensors
CN109684525B (en) Document display method and device, storage medium and test equipment
CN102316212A (en) Method for implementing automatic test of mobile phone
JP2010165267A (en) System for automatically executing regression test
JP5728920B2 (en) Document management program, document management apparatus, and document management 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: 20120605