JP6436705B2 - Test execution device, test execution method, and computer program - Google Patents

Test execution device, test execution method, and computer program Download PDF

Info

Publication number
JP6436705B2
JP6436705B2 JP2014196490A JP2014196490A JP6436705B2 JP 6436705 B2 JP6436705 B2 JP 6436705B2 JP 2014196490 A JP2014196490 A JP 2014196490A JP 2014196490 A JP2014196490 A JP 2014196490A JP 6436705 B2 JP6436705 B2 JP 6436705B2
Authority
JP
Japan
Prior art keywords
test
processing
business event
business
scenario
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.)
Active
Application number
JP2014196490A
Other languages
Japanese (ja)
Other versions
JP2016071398A (en
Inventor
勇人 高畠
勇人 高畠
翔 畠中
翔 畠中
森 一樹
一樹 森
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2014196490A priority Critical patent/JP6436705B2/en
Publication of JP2016071398A publication Critical patent/JP2016071398A/en
Application granted granted Critical
Publication of JP6436705B2 publication Critical patent/JP6436705B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はデータ処理技術に関し、特に情報システムをテストする技術に関する。   The present invention relates to a data processing technique, and more particularly to a technique for testing an information system.

情報システムの品質を保証する上で、サービス開始前の動作テストは不可欠である。例えば、情報システムの開発者が情報システムのユーザインタフェースを手動操作し、その操作結果を確認することにより動作テストを実行することが多い。しかし、操作のバリエーションが豊富な近年の情報システムでは、手動による動作テストには限界がある。   In order to guarantee the quality of the information system, operational tests before starting the service are indispensable. For example, an information system developer often performs an operation test by manually operating a user interface of the information system and confirming the operation result. However, in recent information systems with abundant operation variations, manual operation tests are limited.

本出願人は、情報システムの動作テストを自動化し、効率的な動作テストを実現するための技術を提案している(例えば特許文献1参照)。   The present applicant has proposed a technique for automating an operation test of an information system and realizing an efficient operation test (see, for example, Patent Document 1).

国際公開第2010/116586号International Publication No. 2010/116586

複数のチームで分散開発された情報システムの総合テストでは、通常、1つのテストケースにつき、複数のチームが個々に開発した成果物(ソフトウェアモジュール)を横断してテストを行う。しかし、機能が異なる工程が連なって業務フローを形成する情報システムの場合、機能によって開発したチームが異なることがある。このような情報システムでは、1つのテストケースを複数チームで消化する必要が生じることがある。本発明者は、開発責任者が異なる複数の工程が連なって業務フローを形成するシステムについて、そのシステムのテストを効率化するために改善の余地があると考えた。   In an integrated test of an information system that is distributedly developed by a plurality of teams, a test is usually performed across a product (software module) individually developed by a plurality of teams for one test case. However, in the case of an information system in which processes having different functions are connected to form a business flow, the teams developed may differ depending on the functions. In such an information system, it may be necessary to digest one test case by a plurality of teams. The present inventor considered that there is room for improvement in order to improve the efficiency of the test of a system in which a plurality of processes with different development managers are connected to form a business flow.

本発明は発明者の上記課題認識にもとづきなされたものであり、その主な目的は、開発責任者が異なる複数の工程が連なって業務フローを形成するシステムについて、そのシステムのテストを効率化するための技術を提供することにある。   The present invention is based on the above-mentioned problem recognition of the inventor, and its main purpose is to improve the efficiency of the test of a system in which a plurality of processes with different development managers form a business flow. It is to provide the technology for.

上記課題を解決するために、本発明のある態様のテスト実行装置は、入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置であって、工程毎のテストシナリオを保持するシナリオ保持部と、工程毎のテストシナリオにしたがって複数の工程に亘り業務イベントを処理させていくことにより、システムのテストを自動実行するテスト実行部と、テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録するエラー記録部と、を備える。   In order to solve the above problems, a test execution device according to an aspect of the present invention is a device for testing a system that completes processing of an input business event through a plurality of processes, and holds a test scenario for each process. A scenario holding unit, a test execution unit that automatically executes system tests by processing business events according to a test scenario for each process, and when an error is detected in the test, An error recording unit that records information indicating a test scenario of a process in which an error has occurred.

本発明の別の態様は、テスト実行方法である。この方法は、入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置が、所定の記憶領域に記憶された工程毎のテストシナリオにしたがって複数の工程に亘り業務イベントを処理させていくことにより、システムのテストを自動実行するステップと、テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録するステップと、を実行する。   Another aspect of the present invention is a test execution method. In this method, an apparatus that tests a system that completes processing of an input business event through a plurality of processes processes the business event over a plurality of processes according to a test scenario for each process stored in a predetermined storage area. By doing so, a step of automatically executing a system test and a step of recording information indicating a test scenario of a process in which the error has occurred when an error is detected in the test are executed.

なお、以上の構成要素の任意の組合せ、本発明の表現を、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。   Note that any combination of the above-described constituent elements and the expression of the present invention converted between a system, a program, a recording medium storing the program, and the like are also effective as an aspect of the present invention.

本発明によれば、開発責任者が異なる複数の工程が連なって業務フローを形成するシステムについて、そのシステムのテストを効率化することを支援できる。   ADVANTAGE OF THE INVENTION According to this invention, it can support improving the efficiency of the test of the system which forms the business flow in which several processes from which the development manager differs are connected.

情報システムのテストの流れを模式的に示す図である。It is a figure which shows typically the flow of a test of an information system. テストの証跡の取得方法を模式的に示す図である。It is a figure which shows typically the acquisition method of the test trail. 第1の実施の形態における総合テストのシステム構成を示す図である。It is a figure which shows the system configuration | structure of the comprehensive test in 1st Embodiment. 図3のテスト実行装置の構成を示すブロック図である。It is a block diagram which shows the structure of the test execution apparatus of FIG. テスト対象システムが提供する画面例を示す図である。It is a figure which shows the example of a screen which a test object system provides. 図5の画面に対して作成されたアクションシートを示す図である。It is a figure which shows the action sheet produced with respect to the screen of FIG. 図6のアクションシートに対して作成されたデータシートを示す図である。It is a figure which shows the data sheet produced with respect to the action sheet | seat of FIG. テストシナリオの種類を示す図である。It is a figure which shows the kind of test scenario. 工程別シナリオシートの例を示す図である。It is a figure which shows the example of the scenario sheet classified by process. 工程別複数シナリオ実行シートの例を示す図である。It is a figure which shows the example of the multiple scenario execution sheet according to process. 複数工程テスト実行シートの例を示す図である。It is a figure which shows the example of a multi-process test execution sheet. テスト対象システムの総合テストの実施例を示す図である。It is a figure which shows the Example of the comprehensive test of a test object system. 第2の実施の形態における総合テストのシステム構成を示す図である。It is a figure which shows the system configuration | structure of the comprehensive test in 2nd Embodiment. 業務イベント工程状況テーブルの構成を示す図である。It is a figure which shows the structure of the business event process status table. 図13のテスト実行装置の構成を示すブロック図である。It is a block diagram which shows the structure of the test execution apparatus of FIG. 図15の業務イベント工程ID保持部が保持するデータを示す図である。It is a figure which shows the data which the business event process ID holding | maintenance part of FIG. 15 hold | maintains. テスト対象システムが提供する画面例を示す図である。It is a figure which shows the example of a screen which a test object system provides. 第3の実施の形態のテスト実行装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the test execution apparatus of 3rd Embodiment. アクションシートを示す図である。It is a figure which shows an action sheet. データシートを示す図である。It is a figure which shows a data sheet. シナリオシートを示す図である。It is a figure which shows a scenario sheet.

(第1の実施の形態)
まず、第1の実施の形態のテスト実行装置について、その主な特徴を説明する。
(特徴1)
図1の(a)で示すように、開発責任者が異なる複数の工程が連なって業務フローを形成する情報システムの総合テストにおいては、1つのテストケース(例えば特定の業務イベントデータ)を複数の工程に跨って消化することが一般的であった。言い換えれば、複数の開発責任者の責任範囲に跨る業務フロー全体を単位としたテストを実施し、そのテスト結果にもとづいて情報システムの正常性を判断し、例えば仕様通りの挙動か否かを判断することが一般的であった。
(First embodiment)
First, the main features of the test execution apparatus according to the first embodiment will be described.
(Feature 1)
As shown in FIG. 1A, in a comprehensive test of an information system in which a plurality of processes with different development managers are connected to form a business flow, one test case (for example, specific business event data) is divided into a plurality of processes. It was common to digest across processes. In other words, a test is performed for the entire business flow across the scope of responsibility of multiple development managers, and the normality of the information system is judged based on the test results, for example, whether the behavior is as specified It was common to do.

しかし、現実のシステム開発の中で、図1の(a)に示す方式では、各工程のどの機能をテストすればよいか、工程毎のテスト対象とする機能の組み合わせをどうするか、等のテスト実行範囲が不明確になるという問題点があった。また、テストを実行した結果として取得した証跡のうち、どの証跡がどの工程のテストの証跡かが不明瞭になるという問題点もあった。証跡は、情報システムのテストの結果、生成されたデータを含み、例えばデータベースやログに記録されたデータを含む。この結果、開発責任者毎の証跡の分割に手間がかかり、また、障害の発生原因の切り分けが容易でなく、障害対応に時間を要することもあった。   However, in the actual system development, in the method shown in FIG. 1 (a), tests such as which function of each process should be tested and what combination of functions to be tested for each process should be tested. There was a problem that the execution range became unclear. In addition, there is also a problem that it is unclear which trail is the test trail of which process among the trails acquired as a result of executing the test. The trail includes data generated as a result of the information system test, for example, data recorded in a database or a log. As a result, it takes time to divide the trail for each person in charge of development, and it is not easy to isolate the cause of the failure, and it may take time to deal with the failure.

このような問題認識を踏まえ、本発明者は、開発責任者が異なる複数の工程が連なって業務フローを形成する情報システムの総合テストにおける好適な方式として図1の(b)に示す方式へ標準化することに想到した。実施の形態のテスト実行装置によるテストでは、1つのテストケースに対するテストシナリオを開発責任者の単位で作成し、言い換えれば、1単位の開発責任者の責任範囲である工程毎に作成する。そして、工程毎のテストシナリオにしたがって複数の工程に亘り業務イベントを処理させていき、情報システムのテストを自動実行する。テストでエラーが発生した場合は、そのエラーが発生した工程のテストシナリオの情報を記録する。テストシナリオは、例えば、テストケースのIDやテスト対象の機能、入力データ等を定めたものである。   Based on this problem recognition, the present inventor has standardized the method shown in FIG. 1B as a suitable method in an integrated test of an information system in which a plurality of processes with different development managers are connected to form a business flow. I came up with the idea. In the test by the test execution device of the embodiment, a test scenario for one test case is created in units of development managers, in other words, for each process that is the responsibility range of one unit of development managers. Then, business events are processed over a plurality of processes according to a test scenario for each process, and an information system test is automatically executed. If an error occurs in the test, record the test scenario information of the process in which the error occurred. The test scenario defines, for example, a test case ID, a test target function, input data, and the like.

このように、複数の機能を有するテスト対象の情報システムについて、開発責任者を単位としてテストシナリオを用意することにより、誰が作ったテストシナリオでエラーが発生したかが明確になり、エラー対応における責任分解点が明確になる。例えば、開発責任者が異なる複数の工程が連なって業務フローを形成するシステムについて、総合テストにおけるエラー発生箇所に対する責任者(例えばエラーの解析・改修の責任が存在するチーム)の特定が容易になり、障害対応の効率化を支援できる。なお実施の形態の開発責任者は、複数人からなる開発チームや企業を含む。また、実施の形態の業務イベントは、情報システムで処理すべき1単位の事柄(注文、購入等)を示す。   In this way, by preparing a test scenario for each information system to be tested with multiple functions as a unit of the person in charge of development, it becomes clear who created the error in the test scenario, and is responsible for handling the error. The decomposition point becomes clear. For example, for a system in which multiple processes with different development managers are connected to form a business flow, it becomes easier to identify the person responsible for the error occurrence location (for example, the team responsible for error analysis / repair) in the comprehensive test. , Can help improve the efficiency of failure handling. The development manager in the embodiment includes a development team and a company composed of a plurality of people. The business event of the embodiment indicates one unit of matter (order, purchase, etc.) to be processed by the information system.

(特徴2)
現実の情報システムではセキュリティ基準の遵守が要求されることが多く、総合テストの際にもこのセキュリティ基準を遵守する必要がある。実施の形態のセキュリティ基準は、クライアント装置はファイアウォールを経由してサーバへアクセスすべきことを定める。また、ファイアウォールは、ユーザ単位・ポート番号単位で認証を実行し、ユーザのログイン時間やユーザが発行したコマンドをログに残すことを定める。
(Feature 2)
Real information systems often require compliance with security standards, and it is necessary to comply with these security standards during comprehensive testing. The security standards of the embodiment stipulate that the client device should access the server via a firewall. Further, the firewall determines that the authentication is performed in units of users and port numbers, and the login time of the user and the command issued by the user are left in the log.

これまでのテスト実行装置では、以下の2つの方法による証跡取得が可能であった。図2に示す従来方法1は、テスト実行装置がサーバに直接アクセスし、サーバからテストの証跡を取得する。この方法では、ファイアウォールを経由しないため、誰が何のコマンドを発行したかが記録されない。したがって、テストの証跡を高速に取得できるもののセキュリティ基準を満たさない。   Conventional test execution apparatuses can acquire trails by the following two methods. In the conventional method 1 shown in FIG. 2, the test execution apparatus directly accesses the server and acquires a test trail from the server. Since this method does not go through the firewall, it does not record who issued what command. Therefore, although the test trail can be obtained at high speed, it does not meet the security standards.

また図2に示す従来方法2は、テスト実行装置がサーバ接続ツール(例えばサードパーティが提供する無償ソフトウェア)と連動し、証跡の内容を標準出力へ表示し、表示内容をファイルに変換する方法である。具体的には、テスト実行装置がサーバ接続ツールによってサーバにログインするために、まずファイアウォールを介してSSH通信を実行する。サーバへのログインが成功すると、サーバが保持する証跡取得用シェルを実行し、証跡物の内容をサーバ接続ツールの標準出力へ表示する。テスト実行装置は、標準出力に表示された内容をファイルに保存する。   The conventional method 2 shown in FIG. 2 is a method in which the test execution device is linked with a server connection tool (for example, free software provided by a third party), displays the contents of the trail to the standard output, and converts the display contents into a file. is there. Specifically, in order for the test execution device to log in to the server using the server connection tool, SSH communication is first executed through the firewall. When the login to the server is successful, the trail acquisition shell held by the server is executed and the contents of the trail are displayed on the standard output of the server connection tool. The test execution device saves the contents displayed on the standard output in a file.

この方法では、サーバへのアクセスにファイアウォールを経由するため、誰がどのコマンドを実行したかを記録でき、セキュリティ基準を満たす。しかし、サーバ接続ツールは対話形式でサーバとデータを送受するため、通信の無駄が多い。さらに、証跡取得のために、証跡物の内容をサーバ接続ツールの標準出力に一旦表示させる必要があり、低速である。これらの理由により証跡取得に長時間を要してしまう。   In this method, since the server is accessed via a firewall, it is possible to record who executed which command and satisfy the security standard. However, since the server connection tool exchanges data with the server in an interactive manner, there is a lot of waste of communication. Furthermore, in order to acquire a trail, it is necessary to display the contents of the trail once on the standard output of the server connection tool, which is slow. For these reasons, it takes a long time to obtain a trail.

そこで実施の形態のテスト実行装置は、図2で示すように、目的に特化したプロトコル(具体的にはデータベースアクセスのためのJDBCポート)での認証をファイアウォールに実行させる。ファイアウォールは、テスト実行装置がファイアウォールの特定ポートに対して発行したリクエストを、ポートフォワーディングしてサーバへ転送する。またサーバからのレスポンスを、ポートフォワーディングしてテスト実行装置へ転送する。ファイアウォールは、リクエストを中継する際に、ユーザ名やリクエスト内容をログに記録する。   Therefore, as shown in FIG. 2, the test execution apparatus according to the embodiment causes the firewall to execute authentication using a protocol specialized for the purpose (specifically, a JDBC port for database access). The firewall forwards the request issued by the test execution device to a specific port of the firewall and forwards it to the server. Also, the response from the server is port forwarded and transferred to the test execution device. When a firewall relays a request, the firewall records the user name and request content in a log.

実施の形態のサーバアクセス方法では、従来方法1と異なり、ファイアウォールによる認証とログ記録がなされるため、セキュリティ基準を満たすことができる。また従来方法2と異なり、テスト実行装置とデータベースサーバ間の通信をファイアウォールがポートフォワーディングで中継し、無駄なデータのやり取りを排除することで、証跡取得を高速化することができる。また、証跡物の内容を標準出力に表示させる必要もなく、証跡取得を高速化することができる。   In the server access method of the embodiment, unlike the conventional method 1, authentication and logging are performed by a firewall, so that the security standard can be satisfied. Also, unlike the conventional method 2, the firewall can relay communication between the test execution device and the database server by port forwarding to eliminate useless data exchange, thereby speeding up the trail acquisition. Also, there is no need to display the contents of the trailer on the standard output, and the trail acquisition can be speeded up.

図3は、第1の実施の形態における総合テストのシステム構成を示す。テスト対象システム12は、総合テストの対象となるシステムであり、ウェブアプリケーションサーバ14とデータベースサーバ16を備える。テスト対象システム12は、不図示の帳票サーバ等、種々のサーバや装置をさらに備えてもよく、これらの装置が連携することにより各種の情報処理サービスを実現してもよい。   FIG. 3 shows the system configuration of the comprehensive test in the first embodiment. The test target system 12 is a system to be subjected to a comprehensive test, and includes a web application server 14 and a database server 16. The test target system 12 may further include various servers and devices such as a form server (not shown), and various information processing services may be realized by cooperation of these devices.

ウェブアプリケーションサーバ14は、テスト対象システムによる各種の情報処理サービスをクライアント装置へ提供する。ウェブアプリケーションサーバ14が提供する情報処理サービスの業務フローは複数の工程を含む。複数の工程は、例えば業務イベントを登録するエントリー工程や、エントリーされた業務イベントの内容をチェックする工程、チェック済の業務イベントに対する請求処理を実行する工程を含んでもよい。実施の形態では、複数の工程を、工程A、工程B、工程C、工程Dと称し、典型的には1つの業務イベントの処理を工程Aから開始し、工程Dで完了する。   The web application server 14 provides various information processing services by the test target system to the client device. The business flow of the information processing service provided by the web application server 14 includes a plurality of steps. The plurality of steps may include, for example, an entry step for registering a business event, a step for checking the contents of the entered business event, and a step for executing a billing process for the checked business event. In the embodiment, a plurality of processes are referred to as a process A, a process B, a process C, and a process D. Typically, processing of one business event starts from the process A and is completed in the process D.

ウェブアプリケーションサーバ14は、工程A〜工程Dそれぞれの機能、言い換えれば、情報処理のロジックを実装した複数のアプリケーションを保持する。これらのアプリケーションは、互いに異なる開発責任者により実装される。例えば、アプリケーションAは、工程Aの機能を実装し、開発責任者はA社である。その一方、アプリケーションBは、工程Bの機能を実装し、開発責任者はB社である。また、工程A〜工程Dのそれぞれに対応するアプリケーションは、工程毎に異なる画面をクライアント装置へ提供する。例えば、工程Aのアプリケーションは業務イベント登録のためのウェブページを提供し、工程Bのアプリケーションは登録された業務イベント内容にミスがないかどうかを確認するためのウェブページを提供する。   The web application server 14 holds a plurality of applications in which functions of the processes A to D, in other words, information processing logic is mounted. These applications are implemented by different development managers. For example, application A implements the function of process A, and the development manager is company A. On the other hand, the application B implements the function of the process B, and the development manager is B company. In addition, the application corresponding to each of the processes A to D provides a different screen to the client device for each process. For example, the application of the process A provides a web page for business event registration, and the application of the process B provides a web page for confirming whether there is a mistake in the registered business event contents.

ウェブアプリケーションサーバ14は、エントリーされた業務イベントを複数の工程に亘り処理する際に、工程間でバッチ処理を定期的に実行する。言い換えれば、ある工程の処理を完了した業務イベントについて、定期的なバッチ処理が完了したことを条件として、それらの業務イベントに対する次の工程の処理を開始する。バッチ処理の実行間隔は任意でよいが、実施の形態では5分とする。例えば、工程Aを完了した業務イベントについて、工程Aでの出力データに対するバッチ処理を実行後、工程Aを完了した業務イベントに対する工程Bの処理を開始する。同様に、工程Bを完了した業務イベントについて、工程Bでの出力データに対するバッチ処理を実行後、工程Bを完了した業務イベントに対する工程Cの処理を開始する。   The web application server 14 periodically executes batch processing between processes when processing the entered business event over a plurality of processes. In other words, for a business event that has completed processing of a certain process, processing of the next process for the business event is started on the condition that periodic batch processing has been completed. Although the execution interval of batch processing may be arbitrary, in the embodiment, it is set to 5 minutes. For example, for the business event that has completed the process A, after executing the batch process for the output data in the process A, the process B for the business event that has completed the process A is started. Similarly, for the business event that has completed the process B, after executing the batch process for the output data in the process B, the process C for the business event that has completed the process B is started.

ウェブアプリケーションサーバ14は、エントリーされた業務イベントに対する各工程の処理結果を示す情報、例えば処理日時やエラー有無、業務イベント情報等をデータベースサーバ16に記録する。具体的には工程毎に予め定められたテーブルの予め定められたカラムに格納する。データベースサーバ16は、各工程の処理結果を示す情報が記録されるテーブルを保持する。データベースサーバ16は、特定のポート番号においてリスナーを起動させ、接続要求や、テーブルに対する更新要求・参照要求を含むDB操作コマンドを受け付ける。   The web application server 14 records information indicating the processing result of each process for the entered business event, for example, the processing date and time, the presence / absence of error, business event information, and the like in the database server 16. Specifically, it is stored in a predetermined column of a table predetermined for each process. The database server 16 holds a table in which information indicating the processing result of each process is recorded. The database server 16 starts a listener at a specific port number, and accepts a DB operation command including a connection request and an update request / reference request for a table.

実施の形態では、ウェブアプリケーションサーバ14は、クライアント装置に対してウェブページを提供し、そのウェブページに対して入力された情報をクライアント装置から取得して業務処理を実行する。変形例として、ウェブページに限らず、クライアント装置が専用のクライアント画面を表示させ、その画面への入力情報をクライアント装置がテスト対象システム12へ送信し、テスト対象システム12が業務処理を実行してもよい。   In the embodiment, the web application server 14 provides a web page to the client device, acquires information input to the web page from the client device, and executes business processing. As a modified example, not only a web page but also a client device displays a dedicated client screen, the client device transmits input information to the screen to the test target system 12, and the test target system 12 executes business processing. Also good.

テスト実行装置10は、テスト対象システム12の総合テストを実行する情報処理装置である。具体的には、テスト実行装置10は、テスト対象システム12のクライアント装置として動作し、LAN・WAN・インターネット等の通信網を介して、業務イベント情報をテスト対象システム12へ入力することによりテスト対象システム12の動作を検証する。   The test execution device 10 is an information processing device that executes a comprehensive test of the test target system 12. Specifically, the test execution device 10 operates as a client device of the test target system 12 and inputs the business event information to the test target system 12 via a communication network such as a LAN, WAN, or the Internet. The operation of the system 12 is verified.

テスト実行装置10は、ウェブアプリケーションサーバ14からウェブページを取得し、そのウェブページに対して予め定められた操作を再現することでウェブアプリケーションサーバ14における業務イベント処理を進めさせる。またテスト実行装置10は、テストの証跡情報をデータベースサーバ16から取得し、テスト対象システム12の動作が正常か否かを判定する。なお図3では、データベースサーバ16へアクセスする際にのみファイアウォール18を介するよう描いているが、ウェブアプリケーションサーバ14へアクセスする際にもファイアウォールを介してよいことはもちろんである。   The test execution device 10 acquires a web page from the web application server 14 and reproduces a predetermined operation on the web page, thereby causing business event processing in the web application server 14 to proceed. In addition, the test execution device 10 acquires test trail information from the database server 16 and determines whether the operation of the test target system 12 is normal. In FIG. 3, the firewall 18 is drawn only when accessing the database server 16, but it goes without saying that the firewall may also be used when accessing the web application server 14.

図4は、図3のテスト実行装置10の構成を示すブロック図である。テスト実行装置10は、制御部30とデータ記録部20を備える。制御部30は、テスト実行装置10の動作を制御し、また、テスト対象システム12のテストに係る各種データ処理を実行する。データ記録部20は、制御部30によるデータ処理において参照、更新される各種データを記憶する記憶領域である。図4には不図示だが、テスト実行装置10には、所定のウェブブラウザプログラムがインストールされている。   FIG. 4 is a block diagram showing a configuration of the test execution device 10 of FIG. The test execution device 10 includes a control unit 30 and a data recording unit 20. The control unit 30 controls the operation of the test execution device 10 and executes various data processing related to the test of the test target system 12. The data recording unit 20 is a storage area for storing various types of data that are referred to and updated in data processing by the control unit 30. Although not shown in FIG. 4, a predetermined web browser program is installed in the test execution device 10.

本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、制御部30の各機能ブロックに対応するソフトウェアモジュールを備えるテスト自動実行アプリケーションがテスト実行装置10にインストールされてもよい。そして、テスト実行装置10のCPUが、各ソフトウェアモジュールをメモリに読み出して実行することにより、制御部30の各機能ブロックの機能が発揮されてもよい。また、データ記録部20の各機能ブロックは、ストレージやメモリ等の記憶装置がデータを記憶することにより実現されてもよい。   Each block shown in the block diagram of the present specification can be realized in terms of hardware by an element such as a CPU and a memory of a computer or a mechanical device, and in terms of software, it can be realized by a computer program or the like. , Depicts functional blocks realized by their cooperation. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software. For example, an automatic test execution application including a software module corresponding to each functional block of the control unit 30 may be installed in the test execution device 10. Then, the function of each functional block of the control unit 30 may be exhibited by the CPU of the test execution device 10 reading out and executing each software module in the memory. Each functional block of the data recording unit 20 may be realized by storing data in a storage device such as a storage or a memory.

データ記録部20は、シナリオ保持部22、アクションシート保持部24、データシート保持部26、照合データ保持部27、テスト結果保持部28を含む。   The data recording unit 20 includes a scenario holding unit 22, an action sheet holding unit 24, a data sheet holding unit 26, a collation data holding unit 27, and a test result holding unit 28.

アクションシート保持部24は、テスト対象システム12が提供する情報処理サービスの複数の工程に対応する複数のアクションシートを保持する。アクションシートは、テスト対象システム12が提供する1画面につき1つ作成する文書である。既に述べたように、少なくとも工程毎に画面が異なるため、少なくとも工程毎に異なるアクションシートが作成される。アクションシートには、画面で入力されうる操作を列挙した画面操作情報が記録される。画面操作情報は、例えば、ある工程の1つのウェブページで入力可能な操作の一覧を示す情報と言え、また、1つのウェブページに配置されたボタンやテキストフィールド等の各画面要素に対して入力可能な操作を網羅的に示す情報と言える。   The action sheet holding unit 24 holds a plurality of action sheets corresponding to a plurality of processes of the information processing service provided by the test target system 12. An action sheet is a document created for each screen provided by the test target system 12. As already described, since the screen is different at least for each process, an action sheet that is different for at least each process is created. In the action sheet, screen operation information listing operations that can be input on the screen is recorded. The screen operation information is, for example, information indicating a list of operations that can be input on one web page in a certain process, and is input to each screen element such as a button or a text field arranged on one web page. It can be said that it is information that comprehensively shows possible operations.

図5は、テスト対象システム12が提供する画面例を示す。テストにおいて操作入力対象となる画面を以下「操作対象画面」とも呼ぶ。図5は、操作対象画面であるウェブページを示しており、エレメントロケータは、ウェブページに配置された各画面要素(フォーム)に付与されたIDを示している。ボタンMenu1〜4のIDは、それぞれ「menu1」「menu2」「menu3」「menu4」である。   FIG. 5 shows an example of a screen provided by the test target system 12. A screen that is an operation input target in the test is also referred to as an “operation target screen” below. FIG. 5 shows a web page that is an operation target screen, and an element locator shows an ID assigned to each screen element (form) arranged on the web page. The IDs of the buttons Menu 1 to 4 are “menu1”, “menu2”, “menu3”, and “menu4”, respectively.

図6は、図5の画面に対して作成されたアクションシートを示す。アクションシートの1レコードは、画面上で入力可能な1種類の操作に対応する。具体的には、図6のNo1〜4、8、9は、図5のMenu1〜4のボタン、新規登録ボタン、変更ボタンに対する操作を示す。また、図6のNo5〜7は、図5のUSERテキストフィールド、PASSテキストフィールド、PASS再入力テキストフィールドに対する操作を示す。アクションシートでは、関数に渡すパラメータの値として、図7で示すデータシートに格納されたデータを参照することを記述できる。例えば図6では、No1・パラメータ2の値(クリック対象のエレメントロケータ)として、データシートの「menu1」欄の値を設定することが記述されている。したがって、データシートの「menu1」欄に「dom=document.getElementById('menu1')」が記述されると、テスト実行時に図5のMenu1ボタンを押下する。また図6では、No5・パラメータ3の値(入力フィールドにセットする値)として、データシートの「user」欄の値を設定することが記述されている。したがって、データシートの「user」欄にセットすべき値が記述されると、テスト実行時に図5のUSERテキストフィールドにその値を設定する。   FIG. 6 shows an action sheet created for the screen of FIG. One record of the action sheet corresponds to one type of operation that can be input on the screen. Specifically, Nos. 1 to 4, 8, and 9 in FIG. 6 indicate operations for the buttons 1 to 4, the new registration button, and the change button in FIG. 5. Further, Nos. 5 to 7 in FIG. 6 indicate operations for the USER text field, the PASS text field, and the PASS re-input text field in FIG. In the action sheet, it can be described that the data stored in the data sheet shown in FIG. 7 is referred to as the value of the parameter passed to the function. For example, FIG. 6 describes that the value of the “menu1” column of the data sheet is set as the value of No1 and parameter 2 (element locator to be clicked). Therefore, when “dom = document.getElementById ('menu1')” is described in the “menu1” column of the data sheet, the Menu 1 button in FIG. 5 is pressed during test execution. Further, FIG. 6 describes that the value of the “user” column of the data sheet is set as the value of No5 / parameter 3 (value to be set in the input field). Therefore, when a value to be set is described in the “user” column of the data sheet, the value is set in the USER text field of FIG. 5 when the test is executed.

アクションシート保持部24は、複数のアクションシートのそれぞれと、各アクションシートが対象とする画面の識別情報を対応付けて保持する。例えば、図6のアクションシートと対応付けて、図5のウェブページのURLを保持する。   The action sheet holding unit 24 holds each of the plurality of action sheets in association with the identification information of the screen targeted by each action sheet. For example, the URL of the web page in FIG. 5 is held in association with the action sheet in FIG.

図4に戻り、データシート保持部26は、アクションシート保持部24が保持する複数のアクションシートに対応する複数のデータシートを保持する。データシートは、1アクションシートにつき1つ作成する文書であり、すなわち、テスト対象システム12が提供する1画面あたり1つ作成する文書である。データシートには、テストにおいて実際に画面へ入力すべき操作を指定し、また、操作の内容を定めたテスト操作情報が記録される。   Returning to FIG. 4, the data sheet holding unit 26 holds a plurality of data sheets corresponding to the plurality of action sheets held by the action sheet holding unit 24. One data sheet is a document created for each action sheet, that is, one document created per screen provided by the test target system 12. In the data sheet, an operation to be actually input to the screen in the test is designated, and test operation information defining the content of the operation is recorded.

図7は、図6のアクションシートに対して作成されたデータシートを示す。図7(b)は、図7(a)の続きを示している。データシートには、操作対象画面において操作可能な各画面要素に対応する列が設けられる(図6の「menu1」〜「update」)。また、データシートの1レコードは、テストにおける1回の操作に対応する。具体的には、図7の行1は、図5のMenu1ボタンを押下し、他の画面要素の操作は実行しないことを定めたテスト操作情報を示す。   FIG. 7 shows a data sheet created for the action sheet of FIG. FIG.7 (b) has shown the continuation of Fig.7 (a). In the data sheet, columns corresponding to each screen element that can be operated on the operation target screen are provided (“menu1” to “update” in FIG. 6). One record in the data sheet corresponds to one operation in the test. Specifically, line 1 in FIG. 7 shows test operation information that defines that the menu 1 button in FIG. 5 is pressed and other screen elements are not executed.

図7の行2は、図5のUSERテキストフィールドに「nomura」、PASSテキストフィールドに「abcdef」、PASS再入力テキストフィールドに「abcdef」を入力し、新規登録(insert)ボタンを押下することを定めたテスト操作情報を示す。図7の行3は、図5のUSERテキストフィールドに「nomura」、PASSテキストフィールドに「efghij」、PASS再入力テキストフィールドに「efghij」を入力し、変更(update)ボタンを押下することを定めたテスト操作情報を示す。アクションシートに記述された操作を実行するか否かは、データシートにおいて対応する操作欄に値を設定するか否かにより制御する。後述のテスト実行部34は、データシートでパラメータが未指定の列の操作はテスト時に実行しない。   Line 2 in FIG. 7 indicates that “nomura” is entered in the USER text field, “abcdef” is entered in the PASS text field, “abcdef” is entered in the PASS re-entry text field, and the new registration (insert) button is pressed. Indicates defined test operation information. Line 3 of FIG. 7 defines that “nomura” is entered in the USER text field, “efghij” is entered in the PASS text field, “efghij” is entered in the PASS re-entry text field, and the update button is pressed. Test operation information. Whether or not to execute the operation described in the action sheet is controlled by whether or not a value is set in the corresponding operation column in the data sheet. The test execution unit 34, which will be described later, does not execute an operation on a column for which no parameter is specified in the data sheet during the test.

図4に戻り、シナリオ保持部22は、総合テストの内容を規定したテストシナリオを保持する。図8で示すように、実施の形態のテスト実行装置10では、(1)工程別シナリオシート、(2)工程別複数シナリオ実行シート、(3)複数工程テスト実行シートの3種類の文書によりテストシナリオを構成する。シナリオ保持部22は、(1)〜(3)の文書をテストシナリオとして保持する。   Returning to FIG. 4, the scenario holding unit 22 holds a test scenario that defines the contents of the comprehensive test. As shown in FIG. 8, in the test execution apparatus 10 of the embodiment, the test is performed by three types of documents: (1) process-specific scenario sheet, (2) process-specific multiple scenario execution sheet, and (3) multi-process test execution sheet. Configure the scenario. The scenario holding unit 22 holds the documents (1) to (3) as test scenarios.

(1)工程別シナリオシートは1つの工程に閉じた業務フローを規定し、1工程1業務イベントのテスト毎に1つの工程別シナリオシートが作成される。図9は工程別シナリオシートの例を示す。工程別シナリオシートの1レコードでは、特定の工程において提供される1画面に対する操作内容を規定する。具体的には、工程別シナリオシートの識別情報であるテストケースID(業務イベントIDとも言える)と、特定の工程で提供される1画面に対して作成されたアクションシートと、そのアクションシートに対応するデータシートと、テスト対象の操作が記述されたデータシートの行番号を指定する。例えば、図9のレコード2で指定されたアクションシートは図6のアクションシートであり、同レコードで指定されたデータシートは図7のデータシートである。同レコードでは行番号2が指定されているため、図7のデータシートの行2で指定されたユーザ登録操作をテストする。   (1) The process-specific scenario sheet defines a closed business flow in one process, and one process-specific scenario sheet is created for each process / work event test. FIG. 9 shows an example of a scenario sheet for each process. In one record of the scenario sheet for each process, the operation content for one screen provided in a specific process is defined. Specifically, it corresponds to the test case ID (also referred to as business event ID) which is identification information of the scenario sheet for each process, the action sheet created for one screen provided in a specific process, and the action sheet Specify the data sheet to be tested and the line number of the data sheet that describes the operation to be tested. For example, the action sheet specified in the record 2 in FIG. 9 is the action sheet in FIG. 6, and the data sheet specified in the record is the data sheet in FIG. Since row number 2 is specified in the record, the user registration operation specified in row 2 of the data sheet in FIG. 7 is tested.

図8に戻り、(2)工程別複数シナリオ実行シートは、複数の工程別シナリオシートの実行態様を規定する。特定の1工程についての複数の工程別シナリオシートをバッチ実行するための文書と言える。図10は工程別複数シナリオ実行シートの例を示す。同図の工程別複数シナリオ実行シートは、テストケースID「A−001」のシナリオシート(図9)が規定する工程Aのテストから、テストケースID「A−100」のシナリオシートが規定する工程Aのテストを順次実行することを定めている。すなわち、テスト対象システム12の工程Aに対する100件分のテストシナリオを順次実行することを定めている。   Returning to FIG. 8, the (2) process-specific scenario execution sheet defines the execution mode of a plurality of process-specific scenario sheets. It can be said that this is a document for batch execution of a plurality of process-specific scenario sheets for one specific process. FIG. 10 shows an example of a process-specific multiple scenario execution sheet. The multiple scenario execution sheet for each process in the figure is the process specified by the scenario sheet with the test case ID “A-100” from the test in the process A specified by the scenario sheet with the test case ID “A-001” (FIG. 9). The test of A is to be executed sequentially. That is, it is defined that 100 test scenarios for the process A of the test target system 12 are sequentially executed.

図8に戻り、(3)複数工程テスト実行シートは、複数の工程に亘るテストの実行態様を規定する。複数の工程に亘る複数の工程別複数シナリオ実行シートをバッチ実行するための文書と言える。図11は複数工程テスト実行シートの例を示す。同図の複数工程テスト実行シートは、工程Aの複数シナリオ実行シート(図10に示したA_複数シナリオ実行シート)から、工程Dの複数シナリオ実行シート(D_複数シナリオ実行シート)を順次実行することを定めている。また、テストに用いるウェブブラウザの種類や、エラーハンドリングの態様も規定する。   Returning to FIG. 8, the (3) multi-step test execution sheet defines a test execution mode over a plurality of steps. It can be said that it is a document for batch execution of a plurality of scenario execution sheets for a plurality of processes over a plurality of processes. FIG. 11 shows an example of a multi-step test execution sheet. The multi-process test execution sheet in FIG. 3 sequentially executes a multi-scenario execution sheet for process D (D_multi-scenario execution sheet) from a multi-scenario execution sheet for process A (A_multi-scenario execution sheet shown in FIG. 10). Is stipulated. It also defines the type of web browser used for testing and the mode of error handling.

照合データ保持部27は、テスト対象システム12に対するテストの結果が正常か否かを判定するためのデータであり、テスト対象システム12から取得されるテスト証跡と比較するための照合データを保持する。照合データは、テスト対象システム12の仕様やテストの入力データにもとづく、テストの出力データの期待値を定めたものでもよい。テスト対象システム12がテストへの応答でウェブページを返す場合、照合データは、応答として期待されるウェブページのデータ(画像データを含む)であってもよい。実施の形態では、工程別シナリオシート毎に照合データが作成され、照合データ保持部27は、工程別シナリオシートに設定されるテストケースIDと対応付けて各照合データを保持する。   The verification data holding unit 27 is data for determining whether or not the test result for the test target system 12 is normal, and holds verification data for comparison with the test trail acquired from the test target system 12. The verification data may be defined as the expected value of the test output data based on the specifications of the test target system 12 and the test input data. When the test target system 12 returns a web page in response to the test, the verification data may be data of a web page expected to be a response (including image data). In the embodiment, collation data is created for each process-specific scenario sheet, and the collation data holding unit 27 holds each collation data in association with the test case ID set in the process-specific scenario sheet.

テスト結果保持部28は、テスト対象システム12による自動テストの結果を示す情報を保持する。テスト結果保持部28は、自動テストにおいて検出されたエラー情報として、エラー発生日時、エラー内容、エラー発生のテストに関連するシナリオシート、アクションシート、データシートを示す情報を対応付けて保持する。   The test result holding unit 28 holds information indicating the result of the automatic test performed by the test target system 12. The test result holding unit 28 holds, as error information detected in the automatic test, information indicating an error occurrence date and time, an error content, a scenario sheet, an action sheet, and a data sheet related to the error occurrence test in association with each other.

図4に戻り、制御部30は、操作検出部32、テスト実行部34、証跡取得部36、テスト結果判定部38、テスト結果記録部40、テスト結果表示部42を含む。操作検出部32は、キーボードやマウス等の入力装置に対してユーザが入力した操作を検出する。   Returning to FIG. 4, the control unit 30 includes an operation detection unit 32, a test execution unit 34, a trail acquisition unit 36, a test result determination unit 38, a test result recording unit 40, and a test result display unit 42. The operation detection unit 32 detects an operation input by the user to an input device such as a keyboard or a mouse.

テスト実行部34は、テストの実行を指示する操作が入力された場合に、テスト対象システム12に対する自動テストを開始する。実施の形態では、テストの実行を指示する操作において特定の複数工程テスト実行シートが指定される。テスト実行部34は、複数工程テスト実行シートのレコード順に実行対象とする工程別複数シナリオ実行シートを識別し、その工程別複数シナリオ実行シートのレコード順に実行対象とする工程別シナリオシートを識別する。そして、工程別シナリオシートのレコード順に実行対象とするアクションシート、データシート、データシート行番号を識別する。   The test execution unit 34 starts an automatic test for the test target system 12 when an operation for instructing execution of the test is input. In the embodiment, a specific multi-step test execution sheet is specified in an operation for instructing execution of a test. The test execution unit 34 identifies the process-specific scenario execution sheets to be executed in the order of the records of the multi-process test execution sheet, and identifies the process-specific scenario sheets to be executed in the order of the records of the process-specific multiple scenario execution sheets. Then, the action sheet, data sheet, and data sheet row number to be executed are identified in the order of records in the process-specific scenario sheet.

テスト実行部34は、アクションシート保持部24において実行対象アクションシートに対応付けられたURLをウェブブラウザに渡す。ウェブブラウザは、そのURLで特定される操作対象のウェブページをウェブアプリケーションサーバ14から取得し、ディスプレイに表示させる。テスト実行部34は、実行対象アクションシートに規定された操作のうち、実行対象データシートの実行対象行番号のレコードで指定された操作を、ウェブブラウザが表示するウェブページに対して実行する。   The test execution unit 34 passes the URL associated with the execution target action sheet in the action sheet holding unit 24 to the web browser. The web browser acquires the operation target web page specified by the URL from the web application server 14 and displays the web page on the display. The test execution unit 34 executes an operation specified by the record of the execution target row number in the execution target data sheet, among the operations specified in the execution target action sheet, on the web page displayed by the web browser.

ウェブページに対する操作は、先行技術文献1に示す方法等、公知の方法を使用してよい。例えば、アクションシートまたはデータシートに定められたフレームロケータやエレメントロケータの値、入力文字列等を引数として、ウェブブラウザプログラムが公開する公知のAPIを呼び出すことにより、ウェブページに対する操作をウェブブラウザに実行させてもよい。ウェブブラウザは、ウェブページのフォーム操作に伴いHTTP−POSTリクエスト等をウェブアプリケーションサーバ14へ送信し、別のウェブページを取得して表示させる。典型的にはテスト実行部34は、ウェブページが切り替わると、工程別シナリオシートの次のレコードへ進み、次のレコードが規定する別のアクションシートとデータシートを実行対象として識別する。   For the operation on the web page, a known method such as the method described in Prior Art Document 1 may be used. For example, a web browser can be operated on a web page by calling a well-known API published by a web browser program using the frame locator or element locator value specified in the action sheet or data sheet, an input character string, etc. as arguments. You may let them. The web browser transmits an HTTP-POST request or the like to the web application server 14 in accordance with the web page form operation, and acquires and displays another web page. Typically, when the web page is switched, the test execution unit 34 proceeds to the next record in the process-specific scenario sheet, and identifies another action sheet and data sheet defined by the next record as execution targets.

テスト実行部34は、複数工程テスト実行シートのレコード順、工程別複数シナリオ実行シートのレコード順、工程別シナリオシートのレコード順に、実行対象のアクションシートとデータシートを順次識別し、複数の工程に亘るテスト対象システム12のテストを進行させる。例えば、図11の複数工程テスト実行シートが指定された場合、複数業務イベントのテストを工程A→工程B→工程C→工程Dの順に進行させる。   The test execution unit 34 sequentially identifies the action sheet and the data sheet to be executed in order of records in the multi-process test execution sheet, record order of the process-specific scenario execution sheets, and record order of the process-specific scenario sheets. The test of the test target system 12 is advanced. For example, when the multi-process test execution sheet of FIG. 11 is designated, the test of the multi-task event is advanced in the order of process A → process B → process C → process D.

テスト実行部34は、複数工程テスト実行シートの1レコード(例えば工程Aの100業務イベント分)の処理が完了すると、定期実行されるバッチ処理が完了するまでの期間待機した後、次のレコード(例えば工程Bの100業務イベント分)の処理を開始する。バッチ処理の完了を待つ期間は、バッチ処理の実行間隔(例えば5分)に応じてその間隔以上に定められた一定期間(例えば10分)でもよい。また、テスト対象システム12の所定の記憶領域にバッチ処理の完了を示す情報が記録される場合、テスト実行部34は、当該情報の記録有無を監視し、当該情報が記録されたことを検出した場合に、複数工程テスト実行シートの次のレコードによる業務イベント処理(例えば次の工程の業務イベント処理)を開始してもよい。   When the processing of one record (for example, for 100 business events of process A) of the multi-process test execution sheet is completed, the test execution unit 34 waits for a period until the batch process that is periodically executed is completed, and then the next record ( For example, processing of 100 business events in process B) is started. The period for waiting for the completion of the batch process may be a fixed period (for example, 10 minutes) determined to be equal to or greater than the interval according to the execution interval (for example, 5 minutes) of the batch process. When information indicating completion of batch processing is recorded in a predetermined storage area of the test target system 12, the test execution unit 34 monitors whether the information is recorded and detects that the information is recorded. In this case, business event processing (for example, business event processing for the next process) by the next record of the multi-process test execution sheet may be started.

証跡取得部36は、テスト実行部34が1つの工程別シナリオシートの処理、すなわち1つの工程内における1業務イベント分のテストを完了したことを検出すると、データベースサーバ16からテストの証跡情報を取得する。証跡情報は、ウェブページの操作によってウェブアプリケーションサーバ14に業務イベント処理を実行させた結果、ウェブアプリケーションサーバ14がデータベースサーバ16に記録した情報である。例えば、テスト対象の工程における業務イベント処理結果の記録先となる所定のテーブル・カラムに格納された、テスト対象のテストケースIDに対応付けられたデータを証跡情報として取得してもよい。   The trail acquisition unit 36 acquires test trail information from the database server 16 when it detects that the test execution unit 34 has completed processing of one process-specific scenario sheet, that is, one business event test in one process. To do. The trail information is information recorded in the database server 16 by the web application server 14 as a result of causing the web application server 14 to execute a business event process by operating a web page. For example, data associated with a test case ID of a test target stored in a predetermined table / column that is a recording destination of a business event processing result in the test target process may be acquired as trail information.

証跡取得部36は、テスト実行装置10にインストールされたJDBCドライバを介して、ファイアウォール18に対してデータベース(DB)接続要求を送信する。DB接続要求では、(1)送信元IPアドレスとしてテスト実行装置10のIPアドレス、(2)宛先IPアドレスとしてファイアウォール18のIPアドレス、(3)送信元ポート番号としてJDBCドライバが使用する所定のポート番号を指定する。さらに、(4)宛先ポート番号としてDB接続用の予め定められたポート番号、(5)DB接続用の予め定められたアカウント情報(例えばユーザ名とパスワード)を指定する。   The trail acquisition unit 36 transmits a database (DB) connection request to the firewall 18 via the JDBC driver installed in the test execution device 10. In the DB connection request, (1) the IP address of the test execution device 10 as the source IP address, (2) the IP address of the firewall 18 as the destination IP address, and (3) the predetermined port used by the JDBC driver as the source port number Specify a number. Furthermore, (4) a predetermined port number for DB connection is designated as a destination port number, and (5) predetermined account information (for example, a user name and password) for DB connection is designated.

ファイアウォール18は、DB接続用のポート番号とDBアクセスを許可すべきアカウント情報の組み合わせを保持する。ファイアウォール18は、DB接続用のポート番号を指定するDB接続要求を受け付けた場合に、そのDB接続要求で指定されたアカウント情報が、DBアクセスを許可すべきアカウント情報と整合するか否かを判定する。そして整合する場合、テスト実行装置10からファイアウォール18へのアクセスを許可する。   The firewall 18 holds a combination of a port number for DB connection and account information to which DB access should be permitted. When the firewall 18 receives a DB connection request that specifies a DB connection port number, the firewall 18 determines whether or not the account information specified in the DB connection request is consistent with the account information that should be permitted DB access. To do. If they match, access from the test execution device 10 to the firewall 18 is permitted.

ファイアウォール18は、テスト実行装置10からファイアウォール18へのアクセスを許可した場合に、DB接続要求をポートフォワーディングによりファイアウォール18へ転送する。具体的には、(1)送信元IPアドレスをファイアウォール18のアドレスに変換し、(2)宛先IPアドレスをデータベースサーバ16のIPアドレスに変換し、(3)送信元ポート番号をファイアウォール18の所定のポート番号に変換し、(4)宛先ポート番号をデータベースサーバ16のDBリスナーが起動している所定のポート番号に変換したDB接続要求をデータベースサーバ16へ転送する。   When the firewall 18 permits access from the test execution device 10 to the firewall 18, the firewall 18 transfers the DB connection request to the firewall 18 by port forwarding. Specifically, (1) the source IP address is converted into the address of the firewall 18, (2) the destination IP address is converted into the IP address of the database server 16, and (3) the source port number is set to a predetermined value of the firewall 18. (4) The DB connection request in which the destination port number is converted into a predetermined port number activated by the DB listener of the database server 16 is transferred to the database server 16.

データベースサーバ16は、ファイアウォール18から送信されたDB接続要求に応じて、データベースに接続した旨を示すDB接続応答をファイアウォール18へ送信する。具体的には、(1)送信元IPアドレスとしてデータベースサーバ16のIPアドレス、(2)宛先IPアドレスとしてファイアウォール18のIPアドレス、(3)送信元ポート番号としてDBリスナーが起動している所定のポート番号、(4)DB接続要求で指定されたファイアウォール18の所定のポート番号、を指定したDB接続応答を送信する。   In response to the DB connection request transmitted from the firewall 18, the database server 16 transmits a DB connection response indicating that it has connected to the database to the firewall 18. Specifically, (1) the IP address of the database server 16 as the source IP address, (2) the IP address of the firewall 18 as the destination IP address, and (3) the DB listener activated as the source port number A DB connection response specifying the port number and (4) a predetermined port number of the firewall 18 specified by the DB connection request is transmitted.

ファイアウォール18は、データベースサーバ16から送信されたDB接続応答をポートフォワーディングによりテスト実行装置10へ転送する。具体的には、(1)送信元IPアドレスをファイアウォール18のアドレスに変換し、(2)宛先IPアドレスをテスト実行装置10のIPアドレスに変換し、(3)送信元ポート番号をDB接続用の予め定められたポート番号に変換し、(4)宛先ポート番号をテスト実行装置10のJDBCドライバが使用する所定のポート番号に変換したDB接続応答をテスト実行装置10へ転送する。   The firewall 18 transfers the DB connection response transmitted from the database server 16 to the test execution device 10 by port forwarding. Specifically, (1) the source IP address is converted into the address of the firewall 18, (2) the destination IP address is converted into the IP address of the test execution device 10, and (3) the source port number is used for DB connection. (4) The DB connection response in which the destination port number is converted into a predetermined port number used by the JDBC driver of the test execution device 10 is transferred to the test execution device 10.

証跡取得部36は、DB接続応答を受信後、DB接続要求と同様に(1)〜(4)を設定したDB操作コマンド(例えばSQLクエリ)をファイアウォール18へ送信する。ファイアウォール18は、DB接続要求と同様に、DB操作コマンドをポートフォワーディングによりデータベースサーバ16へ転送する。データベースサーバ16は、DB操作コマンドを受信後、DB接続応答と同様に(1)〜(4)を設定したコマンド実行結果(クエリ応答)をファイアウォール18へ送信する。ファイアウォール18は、データベースサーバ16から送信されたコマンド実行結果を、DB接続応答と同様に、ポートフォワーディングによりテスト実行装置10へ転送する。   After receiving the DB connection response, the trail acquisition unit 36 transmits a DB operation command (for example, an SQL query) in which (1) to (4) are set to the firewall 18 in the same manner as the DB connection request. The firewall 18 transfers the DB operation command to the database server 16 by port forwarding in the same manner as the DB connection request. After receiving the DB operation command, the database server 16 transmits the command execution result (query response) in which (1) to (4) are set to the firewall 18 in the same manner as the DB connection response. The firewall 18 transfers the command execution result transmitted from the database server 16 to the test execution device 10 by port forwarding in the same manner as the DB connection response.

ファイアウォール18は、DB接続用のポート番号において受信されたDB接続要求とDB操作コマンドの内容を、アカウント情報、受信日時とともに所定のログファイルへ逐次記録する。認証結果や、その他セキュリティ基準で要求される事項をさらにログファイルへ記録してもよい。   The firewall 18 sequentially records the DB connection request and the contents of the DB operation command received at the DB connection port number together with the account information and the reception date and time in a predetermined log file. Authentication results and other items required by security standards may be further recorded in the log file.

テスト結果判定部38は、証跡取得部36により取得されたテスト証跡情報と、照合データ保持部27に予め保持された照合データとを比較して、各テストケースにおけるエラーの有無を判定する。具体的には、特定の工程別シナリオシートによるテスト完了時に取得されたテスト証跡情報と、その工程別シナリオシートに設定されたテストケースIDに対応付けられた照合データを比較する。両者が一致する場合、テスト結果が正常と判定し、すなわちテスト対象システム12の動作が正常と判定する。その一方、両者が不一致の場合、テスト結果が異常と判定し、すなわちテスト対象システム12の動作のエラーを検出する。なお、テスト対象システム12がウェブページを提供し、テスト実行部34がそのウェブページへのデータ入力を自動実行して、テスト対象システム12の動作をテストする場合、テスト結果判定部38は、ウェブページへの入力データをテスト対象システム12へ送信後、テスト対象システム12からの応答データ(応答のウェブページ等)が期待通りのものか否かを、応答データと照合データとを比較して判定してもよい。   The test result determination unit 38 compares the test trail information acquired by the trail acquisition unit 36 with the verification data stored in advance in the verification data storage unit 27 to determine the presence / absence of an error in each test case. Specifically, the test trail information acquired at the completion of the test using the specific scenario sheet for each process is compared with the collation data associated with the test case ID set in the scenario sheet for each process. If the two match, it is determined that the test result is normal, that is, it is determined that the operation of the test target system 12 is normal. On the other hand, if they do not match, it is determined that the test result is abnormal, that is, an operation error of the test target system 12 is detected. When the test target system 12 provides a web page and the test execution unit 34 automatically executes data input to the web page to test the operation of the test target system 12, the test result determination unit 38 After the input data to the page is transmitted to the test target system 12, it is determined by comparing the response data with the verification data whether the response data (response web page, etc.) from the test target system 12 is as expected. May be.

テスト結果記録部40は、テスト対象システム12に対する総合テストの結果を示す情報をテスト結果保持部28へ記録する。具体的には、テスト対象システム12に対する特定のテストケースについて、そのテストケースIDと、テスト証跡情報と、テスト結果判定部38による正常・異常の判定結果と、判定対象のテストを規定したテストシナリオの情報をテスト結果情報として記録する。このテストシナリオの情報は、エラー発生箇所の責任者、すなわちエラーの解析と改修に責任を負うべき開発担当者を明確にするために、少なくとも工程別シナリオシートの識別情報(パス名、ファイル名等)を含む。さらに、その工程別シナリオシートで規定されたアクションシートおよびデータシートの識別情報を含む。   The test result recording unit 40 records information indicating the result of the comprehensive test for the test target system 12 in the test result holding unit 28. Specifically, for a specific test case for the test target system 12, a test scenario that specifies the test case ID, test trail information, normal / abnormal determination result by the test result determination unit 38, and the test to be determined Is recorded as test result information. This test scenario information includes at least identification information (path name, file name, etc.) for each process scenario sheet in order to clarify the person responsible for the location of the error, that is, the developer responsible for error analysis and modification. )including. In addition, it includes identification information of action sheets and data sheets defined in the scenario sheet for each process.

テスト結果表示部42は、テスト結果の表示を指示する操作が入力された場合に、テスト結果保持部28に保持されたテスト結果情報をディスプレイに表示させる。例えば、テスト結果がエラーである場合、そのエラーの事実と、エラーが発生した工程別シナリオシート、アクションシート、データシートの情報を対応付けて表示させる。   The test result display unit 42 displays the test result information held in the test result holding unit 28 on the display when an operation for instructing display of the test result is input. For example, if the test result is an error, the fact of the error is displayed in association with information on the scenario sheet, action sheet, and data sheet for each process in which the error has occurred.

以上の構成によるテスト時の動作を以下説明する。
テスト対象システム12の情報処理サービスにおける複数の工程それぞれの開発責任者は、各自が責任を負う工程のアクションシート、データシート、工程別シナリオシート、工程別複数シナリオ実行シート、照合データを作成する。またテスト対象システム12全体の開発、試験の責任者は複数工程テスト実行シートを作成する。作成された各種シートはテスト実行装置10のデータ記録部20に格納される。
The operation during the test with the above configuration will be described below.
A development manager of each of the plurality of processes in the information processing service of the test target system 12 creates an action sheet, a data sheet, a scenario sheet for each process, a plurality of scenario execution sheets for each process, and collation data. The person in charge of development and testing of the entire test target system 12 creates a multi-process test execution sheet. The created various sheets are stored in the data recording unit 20 of the test execution device 10.

試験担当者は、特定の複数工程テスト実行シートを指定したテスト開始指示をテスト実行装置10へ入力する。テスト実行部34は、複数工程テスト実行シート、工程別複数シナリオ実行シート、工程別シナリオシートの順にドリルダウンし、実行対象のアクションシート、データシート、操作対象ウェブページを特定する。テスト実行部34は、ウェブブラウザに表示させた操作対象のウェブページに対して実行対象のアクションシートとデータシートで規定された操作を実行する。テスト実行部34は、複数工程テスト実行シート、工程別複数シナリオ実行シート、工程別シナリオシートにしたがって、ウェブページ、アクションシート、データシートを順次切り替えていき、複数の工程に亘って業務イベント処理を進めていくことにより、テスト対象システム12の総合テストを自動実行する。   The person in charge of the test inputs a test start instruction designating a specific multi-step test execution sheet to the test execution apparatus 10. The test execution unit 34 drills down in the order of a multi-process test execution sheet, a multi-process multi-scenario execution sheet, and a multi-process scenario sheet, and specifies an execution target action sheet, data sheet, and operation target web page. The test execution unit 34 performs an operation specified by the execution target action sheet and the data sheet on the operation target web page displayed on the web browser. The test execution unit 34 sequentially switches a web page, an action sheet, and a data sheet in accordance with a multi-process test execution sheet, a multi-process multi-scenario execution sheet, and a multi-process scenario sheet, and performs business event processing over a plurality of processes. By proceeding, the comprehensive test of the test target system 12 is automatically executed.

図1、図8、図11で示すように、実施の形態では、単一の工程において複数業務イベントの動作テストを一括して実行する。具体的には、工程Aにおける100業務イベント分の動作テストを順次実行し、それらの業務イベントのうち最後の業務イベントに対する工程Aの動作テストが完了するまでは、工程Aの動作テストが完了済の業務イベントであっても工程Bの動作テストの開始を抑制する。そして、工程Aにおける100業務イベント分の動作テストが完了し、定時のバッチ処理が完了したことを条件に、工程Bに対する同じ100業務イベント分の動作テストを開始する。工程B以降も、単一の工程において100業務イベント分の動作テスト完了後に次の工程へ進む。   As shown in FIGS. 1, 8, and 11, in the embodiment, operation tests for a plurality of business events are collectively performed in a single process. Specifically, the operation test for 100 business events in the process A is sequentially executed, and the operation test of the process A is completed until the operation test of the process A for the last business event among those business events is completed. Even if it is a business event, the start of the operation test in the process B is suppressed. Then, on the condition that the operation test for 100 business events in the process A is completed and the regular batch processing is completed, the operation test for the same 100 business events for the process B is started. Also after the process B, after the operation test for 100 business events is completed in a single process, the process proceeds to the next process.

テスト実行部34は、1つの工程別シナリオシートによるテストが完了すると、テストを完了した工程の識別情報とテストケースIDを証跡取得部36に渡す。証跡取得部36は、ファイアウォール18の認証を経てデータベースサーバ16へアクセスする。証跡取得部36は、ファイアウォール18のポートフォワーディングを介して、工程とテストケースIDにより識別されるテスト証跡情報をデータベースサーバ16から取得する。ファイアウォール18は、データベース接続用の特定のポート番号を宛先ポート番号として指定する電文をテスト実行装置10から受け付けると、認証の結果に応じて当該電文をデータベースサーバ16へ転送しつつ、電文で指定されたユーザ名および操作内容(コマンド等)をログに記録する。テスト結果判定部38は、テスト証跡情報と照合データを比較し、特定のテストケースについてテスト対象システム12の動作が正常か否かを判定する。   When the test using one process-specific scenario sheet is completed, the test execution unit 34 passes the identification information and the test case ID of the process that has completed the test to the trail acquisition unit 36. The trail acquisition unit 36 accesses the database server 16 through authentication of the firewall 18. The trail acquisition unit 36 acquires the test trail information identified by the process and the test case ID from the database server 16 through the port forwarding of the firewall 18. When the firewall 18 receives a message designating a specific port number for database connection as a destination port number from the test execution device 10, the firewall 18 is designated by the message while transferring the message to the database server 16 according to the authentication result. The user name and operation details (commands, etc.) are recorded in the log. The test result determination unit 38 compares the test trail information and the collation data, and determines whether or not the operation of the test target system 12 is normal for a specific test case.

テスト結果記録部40は、テスト証跡情報と、テスト対象システム12の動作についての正常性判定結果とを含むテスト結果をテスト結果保持部28へ格納する。テスト結果表示部42は、ユーザの要求に応じて、テスト結果を表示装置に表示させる。テスト対象システム12の動作にエラーが検出された場合、テスト結果記録部40は、エラーが発生したテストケースに対応する工程別シナリオシート、アクションシート、データシートを対応付けてテスト結果保持部28へ格納する。テスト結果表示部42は、エラーが発生したテストケースに対応する工程別シナリオシート、アクションシート、データシートを対応付けて表示装置に表示させる。   The test result recording unit 40 stores the test result including the test trail information and the normality determination result regarding the operation of the test target system 12 in the test result holding unit 28. The test result display unit 42 displays the test result on the display device in response to a user request. When an error is detected in the operation of the test target system 12, the test result recording unit 40 associates the process-specific scenario sheet, action sheet, and data sheet corresponding to the test case in which the error has occurred with the test result holding unit 28. Store. The test result display unit 42 causes the display device to display the process-specific scenario sheet, action sheet, and data sheet corresponding to the test case where the error has occurred.

図12は、テスト対象システム12の総合テストの実施例を示す。同図の「工程A〜工程Dテスト実行シート1」、「工程A〜工程Dテスト実行シート2」、・・・のそれぞれは、1つの複数工程テスト実行シートに対応する。実施の形態では、工程A〜工程Dの1サイクルにつき1つの複数工程テスト実行シートを作成する。   FIG. 12 shows an embodiment of the comprehensive test of the test target system 12. Each of “process A to process D test execution sheet 1”, “process A to process D test execution sheet 2”,... In FIG. In the embodiment, one multi-step test execution sheet is created for each cycle of step A to step D.

例えば、工程A→B→C→B→C→Dのような手戻りが発生するテストケース(業務イベント)の場合、まず、シート50の実行において工程A→B→Cのテスト(実際には工程毎の3つの工程別シナリオシートにもとづくテスト)を実行する。そして次に、シート52の実行において工程B→C→Dテストを実行する。   For example, in the case of a test case (business event) in which rework occurs such as process A → B → C → B → C → D, first, in the execution of the sheet 50, the test of process A → B → C (actually A test based on three process-specific scenario sheets for each process is executed. Then, in the execution of the sheet 52, the process B → C → D test is executed.

また、何度も業務フローを繰り返すサイクルテストも複数工程テスト実行シートを複数回実行することで実現できる。具体例として、工程A→B→C→Dを5回繰り返すサイクルテストは、例えば100業務イベント×4工程分の400枚の工程別シナリオシートによるテストをそれぞれ含むシート50、シート52、シート54、シート56、シート58を順次実行することで実現できる。   In addition, a cycle test that repeats the workflow many times can be realized by executing a multi-process test execution sheet a plurality of times. As a specific example, a cycle test in which steps A → B → C → D are repeated five times includes, for example, a sheet 50, a sheet 52, a sheet 54, a test using 400 process-specific scenario sheets for 100 business events × 4 processes, This can be realized by sequentially executing the sheet 56 and the sheet 58.

テストの中でテスト対象システム12のエラーが検出された場合、エラー発生箇所の開発責任者の責任で再度テストを実施する。既に述べたように、エラー情報として工程別シナリオシートの情報を提示する。再テストでは、先のテストでエラーが発生したテストケースに係る工程別シナリオシートであり、エラー情報で提示された工程別シナリオシートを使用することで、問題の特定と改修を効率的に実施できる。   If an error of the test target system 12 is detected during the test, the test is performed again at the responsibility of the development manager of the location where the error occurred. As already described, the information of the process-specific scenario sheet is presented as error information. The retest is a scenario sheet for each process related to the test case in which an error occurred in the previous test. By using the scenario sheet for each process presented in the error information, the problem can be identified and repaired efficiently. .

実施の形態のテスト実行装置10によると、入力された業務イベントの処理を、開発責任者が異なる複数の工程に亘る処理を経て完了するテスト対象システム12の特性を踏まえ、総合テストのシナリオを工程毎に分割して個々のシナリオ単位にテストを実行する。そして、個々のシナリオにもとづくテストでエラーを検出した場合に、そのエラーが発生した工程のシナリオを記録し、シナリオの情報を含むエラー情報を開示する。このように工程毎のシナリオ単位で証跡や正常性判定結果を記録することで、開発責任者毎の証跡の分割や、障害の発生原因の切り分けに時間を要してしまうことを回避でき、テストの効率化を実現できる。また、エラー発生箇所に対する責任者の特定が容易になり、障害対応の効率化を支援できる。   According to the test execution device 10 of the embodiment, the process of the input business event is processed based on the characteristics of the test target system 12 in which the development manager completes the process over a plurality of different processes. The test is executed for each scenario unit divided into each. When an error is detected in a test based on each scenario, the scenario of the process in which the error has occurred is recorded, and error information including scenario information is disclosed. By recording trails and normality judgment results in scenario units for each process in this way, it is possible to avoid taking time to divide the trails for each development manager and to isolate the cause of the failure. Can be realized. In addition, it becomes easy to identify the person responsible for the location where the error occurred, and it is possible to support the efficiency of the failure handling.

またテスト実行装置10によると、異なる工程の業務イベント処理の間に定時のバッチ処理を実行すべきテスト対象システム12の特性を踏まえ、1つの業務イベントを単位として工程Aの開始から工程Dの終了まで継続するテストではなく、1つの工程を単位として1つの工程内で複数業務イベントのテストを一括して実行する。これにより、複数業務イベントのテストに要する時間を低減することができる。例えば、1つの業務イベントを単位として工程Aの開始から工程Dの終了まで継続するテストの場合、1業務イベントのテストにつき、各工程の処理時間に加えて、工程A〜工程B間のバッチ処理待ち時間5分、工程B〜工程C間のバッチ処理待ち時間5分、工程C〜工程D間のバッチ処理待ち時間5分がかかることになる。これに対し、実施の形態の方式では、100業務イベントのテストにおいて上記のバッチ処理待ち時間が1回ずつ発生するだけであり、バッチ処理待ち時間を削減して効率的なテストを実現できる。   Further, according to the test execution apparatus 10, based on the characteristics of the test target system 12 that should execute a scheduled batch process between business event processes of different processes, the process A starts from the start of the process A to the end of the process D. The test of a plurality of business events is collectively executed within one process in units of one process, not the test that continues until. Thereby, it is possible to reduce the time required for testing a plurality of business events. For example, in the case of a test that continues from the start of process A to the end of process D with one business event as a unit, batch processing between process A and process B is performed in addition to the processing time of each process for the test of one business event. A waiting time of 5 minutes, a batch processing waiting time of 5 minutes between process B and process C, and a batch processing waiting time of 5 minutes between process C and process D will be required. On the other hand, in the system according to the embodiment, the batch processing waiting time is generated only once in a test of 100 business events, and an efficient test can be realized by reducing the batch processing waiting time.

またテスト実行装置10によると、アクションシートとデータシートの役割分担が明確になり、1画面につき1枚のアクションシートを作成し、テストで実際に実行する操作はデータシートにおいて規定するよう標準化できる。例えば、テキストフィールド、ラジオボタン、ボタンA、ボタンBを含むウェブページの操作として、(1)テキストを入力してボタンA押下、(2)ラジオボタンを選択してボタンB押下、という異なる操作についても、アクションシートは共通で、データシートのデータ(指定する行番号)を変更するだけで(1)(2)それぞれの操作を再現できる。このような標準化により、複数の機能が複数の開発責任者により分散開発されるテスト対象システム12において、アクションシートやデータシート、工程別シナリオシート等、総合テストの成果物の均質化を実現できる。また、成果物の均質化によりメンテナンス性の向上を実現できる。   Further, according to the test execution device 10, the division of roles between the action sheet and the data sheet is clarified, and one action sheet is created per screen, and the operation actually executed in the test can be standardized so as to be defined in the data sheet. For example, as operations of a web page including a text field, a radio button, button A, and button B, (1) input a text and press button A, and (2) select a radio button and press a button B. However, the action sheets are common, and the operations (1) and (2) can be reproduced simply by changing the data on the data sheet (designated line number). By such standardization, in the test target system 12 in which a plurality of functions are distributedly developed by a plurality of development managers, it is possible to achieve homogenization of the results of comprehensive tests such as action sheets, data sheets, and process-specific scenario sheets. In addition, improvement in maintainability can be realized by homogenizing the deliverables.

以上、本発明を第1の実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the first embodiment. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.

(第2の実施の形態)
第2の実施の形態では、リクエストに対してリアルタイムに実行されるオンライン処理と、リクエストとは独立して所定時間間隔で実行される定期バッチとの間に依存関係がある情報システムを自動テストするための技術を説明する。実施の形態でのオンライン処理は、ウェブページへ入力されたデータがテスト実行装置からテスト対象システムへ送信されたことに伴い、テスト対象システムがリアルタイムに実行する処理を意味する。
(Second Embodiment)
In the second embodiment, an information system having a dependency between online processing executed in real time for a request and a regular batch executed at a predetermined time interval independently of the request is automatically tested. The technology for this will be described. The online processing in the embodiment means processing executed in real time by the test target system when data input to the web page is transmitted from the test execution device to the test target system.

第2の実施の形態におけるテスト対象システムは、定期的に実行される定期バッチが完了しないと、オンラインの操作を許可せず、言い換えれば、ウェブページを介して入力されたオンライン処理の要求を受け付けない。従来のテスト実行装置は、テスト対象システムがオンライン処理の受け付け状態になる前に、ウェブページを自動操作してオンライン処理を要求してしまい、テストが異常終了していた。この結果、本来のテスト項目が確認できないことがあった。また、テスト対象システムがオンライン処理を許可する状態になるまでテスト実行装置を一定時間待機させることも考えられるが、その状態になるまでの所要時間は必ずしも一定ではなく、本来不要な待機時間が生じてしまう。また、待機する場合であっても、指定された待機時間内にオンライン処理を許可する状態にならなければ、やはりテストが異常終了してしまう。   The system under test in the second embodiment does not allow online operation unless a regular batch that is executed periodically is completed, in other words, accepts an online processing request input via a web page. Absent. In the conventional test execution device, before the test target system enters the online processing acceptance state, the web page is automatically operated to request online processing, and the test is abnormally terminated. As a result, the original test item may not be confirmed. It is also conceivable that the test execution device waits for a certain period of time until the test target system is allowed to perform online processing, but the time required to reach that state is not necessarily constant, and an inherently unnecessary waiting time occurs. End up. Even in the case of waiting, if the online processing is not permitted within the designated waiting time, the test will end abnormally.

そこで第2の実施の形態のテスト実行装置は、ある工程のオンライン処理が終了後、テスト対象システムにおける定期バッチの実行結果が保存されるテーブルを監視し、テスト対象システムが次の工程のオンライン処理を許可する状態になったかを判断する。これにより、定期的に実行されるバッチ処理の完了をオンライン処理の開始条件とする情報システムを自動テストする場合に、テストの異常終了を回避しつつ、テスト効率の低下を抑制することを実現する。   Therefore, the test execution apparatus according to the second embodiment monitors a table in which the execution result of the periodic batch in the test target system is stored after the online processing of a certain process is completed, and the test target system performs the online processing of the next process. It is determined whether or not it is in a state of permitting. As a result, when automatically testing an information system in which completion of batch processing that is executed periodically is an on-line processing start condition, it is possible to avoid a test from ending abnormally and suppress a decrease in test efficiency. .

以下、図面を参照しつつ、第2の実施の形態の構成を詳細に説明するが、第1の実施の形態における装置・機能と同一もしくは対応するものには同一の符号を付している。以下では、第1の実施の形態と重複する説明は適宜省略する。なお、第1の実施の形態の構成と第2の実施の形態の構成を適宜組み合わせ、また置き換えることが可能であることはもちろんである。   Hereinafter, the configuration of the second embodiment will be described in detail with reference to the drawings. Components that are the same as or correspond to the devices and functions in the first embodiment are denoted by the same reference numerals. Below, the description which overlaps with 1st Embodiment is abbreviate | omitted suitably. Needless to say, the configuration of the first embodiment and the configuration of the second embodiment can be appropriately combined and replaced.

図13は、第2の実施の形態における総合テストのシステム構成を示す図であり、図3に対応する。第2の実施の形態のテスト対象システム12は、ウェブアプリケーションサーバ14、データベースサーバ16に加えて、バッチ処理サーバ13、外部接続サーバ15を含む。   FIG. 13 is a diagram showing the system configuration of the comprehensive test in the second embodiment, and corresponds to FIG. The test target system 12 according to the second embodiment includes a batch processing server 13 and an external connection server 15 in addition to the web application server 14 and the database server 16.

バッチ処理サーバ13は、ウェブアプリケーションサーバ14へ入力された業務イベント情報を処理するためのオンラインバッチ60と定期バッチ62を保持する。オンラインバッチ60は、各工程のウェブページに対してクライアントが入力したデータをリアルタイムに処理するバッチ処理機能(バッチファイル)である。実施の形態では、テスト実行装置10が各工程のウェブページに自動入力したデータをウェブアプリケーションサーバ14へ送信して、ウェブアプリケーションサーバ14がオンライン処理をバッチ処理サーバ13に要求したことに伴い、バッチ処理サーバ13がオンラインバッチ60を実行する。オンラインバッチ60は、例えば、各工程のウェブページに入力された業務イベント情報に対するチェック処理や、データベースへの登録処理を実行する。   The batch processing server 13 holds an online batch 60 and a regular batch 62 for processing business event information input to the web application server 14. The online batch 60 is a batch processing function (batch file) that processes in real time the data input by the client for the web page of each process. In the embodiment, the test execution apparatus 10 transmits data automatically input to the web page of each process to the web application server 14, and the web application server 14 requests the batch processing server 13 for online processing. The processing server 13 executes the online batch 60. The online batch 60 executes, for example, a check process for business event information input to a web page of each process and a registration process in a database.

定期バッチ62は、外部接続サーバ15が利用可能な時間内(例えば9時から18時)に、予め定められた時間間隔で定期実行されるバッチ処理機能である。定期バッチ62は、オンラインバッチ60とは独立して、言い換えれば、テスト実行装置10が各工程のウェブページを操作したかどうかに依存せず、定期的に繰り返し実行される。定期バッチ62の実行間隔は典型的には数分である。定期バッチ62は、例えば、各工程のウェブページに入力された業務イベント情報を外部接続サーバ15に渡し、外部接続サーバ15による各種処理を実行させる。   The regular batch 62 is a batch processing function that is periodically executed at a predetermined time interval within a time period in which the external connection server 15 can be used (for example, from 9:00 to 18:00). The regular batch 62 is repeatedly executed periodically independently of the online batch 60, in other words, regardless of whether the test execution apparatus 10 has operated the web page of each process. The execution interval of the regular batch 62 is typically several minutes. For example, the regular batch 62 passes the business event information input to the web page of each process to the external connection server 15 and causes the external connection server 15 to execute various processes.

ウェブアプリケーションサーバ14は、1つの業務イベントについて、ある工程のオンライン処理を実行後、その業務イベントのデータに対して定期バッチが未実行の間は、次の工程のオンライン処理要求を受け付けない。具体的には、業務イベントに関する情報を入力するためのある工程のウェブページを、その工程の前提となる定期バッチが完了していることを条件として、クライアント装置(総合テストにおいてはテスト実行装置10)へ提供する。   The web application server 14 does not accept the online process request for the next process while the regular batch is not executed for the data of the business event after executing the online process of the certain process for one business event. Specifically, a web page of a certain process for inputting information relating to a business event is converted into a client apparatus (in the comprehensive test, the test execution apparatus 10 on the condition that a regular batch as a premise of the process is completed). ).

データベースサーバ16は、バッチ処理サーバ13における業務イベント単位のバッチ処理状況が格納される業務イベント工程状況テーブル64を保持する。図14は、業務イベント工程状況テーブル64の構成を示す。業務イベント工程状況テーブル64には、業務イベント工程ID、業務イベント番号、定期バッチ完了日時が対応付けて格納される。業務イベント工程状況テーブル64は、テスト対象システム12における業務イベント処理の進行状況の変更履歴を保持するテーブルとも言える。   The database server 16 holds a business event process status table 64 in which the batch processing status in units of business events in the batch processing server 13 is stored. FIG. 14 shows the configuration of the business event process status table 64. The business event process status table 64 stores a business event process ID, a business event number, and a regular batch completion date and time in association with each other. The business event process status table 64 can also be said to be a table that holds a change history of the progress status of business event processing in the test target system 12.

業務イベント工程IDは、テスト対象システム12における処理の識別情報であり、業務イベント単位かつオンラインバッチ60単位にユニークに採番される。ある工程における1つの業務イベント処理において複数のオンラインバッチ60が実行される場合、業務イベント工程状況テーブル64には、最後に実行されたオンラインバッチ60の業務イベント工程IDが格納される。図14では、業務イベント番号「003」の業務イベントと業務イベント番号「455」の業務イベントには、同じ工程の同じオンラインバッチ60を実行済であることとし、同じ業務イベント工程IDが対応付けられた状況を示している。   The business event process ID is processing identification information in the test target system 12, and is uniquely assigned to each business event unit and each online batch 60 unit. When a plurality of online batches 60 are executed in one business event process in a certain process, the business event process ID of the online batch 60 executed last is stored in the business event process status table 64. In FIG. 14, the business event with the business event number “003” and the business event with the business event number “455” are assumed to have executed the same online batch 60 of the same process, and are associated with the same business event process ID. Shows the situation.

業務イベント番号は、テスト対象システム12で処理対象となる業務イベント単位にユニークな識別番号である。同一の業務イベントであれば工程Aから工程Dまで同一の番号が付与される。業務イベント番号は、図9の工程別シナリオシートにおけるテストケースIDに相当し、以下、シナリオシートにおけるテストケースIDについても業務イベント番号と呼ぶこととする。定期バッチ完了日時は、業務イベントに対する定期バッチの完了日時であり、初期値は特定の初期値である。定期バッチ完了日時カラムが特定の初期値でなければ、定期バッチが完了済であり、すなわち、次の工程のオンライン処理を受け付け可能であると見なされる。   The business event number is a unique identification number for each business event to be processed in the test target system 12. If they are the same business event, the same number is assigned from process A to process D. The business event number corresponds to the test case ID in the process-specific scenario sheet of FIG. 9, and hereinafter, the test case ID in the scenario sheet is also referred to as a business event number. The regular batch completion date and time is the regular batch completion date and time for the business event, and the initial value is a specific initial value. If the periodic batch completion date / time column is not a specific initial value, it is considered that the periodic batch has been completed, that is, the online processing of the next process can be accepted.

図15は、図13のテスト実行装置の構成を示すブロック図であり、図4に対応する。第2の実施の形態のテスト実行装置10は、業務イベント工程ID保持部29と業務イベント状態監視部33をさらに備える。他の構成は第1の実施の形態と同様である。   FIG. 15 is a block diagram showing the configuration of the test execution apparatus of FIG. 13 and corresponds to FIG. The test execution apparatus 10 according to the second embodiment further includes a business event process ID holding unit 29 and a business event state monitoring unit 33. Other configurations are the same as those of the first embodiment.

業務イベント工程ID保持部29は、テスト対象システム12における業務イベント処理の工程毎の業務イベント工程IDを保持する。具体的には図16で示すように、業務イベント工程ID保持部29は、各工程の識別情報と、各工程のオンライン処理において最後に実行されるオンラインバッチ60に対して予め割当てられた業務イベント工程IDを対応付けて保持する。   The business event process ID holding unit 29 holds a business event process ID for each process of business event processing in the test target system 12. Specifically, as shown in FIG. 16, the business event process ID holding unit 29 includes a business event pre-assigned to the identification information of each process and the online batch 60 executed last in the online processing of each process. The process ID is associated and held.

図15に戻り、業務イベント状態監視部33は、テスト実行部34が、テスト業務イベントについて、ある工程のオンライン処理を要求する前に、前工程のオンライン処理後に実行されるべき定期バッチが実行済か否かを判定する。オンライン処理を要求する前とは、ウェブアプリケーションサーバ14が定期バッチの終了を条件として許可する処理を要求する前であり、例えば、ウェブページの取得処理前、ウェブページへのデータ入力処理前、または入力データの送信処理前でもよい。テスト業務イベントは、例えば、図9の工程別シナリオシートで同一の業務イベント番号(テストケースID)が付与されたものである。テスト実行部34は、テスト業務イベントについて、前工程のオンライン処理後に定期バッチが実行済と判定されたことを条件として、次工程(上記の「ある工程」)のオンライン処理を要求する操作を入力する。   Returning to FIG. 15, the business event state monitoring unit 33 has executed a periodic batch to be executed after online processing of the previous process before the test execution unit 34 requests online processing of a certain process for the test business event. It is determined whether or not. Before requesting online processing is before the web application server 14 requests processing that permits the termination of a regular batch, for example, before acquiring a web page, before inputting data to the web page, or It may be before input data transmission processing. For example, the same business event number (test case ID) is assigned to the test business event in the process-specific scenario sheet of FIG. The test execution unit 34 inputs an operation for requesting the online process of the next process (the above “certain process”) on the condition that it is determined that the regular batch has been executed after the online process of the previous process for the test work event. To do.

具体的には、業務イベント状態監視部33は、業務イベント工程ID保持部29において前工程と対応付けられた業務イベント工程IDを読み出す。そしてテスト業務イベントの業務イベント番号(工程別シナリオシートに記載された業務イベント番号)と、業務イベント工程IDの組み合わせをキーとして、データベースサーバ16の業務イベント工程状況テーブル64を検索する。業務イベント状態監視部33は、業務イベント工程状況テーブル64に、指定した業務イベント番号と業務イベント工程IDの組み合わせに一致するレコードが存在し、かつ、そのレコードの定期バッチ完了日時カラムに日時が設定されていた場合、実施の形態では特定の初期値でなかった場合に、前工程のオンライン処理後の定期バッチが実行済と判定する。   Specifically, the business event state monitoring unit 33 reads the business event process ID associated with the previous process in the business event process ID holding unit 29. Then, the business event process status table 64 of the database server 16 is searched using the combination of the business event number of the test business event (the business event number described in the process-specific scenario sheet) and the business event process ID as a key. The business event status monitoring unit 33 has a record that matches the combination of the specified business event number and the business event process ID in the business event process status table 64, and the date and time is set in the periodic batch completion date and time column of the record. In the case where the initial batch value is not a specific initial value in the embodiment, it is determined that the regular batch after the online process in the previous process has been executed.

業務イベント状態監視部33は、データベースサーバ16の業務イベント工程状況テーブル64に対して3秒に1回、合計20回のポーリングを実行してもよい。ポーリングの間隔や実行回数は、バッチ処理サーバ13における定期バッチの実行間隔に応じて適切な値が設定されればよい。例えば、定期バッチの実行間隔が長いほど、多くのポーリング回数を設定してもよい。また、無駄なポーリングを抑制する目的で、定期バッチの実行間隔が長いほど、長いポーリング間隔を設定してもよく、定期的なポーリングの開始前に、定期バッチの実行間隔以下の待ち時間を設けてもよい。   The business event state monitoring unit 33 may perform polling of the business event process status table 64 of the database server 16 once every 3 seconds, for a total of 20 times. The polling interval and the number of executions may be set to appropriate values according to the execution interval of the regular batch in the batch processing server 13. For example, the longer the regular batch execution interval, the more polling times may be set. In addition, in order to suppress unnecessary polling, a longer polling interval may be set as the regular batch execution interval is longer, and a waiting time equal to or shorter than the regular batch execution interval is set before the start of regular polling. May be.

業務イベント状態監視部33は、予め定められた回数、ポーリングを実行しても、業務イベント工程状況テーブル64に、指定した業務イベント番号と業務イベント工程IDの組み合わせに一致するレコードが存在せず、または、そのレコードの定期バッチ完了日時カラムが特定の初期値であった場合に、テスト業務イベントのテスト開始に失敗した旨のエラーメッセージをログに記録する。それとともに、テスト実行部34による以降のテスト実行を中止させ、例えば、ウェブアプリケーションサーバ14から次工程のウェブページを取得する処理を中止させる。   Even if the business event status monitoring unit 33 executes polling a predetermined number of times, the business event process status table 64 does not have a record that matches the combination of the specified business event number and business event process ID. Alternatively, if the periodic batch completion date / time column of the record has a specific initial value, an error message indicating that the test start of the test business event has failed is recorded in the log. At the same time, the subsequent test execution by the test execution unit 34 is stopped, for example, the process of acquiring the web page of the next process from the web application server 14 is stopped.

具体的な実装として、テスト実行装置10では、業務イベント状態監視部33による業務イベント工程状況テーブル64の監視処理を開始させるための関数(ここでは「監視メソッド」と呼ぶ。)が設けられてよい。そして、監視メソッドが各工程のテストの最初に呼び出されるよう、テスト担当者は、各工程の最初の画面操作用のアクションシートに対してその先頭に監視メソッドを記載してもよい。またテスト担当者は、ポーリングの間隔や回数をデータシートに記載してもよい。   As a specific implementation, the test execution apparatus 10 may be provided with a function (herein referred to as “monitoring method”) for starting the monitoring process of the business event process status table 64 by the business event state monitoring unit 33. . Then, the person in charge of the test may describe the monitoring method at the head of the action sheet for the first screen operation of each process so that the monitoring method is called at the beginning of the test of each process. The person in charge of the test may describe the polling interval and the number of times on the data sheet.

テスト実行部34は、監視メソッドの実行時に、データシートに記載されたポーリング間隔と回数、シナリオシートに記載された工程(もしくはその工程から定まる前工程)の名称とテスト業務イベントの業務イベント番号をテスト実行部34に渡してもよい。業務イベント状態監視部33は、業務イベント状態監視部33から渡された各パラメータに応じて、業務イベント工程状況テーブル64の監視処理を開始し、テスト業務イベントについて定期バッチ処理が完了済か否かを判定してもよい。   When executing the monitoring method, the test execution unit 34 sets the polling interval and the number of times described in the data sheet, the name of the process (or the previous process determined from the process) described in the scenario sheet, and the business event number of the test business event. You may pass to the test execution part 34. The business event status monitoring unit 33 starts monitoring processing of the business event process status table 64 according to each parameter passed from the business event status monitoring unit 33, and whether or not the periodic batch processing has been completed for the test business event. May be determined.

以上の構成によるテスト時の動作を以下説明する。以下では、複数工程に亘るテストを規定した複数の工程別シナリオシートに共通する1つのテストケースをテスト業務イベントと呼び、そのテスト業務イベントをテストする場合の動作を説明する。   The operation during the test with the above configuration will be described below. In the following, one test case common to a plurality of process-specific scenario sheets defining tests over a plurality of processes is called a test work event, and an operation when testing the test work event will be described.

テスト実行装置10のテスト実行部34は、テスト業務イベントの業務イベント番号が設定された工程A用の工程別シナリオシート、アクションシート、データシートにしたがってテストを実行する。具体的には、ウェブブラウザのAPIを適宜コールして、工程Aのウェブページをウェブアプリケーションサーバ14から取得してウェブブラウザに表示させ、そのウェブページにテスト業務イベントに関する情報を自動入力し、ウェブページのボタン等のフォームを操作する。そしてウェブブラウザを介して、テスト業務イベントの業務イベント番号とウェブページへの入力情報を含むオンライン処理要求をウェブアプリケーションサーバ14へ送信する。   The test execution unit 34 of the test execution apparatus 10 executes the test according to the process-specific scenario sheet, action sheet, and data sheet for the process A in which the business event number of the test business event is set. Specifically, the API of the web browser is called as appropriate, the web page of process A is acquired from the web application server 14 and displayed on the web browser, information on the test work event is automatically input to the web page, and the web Manipulate forms such as page buttons. Then, an online processing request including the business event number of the test business event and information input to the web page is transmitted to the web application server 14 via the web browser.

ウェブアプリケーションサーバ14は、テスト実行装置10からオンライン処理要求を受信すると、テスト業務イベントの情報(業務イベント番号を含む)をバッチ処理サーバ13へ送信し、工程A用のオンラインバッチ60を実行するようバッチ処理サーバ13に指示する。バッチ処理サーバ13のバッチ実行部(不図示)は、テスト業務イベントに対する工程A用のオンラインバッチ60を実行する。バッチ実行部は、工程A用のオンラインバッチ60を実行後、テスト業務イベントの業務イベント番号と、実行したオンラインバッチ60の業務イベント工程IDの組み合わせをローカルの記憶領域に格納し、データベースサーバ16の業務イベント工程状況テーブル64にも格納する。このとき定期バッチ完了日時カラムを特定の初期値に設定する。   When receiving the online processing request from the test execution device 10, the web application server 14 transmits information on the test business event (including the business event number) to the batch processing server 13 so that the online batch 60 for the process A is executed. Instruct the batch processing server 13. A batch execution unit (not shown) of the batch processing server 13 executes the online batch 60 for the process A for the test job event. After executing the online batch 60 for the process A, the batch execution unit stores the combination of the business event number of the test business event and the business event process ID of the executed online batch 60 in the local storage area. It is also stored in the business event process status table 64. At this time, the periodic batch completion date / time column is set to a specific initial value.

バッチ処理サーバ13のバッチ実行部は、定期バッチ62の先の実行から所定時間が経過したことを検出すると、定期バッチ62を再度実行する。テスト業務イベントに対しては工程A用の定期バッチ62の処理を実行する。典型的にはバッチ処理部は、オンライン処理済の複数の業務イベントがあれば、それらの業務イベントを1回の定期バッチ62の実行で一括して処理する。バッチ実行部は、テスト業務イベントに対する工程A用の定期バッチ62の処理を完了すると、所定の記憶領域に格納しておいたテスト業務イベントに関する業務イベント番号と業務イベント工程IDの組み合わせを読み出す。そして、その組み合わせに一致する業務イベント工程状況テーブル64のレコードに定期バッチ完了日時を格納する。   When the batch execution unit of the batch processing server 13 detects that a predetermined time has elapsed since the previous execution of the regular batch 62, it executes the regular batch 62 again. For the test work event, the process of the regular batch 62 for the process A is executed. Typically, if there are a plurality of business events that have been processed online, the batch processing unit processes those business events in a batch by executing the regular batch 62 once. When the batch execution unit completes the processing of the periodic batch 62 for process A for the test work event, it reads the combination of the work event number and the work event process ID related to the test work event stored in the predetermined storage area. Then, the scheduled batch completion date and time is stored in the record of the business event process status table 64 that matches the combination.

テスト実行装置10のテスト実行部34は、テスト業務イベントの業務イベント番号が設定された工程B用の工程別シナリオシートとアクションシート、データシートにしたがってテストを実行する。このとき、テスト実行部34はまず、テスト業務イベントに対する定期バッチ処理の完了確認を業務イベント状態監視部33に指示する。業務イベント状態監視部33は、データベースサーバ16へアクセスし、テスト業務イベントの業務イベント番号と、業務イベント工程ID保持部29に保持された工程Aの業務イベント工程IDの組み合わせをキーとして業務イベント工程状況テーブル64を検索する。業務イベント状態監視部33は、データシートで指定された間隔および回数、検索処理を繰り返す。   The test execution unit 34 of the test execution device 10 executes the test according to the process-specific scenario sheet, action sheet, and data sheet for the process B in which the business event number of the test business event is set. At this time, the test execution unit 34 first instructs the business event state monitoring unit 33 to confirm the completion of the regular batch processing for the test business event. The business event state monitoring unit 33 accesses the database server 16 and uses the combination of the business event number of the test business event and the business event process ID of the process A held in the business event process ID holding unit 29 as a key. The situation table 64 is searched. The business event state monitoring unit 33 repeats the search process at intervals and times specified in the data sheet.

業務イベント工程状況テーブル64に、検索キーとして指定した業務イベント番号と業務イベント工程IDの組み合わせに一致し、かつ、定期バッチ完了日時カラムが所定値以外(例えば特定の初期値以外)のレコードが存在すれば、業務イベント状態監視部33は、テスト業務イベントに対する工程Aの定期バッチ処理が完了したと判定し、その旨をテスト実行部34へ通知する。例えば、業務イベント工程状況テーブル64が図14に示す状態の場合、業務イベント番号「003」については定期バッチ処理が完了済と判定し、業務イベント番号「455」については定期バッチ処理が未完了と判定する。業務イベント状態監視部33は、データシートで指定された回数の検索処理を実行しても上記レコードが存在しなければエラーを記録し、テスト業務イベントに対する工程Bのテストを中止させる。変形例として、業務イベント工程状況テーブル64に上記レコードが記録されるまで検索処理を繰り返してもよい。   There is a record in the business event process status table 64 that matches the combination of the business event number and the business event process ID specified as the search key, and the periodic batch completion date / time column is other than a predetermined value (for example, other than a specific initial value). Then, the business event state monitoring unit 33 determines that the periodic batch processing of the process A for the test business event is completed, and notifies the test execution unit 34 to that effect. For example, when the business event process status table 64 is in the state shown in FIG. 14, it is determined that the regular batch processing has been completed for the business event number “003”, and the regular batch processing has not been completed for the business event number “455”. judge. The business event state monitoring unit 33 records an error if the above record does not exist even after executing the search processing specified number of times in the data sheet, and stops the process B test for the test business event. As a modification, the search process may be repeated until the record is recorded in the business event process status table 64.

テスト実行部34は、テスト業務イベントに対する工程Aの定期バッチ処理が完了した旨が業務イベント状態監視部33から通知されると、テスト業務イベントの業務イベント番号が設定された工程B用の工程別シナリオシートとアクションシート、データシートにしたがってテストを実行する。以降、工程別複数シナリオ実行シート、複数工程テスト実行シートの設定にしたがって、工程B、工程C、工程Dのテストを同様に実行していく。   When the business event state monitoring unit 33 notifies the test execution unit 34 that the periodic batch processing of the process A for the test business event has been completed, the test execution unit 34 sets the business event number of the test business event for each process B. Execute the test according to the scenario sheet, action sheet, and data sheet. Thereafter, the tests of the process B, the process C, and the process D are similarly executed according to the settings of the process-specific multiple scenario execution sheet and the multi-process test execution sheet.

なお総合テストにおいて、工程毎に複数のテスト業務イベントを一括して処理するのではなく、1つのテスト業務イベントについて工程A〜工程Dのテストをできるだけ迅速に実施したい場合にも、第2の実施の形態のテスト実行装置10は有用である。この場合、テスト実行部34がウェブブラウザを制御して、テスト業務イベントに関する工程Aのオンライン処理要求をウェブアプリケーションサーバ14へ送信すると、業務イベント状態監視部33は、業務イベント工程状況テーブル64に対するポーリング処理を即時開始してもよい。業務イベント状態監視部33が、テスト業務イベントに対する定期バッチ処理の終了を検出すると、テスト実行部34は、テスト業務イベントに関する工程Bのオンライン処理要求をウェブアプリケーションサーバ14へ即時送信してもよい。このように、第2の実施の形態のテスト実行装置10によると、定期的に実行されるバッチ処理の完了をオンライン処理の開始条件とする情報システムを自動テストする場合に、テストの異常終了を回避しつつテスト効率の低下を抑制できる。   In the comprehensive test, instead of processing a plurality of test business events for each process at once, the second implementation is also performed when it is desired to test the processes A to D as quickly as possible for one test business event. The test execution device 10 in the form of is useful. In this case, when the test execution unit 34 controls the web browser and transmits the online processing request for the process A related to the test business event to the web application server 14, the business event state monitoring unit 33 polls the business event process status table 64. Processing may be started immediately. When the business event state monitoring unit 33 detects the end of the regular batch processing for the test business event, the test execution unit 34 may immediately transmit an online processing request for the process B related to the test business event to the web application server 14. As described above, according to the test execution device 10 of the second embodiment, when an information system that automatically sets completion of batch processing that is periodically executed as an online processing start condition is automatically tested, the test is terminated abnormally. It is possible to suppress a decrease in test efficiency while avoiding it.

以上、本発明を第2の実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the second embodiment. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.

例えば、業務イベント状態監視部33は、証跡取得部36と同様に、ファイアウォール18による認証とポートフォワーディングを介して、データベースサーバ16へアクセスし、業務イベント工程状況テーブル64に記録された各業務イベントのバッチ処理状況を監視してもよい。これにより、セキュリティ基準の遵守と、データベースアクセス性能を両立することができる。   For example, the business event state monitoring unit 33 accesses the database server 16 through authentication by the firewall 18 and port forwarding, similarly to the trail acquisition unit 36, and records each business event recorded in the business event process status table 64. Batch processing status may be monitored. As a result, it is possible to achieve both compliance with security standards and database access performance.

この構成は以下のように表現することもできる。業務イベント状態監視部33は、データベースサーバ16へ接続するための予め定められたポート番号とアカウント情報を指定するデータベース接続要求をファイアウォール18へ送信してもよい。これにより、データベース接続用のポート番号を指定するデータベース接続要求内のアカウント情報が、予め定められたデータベース接続を許可すべきアカウント情報と整合する場合に、データベースサーバ16に対する各種のコマンドをデータベースサーバ16へ転送する処理をファイアウォール18に実行させてもよい。   This configuration can also be expressed as follows. The business event state monitoring unit 33 may transmit a database connection request designating a predetermined port number and account information for connection to the database server 16 to the firewall 18. As a result, when the account information in the database connection request for designating the port number for database connection matches the account information that should allow the database connection in advance, various commands for the database server 16 are sent to the database server 16. The firewall 18 may be caused to execute the process of transferring to

(第3の実施の形態)
第3の実施の形態では、電子的に情報が記述された文書を提供するシステムに対するテストの自動化範囲を拡張するための技術を説明する。実施の形態では、電子的に情報が記述された文書の例としてウェブページを示す。しかし実施の形態に記載の技術は、ウェブページには制限されず、特定のアプリケーションで表示される専用画面やプレーンテキスト等、様々な態様の文書に適用可能である。また、文書に限らず、画面に表示される様々な画像や映像等を含むデジタルコンテンツにも適用可能である。
(Third embodiment)
In the third embodiment, a technique for extending a test automation range for a system that provides a document in which information is electronically described will be described. In the embodiment, a web page is shown as an example of a document in which information is electronically described. However, the technique described in the embodiment is not limited to a web page, and can be applied to various forms of documents such as a dedicated screen displayed in a specific application and plain text. Further, the present invention is not limited to documents, and can be applied to digital contents including various images and videos displayed on the screen.

第3の実施の形態の説明では、ウェブページを構成する要素を総称して「エレメント」と呼ぶ。エレメントは、ウェブページの画面を構成する要素であり、ボタンやテキストフィールド、ラジオボタン等、様々なオブジェクトを含む。また、エレメントの中でも、HTML以外で表現されるオブジェクト(例えばJAVAアプレットやPDFのデータ)を特に「コンテンツ」と呼ぶ(JAVAは登録商標)。実際のコンテンツのデータは、HTMLファイル等のウェブページのデータ中で、所定のタグに囲まれたバイナリデータ(例えばJAVAアプレットやPDFのデータ)であってもよい。以下、特に断らない限り、単にエレメントと呼ぶ場合、コンテンツを含む。第3の実施の形態のテスト対象システム12におけるウェブアプリケーションサーバ14は、HTMLコードとJavaScript(登録商標)(以下「JAVAスクリプト」とも称する)コードにより描画されるエレメントに加えて、Javaアプレットにより描画されるコンテンツを含むウェブページをクライアント装置へ送信して表示させる。   In the description of the third embodiment, elements constituting a web page are collectively referred to as “elements”. The element is an element constituting the screen of the web page, and includes various objects such as a button, a text field, and a radio button. Among elements, an object (for example, JAVA applet or PDF data) expressed in other than HTML is particularly called “content” (JAVA is a registered trademark). The actual content data may be binary data (for example, JAVA applet or PDF data) surrounded by a predetermined tag in web page data such as an HTML file. Hereinafter, unless otherwise specified, content is included when simply referred to as an element. The web application server 14 in the test target system 12 according to the third embodiment is drawn by a Java applet in addition to elements drawn by HTML code and JavaScript (registered trademark) (hereinafter also referred to as “JAVA script”) code. A web page including the content to be transmitted is transmitted to the client device and displayed.

図17は、第3の実施の形態のテスト対象システム12が提供するウェブページの例を示す。USERのテキストフィールドおよびログインボタンは、HTMLコードとJavaスクリプトコードにより記述され、ウェブブラウザの画面に描画されたエレメントである。これまでのテスト自動実行アプリケーションは、これらのエレメントに対する画面上での操作内容を各エレメントのIDに対応付けて記録し、その記録データを利用して自動テストを実行していた。   FIG. 17 illustrates an example of a web page provided by the test target system 12 according to the third embodiment. The USER text field and the login button are elements described by HTML code and Java script code and drawn on the screen of the web browser. Until now, the automatic test execution application records the operation contents on the screen for these elements in association with the ID of each element, and executes the automatic test using the recorded data.

その一方、図17のPASSWORDのテキストフィールドは、Javaアプレットコードにより記述され、ウェブブラウザの画面に描画されたコンテンツである。これまでのテスト自動実行アプリケーションは、Javaアプレットにより描画されたコンテンツのIDを取得できず、その結果、当該コンテンツに対する自動テストを実行することができなかった。   On the other hand, the text field of PASWORD in FIG. 17 is content written in the Java applet code and drawn on the screen of the web browser. Conventional test automatic execution applications cannot acquire the ID of the content drawn by the Java applet, and as a result, cannot execute the automatic test for the content.

そこで第3の実施の形態のテスト実行装置は、エレメントのレベルでの操作記録を試行するとともに、より低レベル、具体的には、ウェブブラウザの画面における操作位置のレベルで操作を記録する。これにより、少なくとも操作位置のレベルでの操作記録を確保する。テスト実行装置は、2つのレベルでの操作記録を選択的に使い分けて、ウェブページに対する操作を再現する。これにより、ウェブページに対する操作の再現性を高め、自動テストの範囲を拡張する。   Therefore, the test execution apparatus according to the third embodiment tries to record the operation at the element level and records the operation at a lower level, more specifically, at the level of the operation position on the screen of the web browser. Thereby, an operation record at least at the level of the operation position is secured. The test execution device reproduces the operation on the web page by selectively using operation records at two levels. This enhances the reproducibility of operations on web pages and extends the scope of automated testing.

以下、図面を参照しつつ、第3の実施の形態の構成を詳細に説明するが、他の実施の形態における装置・機能と同一もしくは対応するものには同一の符号を付している。以下では、他の実施の形態と重複する説明は適宜省略する。なお、第3の実施の形態の構成と他の実施の形態の構成を適宜組み合わせ、また置き換えることが可能であることはもちろんである。   Hereinafter, the configuration of the third embodiment will be described in detail with reference to the drawings. Components identical or corresponding to those in the other embodiments are denoted by the same reference numerals. Below, the description which overlaps with other embodiment is abbreviate | omitted suitably. Of course, the configuration of the third embodiment and the configuration of the other embodiments can be appropriately combined and replaced.

図18は、第3の実施の形態のテスト実行装置10の機能構成を示すブロック図であり、図15に対応する。第3の実施の形態のテスト実行装置10は、操作記録部44をさらに備える。他の構成は第1および第2の実施の形態と同様である。なお、第1および第2の実施の形態では明示的に言及していないが、テスト実行装置10には、キーボード・マウス入力や画面出力といった入出力機能やディスクやメモリの管理等、多くのアプリケーションソフトから共通して利用される基本的な機能を提供し、コンピュータ全体を管理するオペレーティングシステム(OS)がインストールされている。   FIG. 18 is a block diagram illustrating a functional configuration of the test execution apparatus 10 according to the third embodiment, and corresponds to FIG. 15. The test execution device 10 according to the third embodiment further includes an operation recording unit 44. Other configurations are the same as those of the first and second embodiments. Although not explicitly mentioned in the first and second embodiments, the test execution apparatus 10 has many applications such as input / output functions such as keyboard / mouse input and screen output, and disk / memory management. An operating system (OS) that provides basic functions commonly used by software and manages the entire computer is installed.

操作記録部44は、ウェブページに対する試験担当者の操作に応じてアクションシートを自動生成する。自動テストの準備として、試験担当者は、ウェブブラウザの画面(ディスプレイに表示されたウェブブラウザのウィンドウとも言え、以下「ブラウザウィンドウ」と呼ぶ。)にテスト対象のウェブページを表示させる。そしてブラウザウィンドウに表示されたウェブページのエレメントに対して、マウスやキーボード等の入力装置を介した各種操作を入力する。例えば、テキストフィールドに対する文字入力操作や、ボタンオブジェクトに対するクリック操作、アイコンに対するドラッグ操作を入力する。操作記録部44は、ブラウザウィンドウに表示されたウェブページに対する試験担当者の操作内容を示すデータを格納したアクションシートを生成する。   The operation recording unit 44 automatically generates an action sheet according to the operation of the person in charge of the test on the web page. As preparation for the automatic test, the person in charge of the test causes the web page to be tested to be displayed on the screen of the web browser (also referred to as a web browser window displayed on the display, hereinafter referred to as “browser window”). Various operations via an input device such as a mouse or a keyboard are input to the elements of the web page displayed in the browser window. For example, a character input operation for a text field, a click operation for a button object, and a drag operation for an icon are input. The operation recording unit 44 generates an action sheet storing data indicating the operation details of the tester on the web page displayed in the browser window.

操作記録部44は、高レベル記録部45と低レベル記録部46を含む。高レベル記録部45は、ブラウザウィンドウのウェブページへ入力された操作の識別情報に対応付けて、そのウェブページに配置されたエレメントであり、試験対象者が操作したエレメントの識別情報であるエレメントロケータをアクションシートへ記録する。以下、高レベル記録部45がアクションシートへ記録するエレメントIDを含むエレメントロケータの情報を高レベル操作情報とも呼ぶ。   The operation recording unit 44 includes a high level recording unit 45 and a low level recording unit 46. The high-level recording unit 45 is an element arranged on the web page in association with the operation identification information input to the web page of the browser window, and an element locator that is the identification information of the element operated by the test subject Is recorded in the action sheet. Hereinafter, the information of the element locator including the element ID recorded on the action sheet by the high level recording unit 45 is also referred to as high level operation information.

具体的には、高レベル記録部45は、COM(Component Object Model)が提供する公知のAPIを呼び出すことにより、ブラウザウィンドウにおける操作種類と、操作対象エレメントのIDを取得する。高レベル記録部45がJava言語により実装される場合、COMで予め定められた操作対象エレメントのIDを取得するための公知のメソッドをcom4jを介して呼び出してもよい。また、ブラウザウィンドウをターゲットとしてイベントリスナやアクションリスナを登録し、エレメント操作時にCOMコンポーネント側からコールバック関数を呼び出させることで、操作種類と操作対象エレメントのIDを取得してもよい。   Specifically, the high-level recording unit 45 obtains the operation type in the browser window and the ID of the operation target element by calling a publicly known API provided by COM (Component Object Model). When the high-level recording unit 45 is implemented in the Java language, a publicly known method for acquiring the ID of the operation target element predetermined by COM may be called through the com4j. Alternatively, an event listener or an action listener may be registered with a browser window as a target, and an operation type and an ID of an operation target element may be acquired by calling a callback function from the COM component side when an element is operated.

低レベル記録部46は、ブラウザウィンドウのウェブページへ入力された操作の識別情報に対応付けて、当該ブラウザウィンドウにおける操作位置を示す座標情報をアクションシートへ記録する。座標情報は、ブラウザウィンドウのクライアント領域における左上端を原点とした座標系でのX座標とY座標の組み合わせであってもよい。以下、低レベル記録部46がアクションシートへ記録する座標情報を低レベル操作情報とも呼ぶ。   The low level recording unit 46 records coordinate information indicating the operation position in the browser window in the action sheet in association with the operation identification information input to the web page of the browser window. The coordinate information may be a combination of an X coordinate and a Y coordinate in a coordinate system with the upper left corner in the client area of the browser window as the origin. Hereinafter, the coordinate information recorded on the action sheet by the low-level recording unit 46 is also referred to as low-level operation information.

具体的には、低レベル記録部46は、OSが提供する公知のAPI(OSがWindows(登録商標)であればWindowsAPI)を呼び出すことにより、ブラウザウィンドウにおける操作種類と、操作位置を示す座標を取得する。低レベル記録部46がJava言語で実装される場合、JNI(Java Native Interface)を介してOSのネイティブコードを呼び出してもよい。また、ブラウザウィンドウに対する操作種類と操作位置の座標を取得するコールバック関数をOS側から呼び出させることで、操作種類と操作位置の座標を取得してもよい。   Specifically, the low-level recording unit 46 calls the well-known API provided by the OS (Windows API if the OS is Windows (registered trademark)), thereby obtaining the operation type in the browser window and the coordinates indicating the operation position. get. When the low-level recording unit 46 is implemented in the Java language, the native code of the OS may be called through JNI (Java Native Interface). Further, the operation type and the coordinate of the operation position may be acquired by calling a callback function for acquiring the operation type and the coordinate of the operation position for the browser window from the OS side.

なお操作記録部44は、試験担当者が事前に操作するテスト対象ウェブページのコードに、操作種類および操作位置の座標を取得するJavaスクリプトコードを追加した後、テスト対象ウェブページをウェブブラウザに表示させてもよい。低レベル記録部46は、上記のJavaスクリプトコードが出力する操作種類と操作位置の座標を取得してアクションシートへ記録してもよい。   The operation recording unit 44 adds a Java script code for acquiring the operation type and the coordinates of the operation position to the code of the test target web page that the tester operates in advance, and then displays the test target web page on the web browser. You may let them. The low level recording unit 46 may acquire the operation type and the coordinates of the operation position output by the Java script code and record them in the action sheet.

テスト実行部34は、第1および第2の実施の形態と同様に、アクションシート、データシート、シナリオシートにしたがって、テスト対象システム12に対する自動テストを実行する。第3の実施の形態のアクションシートには、低レベル記録部46による低レベル操作情報は常に格納されるが、操作対象がJavaアプレットのコンテンツである場合等、高レベル記録部45による高レベル操作情報は格納されない場合がある。テスト実行部34は、テスト対象のウェブページをブラウザウィンドウに表示させ、高レベル操作情報と低レベル操作情報を選択的に使用して、ウェブページに対して入力された操作を再現する。   Similarly to the first and second embodiments, the test execution unit 34 executes an automatic test for the test target system 12 according to an action sheet, a data sheet, and a scenario sheet. The action sheet of the third embodiment always stores low-level operation information by the low-level recording unit 46, but the high-level operation by the high-level recording unit 45, such as when the operation target is a Java applet content. Information may not be stored. The test execution unit 34 displays the web page to be tested in the browser window, and reproduces the operation input to the web page by selectively using the high-level operation information and the low-level operation information.

テスト実行部34は、ウェブページに対する1つの操作を示すアクションシートの1レコードに、高レベル操作情報と低レベル操作情報の両方が格納されている場合、高レベル操作情報を選択する。このときテスト実行部34は、高レベル操作情報が示す操作対象エレメントに対して、その高レベル操作情報と対応付けられた操作を入力する。例えば、操作内容を指定する情報と操作対象エレメントのIDを引数として、COMが提供するエレメント操作用の公知のAPIを呼び出すことにより、ブラウザウィンドウに表示されたウェブページ内のエレメントを操作してもよい。   The test execution unit 34 selects the high-level operation information when both the high-level operation information and the low-level operation information are stored in one record of the action sheet indicating one operation on the web page. At this time, the test execution unit 34 inputs an operation associated with the high-level operation information to the operation target element indicated by the high-level operation information. For example, even if an element in a web page displayed in a browser window is operated by calling a well-known API for element operation provided by COM using information specifying the operation content and the ID of the operation target element as arguments, Good.

テスト実行部34は、ウェブページに対する1つの操作を示すアクションシートの1レコードに、低レベル操作情報のみが格納されている場合、または、高レベル操作情報にもとづくエレメント操作に失敗した場合、低レベル操作情報を選択する。このときテスト実行部34は、ブラウザウィンドウにおける低レベル操作情報が示す座標位置に、その低レベル操作情報と対応付けられた操作を入力する。例えば、操作内容を指定する情報と操作位置の座標を引数として、OSが提供する入力操作用の公知のAPIを呼び出すことにより、ブラウザウィンドウに表示されたウェブページの特定の位置において操作を入力してもよい。   The test execution unit 34, when only low level operation information is stored in one record of an action sheet indicating one operation on a web page, or when an element operation based on the high level operation information fails, Select operation information. At this time, the test execution unit 34 inputs an operation associated with the low-level operation information at the coordinate position indicated by the low-level operation information in the browser window. For example, an operation is input at a specific position of a web page displayed in a browser window by calling a well-known API for input operation provided by the OS with information specifying the operation content and the coordinates of the operation position as arguments. May be.

なおテスト実行部34は、高レベル操作情報に基づくエレメント操作時に、COMのAPI呼び出し後、所定の待機時間が経過しても、予め定められた応答を受け付けないことをもって、エレメント操作の失敗を検出してもよい。また、COMのAPI呼び出し後、呼び出し先のCOMコンポーネントから所定のエラーが返された場合に、エレメント操作の失敗を検出してもよい。   The test execution unit 34 detects an element operation failure by not accepting a predetermined response even when a predetermined waiting time has elapsed after calling the COM API during element operation based on high-level operation information. May be. Further, after a COM API call, when a predetermined error is returned from the call destination COM component, an element operation failure may be detected.

テスト実行部34は、低レベル操作情報を選択した場合に、その旨を高レベル記録部45へ通知する。高レベル記録部45は、テスト実行部34が低レベル操作情報に基づいてウェブページを操作することを検出すると、操作対象エレメントの情報取得を試行する。例えば、テスト実行部34によるテスト実行時にコールバック関数がCOM側から呼び出された場合に、操作内容と操作対象エレメントのIDを取得する。高レベル記録部45は、操作内容に対応付けて操作対象エレメントのIDをアクションシートへ追加記録する。   When the low-level operation information is selected, the test execution unit 34 notifies the high-level recording unit 45 to that effect. When the high-level recording unit 45 detects that the test execution unit 34 operates the web page based on the low-level operation information, the high-level recording unit 45 tries to acquire information on the operation target element. For example, when the callback function is called from the COM side during the test execution by the test execution unit 34, the operation content and the ID of the operation target element are acquired. The high level recording unit 45 additionally records the ID of the operation target element in the action sheet in association with the operation content.

以上の構成によるテスト時の動作を以下説明する。以下では、図17に示すウェブページに対する操作を記録し、またその操作を再現する場合の動作を説明する。   The operation during the test with the above configuration will be described below. In the following, an operation for recording an operation on the web page shown in FIG. 17 and reproducing the operation will be described.

試験担当者は、テスト対象システム12の自動テストを開始させる前に、そのテストで実行させるべきウェブページに対する操作を記録したアクションシートをテスト実行装置10に自動生成させる。具体的には、試験担当者は、テスト実行装置10にインストールされたテスト自動実行アプリケーションを起動し、ブラウザウィンドウにテスト対象ウェブページを表示させる。このとき操作記録部44は、図19に示すアクションシートの番号1のレコード(以下「レコード1」と呼ぶ、他のレコードも同様)を記録する。   Before starting the automatic test of the test target system 12, the person in charge of the test causes the test execution device 10 to automatically generate an action sheet that records operations on the web page to be executed in the test. Specifically, the person in charge of the test starts an automatic test execution application installed in the test execution device 10 and displays a test target web page in a browser window. At this time, the operation recording unit 44 records the record of the action sheet number 1 shown in FIG. 19 (hereinafter referred to as “record 1”, the same applies to other records).

試験担当者は、HTMLコードにより描画されたUSERのテキストフィールドへ文字列を入力する。このとき低レベル記録部46は、OSのAPIを介して、文字列入力を示す操作種類情報と操作位置の座標を取得し、アクションシートのレコード2に記録する。
操作位置の座標は、文字入力操作のために試験担当者がクリックした画面上の位置であり、文字入力の開始位置とも言え、ここでは(300,600)である。
The person in charge of the test inputs a character string into the USER text field drawn by the HTML code. At this time, the low level recording unit 46 acquires the operation type information indicating the character string input and the coordinates of the operation position via the OS API, and records them in the record 2 of the action sheet.
The coordinate of the operation position is a position on the screen where the test person clicked for the character input operation, and can be said to be a character input start position, and is (300, 600) here.

並行して高レベル記録部45は、COMのAPIを介して、文字列入力を示す操作種類情報と操作対象コンポーネントのID(ここではuser)を取得し、アクションシートのレコード2に記録する。図19の例では、パラメータ2において、高レベル操作情報||低レベル操作情報の形式で記録する。高レベル操作情報は、高レベル記録部45が取得したエレメントのIDを含むエレメントロケータであり、低レベル操作情報は、低レベル記録部46が取得した座標情報である。   In parallel, the high-level recording unit 45 acquires the operation type information indicating the character string input and the ID (in this case, user) of the operation target component via the COM API, and records them in the record 2 of the action sheet. In the example of FIG. 19, the parameter 2 is recorded in the format of high level operation information || low level operation information. The high level operation information is an element locator including the element ID acquired by the high level recording unit 45, and the low level operation information is coordinate information acquired by the low level recording unit 46.

なお低レベル記録部46は、OSのAPIを介して取得する操作種類情報と、テスト自動実行アプリケーションが予め定める関数との対応関係を保持する。例えば、OSのAPIを介して文字列入力を示す操作種類情報を取得した場合、その操作種類に対応付けられた関数「typeText」をアクションシートに記録する。同様に高レベル記録部45は、COMのAPIを介して取得する操作種類情報と、テスト自動実行アプリケーションが予め定める関数との対応関係を保持する。例えば、COMのAPIを介して文字列入力を示す操作種類情報を取得した場合、その操作種類に対応付けられた関数「typeText」をアクションシートに記録する。   Note that the low-level recording unit 46 holds a correspondence relationship between operation type information acquired via the OS API and a function predetermined by the test automatic execution application. For example, when operation type information indicating character string input is acquired via the API of the OS, a function “typeText” associated with the operation type is recorded in the action sheet. Similarly, the high-level recording unit 45 holds a correspondence relationship between operation type information acquired via the COM API and a function predetermined by the test automatic execution application. For example, when the operation type information indicating character string input is acquired via the COM API, the function “typeText” associated with the operation type is recorded in the action sheet.

試験担当者は、Javaアプレットで描画されたPASSWORDのテキストフィールドへ文字列を入力する。このとき低レベル記録部46は、OSのAPIを介して、文字列入力を示す操作種類情報と操作位置の座標(ここでは300,800)を取得し、アクションシートのレコード3に記録する。PASSWORDのテキストフィールドはJavaアプレットコードで描画されているため、高レベル記録部45は、COMのAPIを介して、文字列入力を示す操作種類情報と操作対象コンポーネントのIDを取得することはできない。したがって高レベル操作情報は記録されない。   The person in charge of the test inputs a character string into the text field of the PASWORD drawn by the Java applet. At this time, the low-level recording unit 46 acquires the operation type information indicating the character string input and the coordinates of the operation position (300, 800 in this case) via the OS API, and records them in the record 3 of the action sheet. Since the PASWORD text field is drawn with Java applet code, the high-level recording unit 45 cannot acquire the operation type information indicating the character string input and the ID of the operation target component via the COM API. Therefore, high level operation information is not recorded.

試験担当者は、HTMLコードにより描画されたログインボタンをクリックすることにより、USERテキストフィールドおよびPASSWORDテキストフィールドへの入力データをウェブアプリケーションサーバ14へPOSTさせる。これにより、ウェブアプリケーションサーバ14(もしくは不図示の認証サーバ)が実行するユーザ認証処理をテストする。   The person in charge of the test causes the web application server 14 to post the input data to the USER text field and the PASSWORD text field by clicking the login button drawn by the HTML code. Accordingly, the user authentication process executed by the web application server 14 (or an authentication server (not shown)) is tested.

このとき低レベル記録部46は、OSのAPIを介して、クリック操作を示す操作種類情報と操作位置の座標(クリック位置であり、ここでは600,900)を取得し、アクションシートのレコード4に記録する。また低レベル記録部46は、OSのAPIが返す操作種類情報「クリック操作」に予め対応付けられた関数「clickButton」をアクションシートへ記録する。   At this time, the low-level recording unit 46 acquires the operation type information indicating the click operation and the coordinates of the operation position (click position, here, 600, 900) via the OS API, and stores them in the record 4 of the action sheet. Record. The low-level recording unit 46 records the function “clickButton” previously associated with the operation type information “click operation” returned by the OS API in the action sheet.

並行して高レベル記録部45は、COMのAPIを介して、クリック操作を示す操作種類情報と操作対象コンポーネントのID(ここではlogin)を取得し、アクションシートのレコード4に記録する。また高レベル記録部45は、COMのAPIが返す操作種類情報「クリック操作」に予め対応付けられた関数「clickButton」をアクションシートへ記録する。以上のステップにより、試験担当者の操作を再現するための図19のアクションシートが自動生成される。   In parallel, the high-level recording unit 45 acquires the operation type information indicating the click operation and the ID (here, login) of the operation target component via the COM API, and records them in the record 4 of the action sheet. The high-level recording unit 45 records the function “clickButton” previously associated with the operation type information “click operation” returned by the COM API in the action sheet. Through the above steps, the action sheet of FIG. 19 for reproducing the operation of the person in charge of the test is automatically generated.

なお、図19のパラメータ2「エレメントロケータ」の値は、第1の実施の形態で示したようにデータシートへ設定し、データシートにおける値の設定有無によりテストの実行有無を規定してもよい。この場合、高レベル記録部45および低レベル記録部46は、エレメントロケータと座標をデータシートへ格納する。そして、アクションシートのパラメータ2のデータシート列名カラムに、エレメントロケータと座標を格納したデータシートのカラム名を設定する。   Note that the value of parameter 2 “element locator” in FIG. 19 may be set in the data sheet as described in the first embodiment, and the presence or absence of the test may be defined depending on whether or not the value is set in the data sheet. . In this case, the high level recording unit 45 and the low level recording unit 46 store the element locator and coordinates in the data sheet. Then, the column name of the data sheet storing the element locator and coordinates is set in the data sheet column name column of parameter 2 of the action sheet.

また、図19のパラメータ3は、テキストフィールドへの入力データをデータシートで定めることを規定している。パラメータ3は、試験担当者がデータシートの列名を勘案して手動で設定してもよいが、操作記録部44が自動で設定してもよい。例えば操作記録部44は、文字入力等の所定操作を示す関数をアクションシートに記録した場合に、その関数が予め定めるパラメータのうち入力データを設定すべきパラメータについてはデータシートで値を定めるようデータシート列名カラムに所定値(高レベル記録部45が取得したエレメントID等)を設定してもよい。   Further, parameter 3 in FIG. 19 defines that the input data to the text field is defined by a data sheet. The parameter 3 may be set manually by the person in charge of the test in consideration of the column name of the data sheet, but may be set automatically by the operation recording unit 44. For example, when the operation recording unit 44 records a function indicating a predetermined operation such as character input on the action sheet, the parameter for which input data is to be set among parameters predetermined by the function is set so that the value is determined on the data sheet. A predetermined value (such as an element ID acquired by the high level recording unit 45) may be set in the sheet row name column.

続いて試験担当者はデータシートを作成する。図20はデータシートを示す。データシートの列名「user」「password」は、図19のアクションシートにおけるパラメータ3のデータシート列名に対応する。試験担当者は、図17のUSERテキストフィールドに設定すべき値を、データシートのuserカラムに設定し、図17のPASSWORDテキストフィールドに設定すべき値を、データシートのpasswordカラムに設定する。   The tester then creates a data sheet. FIG. 20 shows a data sheet. The column names “user” and “password” of the data sheet correspond to the data sheet column name of parameter 3 in the action sheet of FIG. The person in charge of testing sets the value to be set in the USER text field of FIG. 17 in the user column of the data sheet, and sets the value to be set in the PASSWORD text field of FIG. 17 in the password column of the data sheet.

続いて試験担当者はシナリオシートを作成する。図21はシナリオシートを示す。同図では、図19のアクションシートのファイル名と、図20のデータシートのファイル名を指定している。行カラムの「1−3」は、データシートの行1〜行3に格納されたデータを順次使用することを指定するものである。この例では3ユーザのログイン認証を連続してテストするシナリオとなる。なお、第1の実施の形態の図9で示したように、ログイン後に他のアクションを実行すべき場合は、シナリオシートのレコード2以降にアクションシートとデータシートの組み合わせをさらに指定する。   The tester then creates a scenario sheet. FIG. 21 shows a scenario sheet. In the figure, the file name of the action sheet in FIG. 19 and the file name of the data sheet in FIG. 20 are designated. “1-3” in the row column specifies that the data stored in the rows 1 to 3 of the data sheet are used sequentially. In this example, a scenario in which the login authentication of three users is continuously tested is shown. As shown in FIG. 9 of the first embodiment, when another action is to be executed after login, a combination of an action sheet and a data sheet is further specified after record 2 of the scenario sheet.

試験担当者は、図21のシナリオシートを指定したテスト開始指示をテスト自動実行アプリケーションへ入力する。テスト実行部34は、図19のアクションシートと図20のデータシートにしたがってウェブページの自動操作を開始する。テスト実行部34は、アクションシートのレコード1にしたがってテスト対象ウェブページをウェブアプリケーションサーバ14から取得し、ブラウザウィンドウに表示させる。   The person in charge of the test inputs a test start instruction specifying the scenario sheet in FIG. 21 to the test automatic execution application. The test execution unit 34 starts the automatic operation of the web page according to the action sheet of FIG. 19 and the data sheet of FIG. The test execution unit 34 acquires the test target web page from the web application server 14 according to the record 1 of the action sheet, and displays it on the browser window.

アクションシートのレコード2には、高レベル操作情報と低レベル操作情報の両方が格納されているが、テスト実行部34は高レベル操作情報を選択する。テスト実行部34は、アクションシートのレコード2に設定された高レベル操作情報のエレメントロケータと、データシートの行1に設定されたuser文字列を引数としてtypeText関数を呼び出す。パラメータ2として高レベル操作情報(すなわちエレメントロケータ)を指定した場合、typeText関数の処理として、(1)エレメントロケータが示すUSERテキストフィールドをフォーカスし、(2)当該テキストフィールドへuser文字列を設定し、(3)USERテキストフィールドのフォーカスを解除する(フォーカスアウト)操作をブラウザウィンドウへ入力する。   Record 2 of the action sheet stores both high-level operation information and low-level operation information, but the test execution unit 34 selects the high-level operation information. The test execution unit 34 calls the typeText function with the element locator of the high-level operation information set in the record 2 of the action sheet and the user character string set in the row 1 of the data sheet as arguments. When high-level operation information (that is, element locator) is specified as parameter 2, as the processing of the typeText function, (1) the USER text field indicated by the element locator is focused, and (2) the user character string is set in the text field. (3) An operation for releasing the focus of the USER text field (focus out) is input to the browser window.

アクションシートのレコード3には、低レベル操作情報のみ格納されているため、テスト実行部34は低レベル操作情報を選択する。テスト実行部34は、アクションシートのレコード3に設定された低レベル操作情報の座標と、データシートの行1に設定されたpassword文字列を引数としてtypeText関数を呼び出す。パラメータ2として低レベル操作情報(すなわち座標)を指定した場合、typeText関数の処理として、(1)指定された座標をクリックし、(2)password文字列を設定し、(3)フォーカスアウトする操作をブラウザウィンドウへ入力する。   Since only low level operation information is stored in the record 3 of the action sheet, the test execution unit 34 selects the low level operation information. The test execution unit 34 calls the typeText function with the coordinates of the low-level operation information set in the record 3 of the action sheet and the password character string set in the row 1 of the data sheet as arguments. When low-level operation information (that is, coordinates) is specified as parameter 2, as the processing of the typeText function, (1) click the specified coordinates, (2) set the password string, and (3) perform the focus-out operation In the browser window.

このようなtypeText関数による複数種類の処理は、オーバーロード(Java言語の場合等)により実現してもよい。また、typeText関数内部で引数が高レベル操作情報か低レベル操作情報かを識別し、その識別結果に応じて異なる処理を実行するようtypeText関数を実装してもよい。   A plurality of types of processing using such a typeText function may be realized by overloading (in the case of Java language or the like). In addition, the typeText function may be implemented so as to identify whether the argument is high-level operation information or low-level operation information within the typeText function and execute different processing depending on the identification result.

テスト実行部34が低レベル操作情報に基づくウェブページ操作を実行する際、高レベル記録部45は、COMのAPIを介して、操作対象エレメントの情報取得を試行する。操作対象エレメントのIDを取得した場合、高レベル記録部45は、実行された操作に対応づけて高レベル操作情報をアクションシートへ記録する。この例では、アクションシートのレコード3に対して、高レベル操作情報であるエレメントロケータを追加的に格納する。高レベル操作情報が記録された場合、次回以降のテスト実行時には高レベル操作情報に基づくウェブページ操作が実行される。   When the test execution unit 34 executes a web page operation based on the low-level operation information, the high-level recording unit 45 tries to acquire information on the operation target element via the COM API. When acquiring the ID of the operation target element, the high level recording unit 45 records the high level operation information in the action sheet in association with the executed operation. In this example, an element locator that is high-level operation information is additionally stored in the record 3 of the action sheet. When the high-level operation information is recorded, the web page operation based on the high-level operation information is executed at the next and subsequent tests.

アクションシートのレコード4には、高レベル操作情報と低レベル操作情報の両方が格納されているが、テスト実行部34は高レベル操作情報を選択する。テスト実行部34は、アクションシートのレコード4に設定された高レベル操作情報のエレメントロケータを引数としてclickButton関数を呼び出す。パラメータ2として高レベル操作情報(すなわちエレメントロケータ)を指定した場合、clickButton関数の処理として、指定されたエレメントロケータをクリックする操作をブラウザウィンドウへ入力する。なお、パラメータ2として低レベル操作情報(すなわち座標)を指定した場合は、clickButton関数の処理として、指定された座標をクリックする操作をブラウザウィンドウへ入力する。   The record 4 of the action sheet stores both high-level operation information and low-level operation information, but the test execution unit 34 selects the high-level operation information. The test execution unit 34 calls the clickButton function with the element locator of the high-level operation information set in the record 4 of the action sheet as an argument. When high-level operation information (that is, element locator) is specified as parameter 2, an operation of clicking the specified element locator is input to the browser window as the clickButton function. When low-level operation information (that is, coordinates) is specified as parameter 2, an operation of clicking the specified coordinates is input to the browser window as the clickButton function.

テスト実行部34は、高レベル操作情報に基づくウェブページ操作の失敗を検出した場合、低レベル操作情報に基づくウェブページ操作を実行する。以上の処理を、データシートの行2、行3の分繰り返す。このように、アクションシートに記録された試験担当者によるウェブページの操作を、データシートとシナリオシートの設定に応じて複数回繰り返すことにより、様々なバリエーションの動作テストを効率的に実現できる。   When the test execution unit 34 detects a failure in the web page operation based on the high-level operation information, the test execution unit 34 executes the web page operation based on the low-level operation information. The above processing is repeated for row 2 and row 3 of the data sheet. As described above, the operation test of various variations can be efficiently realized by repeating the operation of the web page by the test person recorded in the action sheet a plurality of times according to the settings of the data sheet and the scenario sheet.

なお、ウェブページに対する操作として、ここでは文字入力とボタンクリックを示したが、他の種類の操作も記録し、再現可能なことはもちろんである。例えば試験担当者がエレメント(アイコン等)のドラッグ操作を実施した場合、高レベル記録部45は、ドラッグ操作とエレメントロケータを対応付けた高レベル操作情報を記録する。低レベル記録部46は、ドラッグ操作と、ドラッグ開始位置のX座標およびY座標、ドラッグ終了位置のX座標およびY座標を対応付けた低レベル操作情報を記録する。テスト実行部34は、高レベル操作情報に基づいてCOMのAPIを呼び出し、または、低レベル操作情報に基づいてOSのAPIを呼び出すことによりドラッグ操作を再現する。   Here, as the operations for the web page, the character input and the button click are shown, but other types of operations are also recorded and can be reproduced. For example, when the tester performs a drag operation of an element (icon or the like), the high level recording unit 45 records high level operation information in which the drag operation and the element locator are associated with each other. The low level recording unit 46 records low level operation information in which the drag operation is associated with the X and Y coordinates of the drag start position and the X and Y coordinates of the drag end position. The test execution unit 34 reproduces the drag operation by calling the COM API based on the high-level operation information or by calling the OS API based on the low-level operation information.

第3の実施の形態のテスト実行装置10によると、ウェブページ等の電子文書に対する操作を操作対象のエレメントのレベル(高レベル)で記録するとともに、画面上での操作位置のレベル(低レベル)で記録する。そして、高低それぞれのレベルでの操作記録を選択的に使用して文書に対する操作を再現する。これにより、Javaアプレットにより描画されたコンテンツが操作された場合等、高レベル操作情報を記録できない場合も低レベル操作情報を確保し、自動テストでの再現が可能になる。実施の形態では、Javaアプレットの例を示したが、高レベル操作情報を記録できない他の種類のエレメント、例えばPDFやFlash(商標または登録商標)により描画されたオブジェクトが文書に含まれる場合も同様の効果を奏し、自動テストが可能な範囲を拡張することができる。   According to the test execution device 10 of the third embodiment, the operation on the electronic document such as a web page is recorded at the level (high level) of the element to be operated, and the level of the operation position on the screen (low level). Record with. Then, the operation record at each level is selectively used to reproduce the operation on the document. As a result, even when high-level operation information cannot be recorded, such as when content drawn by a Java applet is operated, low-level operation information can be ensured and reproduced in an automatic test. In the embodiment, an example of a Java applet has been described. However, the same applies when an object drawn by another type of element that cannot record high-level operation information, for example, PDF or Flash (trademark or registered trademark) is included in the document. As a result, the range in which automatic testing can be performed can be expanded.

またテスト実行装置10によると、文書に対する操作再現時に、低レベル操作情報より高レベル操作情報を優先して使用する。低レベル操作情報は、ディスプレイ上の座標を記録したものであるため、ディスプレイの種類や解像度が変更された場合に再現性が低くなる可能性がある。高レベル操作情報は、ディスプレイの種類や解像度等、ユーザインタフェース環境への依存度が低いため、高レベルの操作記録を優先して使用することで、操作の再現性を高めることができる。   Further, according to the test execution device 10, the high-level operation information is preferentially used over the low-level operation information when reproducing the operation on the document. Since the low-level operation information is obtained by recording coordinates on the display, there is a possibility that the reproducibility may be lowered when the display type or resolution is changed. Since the high-level operation information is less dependent on the user interface environment such as the display type and resolution, the reproducibility of the operation can be improved by using the high-level operation record with priority.

またテスト実行装置10によると、高レベル操作情報に基づく文書操作に失敗した場合に、低レベル操作情報に基づく文書操作を試行する。これにより、仮に文書内のエレメントIDが変更された場合も操作の再現性を高め、動作テストの失敗を回避しやすくなる。また、アクションシートを再生成するための試験担当者の負担も軽減できる。   Further, according to the test execution device 10, when the document operation based on the high level operation information fails, the document operation based on the low level operation information is tried. As a result, even if the element ID in the document is changed, the reproducibility of the operation is improved, and the failure of the operation test is easily avoided. In addition, the burden on the test personnel for regenerating the action sheet can be reduced.

またテスト実行装置10によると、低レベル操作情報に基づく文書操作時に、操作対象エレメント(コンテンツ)の情報を取得可能であれば高レベル操作情報を新たに記録する。これにより、文書が変更された場合や、テスト自動実行アプリケーションの機能が拡張された場合に、高レベル操作情報を追加的に記録でき、アクションシートの最適化を自動的に図ることができる。   Further, according to the test execution device 10, when a document operation based on low-level operation information is performed, if information on an operation target element (content) can be acquired, high-level operation information is newly recorded. As a result, when the document is changed or the function of the automatic test execution application is expanded, high-level operation information can be additionally recorded, and the action sheet can be automatically optimized.

文書が変更された場合とは、例えば、低レベル操作情報しか記録できないエレメントが、高レベル操作情報を記録できるエレメントに置き換えられた場合である。また、テスト自動実行アプリケーションの機能が拡張された場合とは、例えば、当該アプリケーションがJavaアプレットに対応し、すなわちJavaアプレットのオブジェクトの識別情報を取得可能になり、Javaアプレットのオブジェクトを指定した操作が可能になった場合である。また例えば、テスト自動実行アプリケーションがFlashに対応し、すなわち、ActionScriptのオブジェクトの識別情報を取得可能になり、ActionScriptのオブジェクトを指定した操作が可能になった場合である。   The case where the document is changed is, for example, a case where an element that can record only low-level operation information is replaced with an element that can record high-level operation information. Further, when the function of the test automatic execution application is expanded, for example, the application corresponds to the Java applet, that is, the identification information of the Java applet object can be acquired, and the operation specifying the Java applet object is performed. This is when it becomes possible. In addition, for example, the test automatic execution application corresponds to Flash, that is, the identification information of the ActionScript object can be acquired, and the operation specifying the ActionScript object becomes possible.

以上、本発明を第3の実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the third embodiment. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.

上記第3の実施の形態では、高レベル操作情報の取得有無にかかわらず低レベル操作情報をアクションシートへ記録することとしたが、高レベル操作情報が取得できた場合は低レベル操作情報の取得と記録をスキップしてもよい。また上記第3の実施の形態では、高レベル操作情報の取得方法として、COMを介してエレメントIDを取得することを示したが、テスト自動実行アプリケーションの機能拡張により、高レベル操作情報の別の取得方法が追加されることもあり得る。その場合、それぞれの方法で高レベル操作情報が取得できるか否かを判定してもよい。例えば以下のような処理を実行してもよい。   In the third embodiment, the low-level operation information is recorded in the action sheet regardless of whether the high-level operation information is acquired. However, if the high-level operation information can be acquired, the low-level operation information is acquired. Recording may be skipped. In the third embodiment, the element ID is acquired via COM as a method for acquiring the high-level operation information. However, another function of the high-level operation information can be obtained by expanding the function of the test automatic execution application. An acquisition method may be added. In that case, it may be determined whether or not high-level operation information can be acquired by each method. For example, the following processing may be executed.

(1)高レベル操作情報取得1:COMを介してエレメントIDを取得する、情報が取得できなければ(2)へ進む。
(2)高レベル操作情報取得2:機能拡張により追加された手法Aで高レベル操作情報を取得する、取得できなければ(3)へ進む。
(3)高レベル操作情報取得3:機能拡張により追加された手法Bで高レベル操作情報を取得する、取得できなければ(4)へ進む。
(4)低レベル操作情報取得:高レベル操作情報が取得できないため、低レベル操作情報を取得する。実施の形態のように高レベル操作情報の取得可否にかかわらず常に低レベル操作情報を取得してもよい。
これにより、高レベル操作情報を取得する確実性を一層高めることができる。
(1) High-level operation information acquisition 1: Acquire element ID via COM. If information cannot be acquired, proceed to (2).
(2) High-level operation information acquisition 2: High-level operation information is acquired by the method A added by function expansion. If it cannot be acquired, the process proceeds to (3).
(3) High-level operation information acquisition 3: High-level operation information is acquired by the method B added by function expansion. If it cannot be acquired, the process proceeds to (4).
(4) Acquisition of low-level operation information: Since high-level operation information cannot be acquired, low-level operation information is acquired. As in the embodiment, the low-level operation information may always be acquired regardless of whether the high-level operation information can be acquired.
Thereby, the certainty of acquiring high-level operation information can be further enhanced.

また、上記第3の実施の形態では言及していないが、図19に示すようにアクションシートに「レベル」のカラムを設けてもよい。「レベル」のカラムの値(以下「レベル値」と呼ぶ。)として高または低を設定可能であってよく、そのデフォルト値は高であってもよい。テスト実行部34は、レベル値に一致する高レベル操作情報または低レベル操作情報に基づいてウェブページを操作してもよい。例えば、レベル値が高であれば実施の形態と同様に操作する一方、レベル値が低であれば、アクションシートに高レベル操作情報が記録されていても、低レベル操作情報に基づいてウェブページを操作してもよい。この構成によると、試験担当者が必要に応じて任意に、低レベル操作情報を使用してテストするよう指示することができる。   Although not mentioned in the third embodiment, a “level” column may be provided in the action sheet as shown in FIG. High or low may be set as the value of the “level” column (hereinafter referred to as “level value”), and the default value may be high. The test execution unit 34 may operate the web page based on high-level operation information or low-level operation information that matches the level value. For example, if the level value is high, the operation is performed in the same manner as in the embodiment. On the other hand, if the level value is low, even if high-level operation information is recorded in the action sheet, the web page is based on the low-level operation information. May be operated. According to this configuration, the person in charge of the test can instruct the test using the low-level operation information as required.

高レベル記録部45は、テスト実行部34が低レベル操作情報に基づいてウェブページを操作する際に、レベル値が高であれば、実施の形態で示したように高レベル操作情報の取得と記録を試行してもよい。その一方、レベル値が低であれば、高レベル操作情報の取得と記録の試行をスキップしてもよい。これにより、試験担当者が不要と判断する高レベル操作情報の取得と記録を任意にスキップさせることができる。   If the level value is high when the test execution unit 34 operates the web page based on the low level operation information, the high level recording unit 45 obtains the high level operation information as described in the embodiment. Recording may be attempted. On the other hand, if the level value is low, the acquisition and recording of high-level operation information may be skipped. As a result, acquisition and recording of high-level operation information that is judged unnecessary by the person in charge of the test can be arbitrarily skipped.

また、上記第3の実施の形態では言及していないが、テスト実行装置10は、高レベル操作情報に基づく文書操作が失敗した場合に、その高レベル操作情報をアクションシートから削除する操作記録削除部をさらに備えてもよい。これにより、テストの都度、言い換えれば、当該高レベル操作情報に対応付けられた操作を実行する都度、操作に失敗し、またエラーが発生することを回避できる。また、一旦高レベル操作情報を削除しても、低レベル操作情報に基づく文書操作時に、高レベル記録部45は、高レベル操作情報の取得と記録を試行する。したがって、エレメントIDが変更された場合等、それまでの高レベル操作情報が無効になった場合でも、最新の高レベル操作情報をアクションシートへ自動で反映させ、次回のテストでは最新の高レベル操作情報に基づくテストを再開させることができる。   Although not mentioned in the third embodiment, the test execution device 10 deletes the operation record that deletes the high-level operation information from the action sheet when the document operation based on the high-level operation information fails. A part may be further provided. As a result, it is possible to avoid the failure of the operation and the occurrence of an error each time the test is performed, in other words, every time the operation associated with the high-level operation information is executed. Even if the high-level operation information is once deleted, the high-level recording unit 45 tries to acquire and record the high-level operation information during document operation based on the low-level operation information. Therefore, even if the previous high-level operation information becomes invalid, such as when the element ID is changed, the latest high-level operation information is automatically reflected in the action sheet, and the latest high-level operation information is used in the next test. Information-based testing can be resumed.

上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。   Any combination of the above-described embodiments and modifications is also useful as an embodiment of the present invention. The new embodiment generated by the combination has the effects of the combined embodiment and the modified examples. In addition, it should be understood by those skilled in the art that the functions to be fulfilled by the constituent elements described in the claims are realized by the individual constituent elements shown in the embodiments and the modified examples or by their cooperation. .

10 テスト実行装置、 12 テスト対象システム、 18 ファイアウォール、 22 シナリオ保持部、 24 アクションシート保持部、 26 データシート保持部、 28 テスト結果保持部、 33 業務イベント状態監視部、 34 テスト実行部、 36 証跡取得部、 38 テスト結果判定部、 40 テスト結果記録部、 44 操作記録部、 45 高レベル記録部、 46 低レベル記録部。   10 test execution device, 12 test target system, 18 firewall, 22 scenario holding unit, 24 action sheet holding unit, 26 data sheet holding unit, 28 test result holding unit, 33 business event state monitoring unit, 34 test execution unit, 36 trail Acquiring unit, 38 Test result determining unit, 40 Test result recording unit, 44 Operation recording unit, 45 High level recording unit, 46 Low level recording unit.

Claims (6)

入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置であって、
前記工程毎のテストシナリオを保持するシナリオ保持部と、
前記工程毎のテストシナリオにしたがって前記複数の工程に亘り業務イベントを処理させていくことにより、前記システムのテストを自動実行するテスト実行部と、
前記テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録するエラー記録部と、
を備え
前記複数の工程は、第1工程と、業務イベントの処理順序が前記第1工程より後の第2工程とを含み、
前記第1工程及び前記第2工程の両テストシナリオは、複数の業務イベントの処理を定めたものであり、
前記テスト実行部は、前記複数の業務イベントの最初の業務イベントから最後の業務イベントに対する前記第1工程の処理を完了した後に、前記複数の業務イベントに対する前記第2工程の処理を開始させることを特徴とするテスト実行装置。
A device for testing a system that completes processing of input business events through a plurality of processes,
A scenario holding unit for holding a test scenario for each process;
A test execution unit for automatically executing a test of the system by processing a business event over the plurality of steps according to a test scenario for each step;
When an error is detected in the test, an error recording unit that records information indicating a test scenario of a process in which the error has occurred;
Equipped with a,
The plurality of steps include a first step and a second step in which the processing order of business events is after the first step,
Both test scenarios of the first process and the second process define processing of a plurality of business events,
The test execution unit, after completing the processing of the first step to the last business event from the first business event of the plurality of business events, Rukoto to begin processing of the second step to the plurality of business event A test execution device characterized by the above.
入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置であって、
前記工程毎のテストシナリオを保持するシナリオ保持部と、
前記工程毎のテストシナリオにしたがって前記複数の工程に亘り業務イベントを処理させていくことにより、前記システムのテストを自動実行するテスト実行部と、
前記テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録するエラー記録部と、
を備え
前記システムは、第1工程の業務イベントの処理により出力されたデータに対して、定期間隔で実行すべき所定のバッチ処理を実行後に、第2工程の前記業務イベントの処理を開始すべきものであり、
前記第1工程及び前記第2工程の両テストシナリオは、複数の業務イベントの処理を定めたものであり、
前記テスト実行部は、前記複数の業務イベントの最初の業務イベントから最後の業務イベントに対する前記第1工程の処理を完了して前記バッチ処理が実行された後に、前記複数の業務イベントに対する前記第2工程の処理を開始させることを特徴とするテスト実行装置。
A device for testing a system that completes processing of input business events through a plurality of processes,
A scenario holding unit for holding a test scenario for each process;
A test execution unit for automatically executing a test of the system by processing a business event over the plurality of steps according to a test scenario for each step;
When an error is detected in the test, an error recording unit that records information indicating a test scenario of a process in which the error has occurred;
Equipped with a,
The system should start processing the business event in the second step after executing a predetermined batch processing to be executed at regular intervals on the data output by the business event processing in the first step. ,
Both test scenarios of the first process and the second process define processing of a plurality of business events,
The test execution unit completes the processing of the first step for the first business event to the last business event of the plurality of business events and executes the batch process, and then executes the second processing for the plurality of business events. test execution and wherein the Rukoto processing step is started.
入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置であって、
前記工程毎のテストシナリオを保持するシナリオ保持部と、
前記工程毎のテストシナリオにしたがって前記複数の工程に亘り業務イベントを処理させていくことにより、前記システムのテストを自動実行するテスト実行部と、
前記テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録するエラー記録部と、
ファイアウォールを介して、所定のデータベースから前記システムのテストの結果を取得するテスト結果取得部と、
を備え
前記テスト結果取得部は、前記データベースへ接続するための予め定められたポート番号とアカウント情報を指定するデータベース接続要求を前記ファイアウォールへ送信することにより、前記ポート番号を指定するデータベース接続要求が含むアカウント情報が、予め定められたデータベース接続を許可すべきアカウント情報と整合する場合に、前記データベースに対するコマンドを前記データベースへ転送する処理を前記ファイアウォールに実行させることを特徴とするテスト実行装置。
A device for testing a system that completes processing of input business events through a plurality of processes,
A scenario holding unit for holding a test scenario for each process;
A test execution unit for automatically executing a test of the system by processing a business event over the plurality of steps according to a test scenario for each step;
When an error is detected in the test, an error recording unit that records information indicating a test scenario of a process in which the error has occurred;
A test result acquisition unit for acquiring a test result of the system from a predetermined database through a firewall;
Equipped with a,
The test result acquisition unit transmits a database connection request designating a predetermined port number and account information for connecting to the database to the firewall, whereby an account included in the database connection request designating the port number is included. information, if consistent with the account information should be permitted database connections predetermined test execution device according to claim Rukoto the process of transferring a command to the database is executed in the firewall for the database.
前記複数の工程それぞれの画面で入力されうる操作を列挙した画面毎の画面操作情報を保持する画面操作情報保持部と、
テストにおいて実際に画面へ入力すべき操作を指定する画面毎のテスト操作情報を保持するテスト操作情報保持部と、をさらに備え、
前記テストシナリオは、特定の工程の画面に対応する画面操作情報およびテスト操作情報を指定するものであり、
前記テスト実行部は、前記テストシナリオにしたがって、前記画面操作情報が示す操作のうち、前記テスト操作情報が指定する操作を前記特定の工程の画面に入力することを特徴とする請求項1から3のいずれかに記載のテスト実行装置。
A screen operation information holding unit for holding screen operation information for each screen listing operations that can be input on the screens of the plurality of steps;
A test operation information holding unit for holding test operation information for each screen for designating an operation to be actually input to the screen in the test,
The test scenario specifies screen operation information and test operation information corresponding to a screen of a specific process,
The test execution unit, according to the test scenario, among the operation of the screen operation information indicates, claims 1 to 3, characterized in that inputting an operation of the test operation information is specified in the screen of the particular process The test execution device according to any one of the above.
入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置が、
所定の記憶領域に記憶された前記工程毎のテストシナリオにしたがって前記複数の工程に亘り業務イベントを処理させていくことにより、前記システムのテストを自動実行するテスト実行ステップと、
前記テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録するステップと、
を実行し、
前記複数の工程は、第1工程と、業務イベントの処理順序が前記第1工程より後の第2工程とを含み、
前記第1工程及び前記第2工程の両テストシナリオは、複数の業務イベントの処理を定めたものであり、
前記テスト実行ステップは、前記複数の業務イベントの最初の業務イベントから最後の業務イベントに対する前記第1工程の処理を完了した後に、前記複数の業務イベントに対する前記第2工程の処理を開始させることを特徴とするテスト実行方法。
A device that tests a system that completes the processing of input business events through multiple processes.
A test execution step of automatically executing a test of the system by processing a business event over the plurality of steps according to a test scenario for each step stored in a predetermined storage area;
When an error is detected in the test, recording information indicating a test scenario of a process in which the error has occurred;
The execution,
The plurality of steps include a first step and a second step in which the processing order of business events is after the first step,
Both test scenarios of the first process and the second process define processing of a plurality of business events,
Said test execution step, after completing the processing of the first step to the last business event from the first business event of the plurality of business events, Rukoto to begin processing of the second step to the plurality of business event Test execution method characterized by
入力された業務イベントの処理を複数の工程を経て完了するシステムをテストする装置に、
所定の記憶領域に記憶された前記工程毎のテストシナリオにしたがって前記複数の工程に亘り業務イベントを処理させていくことにより、前記システムのテストを自動実行するテスト実行機能と、
前記テストにおいてエラーを検出した場合に、そのエラーが発生した工程のテストシナリオを示す情報を記録する機能と、
を実現させ
前記複数の工程は、第1工程と、業務イベントの処理順序が前記第1工程より後の第2工程とを含み、
前記第1工程及び前記第2工程の両テストシナリオは、複数の業務イベントの処理を定めたものであり、
前記テスト実行機能は、前記複数の業務イベントの最初の業務イベントから最後の業務イベントに対する前記第1工程の処理を完了した後に、前記複数の業務イベントに対する前記第2工程の処理を開始させることを特徴とするコンピュータプログラム。
A device that tests a system that completes the processing of input business events through multiple processes.
A test execution function for automatically executing a test of the system by processing a business event over the plurality of processes according to a test scenario for each process stored in a predetermined storage area;
A function of recording information indicating a test scenario of a process in which an error has occurred when an error is detected in the test;
Realized ,
The plurality of steps include a first step and a second step in which the processing order of business events is after the first step,
Both test scenarios of the first process and the second process define processing of a plurality of business events,
The test execution function starts processing of the second process for the plurality of business events after completing the processing of the first process for the first business event to the last business event of the plurality of business events. A featured computer program.
JP2014196490A 2014-09-26 2014-09-26 Test execution device, test execution method, and computer program Active JP6436705B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014196490A JP6436705B2 (en) 2014-09-26 2014-09-26 Test execution device, test execution method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014196490A JP6436705B2 (en) 2014-09-26 2014-09-26 Test execution device, test execution method, and computer program

Publications (2)

Publication Number Publication Date
JP2016071398A JP2016071398A (en) 2016-05-09
JP6436705B2 true JP6436705B2 (en) 2018-12-12

Family

ID=55864668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014196490A Active JP6436705B2 (en) 2014-09-26 2014-09-26 Test execution device, test execution method, and computer program

Country Status (1)

Country Link
JP (1) JP6436705B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7204398B2 (en) * 2018-09-25 2023-01-16 株式会社東芝 Specification management device, method and program
CN111782489A (en) * 2020-07-16 2020-10-16 上海乾臻信息科技有限公司 Data table monitoring method and device
CN112948271A (en) * 2021-04-09 2021-06-11 腾讯科技(深圳)有限公司 Code testing method, device, equipment and storage medium
CN113452580B (en) * 2021-07-21 2022-07-26 福州富昌维控电子科技有限公司 Method for automatically checking network equipment faults in batches and test host end

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4795446B2 (en) * 2009-03-30 2011-10-19 株式会社野村総合研究所 Operation verification apparatus and operation verification program
JP5614300B2 (en) * 2011-01-20 2014-10-29 日本電気株式会社 Processing time prediction apparatus, processing time prediction method, and processing time prediction program
JP5487180B2 (en) * 2011-09-30 2014-05-07 株式会社東芝 Test case generation program and test case generation apparatus
JP5425883B2 (en) * 2011-12-26 2014-02-26 株式会社日立システムズ Application operation monitoring system and customer application operation monitoring service providing system

Also Published As

Publication number Publication date
JP2016071398A (en) 2016-05-09

Similar Documents

Publication Publication Date Title
US8504991B2 (en) Cross-browser testing of a web application
US8863085B1 (en) Monitoring web applications
US20030164850A1 (en) Recording user interaction with an application
US20130191814A1 (en) Test scenario generation method, test scenario generation system, and test scenario generation program
JP6436705B2 (en) Test execution device, test execution method, and computer program
MX2011001728A (en) Remote technical support employing a configurable executable application.
US20130198333A1 (en) Method and device for recording and reproducing web operation
MX2011001729A (en) Multiple simultaneous session support by a remote technician.
US10320998B2 (en) Information processing system, image forming apparatus, control methods thereof, and storage medium
CN110413308B (en) Software operation and maintenance method, device, equipment and computer storage medium
US8145946B2 (en) Task execution apparatus, task execution method, and storage medium
JP5463717B2 (en) Application test generation program, application test generation method, and application test apparatus
JP6436704B2 (en) Test execution device, test execution method, and computer program
CN110727575B (en) Information processing method, system, device and storage medium
CN111801652A (en) Recording and recreating interface navigation processes
JP6353759B2 (en) Test execution device, test execution method, and computer program
CN111245917A (en) Katalon-based work order entry device and implementation method thereof
WO2021093672A1 (en) Method for embedding external system, workflow system, device and computer readable storage medium
CN115514677B (en) Method and system for server dial testing
JP6705979B2 (en) Device setting device, device setting method, and program
JP2018120256A (en) Setting operation input support apparatus and setting operation input support system
JP7036603B2 (en) Operation management system
JP2006113993A (en) Test system for internet system
JP2009077194A (en) Gateway device, and gateway method of gateway device
JP7385245B2 (en) Information processing device, information processing system, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181113

R150 Certificate of patent or registration of utility model

Ref document number: 6436705

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250