JP2011128940A - Software test automation system and software test automation method - Google Patents
Software test automation system and software test automation method Download PDFInfo
- Publication number
- JP2011128940A JP2011128940A JP2009287492A JP2009287492A JP2011128940A JP 2011128940 A JP2011128940 A JP 2011128940A JP 2009287492 A JP2009287492 A JP 2009287492A JP 2009287492 A JP2009287492 A JP 2009287492A JP 2011128940 A JP2011128940 A JP 2011128940A
- Authority
- JP
- Japan
- Prior art keywords
- test
- client
- unit
- server
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、各種コンピュータシステムを作動させ、その後にも最適状態を維持するために、「ソフトウェアテスト」を迅速かつ確実に実行するためのソフトウェアテスト自動化システム及びソフトウェアテスト自動化方法に関する。 The present invention relates to a software test automation system and a software test automation method for quickly and reliably executing a “software test” in order to operate various computer systems and maintain an optimum state thereafter.
ここにいうソフトウェアテストは、ソフトウェア開発段階における品質の評価、障害確認、環境構築などのために重要な作業である。さらに、既存のシステムに対してソフトウェアの品質維持のためのソフトウェア変更・修正が必要となることがあり、遠隔地に設置された複数のクライアントに対し各種ネットワークを介して逐次実施する必要があることも考慮しなければならない。 The software test mentioned here is an important work for quality evaluation, fault confirmation, environment construction, etc. in the software development stage. In addition, software changes / modifications may be required for existing systems to maintain software quality, and multiple clients installed at remote locations must be implemented sequentially via various networks. Must also be considered.
近年、工鉱業、商業、流通、エネルギー、情報、運輸、教育、開発等あらゆる分野の管理、運営、制御等に関して規模の大小はあるもののコンピュータシステムが必須となっている。このようなコンピュータシステムは、それぞれの分野における神経系として機能しており、一旦障害や不調が発生すると対応分野の制御系が麻痺してしまう可能性がある。このような事態を回避するために、ソフトウェア開発に当たっては適用分野における過去・現在そして未来に向けて実績・可能性等を考慮して可能な限り適切なシステムを構築する必要がある。 In recent years, computer systems are indispensable, although they are large and small in terms of management, operation, control, etc. in all fields such as industrial mining, commerce, distribution, energy, information, transportation, education, and development. Such a computer system functions as a nervous system in each field, and once a failure or malfunction occurs, the control system in the corresponding field may be paralyzed. In order to avoid such a situation, in software development, it is necessary to construct an appropriate system as much as possible in consideration of the past and present and the future in the application field.
さらに、その後における周辺事情の変化や運用状況に応じてソフトウェアの変更、修正、改変等を伴うメンテナンスが適時に実施されなければならない。すなわち、ソフトウェア開発時はもとより、その後の変更、修正、改変等に伴うソフトウェアテストが自動的にかつ正確に実行されることが望まれる。 Furthermore, maintenance with software changes, corrections, alterations, etc. must be performed in a timely manner according to changes in the surrounding circumstances and operational conditions. In other words, it is desired that software tests associated with subsequent changes, modifications, alterations and the like are automatically and accurately executed during software development.
コンピュータのプログラムをテストするための先行技術として、特許文献1は、GUI(Graphic User Interface)による対話型プログラムのテストの効率化を図り、さらにエラー発生要因の把握の容易化を実現するためのプログラムテスト支援装置及びかかるプログラムテスト支援プログラムを記録した記憶媒体を開示している。 As a prior art for testing a computer program, Patent Document 1 discloses a program for improving the efficiency of an interactive program test using a GUI (Graphical User Interface) and further facilitating the understanding of the cause of an error. A test support apparatus and a storage medium storing such a program test support program are disclosed.
この場合のプログラムテスト支援装置は、被テストプログラムに関連するオペレータの操作手順データを記録しておき、この操作手順データから入力操作の入力項目を抽出してそれぞれの入力項目毎に入力値を設定する手段を設けておき、これら入力値の組み合わせから複数のテストケースを自動生成する手段、各テストケース毎の新しい操作手順データを作成してテストしようとするプログラムのテストを実施する手段、各テストケース毎にテスト結果を評価して、この評価結果に応じて各入力値を強調表示し、また失敗の要因となっている入力値を抽出する手段を設けることを開示している。さらに、かかるプログラムテスト支援プログラムを記録した記録媒体についても言及している。 In this case, the program test support apparatus records the operation procedure data of the operator related to the program under test, extracts the input items of the input operation from the operation procedure data, and sets the input value for each input item Means for automatically generating a plurality of test cases from combinations of these input values, means for creating a new operation procedure data for each test case and testing a program to be tested, each test It is disclosed that a test result is evaluated for each case, each input value is highlighted according to the evaluation result, and a means for extracting an input value that causes a failure is provided. Furthermore, a recording medium on which such a program test support program is recorded is also mentioned.
特許文献2は、ウィンドウズGUIおよびウェブGUIの操作記録再生機能の2系統を実装し、操作対象によって両機能の記録再生状態を切替えて利便性を十分に発揮させるGUIテスト支援システムを開示している。このシステムは、OS、テスト対象のウィンドウズGUIを有するアプリケーションプログラム、アプリケーションプログラムのテストをオブジェクト記述方式で実行するテスト実行ツール、このテスト実行ツールで得られたテストスクリプトを格納する記憶装置を備えている。 Patent Document 2 discloses a GUI test support system that implements two systems of operation recording / playback functions of Windows GUI and Web GUI, and switches between the recording / playback states of both functions depending on the operation target to sufficiently exhibit convenience. . This system includes an OS, an application program having a Windows GUI to be tested, a test execution tool for executing a test of the application program by an object description method, and a storage device for storing a test script obtained by the test execution tool. .
また、この場合のテスト実行ツールは、ウィンドウズGUIおよびウェブGUIの操作経緯をそれぞれスクリプトとして個別に格納するGUI操作記録部と、個別のスクリプトを合体して格納したスクリプトを用いてウィンドウズGUI操作再生部と、を備えている。さらにかかる構成を有するシステムを作動させるためのテスト支援用アプリケーションプログラムについても開示している。 In this case, the test execution tool includes a GUI operation recording unit that individually stores the operation history of the Windows GUI and the web GUI as scripts, and a Windows GUI operation playback unit using a script that is stored by combining the individual scripts. And. Furthermore, a test support application program for operating a system having such a configuration is also disclosed.
上記各特許文献で開示されている解決手段にあっては、以下のような問題点がある。
(1)複数の機器間においてそれぞれに連携したテストの実行が困難である。
(2)テスト進行中にいずれかのテスト対象機器が再起動されると、これに伴ってテストプログラムも停止してしまう。そのため、停止中のテスト状況や既に得られたテスト結果が保存されず消去されてしまう。
(3)機器類のテスト実行態様を、当該機器類にとって都合の良い任意の時間帯に設定し、そのテストが自動的に実行されるようなスケジュール予約を行うことができない。
(4)動作環境の相違する複数の機器類の情報の差異や当該機器におけるテスト前後の情報を対比することが困難である。
(5)複数の機器間で連携してテストを行う場合、被テスト機器の性能に応じてテスト機器の負荷が異なることがある。そのため、テスト効率を最大化することができなかった。
The solving means disclosed in the above patent documents have the following problems.
(1) It is difficult to execute a test in cooperation between a plurality of devices.
(2) If any of the test target devices is restarted while the test is in progress, the test program also stops. For this reason, the stopped test status and the already obtained test results are not saved but deleted.
(3) It is not possible to make a schedule reservation such that the test execution mode of the device is set to an arbitrary time zone convenient for the device and the test is automatically executed.
(4) It is difficult to compare the difference between information of a plurality of devices having different operating environments and information before and after the test on the device.
(5) When a test is performed in cooperation between a plurality of devices, the load on the test device may differ depending on the performance of the device under test. As a result, the test efficiency could not be maximized.
本発明は、上述のような問題点を解消しつつ、複数のクライアントを単一のサーバによって制御するように構成されたコンピュータシステムにおいて、ソフトウェアの開発段階をはじめ、その後システム内外の諸事情に基づく変化や運用状況に合わせて適時にソフトウェアの変更、修正、改変等を伴う各クライアントにおけるソフトウェアテストを自動的に実施するためのソフトウェアテスト自動化システム及びかかるソフトウェアテストを自動的に実行するためのソフトウェアテスト自動化方法を提供することを課題とする。 The present invention is based on various circumstances inside and outside the system in a computer system configured to control a plurality of clients by a single server while solving the above-mentioned problems. Software test automation system for automatically executing software tests in each client with software changes, corrections, alterations, etc. in a timely manner according to changes and operational conditions, and software tests for automatically executing such software tests It is an object to provide an automated method.
請求項1に記載の発明は、システム全体を制御するためのサーバ10と、ネットワーク30を介して連携される複数の被制御クライアント装置群20−1、20−2、・・・20−nとから成るコンピュータシステムに対するソフトウェアテスト自動化システムおいて、前記サーバ10は、テストスクリプトファイル(TSF)101、テストプロジェクトファイル(TPF)102、クライアント情報ファイル103、テスト結果ファイル104、およびテスト予約ファイル105のそれぞれを含む記憶装置100と、操作記録部106と、データ編集部107と、再生指示部108と、情報送受信部109と、結果確認部110と、スケジュール予約部111と、起動部112と、を包含し、前記クライアント装置群20−1、20−2、・・・20−nのそれぞれは、情報送受信部200と、テスト再生部201と、テストスクリプト202と、情報取得部203と、およびクライアント内においてテスト対象となるテスト対象プログラム300と、を包含するソフトウェアテスト自動化システムであることを特徴とする。
The invention described in claim 1 includes a server 10 for controlling the entire system, and a plurality of controlled client device groups 20-1, 20-2,... 20-n linked via a
請求項2に記載の発明は、サーバ10の情報送受信部109が前記ネットワーク30に相互接続されており、各クライアント装置群20−1、20−2、・・・20−nそれぞれの情報送受信部200に対して前記ネットワークに対し適時連携可能に構成されるソフトウェアテスト自動化システムであることを特徴とする。
According to the second aspect of the present invention, the information transmitting / receiving
請求項3に記載の発明は、サーバ10の起動部112がサーバ10と各クライアント装置群20−1、20−2、・・・20−nそれぞれの起動および停止を制御し、または前記サーバ10のスケジュール予約部111に予め設定されたタイミングに応じて制御可能に構成されたソフトウェアテスト自動化システムであることを特徴とする。
In the invention according to claim 3, the
請求項4に記載の発明は、サーバ10の保有するテストプロジェクトファイル(TPF)102、テストスクリプトファイル(TSF)101、クライアント情報ファイル103から、テストプロジェクト、テストスクリプト、クライアント情報を読み出してデータ編集部107においてそれらの情報の編集を行い;前記データ編集部107において編集され保持されているテストプロジェクト、テストスクリプト、クライアント情報を分析してテスト実行の指示を再生指示部108において行ない;クライアント情報ファイル103に記録されているクライアント20に対して、テストプロジェクトファイル(TPF)102に記録されているテスト実行順番で、サーバ側の情報送受信部109からテストスクリプトを送信し;各クライアント20は上記サーバ側の情報送受信部109からテストスクリプトを受取って、これら内容をメモリ上に展開し;クライアント20におけるテストスクリプトをテスト再生部201において実行することにより、テストを実施しようとするテスト対象プログラム300に所要の操作を加え;情報取得部203は、テスト対象プログラム300を操作した結果や期待値の比較結果など、当該時点において取得する各種情報を収集し;上記過程において収集された情報をクライアント側の情報送受信部200からサーバ10に対して送信し;前記サーバ側の情報送受信部109は前記クライアント側の情報送受信部200から送信された各種情報を受信してサーバ10内の結果確認部110に記録し;そして、サーバ10におけるテストプロジェクトファイル(TPF)102、テストスクリプトファイル(TSF)101、クライアント情報ファイル103における記述内容の全てが完了するまで、上記処理を繰り返し、処理完了後サーバ側の情報送受信部109および対応するクライアント側の情報送受信部200を介してテスト結果を表示すると共にサーバ10のテスト結果ファイル104に保存するソフトウェアテスト自動化方法であることを特徴とする。
The invention according to claim 4 reads out the test project, test script, and client information from the test project file (TPF) 102, test script file (TSF) 101, and
請求項5に記載の発明は、サーバ10における再生指示部108ならびに情報送受信部109を協働せしめることにより、複数のクライアントにおけるソフトウェアテストを順次実行するために、サーバ内の再生指示部108から情報送受信部109に対して対応するクライアントに適用されるテストスクリプト202の送信を指示し;上記サーバ側の情報送受信部109はクライアント側の対応する情報送受信部200に対してテストスクリプト202を送信し;該サーバ側の情報送受信部109から送信されたテストスクリプトを受信した自クライアント内のテスト再生部201は所要処理を実行し、処理結果を自クライアント側の情報送受信部200ならびにサーバ側の情報送受信部109を介してサーバ内の再生指示部108に結果を報知し、次いで異なる処理対象のクライアントの対応部位との間で上記処理を順次繰り返すソフトウェアテスト自動化方法であることを特徴とする。
According to the fifth aspect of the present invention, the
請求項6に記載の発明は、サーバ10における再生指示部108ならびに情報送受信部109を協働せしめ、さらに複数のクライアントにおける情報送受信部200に対してテストスクリプトを重復して送信し、各クライアント内のそれぞれのテスト再生部201において並列的に所要処理が実行されるソフトウェアテスト自動化方法であることを特徴とする。
According to the sixth aspect of the present invention, the
請求項7に記載の発明は、複数のクライアントに対するソフトウェアテストの実行中にクライアントが再起動された状況下において、引き続きソフトウェアテストを継続実行するために、サーバ10のデータ編集部107は、対象クライアントの再起動が完了して通信可能となるまで待機し、当該クライアントの情報送受信部200と通信可能となった後に待機中の機能を再開せしめ、所要処理ステップを順次実行するように構成されたソフトウェアテスト自動化方法であることを特徴とする。
According to the seventh aspect of the present invention, in order to continue to execute the software test under the situation where the client is restarted during execution of the software test for a plurality of clients, the
以上のような構成ならびに動作を実行するソフトウェアテスト自動化システム及びソフトウェアテスト自動化方法によれば、サーバ側から複数のクライアントに対するソフトウェアテストが自動的に実行可能であり、以下のような特徴が得られる。
(1)各クライアントに対してクライアントそれぞれの稼動状態、入−切、交信の可否等の諸事情を考慮したソフトウェアテストが実行可能となる。
(2)複数のクライアントに対して任意のタイミングでソフトウェアテストが可能となる。したがって、それぞれの使用環境に合わせて、同時実行、連続実行、間歇的実行などが選択可能となる。
(3)クライアントを再起動させた後であっても、引き続きソフトウェアテストが実行可能である。
(4)各クライアントの情報をサーバ側において任意のタイミングにより取得可能である。
(5)テストスクリプトをクライアント毎にコンパイルすることにより、どのクライアントに対しても実行可能である。
(6)それぞれのクライアントの負荷状態が確認可能であり、空いているクライアントマシンを選んで、ソフトウェアテストが実行可能である。
(7)ソフトウェアテストの実行開始時間を、任意に設定可能である。
According to the software test automation system and the software test automation method for executing the configuration and operation as described above, a software test for a plurality of clients can be automatically executed from the server side, and the following characteristics are obtained.
(1) For each client, a software test can be executed in consideration of various circumstances such as the operating state of each client, ON / OFF, and communication availability.
(2) A software test can be performed on a plurality of clients at an arbitrary timing. Therefore, simultaneous execution, continuous execution, intermittent execution, etc. can be selected in accordance with each use environment.
(3) The software test can be continuously executed even after the client is restarted.
(4) Information of each client can be acquired at an arbitrary timing on the server side.
(5) The test script can be executed for any client by compiling for each client.
(6) The load state of each client can be confirmed, and a software test can be executed by selecting an available client machine.
(7) The software test execution start time can be arbitrarily set.
以下、本発明に係るソフトウェアテスト自動化システム及びソフトウェアテスト自動化方法に関する実施の形態について開示する。図1は、本発明を実施するためのコンピュータシステムを模式的に図示したブロック図であり、サーバ10と、ネットワーク30を介して接続された複数のクライアント群20−1、20−2、・・・20−nから構成されている。サーバは本発明において実施するソフトウェアテストの管理装置であり、クライアントは当該テストを実行する対象装置である。
Hereinafter, embodiments relating to a software test automation system and a software test automation method according to the present invention will be disclosed. FIG. 1 is a block diagram schematically showing a computer system for carrying out the present invention, and a plurality of client groups 20-1, 20-2 connected to the server 10 via a
サーバ10は、目的とする処理の種類、容量、規模等により構成が異なる可能性はあるものの、一般的に記憶装置100、操作記録部106、データ編集部107、再生指示部108、サーバ側の情報送受信部109、結果確認部110、スケジュール予約部111、起動部112等から構成される。なお、記憶装置100は、例えば、テストスクリプトファイル(「TSF」と略記することがある)101、テストプロジェクトファイル(「TPF」と略記することがある)102、クライアント情報ファイル103、テスト結果ファイル104、テスト予約ファイル105等を包含するものとする。
Although the configuration of the server 10 may vary depending on the type, capacity, scale, etc. of the target processing, generally the storage device 100, the
テストスクリプトファイル(TSF)101はテストの手順や情報の取得内容を記述したテストスクリプトを記録して保存するもの、テストプロジェクトファイル(TPF)102はテストスクリプトの実行順番や繰り返し回数等を記述したテストプロジェクトを記録して保存するもの、クライアント情報ファイル103はテスト対象となるクライアントのマシン名やマシンアドレス等の情報を記述したクライアント情報を記録して保存するもの、テスト結果ファイル104はテスト実行結果や取得した各種情報を記録して保存するもの、テスト予約ファイル105はテスト実行の予約日時等を記録して保存するものである。
A test script file (TSF) 101 records and saves a test script that describes test procedures and information acquisition contents, and a test project file (TPF) 102 describes a test script that describes the execution order and the number of repetitions of the test script. The client information file 103 records and saves client information describing information such as the machine name and machine address of the client to be tested, and the test result file 104 stores test execution results and The acquired various information is recorded and saved, and the
操作記録部106はテストの操作手順を記録するもの、データ編集部107はテストスクリプト、テストプロジェクト、クライアント情報を編集するもの、再生指示部108はテストスクリプト、テストプロジェクト、クライアント情報を分析再生してテスト実行の指示を行なうもの、情報送受信部109はテストスクリプト、テストプロジェクトをクライアントに対し送信し、クライアント側からテスト結果や各種情報を受信するもの、結果確認部110は実行して得たテスト結果や各種情報を表示・確認するもの、スケジュール予約部111はテスト実行の日時を予約するもの、起動部112は予約された日時にソフトウェアテストを起動させるものである。
The
クライアント20は、例えば、クライアント側の情報送受信部200、テスト再生部201、テストスクリプト202、情報取得部203等から構成され、必然的に該クライアントに対して所望の機能を発揮せしめるためのプログラムを保有している。これは、本発明においてテストの対象となるクライアントを作動させるソフトウェアであるテスト対象プログラム300として示している。なお、このようなクライアントは、20−1、20−2、・・・20−nのように複数台接続され、容量的ないし機能的には個々に異なることもあり得るが、テスト対象プログラム300は、本発明に係るソフトウェアテスト自動化システムにより自動的に機能チェック、修正、改変、置換等を含むソフトウェアテストが実行可能である。
The
ネットワーク30はケーブル類による有線ネットワーク方式をはじめ、種々の無線媒体を利用するワイヤレス方式等、所望の機能を発揮するものであれば足り、任意である。いずれの場合にあっても、サーバ10および各クライアント20−1、20−2、・・・20−n間の連携はそれぞれのネットワーク様式に適合せしめられる。なお、クライアントがサーバに同居しているような構成であっても、情報送受信部による情報の送受によって本発明に係るソフトウェアテスト自動化システム及び自動化方法は適用可能である。
The
図2は、サーバ10から複数のクライアント20−1、20−2、・・・20−nに対してソフトウェアテストを自動的に実行する際のフロー図である。サーバ10では、自動テストを行うためのテストプロジェクトファイル(TPF)102、テストスクリプトファイル(TSF)101、クライアント情報ファイル103から、テストプロジェクト、テストスクリプト、クライアント情報をデータ編集部107に読み込む(ステップA101)。この際、テストの実行効率を向上させる等の観点から必要であればそれらの情報の所要の編集を実行しておくことができる(ステップA102)。その後、再生指示部108は、前記データ編集部107において編集され保持されているテストプロジェクト、テストスクリプト、クライアント情報を分析して所要処理を実行する(ステップA103)。
FIG. 2 is a flowchart when the software test is automatically executed from the server 10 to the plurality of clients 20-1, 20-2,... 20-n. In the server 10, the test project, test script, and client information are read into the
再生指示部108は情報送受信部109に対しクライアントに向けてテストスクリプトを送信する指示を行ない、情報送受信部109は、クライアント情報ファイル103によって特定されるクライアント20に対して、テストプロジェクトファイル(TPF)102に記録されているテスト実行順番で、テストスクリプトを送信し、複数のクライアントが指定されている場合は、サーバ10の情報送受信部109から複数のクライアントに向けてテストスクリプトを送信する(ステップA104)。各クライアント20−1、20−2、・・・20−nは、それぞれの情報送受信部200からテストスクリプトを受取り、図示していないメモリ上に展開する(ステップA105)。
The
各クライアントは、受取ったテストスクリプト202をテスト再生部201において実行することにより、テスト対象プログラム300に対して所要の修正、改変、削除等の操作を実行する(ステップA106)。情報取得部203は、テスト対象プログラム300を操作した結果や期待値の比較結果等の、そのときに取得する各種情報を収集する(ステップA107)。収集した情報はクライアント側の情報送受信部200を介してサーバ10側へ送信される(ステップA108)。
Each client executes the received
サーバ10側の情報送受信部109において各種情報を受信し、結果確認部110に記録する(ステップA109)。次いで、ステップA110においてテストプロジェクトファイル(TPF)102、テストスクリプトファイル(TSF)101、クライアント情報ファイル103における全記述を終了したか否かの判定を行う(ステップA110)。この判定において「NO」と判定された場合は、ステップA103からステップA109の各ステップを繰り返し実行する。他方、ステップA110において「YES」と判定された場合は、サーバ10の結果確認部110によりテスト結果を表示すると共にテスト結果ファイル104として保存し、一連の処理を終了する(ステップA111)。
Various information is received by the information transmitting / receiving
図3は、2台のクライアントに対するテストを順次実行するシーケンスを図示したものである。サーバ10内の再生指示部108、情報送受信部109を経て、図示していないネットワーク30を介して、第1のクライアント1の情報送受信部200に対しテストスクリプトを送信する。受信されたテストスクリプトは、クライアント1内のテスト再生部201に転送されて、テスト過程における所要処理が実行される。この処理における実行結果は当該クライアント内のテスト再生部201から情報送受信部200に伝えられる。情報送受信部200は、ネットワーク30を介してサーバ10の情報送受信部109に対して結果送信を行い、そしてサーバ10内の再生指示部108に伝送される。この結果送信を受信したサーバ10は、引き続き第2のクライアント2に対して、上記のクライアント1と同様の手順によりテストスクリプト送信以降のステップを繰り返し実行する。
FIG. 3 illustrates a sequence for sequentially executing tests for two clients. A test script is transmitted to the information transmitting / receiving
図4は、例えば同種の構成及び機能を有する2台のクライアントに対するテストを同時実行する場合のシーケンスを図示したものである。サーバ内の再生指示部108、情報送受信部109から、図示していないネットワーク30を介して、クライアント1およびクライアント2それぞれの情報送受信部200に対して同時にテストスクリプトを送信する。それぞれの情報送受信部200で受信されたテストスクリプトは、クライアント1および2内のテスト再生部201にそれぞれ転送されて、各クライアント毎に所要の処理が実行される。この処理における実行結果は両クライアント内のテスト再生部201から情報送受信部200にそれぞれ伝えられる。双方の情報送受信部200は、図示していないネットワーク30を介してサーバ10側の情報送受信部109に対してそれぞれ結果送信を行い、そしてサーバ10内の再生指示部108に個別に伝送される。この結果送信を受信したサーバ10は、両クライアントにおけるテストがそれぞれ完了したことを確認すると共に所定の記録を実行する。
FIG. 4 shows a sequence in the case where tests for two clients having the same type of configuration and function are executed simultaneously, for example. A test script is simultaneously transmitted from the
図5は、一連のクライアントの中で、特定のクライアントを再起動した後に、引き続きテストが実行される状態を示すフロー図である。テスト開始に応じて図2に示したフローのステップA101からA109を実行する(ステップB101)。実行にあたり、ステップA106においてマシンの再起動要求を行う(ステップB102)。サーバ10の再生指示部108は、対象クライアントが再起動して、情報送受信部200と通信可能になるまで待機する(ステップB103)。情報送受信部200と通信可能になったことが確認されると、図2のステップA103からA110までを引き続き実行する(ステップB104)。さらに、クライアント側の情報送受信部200と通信可能になると、図2のステップA104からA110を引き続き実行する(ステップB105)。
FIG. 5 is a flowchart showing a state in which a test is continuously executed after a specific client is restarted in a series of clients. In response to the test start, steps A101 to A109 of the flow shown in FIG. 2 are executed (step B101). In execution, a machine restart request is made in step A106 (step B102). The
図6は、テスト実行にあたり必要なスケジュール予約を行う際のフロー図であり、テストプロジェクトファイル(TPF)102、テストスクリプトファイル(TSF)101、クライアント情報ファイル103から読み出したテストプロジェクト、テストスクリプト、クライアント情報を編集して保存しておく(ステップC101)。
次いで、スケジュール予約部111でテストを実行する日時と、実行するテストプロジェクト、テストスクリプト、クライアント情報を指定し、その情報をテスト予約ファイル105に保存する(ステップC102)。起動部112はテスト予約ファイル105の内容を読み取り、指定された日時に再生指示部108に処理を引き渡す(ステップC103)。その後、再生指示部108は図2に示したフローのステップA103からA111までを実行して、処理結果をテスト結果ファイル104に保存する(ステップC104)。
FIG. 6 is a flowchart for making a schedule reservation necessary for test execution. The test project, test script, and client read from the test project file (TPF) 102, test script file (TSF) 101, and client information file 103 are shown in FIG. The information is edited and saved (step C101).
Next, the date and time when the test is executed by the
図7は、クライアント機器から任意のタイミングで各種情報を取得及び保存する際の一連の動作を示すフロー図である。各種情報の取得指示命令はテストスクリプトファイル(TSF)101に記述しておく(ステップD101)。この場合、各種情報取得の記述位置は任意となっている。次いで、各種情報の取得は図2のステップA103からA111までを実行し、その処理結果をテスト結果ファイル104に保存する(ステップD102)。 FIG. 7 is a flowchart showing a series of operations when acquiring and saving various types of information from a client device at an arbitrary timing. Various information acquisition instruction commands are described in the test script file (TSF) 101 (step D101). In this case, the description position for acquiring various information is arbitrary. Next, various types of information are acquired by executing steps A103 to A111 in FIG. 2 and storing the processing results in the test result file 104 (step D102).
図8は、クライアントの負何分散している状態におけるフローを示すものである。負荷分散を行うために、複数のクライアントをクライアント情報ファイル103に登録して、保存しておく(ステップE101)。次いで、負何分散が必要な箇所をテストプロジェクトファイル(TPF)102およびテストスクリプトファイル(TSF)101に記述する(ステップE102)。そして、起動時に負荷分散対象となるクライアントの各種情報を、図7のフローにおけるステップD101、D102の処理によって収集する(ステップE103)。 FIG. 8 shows a flow in a state where clients are distributed in a negative amount. In order to perform load distribution, a plurality of clients are registered in the client information file 103 and stored (step E101). Next, a place where negative dispersion is required is described in the test project file (TPF) 102 and the test script file (TSF) 101 (step E102). Then, various types of information about the clients that are load distribution targets at the time of activation are collected by the processing of steps D101 and D102 in the flow of FIG. 7 (step E103).
前記ステップE103において取得した情報を比較して、再生指示部108は早期に処理可能なクライアントの選択を行う(ステップE104)。ステップE104において選択された処理先クライアントに対し、図2のフローのA103からA109までを実行する(ステップE105)。次いで、テストプロジェクトファイル(TPF)102およびテストスクリプトファイル(TSF)101に負荷分散の記述があった時点において、再生指示部108が処理していないクライアントに対し送信する(ステップE106)。その後、ステップE105とE106とを、TPF102およびTSF101の全ての記述が終了するまで繰り返し実行する(ステップE107)。
By comparing the information acquired in step E103, the
図9は、複数台クライアントで負荷分散する際のシーケンスを示すものであり、ここでは3台のクライアント1、2、3の場合の実施例を示している。サーバ10の再生指示部108から情報送受信部109を介して、当初クライアント1の情報送受信部200に向けてテストスクリプトの送信を行い、次いでクライアント2に対して同様のテストを実施する。それぞれのクライアントにおけるテスト再生部201での処理が行われ、その結果はそれぞれの情報送受信部200およびサーバ側の送受信部109を介してサーバ10側に送信される。そして負荷比較を行った後、クライアント1、クライアント3に対しても同様のテストを行うシーケンスを示している。
FIG. 9 shows a sequence when the load is distributed by a plurality of clients. Here, an embodiment in the case of three clients 1, 2 and 3 is shown. A test script is initially transmitted from the
1台のサーバと複数のクライアントがネットワークを介して連携される一連のコンピュータシステムにあっては、ソフトウェアが完全であることが望まれるが、開発段階から実際の稼動の期間を通じて完全であり続けることは困難である。開発時において見落とされたバグなどによる不具合や使用中の不注意によるデグレードの発生なども懸念される。さらに、運用にあたって確認された問題点を改良する必要なども生じてくる。 In a series of computer systems in which one server and multiple clients are linked via a network, it is desirable that the software be complete, but it should remain complete from the development stage to the actual operation period. It is difficult. There are also concerns about problems such as bugs that were overlooked during development and degradation caused by carelessness during use. In addition, there is a need to improve the problems identified during operation.
このような、ソフトウェアの不具合が発見された場合に、小規模なシステムであればソフト担当者による対応も容易であるが、大規模なシステムにおいて人手によるソフトウェアテストを実行することはマンパワーおよび所要時間の観点から困難が伴う。そのため、各種のテスト自動化が試みられているが、実施の順序、時期、サーバ対クライアントの接続状況等が予め限定されることが多く、多数のクライアントに対するテストの実行が妨げられる事態が多かった。本発明に係るソフトウェアのテスト自動化システムおよび方法によれば、予め設定されたテスト内容により、任意の順序、任意のタイミングで、信頼性の高いソフトウェアテストが省力かつ省時間で実行可能である。 When such software defects are discovered, it is easy for software personnel to handle small-scale systems. However, manual software testing on large-scale systems requires manpower and time required. From the point of view, it is difficult. For this reason, various types of test automation have been attempted, but the order of execution, timing, server-to-client connection status, and the like are often limited in advance, and there are many cases where execution of tests on a large number of clients is hindered. According to the software test automation system and method of the present invention, a highly reliable software test can be executed in an arbitrary order and at an arbitrary timing in a labor-saving and time-saving manner according to preset test contents.
10 サーバ
20−1、20−2、・・・20−n クライアント
30 ネットワーク
100 記憶装置
101 テストスクリプトファイル(TSF)
102 テストプロジェクトファイル(TPF)
103 クライアント情報ファイル
104 テスト結果ファイル
105 テスト予約ファイル
106 操作記録部
107 データ編集部
108 再生指示部
109 情報送受信部
110 結果確認部
111 スケジュール予約部
112 起動部
200 情報送受信部
201 テスト再生部
202 テストスクリプト
203 情報取得部
300 テスト対象プログラム
10 Servers 20-1, 20-2,... 20-
102 Test project file (TPF)
103 client information file 104
Claims (7)
前記サーバは、テストスクリプトファイル(TSF)、テストプロジェクトファイル(TPF)、クライアント情報ファイル、テスト結果ファイル、およびテスト予約ファイルのそれぞれを含む記憶装置と、操作記録部と、データ編集部と、再生指示部と、情報送受信部と、結果確認部と、スケジュール予約部と、起動部と、を包含し、
前記クライアント装置群のそれぞれは、情報送受信部と、テスト再生部と、テストスクリプトと、情報取得部と、およびクライアント内においてテスト対象となるテスト対象プログラムと、を包含する、ことを特徴とするソフトウェアテスト自動化システム。 In a software test automation system for a computer system consisting of a server for controlling the entire system and a plurality of controlled client devices linked via a network,
The server includes a storage device including a test script file (TSF), a test project file (TPF), a client information file, a test result file, and a test reservation file, an operation recording unit, a data editing unit, and a reproduction instruction. Including an information transmission / reception unit, a result confirmation unit, a schedule reservation unit, and an activation unit,
Each of the client device groups includes an information transmission / reception unit, a test reproduction unit, a test script, an information acquisition unit, and a test target program to be tested in the client. Test automation system.
前記データ編集部において編集され保持されているテストプロジェクト、テストスクリプト、クライアント情報を分析してテスト実行の指示を再生指示部において行ない;
クライアント情報ファイルに記録されているクライアントに対して、テストプロジェクトファイル(TPF)に記録されているテスト実行順番で、サーバ側の情報送受信部からテストスクリプトを送信し;
各クライアントは上記サーバ側の情報送受信部からテストスクリプトを受取って、これら内容をメモリ上に展開し;
クライアントにおけるテストスクリプトをテスト再生部において実行することにより、テストを実施しようとするテスト対象プログラムに所要の操作を加え;
情報取得部は、テスト対象プログラムを操作した結果や期待値の比較結果など当該時点において取得する各種情報を収集し;
上記過程において収集された情報をクライアント側の情報送受信部からサーバに対して送信し;
前記サーバ側の情報送受信部は前記クライアント側の情報送受信部から送信された各種情報を受信してサーバ内の結果確認部に記録し;
そして、サーバにおけるテストプロジェクトファイル(TPF)、テストスクリプトファイル(TSF)、クライアント情報ファイルにおける記述内容の全てが完了するまで、上記処理を繰り返し、処理完了後サーバ側の情報送受信部および対応するクライアント側の情報送受信部を介してテスト結果を表示すると共にサーバのテスト結果ファイルに保存する;ことを特徴とするソフトウェアテスト自動化方法。 Read the test project, test script, and client information from the test project file (TPF), test script file (TSF), and client information file held by the server, and edit the information in the data editing unit;
Analyzing the test project, test script, and client information edited and held in the data editing unit and instructing execution of the test in the reproduction instruction unit;
A test script is transmitted from the information transmitting / receiving unit on the server side to the client recorded in the client information file in the test execution order recorded in the test project file (TPF);
Each client receives the test script from the information transmission / reception unit on the server side, and expands the contents on the memory;
By executing the test script on the client in the test playback unit, the required operation is added to the test target program to be tested;
The information acquisition unit collects various types of information acquired at the time, such as results of operating the test target program and comparison results of expected values;
Transmitting the information collected in the above process from the information transmitting / receiving unit on the client side to the server;
The server-side information transmission / reception unit receives various information transmitted from the client-side information transmission / reception unit and records the information in a result confirmation unit in the server;
Then, the above processing is repeated until all of the description contents in the test project file (TPF), test script file (TSF), and client information file in the server are completed, and after the processing is completed, the information transmission / reception unit on the server side and the corresponding client side A test result is displayed via the information transmission / reception unit and stored in a test result file of the server;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009287492A JP2011128940A (en) | 2009-12-18 | 2009-12-18 | Software test automation system and software test automation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009287492A JP2011128940A (en) | 2009-12-18 | 2009-12-18 | Software test automation system and software test automation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011128940A true JP2011128940A (en) | 2011-06-30 |
Family
ID=44291469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009287492A Pending JP2011128940A (en) | 2009-12-18 | 2009-12-18 | Software test automation system and software test automation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011128940A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014096032A (en) * | 2012-11-09 | 2014-05-22 | Nec Corp | Firmware verification system, firmware verification method, and firmware verification program |
JP2014142745A (en) * | 2013-01-23 | 2014-08-07 | Geo Technical Laboratory Co Ltd | Application/test system |
JP2020091844A (en) * | 2018-10-08 | 2020-06-11 | アクセンチュア グローバル ソリューションズ リミテッド | Web-based application platform applying lean production methods to system delivery testing |
JP2020197998A (en) * | 2019-06-04 | 2020-12-10 | さくら情報システム株式会社 | Information processing device, method, program, and system |
CN112631868A (en) * | 2020-12-28 | 2021-04-09 | 浙江中控技术股份有限公司 | Performance monitoring method and device of CentOS system |
CN113485876A (en) * | 2021-05-20 | 2021-10-08 | 新华三信息安全技术有限公司 | Single board and testing method thereof |
CN115617695B (en) * | 2022-12-05 | 2023-03-21 | 天津卓朗昆仑云软件技术有限公司 | Automatic testing method and system |
-
2009
- 2009-12-18 JP JP2009287492A patent/JP2011128940A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014096032A (en) * | 2012-11-09 | 2014-05-22 | Nec Corp | Firmware verification system, firmware verification method, and firmware verification program |
JP2014142745A (en) * | 2013-01-23 | 2014-08-07 | Geo Technical Laboratory Co Ltd | Application/test system |
JP2020091844A (en) * | 2018-10-08 | 2020-06-11 | アクセンチュア グローバル ソリューションズ リミテッド | Web-based application platform applying lean production methods to system delivery testing |
US10884908B2 (en) | 2018-10-08 | 2021-01-05 | Accenture Global Solutions Limited | Web-based application platform applying lean production methods to system delivery testing |
JP2020197998A (en) * | 2019-06-04 | 2020-12-10 | さくら情報システム株式会社 | Information processing device, method, program, and system |
CN112631868A (en) * | 2020-12-28 | 2021-04-09 | 浙江中控技术股份有限公司 | Performance monitoring method and device of CentOS system |
CN112631868B (en) * | 2020-12-28 | 2023-06-16 | 浙江中控技术股份有限公司 | Performance monitoring method and device of CentOS system |
CN113485876A (en) * | 2021-05-20 | 2021-10-08 | 新华三信息安全技术有限公司 | Single board and testing method thereof |
CN115617695B (en) * | 2022-12-05 | 2023-03-21 | 天津卓朗昆仑云软件技术有限公司 | Automatic testing method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011128940A (en) | Software test automation system and software test automation method | |
CN110928774B (en) | Automatic test system based on node type | |
US9239574B2 (en) | Apparatus for automating field device operations by capturing device method execution steps for later use and related method | |
US20150100832A1 (en) | Method and system for selecting and executing test scripts | |
US20150100831A1 (en) | Method and system for selecting and executing test scripts | |
US9495267B2 (en) | Method and device for quasi-proxy assisted manual device testing | |
CN112968815B (en) | Method for realizing continuous transmission in broken network | |
CN111651351A (en) | Software performance testing method and device based on Jenkins | |
CN109901830B (en) | Signal configuration method and system for scada system development | |
JP2022016659A (en) | Externally setting device, logging setting method and program | |
CN103684917A (en) | Multi-target-machine system monitoring system and method | |
KR102020063B1 (en) | Intelligent Disaster Countermeasures Training method and system thereof | |
JP2007140954A (en) | Operator simulation system and operator simulation method | |
JP4656336B2 (en) | PLC network system development support device | |
CN103970658B (en) | The method and apparatus that PMON tests with kernel version compatibility | |
US20230305931A1 (en) | Control device and non-transitory machine readable storage medium | |
JP5918514B2 (en) | Distributed control system training system | |
US20150236901A1 (en) | Control system management apparatus | |
CN113687927A (en) | Method, device, equipment and storage medium for scheduling and configuring flash tasks | |
US20050108727A1 (en) | Application binding in a network environment | |
CN105407112B (en) | Equipment capability learning method, device and system | |
CN113312247A (en) | Fault simulation method and system and test method of distributed system | |
JP2009032108A (en) | Operating performance logging control method and apparatus, and monitoring system | |
JP7227015B2 (en) | LADDER PROGRAM EDITING SYSTEM, SERVER, TERMINAL DEVICE, LADDER PROGRAM EDITING METHOD AND PROGRAM | |
KR101015895B1 (en) | Method and system to automate the satellite operation procedure |