JP6248425B2 - Program, process selection method, and information processing apparatus - Google Patents

Program, process selection method, and information processing apparatus Download PDF

Info

Publication number
JP6248425B2
JP6248425B2 JP2013124319A JP2013124319A JP6248425B2 JP 6248425 B2 JP6248425 B2 JP 6248425B2 JP 2013124319 A JP2013124319 A JP 2013124319A JP 2013124319 A JP2013124319 A JP 2013124319A JP 6248425 B2 JP6248425 B2 JP 6248425B2
Authority
JP
Japan
Prior art keywords
test
information
software
information collection
item
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
JP2013124319A
Other languages
Japanese (ja)
Other versions
JP2015001755A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013124319A priority Critical patent/JP6248425B2/en
Publication of JP2015001755A publication Critical patent/JP2015001755A/en
Application granted granted Critical
Publication of JP6248425B2 publication Critical patent/JP6248425B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明はプログラム、プロセス選択方法および情報処理装置に関する。   The present invention relates to a program, a process selection method, and an information processing apparatus.

現在、ソフトウェア開発では、ソフトウェアの品質向上を図るためにソフトウェアの動作を確認するテストが行われている。テストでは、例えばテスト対象のソフトウェアをコンピュータなどの情報処理装置に実行させる。そして、予定される入力に対し、ソフトウェアが設計された動作を適正に行えるかを確認する。動作が不正(エラー)であれば、当該エラーに関連する情報を採取して、当該情報からエラーの原因を分析し、対策し得る。   Currently, in software development, tests are performed to confirm the operation of software in order to improve the quality of software. In the test, for example, software to be tested is executed by an information processing apparatus such as a computer. Then, it is checked whether the software can properly perform the designed operation for the planned input. If the operation is invalid (error), information related to the error can be collected, the cause of the error can be analyzed from the information, and countermeasures can be taken.

例えば、エラーの種別ごとにどのような情報があれば原因究明に役立つかを予め設定しておき、この設定に基づいて主メモリ上に採取された障害調査情報を磁気ディスク装置などの記憶媒体に出力することで、当該障害調査情報を容易に得る方法が提案されている。この提案では、障害調査情報として、エラー時におけるハードウェア、ソフトウェアの状態を示すログや各種プログラムの走行内容やその動作に関連して変化するハードウェアおよびソフトウェア資源の状態を動的・連続的に採取したトレース情報が挙げられている。   For example, what kind of information is useful for investigating the cause for each error type is set in advance, and failure investigation information collected in the main memory based on this setting is stored in a storage medium such as a magnetic disk device. There has been proposed a method for easily obtaining the trouble investigation information by outputting. In this proposal, as fault investigation information, logs indicating the status of hardware and software at the time of error, running contents of various programs and the status of hardware and software resources that change in relation to the operation are dynamically and continuously Collected trace information is listed.

特開平10−260861号公報Japanese Patent Laid-Open No. 10-260861

ところで、ソフトウェアの実行状態は情報処理装置上でプロセスと呼ばれる単位で管理され得る。そこで、エラー時に採取対象とする情報を、当該プロセスの情報に基づいて指定することが考えられる。例えば、テストに関連するプロセスを予め指定して採取する情報を絞り込めば、余計な情報を採取するよりも、原因究明の分析作業を効率化し得る。   By the way, the execution state of software can be managed in units called processes on the information processing apparatus. Therefore, it is conceivable to specify information to be collected at the time of error based on the information of the process. For example, by narrowing down information to be collected by specifying processes related to the test in advance, it is possible to make the analysis work for finding the cause more efficient than collecting unnecessary information.

しかし、情報処理装置上ではテスト対象のソフトウェアに関連して動作するソフトウェアのみが実行されているとは限らない。テスト対象のソフトウェアとは無関係なソフトウェアも実行され得る。そこで、多数存在するソフトウェアのプロセスの中から、テスト時に情報収集の対象とするプロセスをどのようにして効率的に選択するかが問題となる。   However, only software that operates in association with software to be tested is not always executed on the information processing apparatus. Software unrelated to the software under test can also be executed. Thus, there is a problem of how to efficiently select a process for collecting information at the time of testing from among a large number of existing software processes.

1つの側面では、本発明は、テストの効率化を図れるプログラム、プロセス選択方法および情報処理装置を提供することを目的とする。   In one aspect, an object of the present invention is to provide a program, a process selection method, and an information processing apparatus that can improve test efficiency.

1つの態様では、複数のプロセスを実行可能なコンピュータによって実行されるプログラムが提供される。このプログラムは、コンピュータに、ソフトウェアのテストを開始する際に、存在しているプロセスごとに、実行された累積の時間を示す第1の情報を取得し、ソフトウェアのテストを終了する際に、存在しているプロセスごとに、実行された累積の時間を示す第2の情報を取得し、プロセスごとに取得された第1および第2の情報に基づいて、ソフトウェアのテストを再び行う際に情報収集の対象とするプロセスを選択情報収集の対象とした第1のプロセスに関するテスト中の履歴に、第1のプロセスと通信する第2のプロセスの異常が記録されている場合、第2のプロセスを情報収集の対象とする、処理を実行させる。 In one aspect, a program executed by a computer capable of executing a plurality of processes is provided. This program obtains first information indicating the accumulated time executed for each existing process when starting a software test on the computer, and exists when the software test ends. For each process, the second information indicating the accumulated time of execution is acquired, and information is collected when the software is tested again based on the first and second information acquired for each process. of selecting a process of interest, the first history during the test on the process intended for information gathering, when an abnormality of the second process communicating with the first process is recorded, a second process Execute the process that targets information collection .

また、1つの態様では、複数のプロセスを実行可能な情報処理装置が実行するプロセス選択方法が提供される。このプロセス選択方法では、情報処理装置が、ソフトウェアのテストを開始する際に、存在しているプロセスごとに、実行された累積の時間を示す第1の情報を取得し、ソフトウェアのテストを終了する際に、存在しているプロセスごとに、実行された累積の時間を示す第2の情報を取得し、プロセスごとに取得された第1および第2の情報に基づいて、ソフトウェアのテストを再び行う際に情報収集の対象とするプロセスを選択し、情報収集の対象とした第1のプロセスに関するテスト中の履歴に、第1のプロセスと通信する第2のプロセスの異常が記録されている場合、第2のプロセスを情報収集の対象とするFurther, in one aspect, a process selection method executed by an information processing apparatus that can execute a plurality of processes is provided. In this process selection method, when the information processing apparatus starts a software test, the information processing apparatus acquires first information indicating the accumulated time for each existing process, and ends the software test. In this case, for each existing process, the second information indicating the accumulated time of execution is acquired, and the software test is performed again based on the first and second information acquired for each process. When a process to be collected information is selected and an abnormality of the second process communicating with the first process is recorded in the history of the test related to the first process to be collected information, The second process is the target of information collection .

また、1つの態様では、複数のプロセスを実行可能な情報処理装置が提供される。この情報処理装置は、記憶部と演算部とを有する。記憶部は、現存しているプロセスごとに、実行された累積の時間を記憶する。演算部は、ソフトウェアのテストを開始する際に、記憶部を参照して、存在しているプロセスごとに、実行された累積の時間を示す第1の情報を取得し、ソフトウェアのテストを終了する際に、記憶部を参照して、存在しているプロセスごとに、実行された累積の時間を示す第2の情報を取得し、プロセスごとに取得された第1および第2の情報に基づいて、ソフトウェアのテストを再び行う際に情報収集の対象とするプロセスを選択し、情報収集の対象とした第1のプロセスに関するテスト中の履歴に、第1のプロセスと通信する第2のプロセスの異常が記録されている場合、第2のプロセスを情報収集の対象とするIn one aspect, an information processing apparatus capable of executing a plurality of processes is provided. This information processing apparatus includes a storage unit and a calculation unit. The storage unit stores the accumulated time for each existing process. When starting the software test, the arithmetic unit refers to the storage unit, obtains first information indicating the accumulated time for each existing process, and ends the software test. At the time, referring to the storage unit, the second information indicating the accumulated execution time is obtained for each existing process, and based on the first and second information obtained for each process. When the software test is performed again, the process to be collected information is selected , and the abnormality in the second process communicating with the first process is recorded in the history of the test related to the first process to be collected. Is recorded, the second process is the target of information collection .

1つの側面では、テストの効率化を図れる。   In one aspect, testing can be made more efficient.

第1の実施の形態の情報処理装置を示す図である。It is a figure which shows the information processing apparatus of 1st Embodiment. 第2の実施の形態のテスト装置のハードウェア例を示す図である。It is a figure which shows the hardware example of the test apparatus of 2nd Embodiment. テスト装置の機能例を示す図である。It is a figure which shows the example of a function of a test apparatus. プロセスの状態遷移を示す図である。It is a figure which shows the state transition of a process. テスト時におけるプロセスの実行パターンの例を示す図である。It is a figure which shows the example of the execution pattern of the process at the time of a test. 候補プロセステーブルの例を示す図である。It is a figure which shows the example of a candidate process table. 除外プロセステーブルの例を示す図である。It is a figure which shows the example of an exclusion process table. テスト管理テーブルの例を示す図である。It is a figure which shows the example of a test management table. 開始テーブルの例を示す図である。It is a figure which shows the example of a start table. 終了テーブルの例を示す図である。It is a figure which shows the example of an end table. 比較テーブルの例を示す図である。It is a figure which shows the example of a comparison table. プロセス履歴テーブルの例を示す図である。It is a figure which shows the example of a process history table. プロセステーブルの例を示す図である。It is a figure which shows the example of a process table. ソフトウェアのテストの処理例を示すフローチャートである。It is a flowchart which shows the process example of a software test. プロセス選択処理の例を示すフローチャートである。It is a flowchart which shows the example of a process selection process. テスト開始時処理の例を示すフローチャートである。It is a flowchart which shows the example of the process at the time of a test start. テスト終了時処理の例を示すフローチャートである。It is a flowchart which shows the example of the process at the time of a test completion | finish. 比較処理の例を示すフローチャートである。It is a flowchart which shows the example of a comparison process. メモリダンプ取得処理の例を示すフローチャートである。It is a flowchart which shows the example of a memory dump acquisition process. トレースデータ取得処理の例を示すフローチャートである。It is a flowchart which shows the example of a trace data acquisition process. プロセス選択処理の具体例を示すシーケンス図である。It is a sequence diagram which shows the specific example of a process selection process. プロセス選択の具体例を示す図である。It is a figure which shows the specific example of process selection. 情報収集処理の具体例を示すシーケンス図である。It is a sequence diagram which shows the specific example of an information collection process. テスト項目の有効性の検証例を示すフローチャートである。It is a flowchart which shows the verification example of the effectiveness of a test item. テスト項目の抽出処理の例を示すフローチャートである。It is a flowchart which shows the example of the extraction process of a test item.

以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、テスト対象のソフトウェアを実行し、当該ソフトウェアの動作テストを行う。情報処理装置1は、複数のプロセスを実行可能である。プロセスは情報処理装置1により実行される種々のソフトウェアのプログラムの実行単位の1つである。例えば、情報処理装置1により実行されるオペレーティングシステム(OS:Operating System)が、各ソフトウェアのプロセスの生成・実行待ち・実行・終了などを管理する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating the information processing apparatus according to the first embodiment. The information processing apparatus 1 executes test target software and performs an operation test on the software. The information processing apparatus 1 can execute a plurality of processes. The process is one of execution units of various software programs executed by the information processing apparatus 1. For example, an operating system (OS: Operating System) executed by the information processing apparatus 1 manages generation, waiting for execution, execution, and termination of each software process.

情報処理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。演算部1bは、プログラムを実行するプロセッサであってもよい。“プロセッサ”には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。第1の実施の形態の情報処理は、演算部1bが記憶部1aに記憶されたプログラムを実行することで実現されてもよい。   The information processing apparatus 1 includes a storage unit 1a and a calculation unit 1b. The storage unit 1a may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The calculation unit 1b may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like. The calculation unit 1b may be a processor that executes a program. A “processor” may include a set of multiple processors (multiprocessor). The information processing of the first embodiment may be realized by the calculation unit 1b executing a program stored in the storage unit 1a.

記憶部1aは、現存しているプロセスごとの実行された累積の時間(累積実行時間ということがある)を示す管理情報2を記憶する。例えば、情報処理装置1により実行されるOSが、現時点において存在しているプロセスごとに実行された累積の時間を管理情報2に記録する。存在しているプロセスとは、生成済のプロセスである。存在しているプロセスは、OSによるプロセッサやRAMなどのリソースの割当てがあるプロセスともいえる。存在していないプロセスとは、過去に存在していたが、現在は終了して消去されたプロセスである。存在していないプロセスは、OSにより割当てられていたリソースが解放されたプロセスともいえる。実行された累積の時間は、該当のプロセスが実行状態であった時間の累積である。   The storage unit 1a stores management information 2 indicating accumulated time (sometimes referred to as accumulated execution time) executed for each existing process. For example, the OS executed by the information processing apparatus 1 records the accumulated time executed for each process currently existing in the management information 2. An existing process is a generated process. The existing process can be said to be a process in which resources such as a processor and a RAM are allocated by the OS. A non-existing process is a process that has existed in the past but is now terminated and deleted. A process that does not exist can be said to be a process in which resources allocated by the OS are released. The accumulated execution time is the accumulation of the time when the corresponding process is in the execution state.

演算部1bは、テスト対象のソフトウェアのテストを開始する際に、存在しているプロセスごとに、実行された累積の時間を示す第1の情報を取得する。演算部1bは、記憶部1aを参照して、当該テスト開始時に存在しているプロセスごとの第1の情報を取得し得る。例えば、演算部1bは、取得した第1の情報をプロセスに対応付けて記憶部1aに格納された記録情報3に登録する。   When starting the test of the software to be tested, the calculation unit 1b acquires first information indicating the accumulated time for each existing process. The computing unit 1b can acquire the first information for each process existing at the start of the test with reference to the storage unit 1a. For example, the calculation unit 1b registers the acquired first information in the recording information 3 stored in the storage unit 1a in association with the process.

演算部1bは、テスト対象のソフトウェアのテストを終了する際に、存在しているプロセスごとに、実行された累積の時間を示す第2の情報を取得する。演算部1bは、記憶部1aを参照して、当該テスト終了時に存在しているプロセスごとの第2の情報を取得し得る。例えば、演算部1bは、取得した第2の情報をプロセスに対応付けて記録情報3に登録する。   When completing the test of the software to be tested, the arithmetic unit 1b acquires second information indicating the accumulated time for each existing process. The computing unit 1b can obtain the second information for each process existing at the end of the test with reference to the storage unit 1a. For example, the calculation unit 1b registers the acquired second information in the recording information 3 in association with the process.

演算部1bは、プロセスごとに取得された第1および第2の情報に基づいて、テスト対象のソフトウェアのテストを行う際に情報収集の対象とするプロセスを選択する。
ここで、図1の管理情報2および記録情報3では、あるソフトウェアのテストを行った後、所定時間が経過した時点の登録内容を例示している。例えば、当該時点において、管理情報2には各プロセスに対して次の累積実行時間が登録されている。プロセスA1の累積実行時間t12。プロセスA2の累積実行時間t22。プロセスA4の累積実行時間t42。プロセスA5の累積実行時間t52。
Based on the first and second information acquired for each process, the computing unit 1b selects a process for which information is to be collected when a test target software is tested.
Here, the management information 2 and the record information 3 in FIG. 1 exemplify registration contents when a predetermined time has elapsed after a test of a certain software. For example, at the time, the next cumulative execution time is registered in the management information 2 for each process. Accumulated execution time t12 of process A1. Accumulated execution time t22 of process A2. Accumulated execution time t42 of process A4. Accumulated execution time t52 of process A5.

また、例えば記録情報3には、テスト開始時に存在していたプロセスに対して次のようにテスト開始時の累積実行時間が登録されている。登録なし(ハイフン“−”を表記)は、当該時点において存在していなかったため、累積実行時間を取得できなかったことを示す。プロセスA1の累積実行時間t10。プロセスA2の累積実行時間t20。プロセスA3の累積実行時間t30。同様に、テスト終了時に存在していたプロセスに対して次のようにテスト終了時の累積実行時間が登録されている。プロセスA1の累積実行時間t11。プロセスA2の累積実行時間t20。プロセスA4の累積実行時間t41。   Further, for example, in the recording information 3, the accumulated execution time at the start of the test is registered as follows for the process that existed at the start of the test. No registration (denoted with a hyphen “-”) indicates that the cumulative execution time could not be acquired because it did not exist at that time. Accumulated execution time t10 of process A1. Accumulated execution time t20 of process A2. Accumulated execution time t30 of process A3. Similarly, the accumulated execution time at the end of the test is registered for the process that existed at the end of the test as follows. Accumulated execution time t11 of process A1. Accumulated execution time t20 of process A2. Accumulated execution time t41 of process A4.

例えば、演算部1bは、記録情報3を参照して、プロセスごとにテスト開始時の累積実行時間(第1の情報)とテスト終了時の累積実行時間(第2の情報)とを比較する。例えば、演算部1bは、テスト開始時の累積実行時間(第1の情報)とテスト終了時の累積実行時間(第2の情報)とが異なるプロセスを、情報収集の対象として選択する。テスト期間中に累積実行時間が変動していれば、当該プロセスは、テスト中のソフトウェアの処理に関連して実行された可能性が高いからである。   For example, the computing unit 1b refers to the recorded information 3 and compares the accumulated execution time at the start of the test (first information) with the accumulated execution time at the end of the test (second information) for each process. For example, the calculation unit 1b selects, as information collection targets, processes whose accumulated execution time (first information) at the start of the test and the accumulated execution time (second information) at the end of the test are different. This is because if the accumulated execution time fluctuates during the test period, the process is likely to have been executed in connection with the processing of the software under test.

記録情報3の例でいえば、プロセスA1はテスト開始時とテスト終了時とで累積実行時間が異なっている。よって、演算部1bはプロセスA1を情報収集の対象とする。一方、演算部1bはテスト開始時およびテスト終了時の累積実行時間が同じであるプロセスA2を情報収集の対象としない。   In the example of the record information 3, the accumulated execution time of the process A1 is different at the start of the test and at the end of the test. Therefore, the calculation unit 1b sets the process A1 as an information collection target. On the other hand, the calculation unit 1b does not collect information on the process A2 having the same cumulative execution time at the start of the test and at the end of the test.

演算部1bは、第1および第2の情報のうちの何れか一方のみが取得されているプロセスをソフトウェアの情報収集の対象として選択してもよい。例えば、テスト開始時には存在しておらず、テスト終了時には存在していたプロセスA4は、テスト中のソフトウェアの処理に関連して生成された可能性があるからである。また、テスト開始時には存在しており、テスト終了時には存在していなかったプロセスA3は、テスト中のソフトウェアの処理に関連して終了された可能性があるからである。よって、演算部1bはプロセスA3,A4を情報収集の対象とする。   The computing unit 1b may select a process in which only one of the first and second information is acquired as a target for collecting software information. For example, the process A4 that did not exist at the start of the test and existed at the end of the test may have been generated in connection with the processing of the software under test. This is because the process A3 that exists at the start of the test and does not exist at the end of the test may have ended in connection with the processing of the software under test. Therefore, the calculation unit 1b sets the processes A3 and A4 as information collection targets.

情報処理装置1によれば、演算部1bにより、ソフトウェアのテストが開始される際に、存在しているプロセスごとに、実行された累積の時間を示す第1の情報が取得される。演算部1bにより、ソフトウェアのテストを終了する際に、存在しているプロセスごとに、実行された累積の時間を示す第2の情報が取得される。演算部1bにより、プロセスごとに取得された第1および第2の情報に基づいて、情報収集の対象とするプロセスが選択される。   According to the information processing apparatus 1, when the software test is started, the calculation unit 1 b acquires first information indicating the accumulated time for each existing process. When the software test is finished, the computing unit 1b acquires second information indicating the accumulated time for each existing process. Based on the first and second information acquired for each process, the calculation unit 1b selects a process for which information is to be collected.

これにより、テストの効率化を図れる。ここで、例えば、情報収集の対象とするプロセスを選択して、エラー時に採取する情報を予め絞り込めば、余計な(ソフトウェアのテストとは明らかに関連のない)プロセスの情報を採取するよりも、原因究明の分析作業を効率化し得る。そこで、ソフトウェアのテストでは、情報処理装置1上に多数存在するソフトウェアのプロセスの中から、情報収集の対象とするプロセスをどのようにして効率的に選択するかが問題となる。   This can improve the efficiency of the test. Here, for example, if you select the process for which information is to be collected and narrow down the information to be collected in the event of an error in advance, it will be better than collecting information on the extra process (which is not clearly related to software testing). , Analysis of cause investigation can be made more efficient. Therefore, in the software test, there is a problem of how to efficiently select a process as an information collection target from among many software processes existing on the information processing apparatus 1.

例えば、ソフトウェアのテストを行っている最中に、存在している全プロセスについてログやトレースデータなどの情報を網羅的に取得し、取得した情報を分析してテストと関連して実行されたプロセスを選択することも考えられる。しかし、網羅的に情報を取得しようとすると、当該情報を取得する処理に伴う情報処理装置1の負荷が問題となる。情報処理装置1の負荷が増大すると、テスト対象のソフトウェアの処理が適正に行われなくなるおそれがある。また、網羅的に情報を取得すると、取得される情報の情報量も増大し得る。分析対象の情報量が増大すると、分析作業におけるユーザの負担が過大となるおそれもある。   For example, during software testing, processes such as logs and trace data are comprehensively acquired for all existing processes, and the acquired information is analyzed and executed in connection with the tests. It is also possible to select. However, when trying to acquire information comprehensively, the load on the information processing apparatus 1 associated with the process of acquiring the information becomes a problem. When the load on the information processing apparatus 1 increases, there is a possibility that the software to be tested is not properly processed. Moreover, if information is acquired comprehensively, the amount of information acquired can also increase. If the amount of information to be analyzed increases, the burden on the user in the analysis work may become excessive.

そこで、情報処理装置1では、テスト開始時およびテスト終了時に各プロセスの累積実行時間を取得し、当該累積実行時間に基づいて、情報収集の対象とするプロセスを選択する。取得した累積実行時間の変化は、プロセスが実行された実績を示すから、テスト中に累積実行時間に変化があったプロセスは、テストに関連して実行されたプロセスであると推測できる。よって、累積実行時間に基づいてプロセスを選択し、情報収集すれば、明らかにテストと関係ないと考えられるプロセスを情報収集の対象から除外できる。   Therefore, the information processing apparatus 1 acquires the accumulated execution time of each process at the start of the test and at the end of the test, and selects a process for which information is to be collected based on the accumulated execution time. Since the acquired change in the accumulated execution time indicates the actual performance of the process, it can be inferred that the process in which the accumulated execution time has changed during the test is the process executed in connection with the test. Therefore, if a process is selected based on the accumulated execution time and information is collected, a process that is clearly unrelated to the test can be excluded from the information collection target.

また、例えば、累積実行時間は、情報処理装置1上のオペレーティングシステムにより、プロセスごとに記憶部1aに格納される情報である。演算部1bは、累積実行時間を取得するために、記憶部1aから該当のプロセスの累積実行時間を読み出せばよい。このため、上記のように網羅的に情報を取得しなくてよく、プロセス選択用の情報の取得に伴う負荷を比較的小さく抑えられる。よって、情報処理装置1の負荷がテストに与える影響を軽減できる。また、テスト開始時およびテスト終了時の各プロセスの累積実行時間に基づいて、情報収集の対象とするプロセスを選択するので、ユーザに対して当該プロセスを選択する作業を強いずに済む。よって、ユーザの作業の省力化を図れる。   Further, for example, the cumulative execution time is information stored in the storage unit 1 a for each process by the operating system on the information processing apparatus 1. The calculation unit 1b may read the cumulative execution time of the corresponding process from the storage unit 1a in order to acquire the cumulative execution time. For this reason, it is not necessary to acquire information comprehensively as described above, and the load accompanying acquisition of information for process selection can be kept relatively small. Therefore, it is possible to reduce the influence of the load of the information processing apparatus 1 on the test. In addition, since the process to be collected is selected based on the accumulated execution time of each process at the start of the test and at the end of the test, the user is not forced to select the process. Therefore, labor saving of the user's work can be achieved.

特に、テスト対象のソフトウェアが他のソフトウェアと連携して所定の機能を実現する場合、当該連携が適正に行われるかをテストすることもある(システムテストと呼ばれることがある)。システムテストでは、他のソフトウェアとの連携で生ずるエラーの分析が行われる。しかし、他のソフトウェアは、自身とは異なる開発者、ベンダなどにより作成されたものである場合もある。このため、他のソフトウェアがブラックボックス化されていると、どのようなプロセスが実行されるのかを事前に把握することは容易でない。したがって、このような場合には、テスト対象のソフトウェアを実際に動かしてみて他のソフトウェアとの連携を確認することが多い。情報処理装置1によれば、このようなブラックボックステストを行う場合にも、情報収集の対象とするプロセスを効率的に選択でき、テストの効率化を図れる。   In particular, when the software to be tested realizes a predetermined function in cooperation with other software, it may be tested whether the cooperation is properly performed (sometimes called a system test). In the system test, an error generated in cooperation with other software is analyzed. However, other software may be created by a developer or vendor different from itself. For this reason, if other software is black-boxed, it is not easy to know in advance what process will be executed. Therefore, in such a case, it is often the case that the software to be tested is actually moved to confirm the cooperation with other software. According to the information processing apparatus 1, even when performing such a black box test, it is possible to efficiently select a process for which information is to be collected, and to improve the efficiency of the test.

また、情報処理装置1は、テスト対象のソフトウェアのテストを再び行う際に、選択したプロセスを指定して、トレースログやメモリダンプなどの情報を収集し得る。すなわち、情報の収集範囲を、選択したプロセスに絞り込める。このため、当該情報収集に要する負荷を軽減できる。よって、当該テスト中にも情報処理装置1の負荷がテストに与える影響を軽減できる。また、ソフトウェアのテストとは明らかに関連しないプロセスに関する情報(余計な情報)を収集しない。よって、分析対象とする情報量を低減でき、分析作業の省力化を図れる。   The information processing apparatus 1 can collect information such as a trace log and a memory dump by specifying the selected process when the test target software is tested again. That is, the information collection range can be narrowed down to the selected process. For this reason, the load required for the information collection can be reduced. Therefore, the influence of the load of the information processing apparatus 1 on the test can be reduced during the test. Also, do not collect information about processes that are not clearly related to software testing (extra information). Therefore, the amount of information to be analyzed can be reduced, and the labor of analysis work can be saved.

[第2の実施の形態]
図2は、第2の実施の形態のテスト装置のハードウェア例を示す図である。テスト装置100は、テスト対象のソフトウェアに関するテストを行うコンピュータである。第2の実施の形態では、当該ソフトウェアに対するシステムテストを想定する。システムテストでは、例えば、テスト対象のソフトウェアと他のソフトウェア(OSやデバイスドライバなどを含む)とが連携して、設計された機能を実現できることを確認する。ただし、以下に示す機能をシステムテスト以外に適用することを妨げるものではない。例えば、単体テストや結合テストなどにも適用し得る。
[Second Embodiment]
FIG. 2 is a diagram illustrating a hardware example of the test apparatus according to the second embodiment. The test apparatus 100 is a computer that performs a test on software to be tested. In the second embodiment, a system test for the software is assumed. In the system test, for example, it is confirmed that the software to be tested and other software (including the OS and device driver) can cooperate to realize the designed function. However, this does not prevent the following functions from being applied to other than system tests. For example, it can be applied to unit tests and integration tests.

テスト装置100は、プロセッサ101、RAM102、HDD103、通信部104、画像信号処理部105、入力信号処理部106、ディスクドライブ107および機器接続部108を有する。各ユニットはテスト装置100のバスに接続されている。   The test apparatus 100 includes a processor 101, a RAM 102, an HDD 103, a communication unit 104, an image signal processing unit 105, an input signal processing unit 106, a disk drive 107, and a device connection unit 108. Each unit is connected to the bus of the test apparatus 100.

プロセッサ101は、テスト装置100の情報処理を制御する。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、CPU、DSP、ASICまたはFPGAのうちの2以上の要素の組合せであってもよい。   The processor 101 controls information processing of the test apparatus 100. The processor 101 is, for example, a CPU, DSP, ASIC, or FPGA. The processor 101 may be a multiprocessor. The processor 101 may be a combination of two or more elements of CPU, DSP, ASIC, or FPGA.

RAM102は、テスト装置100の主記憶装置である。RAM102は、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。   The RAM 102 is a main storage device of the test apparatus 100. The RAM 102 temporarily stores at least part of an OS program and application programs to be executed by the processor 101. The RAM 102 stores various data used for processing by the processor 101.

HDD103は、テスト装置100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。テスト装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。   The HDD 103 is an auxiliary storage device of the test apparatus 100. The HDD 103 magnetically writes and reads data to and from the built-in magnetic disk. The HDD 103 stores an OS program, application programs, and various data. The test apparatus 100 may include other types of auxiliary storage devices such as flash memory and SSD (Solid State Drive), or may include a plurality of auxiliary storage devices.

通信部104は、ネットワーク10を介して他のコンピュータと無線通信を行えるインタフェースである。通信部104は、有線インタフェースでもよい。
画像信号処理部105は、プロセッサ101からの命令に従って、テスト装置100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
The communication unit 104 is an interface that can perform wireless communication with another computer via the network 10. The communication unit 104 may be a wired interface.
The image signal processing unit 105 outputs an image to the display 11 connected to the test apparatus 100 in accordance with an instruction from the processor 101. As the display 11, a CRT (Cathode Ray Tube) display, a liquid crystal display, or the like can be used.

入力信号処理部106は、テスト装置100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。   The input signal processing unit 106 acquires an input signal from the input device 12 connected to the test apparatus 100 and outputs the input signal to the processor 101. As the input device 12, for example, a pointing device such as a mouse or a touch panel, a keyboard, or the like can be used.

ディスクドライブ107は、レーザ光などを利用して、光ディスク13に記録されたプログラムやデータを読み取る駆動装置である。光ディスク13として、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などを使用できる。ディスクドライブ107は、例えば、プロセッサ101からの命令に従って、光ディスク13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。   The disk drive 107 is a drive device that reads a program and data recorded on the optical disk 13 using a laser beam or the like. As the optical disc 13, for example, a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), or the like can be used. For example, the disk drive 107 stores the program and data read from the optical disk 13 in the RAM 102 or the HDD 103 in accordance with an instruction from the processor 101.

機器接続部108は、テスト装置100に周辺機器を接続するための通信インタフェースである。例えば、機器接続部108にはメモリ装置14やリーダライタ装置15を接続できる。メモリ装置14は、機器接続部108との通信機能を搭載した記録媒体である。リーダライタ装置15は、メモリカード16へのデータの書き込み、またはメモリカード16からのデータの読み出しを行う装置である。メモリカード16は、カード型の記録媒体である。機器接続部108は、例えば、プロセッサ101からの命令に従って、メモリ装置14またはメモリカード16から読み取ったプログラムやデータをRAM102またはHDD103に格納する。   The device connection unit 108 is a communication interface for connecting peripheral devices to the test apparatus 100. For example, the memory device 14 and the reader / writer device 15 can be connected to the device connection unit 108. The memory device 14 is a recording medium equipped with a communication function with the device connection unit 108. The reader / writer device 15 is a device that writes data to the memory card 16 or reads data from the memory card 16. The memory card 16 is a card-type recording medium. For example, the device connection unit 108 stores a program or data read from the memory device 14 or the memory card 16 in the RAM 102 or the HDD 103 in accordance with an instruction from the processor 101.

図3は、テスト装置の機能例を示す図である。テスト装置100は、記憶部110、OS120、テスト処理部130、情報収集部140、テスト対象ソフトウェア150およびソフトウェア群160を有する。記憶部110は、RAM102やHDD103の所定の記憶領域を用いて実現できる。テスト処理部130および情報収集部140は、プロセッサ101によって実行されるプログラムのモジュールであってもよい。   FIG. 3 is a diagram illustrating an example of functions of the test apparatus. The test apparatus 100 includes a storage unit 110, an OS 120, a test processing unit 130, an information collection unit 140, test target software 150, and a software group 160. The storage unit 110 can be realized using a predetermined storage area of the RAM 102 or the HDD 103. The test processing unit 130 and the information collecting unit 140 may be modules of a program executed by the processor 101.

記憶部110は、テスト装置100の各部の処理に用いられる情報を記憶する。記憶部110は、現時点において存在しているプロセスごとに実行された累積の時間(累積実行時間)を記憶する。記憶部110が記憶する情報には、テスト管理テーブル、開始テーブルおよび終了テーブルが含まれる。   The storage unit 110 stores information used for processing of each unit of the test apparatus 100. The storage unit 110 stores an accumulated time (accumulated execution time) executed for each process existing at the present time. The information stored in the storage unit 110 includes a test management table, a start table, and an end table.

テスト管理テーブルは、テスト対象のソフトウェアとテスト内容との対応関係を示すテーブルである。テスト内容は、1以上のテスト項目と各テスト項目の実行順とを含む。開始テーブルおよび終了テーブルはプロセスごとの累積実行時間を記録するために用いられるテーブルである。   The test management table is a table showing the correspondence between the software to be tested and the test contents. The test content includes one or more test items and the execution order of each test item. The start table and the end table are tables used for recording the accumulated execution time for each process.

OS120は、各種ソフトウェアの実行を管理する基本ソフトウェアである。例えば、OS120は、各ソフトウェアのプロセスの生成・実行待ち・実行・終了などを管理する。プロセスは、ソフトウェアに含まれるプログラムのOS120による実行単位の1つである。また、OS120は、現時点において存在しているプロセスごとの累積実行時間を記憶部110に格納する。OS120は、現存するプロセスの累積実行時間を常時計測し、記憶部110に記録された累積実行時間を更新する。   The OS 120 is basic software that manages the execution of various types of software. For example, the OS 120 manages creation, waiting for execution, execution, and termination of each software process. A process is one of execution units by the OS 120 of a program included in software. Further, the OS 120 stores the accumulated execution time for each process existing at the present time in the storage unit 110. The OS 120 constantly measures the accumulated execution time of the existing process and updates the accumulated execution time recorded in the storage unit 110.

例えば、OS120として、Unix(登録商標)やLinux(登録商標)およびWindows(登録商標)などを利用できる。
テスト処理部130は、テスト管理テーブルを参照して、テスト対象ソフトウェア150に応じたテストを実行する。例えば、テスト処理部130は、テスト対象ソフトウェア150に対して所定のデータを入力し、テスト対象ソフトウェア150やソフトウェア群160から出力を得ることで、テスト管理テーブルに登録されたテスト項目を順次実行する。テスト処理部130は、入力に対する出力が適正か否かを判定することで、テストの成否を決定する。テスト処理部130は、次のようにテストを進める。まず、情報収集対象のプロセスを選択するためのテストを行う(1回目)。次に、選択されたプロセスについて情報収集を行うためのテストを行う(2回目以降)。
For example, Unix (registered trademark), Linux (registered trademark), Windows (registered trademark), or the like can be used as the OS 120.
The test processing unit 130 refers to the test management table and executes a test according to the test target software 150. For example, the test processing unit 130 inputs predetermined data to the test target software 150 and obtains output from the test target software 150 or the software group 160, thereby sequentially executing the test items registered in the test management table. . The test processing unit 130 determines whether or not the test is successful by determining whether or not the output corresponding to the input is appropriate. The test processing unit 130 proceeds with the test as follows. First, a test for selecting a process for collecting information is performed (first time). Next, a test for collecting information on the selected process is performed (from the second time on).

情報収集部140は、テスト処理部130による1回目のテストの際に、テスト項目ごとに情報収集の対象とするプロセスを選択する。具体的には、情報収集部140は、テスト項目ごとに、テスト開始時に存在していたプロセスに対し、累積実行時間を取得する。情報収集部140は、テスト開始時点のプロセスごとの累積実行時間を記憶部110に記憶された開始テーブルに記録する。情報収集部140は、テスト項目ごとに、テスト終了時に存在していたプロセスに対し、累積実行時間を取得する。情報収集部140は、テスト終了時点のプロセスごとの累積実行時間を記憶部110に記憶された終了テーブルに記録する。   In the first test by the test processing unit 130, the information collection unit 140 selects a process to be collected information for each test item. Specifically, the information collection unit 140 acquires the cumulative execution time for the process that existed at the start of the test for each test item. The information collecting unit 140 records the accumulated execution time for each process at the time of starting the test in the start table stored in the storage unit 110. The information collection unit 140 acquires the accumulated execution time for the process that existed at the end of the test for each test item. The information collection unit 140 records the accumulated execution time for each process at the end of the test in the end table stored in the storage unit 110.

各プロセスの各時点における累積実行時間は、前述のようにOS120により記憶部110に格納されている。例えば、情報収集部140は、各時点において、OS120に対してプロセスを指定した所定のコマンドを発行することで、当該プロセスの累積実行時間を取得し得る。例えば、OS120がUnixやLinuxであれば、psコマンドを用いてプロセスごとの累積実行時間を取得してもよい。あるいは、OS120がWindowsであれば、GetProcessTimesコマンドを用いてプロセスごとの累積実行時間を取得してもよい。   The accumulated execution time at each time point of each process is stored in the storage unit 110 by the OS 120 as described above. For example, the information collection unit 140 can acquire the cumulative execution time of the process by issuing a predetermined command designating the process to the OS 120 at each time point. For example, if the OS 120 is Unix or Linux, the accumulated execution time for each process may be acquired using the ps command. Alternatively, if the OS 120 is Windows, the accumulated execution time for each process may be acquired using the GetProcessTimes command.

情報収集部140は、プロセスごとのテスト開始時およびテスト終了時の累積実行時間に基づいて、テスト項目ごとに情報収集の対象とするプロセスを選択する。
情報収集部140は、テスト処理部130による2回目以降のテストの際に、テスト項目ごとに、選択したプロセスについて、エラー分析用の情報を収集する。具体的には、情報収集部140は、エラー分析用の情報として、プロセスごとのメモリダンプ(RAM102上の任意領域をHDD103上にファイル出力したもの)やトレースデータを収集する。例えば、OS120がUnixであれば、trussコマンドを用いてプロセスごとのトレースデータを取得してもよい。あるいは、OS120がLinuxであれば、straceコマンドを用いてプロセスごとのトレースデータを取得してもよい。
The information collection unit 140 selects a process for which information is to be collected for each test item based on the accumulated execution time at the start and end of the test for each process.
The information collection unit 140 collects error analysis information for the selected process for each test item in the second and subsequent tests by the test processing unit 130. Specifically, the information collection unit 140 collects a memory dump for each process (an arbitrary area on the RAM 102 output as a file on the HDD 103) and trace data as error analysis information. For example, if the OS 120 is Unix, trace data for each process may be acquired using a truss command. Alternatively, if the OS 120 is Linux, trace data for each process may be acquired using a trace command.

テスト対象ソフトウェア150は、テストの対象とするソフトウェアである。テスト対象ソフトウェア150は、OS120やソフトウェア群160と連携して、所定の機能を実現する。   The test target software 150 is software to be tested. The test target software 150 realizes a predetermined function in cooperation with the OS 120 and the software group 160.

ソフトウェア群160は、OS120上で実行される、テスト対象ソフトウェア150以外のソフトウェアの集合である。ソフトウェア群160は、テスト装置100のハードウェアを制御する各種のデバイスドライバを含む。ソフトウェア群160は、テスト対象ソフトウェア150を実行するための基盤となるミドルウェアを含む。ソフトウェア群160は、テスト対象ソフトウェア150と通信する他のアプリケーションを含む。   The software group 160 is a set of software other than the test target software 150 that is executed on the OS 120. The software group 160 includes various device drivers that control the hardware of the test apparatus 100. The software group 160 includes middleware serving as a base for executing the test target software 150. The software group 160 includes other applications that communicate with the test target software 150.

図4は、プロセスの状態遷移を示す図である。プロセスの状態は、OS120により次のように管理される。例えば、プロセスの状態は、実行中状態21(Running)、ブロック状態22(Blocked)および実行可能状態23(Ready)を含む。実行中状態21は、当該プロセスがプロセッサ101により実行されている状態である。ブロック状態22は、所定の外部イベントが発生するまで当該プロセスが実行不可となっている状態である。実行可能状態23は、プロセスに対してスケジューリングされたプロセッサ101の割当て時間を待機している状態である。ただし、上記の状態の他、プロセスは仮想メモリにスワップされることもある。   FIG. 4 is a diagram showing process state transitions. The state of the process is managed by the OS 120 as follows. For example, the process states include a running state 21 (Running), a blocked state 22 (Blocked), and an executable state 23 (Ready). The executing state 21 is a state in which the process is being executed by the processor 101. The block state 22 is a state in which the process cannot be executed until a predetermined external event occurs. The executable state 23 is a state waiting for the allocation time of the processor 101 scheduled for the process. However, in addition to the above states, processes may be swapped to virtual memory.

例えば、(1)プロセスの一連のステップにおいて、所定の外部イベント(リソースの確保や他のプロセスからの入力など)の発生を待つ段階になれば、実行中状態21からブロック状態22に遷移する。(2)第1のプロセスが実行中状態21のときに、第2のプロセスのプロセッサ割当て時間になれば、第1のプロセスは実行可能状態23に遷移する。(3)実行可能状態23であった第2のプロセスは実行中状態21に遷移する。(4)ブロック状態22にあるプロセスは、所定の外部イベントが発生すれば、ブロック状態22から実行可能状態23に遷移する。   For example, (1) in a series of steps of a process, when it becomes a stage waiting for occurrence of a predetermined external event (resource reservation, input from another process, etc.), a transition is made from the running state 21 to the block state 22. (2) When the first process is in the executing state 21 and the processor allocation time of the second process is reached, the first process transits to the executable state 23. (3) The second process that was in the executable state 23 transitions to the executing state 21. (4) A process in the block state 22 transitions from the block state 22 to the executable state 23 when a predetermined external event occurs.

例えば、生成されたプロセスは実行可能状態23となる。プロセスの一連のステップが終了すれば、当該プロセスに対するプロセッサ101、RAM102およびHDD103などのリソースは解放され、当該プロセスは消滅する。   For example, the generated process is in an executable state 23. When a series of steps of the process ends, resources such as the processor 101, the RAM 102, and the HDD 103 for the process are released, and the process disappears.

ブロック状態22、実行可能状態23およびスワップされた状態は、プロセスとしてRAM102やHDD103上に存在するが、実行を待っている状態といえる。例えば、前述の累積実行時間は、各プロセスが実行中状態21であった時間でもよい。あるいは、累積実行時間は、実行中状態21および実行可能状態23であった時間の和でもよい。   The block state 22, the executable state 23, and the swapped state exist on the RAM 102 and the HDD 103 as processes, but can be said to be waiting for execution. For example, the accumulated execution time described above may be a time when each process is in the executing state 21. Alternatively, the cumulative execution time may be the sum of the times in the executing state 21 and the executable state 23.

図5は、テスト時におけるプロセスの実行パターンの例を示す図である。図5において、実線は、プロセスが継続的に、または、断続的に実行された(実行中状態21であった)ことを示している。破線は、プロセスが実行されていない(実行中状態21とならなかった)ことを示している。   FIG. 5 is a diagram illustrating an example of a process execution pattern during a test. In FIG. 5, the solid line indicates that the process has been executed continuously or intermittently (it was in the running state 21). A broken line indicates that the process is not being executed (the state 21 is not being executed).

実行パターンP1は、テスト開始時からテスト終了時までの間にプロセスが実行されるパターンである。実行パターンP1のプロセスは、テスト対象ソフトウェア150のテストに関連して実行された可能性が高いと判断できる。   The execution pattern P1 is a pattern in which a process is executed from the start of the test to the end of the test. It can be determined that the process of the execution pattern P1 is highly likely to have been executed in connection with the test of the test target software 150.

実行パターンP2は、テスト開始時からテスト途中のある時点までにプロセスが実行されるが、テスト終了時までに当該プロセスが終了されるパターンである。実行パターンP2のプロセスはテスト対象ソフトウェア150のテストに関連して終了された可能性がある。   The execution pattern P2 is a pattern in which a process is executed from the start of the test to a certain point in the middle of the test, but the process is ended by the end of the test. The process of the execution pattern P <b> 2 may have been terminated in connection with the test of the test target software 150.

実行パターンP3は、テスト開始時には存在しておらず、テスト途中のある時点にプロセスが生成され、テスト終了時までの間に当該プロセスが実行されるパターンである。実行パターンP3のプロセスはテスト対象ソフトウェア150のテストに関連して生成され、実行された可能性がある。   The execution pattern P3 is a pattern that does not exist at the start of the test, a process is generated at a certain point during the test, and the process is executed until the end of the test. The process of the execution pattern P3 may have been generated and executed in connection with the test of the test target software 150.

実行パターンP4は、テスト開始時およびテスト終了時には存在しておらず、テスト途中で生成され、テスト終了時までに終了するパターンである。実行パターンP4のプロセスはテスト対象ソフトウェア150のテストに関連して生成され、実行された可能性がある。   The execution pattern P4 does not exist at the start of the test and at the end of the test, is a pattern that is generated during the test and ends by the end of the test. The process of the execution pattern P4 may have been generated and executed in connection with the test of the test target software 150.

実行パターンP5は、テスト開始時からテスト終了時の間に当該プロセスが実行されていないパターンである。実行パターンP5のプロセスは、テスト対象ソフトウェア150のテストに関連して実行されるものではないと判断できる。   The execution pattern P5 is a pattern in which the process is not executed between the start of the test and the end of the test. It can be determined that the process of the execution pattern P5 is not executed in relation to the test of the test target software 150.

図6は、候補プロセステーブルの例を示す図である。候補プロセステーブル111は、情報収集の対象とするプロセスの候補をテスト対象のソフトウェアごとに登録した情報である。例えば、ユーザは、情報収集の対象とするプロセスの候補を指定したい場合、候補プロセステーブル111に登録する。候補プロセステーブル111は、記憶部110に予め格納される。候補プロセステーブル111は、ソフトウェア名およびプロセス名の項目を含む。   FIG. 6 is a diagram illustrating an example of a candidate process table. The candidate process table 111 is information in which process candidates for information collection are registered for each software to be tested. For example, when the user wants to specify a candidate process for which information is to be collected, the user registers it in the candidate process table 111. Candidate process table 111 is stored in storage unit 110 in advance. The candidate process table 111 includes items of software name and process name.

ソフトウェア名の項目にはテスト対象のソフトウェアの名称が登録される。プロセス名の項目には情報収集の対象候補とするプロセスの名称が登録される。
例えば、候補プロセステーブル111には、ソフトウェア名が“SW1”、プロセス名が“smss、providerMGR、providermonit、stubprovider、ccSvcHst、printMGR、・・・”という情報が登録されている。これは、テスト対象ソフトウェア150が“SW1”である場合、情報収集の対象候補のプロセスは“smss、providerMGR、providermonit、stubprovider、ccSvcHst、printMGR、・・・”であることを示す。ここで、ソフトウェア名“SW1”は、テスト対象ソフトウェア150のソフトウェア名である。
The name of the software to be tested is registered in the software name item. In the process name item, the name of a process as a candidate for information collection is registered.
For example, in the candidate process table 111, information that the software name is “SW1” and the process name is “smss, providerMGR, providermonitor, subscriber, ccSvcHst, printMGR,...” Is registered. This indicates that when the test target software 150 is “SW1”, the target process for information collection is “smss, providerMGR, providermonitor, stubprovider, ccSvcHst, printMGR,. Here, the software name “SW1” is the software name of the test target software 150.

図7は、除外プロセステーブルの例を示す図である。除外プロセステーブル112は、情報収集の対象外とするプロセスの候補をテスト対象のソフトウェアごとに登録した情報である。例えば、ユーザは、情報収集の対象外とするプロセスの候補を指定したい場合、除外プロセステーブル112に登録する。除外プロセステーブル112は、記憶部110に予め格納される。除外プロセステーブル112は、ソフトウェア名およびプロセス名の項目を含む。   FIG. 7 is a diagram illustrating an example of the exclusion process table. The excluded process table 112 is information in which process candidates to be excluded from information collection are registered for each piece of software to be tested. For example, the user registers in the excluded process table 112 when he / she wants to designate a process candidate to be excluded from information collection. The exclusion process table 112 is stored in the storage unit 110 in advance. The excluded process table 112 includes items of software name and process name.

ソフトウェア名の項目にはテスト対象のソフトウェアの名称が登録される。プロセス名の項目には情報収集の対象外するプロセスの名称が登録される。
例えば、除外プロセステーブル112には、ソフトウェア名が“SW1”、プロセス名が“System Idle Process、System、svchost、・・・”という情報が登録されている。これは、テスト対象ソフトウェア150が“SW1”である場合、情報収集の対象外のプロセスは“System Idle Process、System、svchost、System、svchost、・・・”であることを示す。
The name of the software to be tested is registered in the software name item. In the process name field, the name of a process that is not subject to information collection is registered.
For example, in the excluded process table 112, information that the software name is “SW1” and the process name is “System Idle Process, System, svhost,...” Is registered. This indicates that when the test target software 150 is “SW1”, the process that is not subject to information collection is “System Idle Process, System, svhost, System, svhost,...”.

図8は、テスト管理テーブルの例を示す図である。テスト管理テーブル113は、テスト対象のソフトウェアごとのテスト項目およびテスト項目で用いられる情報の対応関係を示す情報である。テスト管理テーブル113は、記憶部110に予め格納される。テスト管理テーブル113は、ソフトウェア名、テスト項目およびテスト情報の項目を含む。   FIG. 8 is a diagram illustrating an example of a test management table. The test management table 113 is information indicating a correspondence relationship between test items for each software to be tested and information used in the test items. The test management table 113 is stored in the storage unit 110 in advance. The test management table 113 includes software names, test items, and test information items.

ソフトウェア名の項目には、テスト対象のソフトウェア名が登録される。テスト項目の項目には、テスト項目の識別情報が登録される。テスト情報の項目には、当該テスト項目において用いられる入力データ、イベントを発生用の情報およびテスト成否の判定用の情報などが登録される。   In the software name item, the name of the software to be tested is registered. Identification information of the test item is registered in the item of the test item. In the test information item, input data used in the test item, information for generating an event, information for determining whether or not the test is successful, and the like are registered.

例えば、テスト管理テーブル113には、ソフトウェア名が“SW1”、テスト項目が“T1”、テスト情報が“test1”という情報が登録されている。また、ソフトウェア名が“SW1”、テスト項目が“T2”、テスト情報が“test2”という情報が登録されている。これは、テスト対象ソフトウェア150について、テスト項目“T1”およびテスト項目“T2”を順にテストすることを示している。また、テスト項目“T1”のテストを行う場合、テスト情報として“test1”を用いることを示す。テスト項目“T2”のテストを行う場合、テスト情報として“test2”を用いることを示す。   For example, in the test management table 113, information that the software name is “SW1”, the test item is “T1”, and the test information is “test1” is registered. In addition, information that the software name is “SW1”, the test item is “T2”, and the test information is “test2” is registered. This indicates that the test item “T1” and the test item “T2” are sequentially tested for the test target software 150. In addition, when the test item “T1” is tested, “test1” is used as the test information. When the test item “T2” is tested, “test2” is used as the test information.

図9は、開始テーブルの例を示す図である。開始テーブル114は、テスト開始時のプロセスごとの累積実行時間の記録に用いられる。開始テーブル114は、記憶部110に格納される。開始テーブル114は、ソフトウェア名、テスト項目、プロセス名および累積実行時間の項目を含む。   FIG. 9 is a diagram illustrating an example of the start table. The start table 114 is used for recording the accumulated execution time for each process at the start of the test. The start table 114 is stored in the storage unit 110. The start table 114 includes items of software name, test item, process name, and cumulative execution time.

ソフトウェア名の項目には、テスト対象のソフトウェアの名称が登録される。テスト項目の項目には、テスト項目の識別情報が登録される。プロセス名の項目には、累積実行時間の取得対象のプロセス名が登録される。累積実行時間の項目には、テスト開始時に取得された累積実行時間が登録される。   The name of the software to be tested is registered in the software name item. Identification information of the test item is registered in the item of the test item. In the process name item, the process name for which the cumulative execution time is to be acquired is registered. The accumulated execution time acquired at the start of the test is registered in the item of accumulated execution time.

例えば、開始テーブル114には、ソフトウェア名が“SW1”、テスト項目が“T1”、プロセス名が“smss”、累積実行時間が“00:05:45.126”という情報が登録されている。これは、テスト対象ソフトウェア150のテスト項目“T1”のテスト開始時におけるプロセス“smss”の累積実行時間が、“00:05:45.126”であったことを示す。   For example, in the start table 114, information that the software name is “SW1”, the test item is “T1”, the process name is “smss”, and the cumulative execution time is “00: 05: 45.126” is registered. This indicates that the cumulative execution time of the process “smss” at the start of the test of the test item “T1” of the test target software 150 was “00: 05: 45.126”.

図10は、終了テーブルの例を示す図である。終了テーブル115は、テスト終了時のプロセスごとの累積実行時間の記録に用いられる。終了テーブル115は、記憶部110に格納される。終了テーブル115は、ソフトウェア名、テスト項目、プロセス名および累積実行時間の項目を含む。   FIG. 10 is a diagram illustrating an example of the end table. The end table 115 is used to record the accumulated execution time for each process at the end of the test. The end table 115 is stored in the storage unit 110. The end table 115 includes items of software name, test item, process name, and accumulated execution time.

ソフトウェア名の項目には、テスト対象のソフトウェアの名称が登録される。テスト項目の項目には、テスト項目の識別情報が登録される。プロセス名の項目には、累積実行時間の取得対象のプロセス名が登録される。累積実行時間の項目には、テスト終了時に取得された累積実行時間が登録される。   The name of the software to be tested is registered in the software name item. Identification information of the test item is registered in the item of the test item. In the process name item, the process name for which the cumulative execution time is to be acquired is registered. The accumulated execution time acquired at the end of the test is registered in the item of accumulated execution time.

例えば、終了テーブル115には、ソフトウェア名が“SW1”、テスト項目が“T1”、プロセス名が“smss”、累積実行時間が“00:12:45.877”という情報が登録されている。これは、テスト対象ソフトウェア150のテスト項目“T1”のテスト終了時におけるプロセス“smss”の累積実行時間が、“00:12:45.877”であったことを示す。   For example, information indicating that the software name is “SW1”, the test item is “T1”, the process name is “smss”, and the cumulative execution time is “00: 12: 45.877” is registered in the end table 115. This indicates that the accumulated execution time of the process “smss” at the end of the test of the test item “T1” of the test target software 150 was “00: 12: 45.877”.

図11は、比較テーブルの例を示す図である。比較テーブル116は、開始テーブル114および終了テーブル115を合わせた情報であり両者の比較用に用いられる。比較テーブル116は、記憶部110に格納される。比較テーブル116は、ソフトウェア名、テスト項目、プロセス名および累積実行時間(開始時および終了時)の項目を含む。   FIG. 11 is a diagram illustrating an example of a comparison table. The comparison table 116 is information that combines the start table 114 and the end table 115, and is used for comparison between the two. The comparison table 116 is stored in the storage unit 110. The comparison table 116 includes items of software name, test item, process name, and cumulative execution time (at start time and end time).

ソフトウェア名の項目には、テスト対象のソフトウェアの名称が登録される。テスト項目の項目には、テスト項目の識別情報が登録される。プロセス名の項目には、累積実行時間が取得されたプロセス名が登録される。累積実行時間(開始時)の項目には、テスト開始時に取得された累積実行時間が登録される。累積実行時間(終了時)の項目には、テスト終了時に取得された累積実行時間が登録される。   The name of the software to be tested is registered in the software name item. Identification information of the test item is registered in the item of the test item. In the process name item, the process name for which the accumulated execution time is acquired is registered. In the item of accumulated execution time (at the start), the accumulated execution time acquired at the start of the test is registered. The accumulated execution time acquired at the end of the test is registered in the item of accumulated execution time (at the end).

例えば、比較テーブル116には、ソフトウェア名が“SW1”、テスト項目が“T1”、プロセス名が“smss”、累積実行時間の開始時が“00:05:45.126”、累積実行時間の終了時が“00:12:45.877”という情報が登録されている。これは、テスト対象ソフトウェア150のテスト項目“T1”のテストを行ったときのプロセス“smss”のテスト開始時の累積実行時間が“00:05:45.126”、テスト終了時の累積実行時間が“00:12:45.877”であったことを示す。テスト開始時の累積実行時間とテスト終了時の累積実行時間が異なるので、プロセス“smss”はテスト中に実行されたことが分かる。すなわち、プロセス“smss”は実行パターンP1のプロセスである。   For example, in the comparison table 116, the software name is “SW1”, the test item is “T1”, the process name is “smss”, the start time of the cumulative execution time is “00: 05: 45.126”, and the cumulative execution time is Information that the end time is “00: 12: 45.877” is registered. This is because the accumulated execution time at the start of the test of the process “smss” when the test of the test item “T1” of the test target software 150 is performed is “00: 05: 45.126”, and the accumulated execution time at the end of the test. Is “00: 12: 45.877”. Since the accumulated execution time at the start of the test is different from the accumulated execution time at the end of the test, it can be seen that the process “smss” was executed during the test. That is, the process “smss” is a process of the execution pattern P1.

また、例えば、比較テーブル116には、ソフトウェア名が“SW1”、テスト項目が“T1”、プロセス名が“providerMGR”、累積実行時間の開始時が“00:01:12.122”、累積実行時間の終了時が登録なし(“−(ハイフン)”)という情報が登録されている。これは、テスト対象ソフトウェア150のテスト項目“T1”のテストを行ったときのプロセス“providerMGR”のテスト開始時の累積実行時間が“00:01:12.122”であったことを示す。また、テスト終了時にプロセス“providerMGR”が終了していた(存在していなかった)ため、情報収集部140は累積実行時間を取得できなかったことを示す。プロセス“providerMGR”は、テスト開始時には実行されていたが、テスト途中に当該プロセスは終了していたと判断できる。すなわち、プロセス“providerMGR”は実行パターンP2のプロセスである。   Further, for example, in the comparison table 116, the software name is “SW1”, the test item is “T1”, the process name is “providerMGR”, the cumulative execution time starts at “00: 01: 12.122”, and the cumulative execution Information indicating that there is no registration at the end of the time ("-(hyphen)") is registered. This indicates that the cumulative execution time at the start of the test of the process “providerMGR” when the test of the test item “T1” of the test target software 150 is performed is “00: 01: 12.122”. Further, since the process “providerMGR” has been completed (has not existed) at the end of the test, the information collection unit 140 cannot acquire the accumulated execution time. The process “providerMGR” was executed at the start of the test, but it can be determined that the process has ended during the test. That is, the process “providerMGR” is a process of the execution pattern P2.

また、例えば、比較テーブル116には、ソフトウェア名が“SW1”、テスト項目が“T1”、プロセス名が“providermonit”、累積実行時間の開始時が登録なし、累積実行時間の終了時が“00:00:00.098”という情報が登録されている。これは、テスト対象ソフトウェア150のテスト項目“T1”のテストを行ったときのプロセス“providermonit”のテスト終了時の累積実行時間が“00:00:00.098”であったことを示す。また、テスト開始時にプロセス“providermonit”が生成されていなかった(存在していなかった)ため、情報収集部140は累積実行時間を取得できなかったことを示す。プロセス“providermonit”は、テスト開始時には生成されていなかったが、テスト途中に生成され、実行されたと判断できる。すなわち、プロセス“providermonit”は、実行パターンP3のプロセスである。   Further, for example, in the comparison table 116, the software name is “SW1”, the test item is “T1”, the process name is “providermonitor”, the cumulative execution time start time is not registered, and the cumulative execution time end time is “00”. : 00: 00.098 "is registered. This indicates that the accumulated execution time at the end of the test of the process “providermonitor” when the test of the test item “T1” of the test target software 150 is performed is “00: 00: 0.098”. Further, since the process “providermonitor” was not generated at the start of the test (it did not exist), the information collection unit 140 could not acquire the accumulated execution time. The process “providermonitor” was not generated at the start of the test, but can be determined to have been generated and executed during the test. That is, the process “providermonitor” is a process of the execution pattern P3.

また、例えば、比較テーブル116には、ソフトウェア名が“SW1”、テスト項目が“T1”、プロセス名が“ccSvcHst”、累積実行時間の開始時が“00:00:08.356”、累積実行時間の終了時が“00:00:08.356”という情報が登録されている。これは、テスト対象ソフトウェア150のテスト項目“T1”のテストを行ったときのプロセス“ccSvcHst”のテスト開始時の累積実行時間が“00:00:08.356”、テスト終了時の累積実行時間が“00:00:08.356”であったことを示す。テスト開始時の累積実行時間とテスト終了時の累積実行時間が同じなので、プロセス“ccSvcHst”は、テスト時に実行されなかったと判断できる。すなわち、プロセス“ccSvcHst”は、実行パターンP5のプロセスである。   Further, for example, in the comparison table 116, the software name is “SW1”, the test item is “T1”, the process name is “ccSvcHst”, and the start time of the cumulative execution time is “00: 00: 08.356”. Information that the time ends is “00: 00: 08.356” is registered. This is because the accumulated execution time at the start of the test of the process “ccSvcHst” when the test of the test item “T1” of the test target software 150 is performed is “00: 00: 08.356”, and the accumulated execution time at the end of the test. Is “00: 00: 08.356”. Since the cumulative execution time at the start of the test is the same as the cumulative execution time at the end of the test, it can be determined that the process “ccSvcHst” has not been executed during the test. That is, the process “ccSvcHst” is a process of the execution pattern P5.

図12は、プロセス履歴テーブルの例を示す図である。プロセス履歴テーブル117は、記憶部110に格納される。プロセス履歴テーブル117は、プロセス名、ログID(IDentifier)、ログ生成時刻、種別および詳細情報の項目を含む。   FIG. 12 is a diagram illustrating an example of a process history table. The process history table 117 is stored in the storage unit 110. The process history table 117 includes items of process name, log ID (IDentifier), log generation time, type, and detailed information.

プロセス名の項目には、プロセスの名称が登録される。ログIDの項目には、ログのIDが登録される。ログ生成時刻の項目には、ログの生成時刻が登録される。種別の項目には、ログの種別が登録される。例えば、プロセスの生成を示す場合、種別は“生成”となる。プロセスに関するエラーを示す場合、種別は“エラー”となる。プロセスの終了を示す場合、種別は“終了”となる。詳細情報の項目には、生成されたプロセスと通信する他のプロセスが異常を生じさせた場合にその内容を示す情報が登録される。   In the process name item, the name of the process is registered. In the log ID item, a log ID is registered. The log generation time is registered in the log generation time item. A log type is registered in the type item. For example, when process generation is indicated, the type is “generation”. When indicating an error relating to a process, the type is “error”. When indicating the end of the process, the type is “End”. In the detailed information item, information indicating the contents when other processes communicating with the generated process cause an abnormality is registered.

詳細情報には、エラーコード、関連プロセスID、関連プロセス名および検出箇所コードが含まれる。エラーコードは、異常内容を識別するための情報である。関連プロセスIDは、当該他のプロセスのプロセスIDである。関連プロセス名は、当該プロセスIDに対応するプロセス名である。検出箇所コードは、当該他のプロセスにおいて異常が検出されたステップを示す情報である。   The detailed information includes an error code, a related process ID, a related process name, and a detection location code. The error code is information for identifying the abnormal content. The related process ID is the process ID of the other process. The related process name is a process name corresponding to the process ID. The detection location code is information indicating a step in which an abnormality is detected in the other process.

例えば、プロセス履歴テーブル117には、プロセス名が“stubprovider”、ログIDが“L1”、ログ生成時刻が“15:16:17.203”、種別が“生成”という情報が登録されている。これは、時刻“15:16:17.203”にプロセス名“stubprovider”のプロセスが生成されたことを示す。   For example, in the process history table 117, information that the process name is “stubprovider”, the log ID is “L1”, the log generation time is “15: 16: 17.203”, and the type is “generation” is registered. This indicates that a process with the process name “stubprovider” is generated at time “15: 16: 17.203”.

また、例えば、プロセス履歴テーブル117には、プロセス名が“stubprovider”、ログIDが“L2”、ログ生成時刻が“15:16:18.358”、種別が“エラー”、エラーコードが“1275”、関連プロセスIDが“1054”、関連プロセス名“rcvy”、検出箇所コード“3388”という情報が登録されている。   Further, for example, in the process history table 117, the process name is “stubprovider”, the log ID is “L2”, the log generation time is “15: 16: 18.358”, the type is “error”, and the error code is “1275”. ", The information that the related process ID is" 1054 ", the related process name" rcvy ", and the detection location code" 3388 "is registered.

これは、プロセス名“stubprovider”のプロセスで、時刻“15:16:18.358”にエラーが発生したことを示す。また、当該エラーでは、当該プロセス“stubprovider”と通信するプロセス“rcvy”がエラーコード“1275”で示される異常を生じさせたこと、当該異常のあったステップが“3388”で示される箇所であることを示す。   This indicates that an error occurred at the time “15: 16: 18.358” in the process with the process name “stubprovider”. Further, in the error, the process “rcvy” communicating with the process “stubprovider” has caused an abnormality indicated by the error code “1275”, and the step having the abnormality is indicated by “3388”. It shows that.

なお、プロセス履歴テーブル117に記録されるログは、情報収集部140により生成されるものでもよいし、OS120や他のソフトウェアが出力したログを収集したものでもよい。   The log recorded in the process history table 117 may be generated by the information collection unit 140, or may be a log collected by the OS 120 or other software.

図13は、プロセステーブルの例を示す図である。プロセステーブル118は、情報収集対象として選択されたプロセスを登録するテーブルである。プロセステーブル118は、記憶部110に格納される。プロセステーブル118は、項番、テスト開始時間、テスト終了時間、ソフトウェア名、テスト項目およびプロセス名の項目を含む。   FIG. 13 is a diagram illustrating an example of a process table. The process table 118 is a table for registering a process selected as an information collection target. The process table 118 is stored in the storage unit 110. The process table 118 includes items of item number, test start time, test end time, software name, test item, and process name.

項番の項目には、レコードを識別するための番号が登録される。テスト開始時間の項目には、該当のテスト項目のテストを開始した時間が登録される。テスト終了時間の項目には、該当のテスト項目のテストを終了した時間が登録される。テスト開始時間やテスト終了時間として時分秒を記録するものとするが、年月日などを記録してもよい。ソフトウェア名の項目には、テスト対象のソフトウェアの名称が登録される。テスト項目の項目には、テスト項目の識別情報が登録される。プロセス名の項目には、情報収集の対象とするプロセスの名称が登録される。   In the item number item, a number for identifying the record is registered. In the test start time item, the time when the test of the corresponding test item is started is registered. In the test end time item, the time when the test of the corresponding test item is ended is registered. Although the hour, minute, and second are recorded as the test start time and the test end time, the date may be recorded. The name of the software to be tested is registered in the software name item. Identification information of the test item is registered in the item of the test item. In the process name item, the name of the process whose information is to be collected is registered.

例えば、プロセステーブル118には、項番が“1”、テスト開始時間が“15:16:16”、テスト終了時間が“15:19:17”、ソフトウェア名が“SW1”、テスト項目が“T1”、プロセス名が“smss、providerMGR、providermonit、stubprovider、rcvy、・・・”という情報が登録されている。   For example, in the process table 118, the item number is “1”, the test start time is “15:16:16”, the test end time is “15:19:17”, the software name is “SW1”, and the test item is “ Information of “T1” and process names “smss, providerMGR, providermonitor, stubprovider, rcvy,...” Is registered.

これは、時間“15:16:16〜15:19:17”に行われたテスト対象ソフトウェア150のテスト項目“T1”のテストにおいて、情報収集対象のプロセスとして“smss、providerMGR、providermonit、stubprovider、rcvy、・・・”が選択されたことを示す。   This is because, in the test of the test item “T1” of the test target software 150 performed at the time “15:16:16 to 15:19:17”, “smss, providerMGR, providermonit, tubeprovider, rcvy,... "is selected.

図14は、ソフトウェアのテストの処理例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS11)テスト処理部130は、テスト対象としてテスト対象ソフトウェア150の指定を受け付ける。例えば、テスト対象のソフトウェアは、ユーザによって指定される。
FIG. 14 is a flowchart illustrating an example of a software test process. In the following, the process illustrated in FIG. 14 will be described in order of step number.
(Step S11) The test processing unit 130 accepts designation of the test target software 150 as a test target. For example, the software to be tested is specified by the user.

(ステップS12)情報収集部140は、プロセス選択モードの指定を受け付ける。プロセス選択モードは、情報収集対象のプロセスを選択する方法を示す。プロセス選択モードには、“プロセス指定”および“全プロセス指定”の2種類がある。“プロセス指定”は、ユーザにより指定された候補プロセス(候補プロセステーブル111)の中から、プロセスを絞り込むことで情報収集対象のプロセスを選択するモードである。“全プロセス指定”は、あらゆるプロセスの中からテストに関連して実行されたと推測されるプロセスを全て選択するモードである。“全プロセス指定”では、除外プロセステーブル112により、情報収集の対象外とするプロセスを設定できる。ユーザは、テストに応じて何れかの方法を選択できる。   (Step S12) The information collection unit 140 accepts designation of a process selection mode. The process selection mode indicates a method for selecting a process for collecting information. There are two types of process selection modes: “process designation” and “all process designation”. “Process designation” is a mode for selecting a process for collecting information by narrowing down processes from candidate processes designated by the user (candidate process table 111). “Specify all processes” is a mode for selecting all processes presumed to be executed in connection with the test from all processes. In “specify all processes”, it is possible to set processes to be excluded from information collection by the excluded process table 112. The user can select either method according to the test.

(ステップS13)テスト処理部130は、テスト対象ソフトウェア150に対して1回目のテストを行う。情報収集部140は、プロセス選択処理を行う。プロセス選択処理では、以降のステップにおいて情報収集の対象とするプロセスを選択する。   (Step S <b> 13) The test processing unit 130 performs a first test on the test target software 150. The information collection unit 140 performs process selection processing. In the process selection process, a process for which information is to be collected is selected in subsequent steps.

(ステップS14)テスト処理部130は、テスト対象ソフトウェア150に対して2回目のテストを行う。情報収集部140は、ステップS13で選択されたプロセスについてメモリダンプを取得する。   (Step S14) The test processing unit 130 performs a second test on the test target software 150. The information collection unit 140 acquires a memory dump for the process selected in step S13.

(ステップS15)テスト処理部130は、テスト対象ソフトウェア150に対して3回目のテストを行う。情報収集部140は、ステップS13で選択されたプロセスについて、トレースデータを取得する。   (Step S15) The test processing unit 130 performs a third test on the test target software 150. The information collection unit 140 acquires trace data for the process selected in step S13.

次に、ステップS13のプロセス選択処理の手順を説明する。
図15は、プロセス選択処理の例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
Next, the procedure of the process selection process in step S13 will be described.
FIG. 15 is a flowchart illustrating an example of process selection processing. In the following, the process illustrated in FIG. 15 will be described in order of step number.

(ステップS21)テスト処理部130は、変数nに1を代入する。
(ステップS22)テスト処理部130は、記憶部110に記憶されたテスト管理テーブル113を参照し、テスト項目Tnのテスト情報を取得する。例えば、テスト対象ソフトウェア150(“SW1”)のテスト項目“T1”であれば、テスト情報“test1”を取得する。
(Step S21) The test processing unit 130 substitutes 1 for the variable n.
(Step S22) The test processing unit 130 refers to the test management table 113 stored in the storage unit 110, and acquires test information of the test item Tn. For example, if the test item “T1” of the test target software 150 (“SW1”), the test information “test1” is acquired.

(ステップS23)テスト処理部130は、テスト対象ソフトウェア150に対するテスト項目Tnのテスト開始を情報収集部140に通知する。
(ステップS24)情報収集部140は、テスト開始時処理を行う。詳細は後述する。情報収集部140は、記憶部110に記憶されたプロセステーブル118にテスト開始時間、ソフトウェア名およびテスト項目を登録しておく。
(Step S <b> 23) The test processing unit 130 notifies the information collecting unit 140 of the test start of the test item Tn for the test target software 150.
(Step S24) The information collection unit 140 performs a test start process. Details will be described later. The information collecting unit 140 registers the test start time, software name, and test item in the process table 118 stored in the storage unit 110.

(ステップS25)テスト処理部130は、ステップS22で取得したテスト情報を用いて、テスト対象ソフトウェア150に対するテスト項目Tnのテストを行う。
(ステップS26)情報収集部140は、テスト時に生成、エラー、終了となったプロセスのログを収集し、記憶部110に記憶されたプロセス履歴テーブル117に記録する。情報収集部140は、当該ログをソフトウェア名やテスト項目に対応付けて、プロセス履歴テーブル117に記録してもよい。
(Step S25) The test processing unit 130 tests the test item Tn for the test target software 150 using the test information acquired in Step S22.
(Step S <b> 26) The information collection unit 140 collects logs of processes that have been generated, errored, and ended during the test, and records them in the process history table 117 stored in the storage unit 110. The information collection unit 140 may record the log in the process history table 117 in association with the software name or the test item.

(ステップS27)テスト処理部130は、テスト対象ソフトウェア150に対するテスト項目Tnのテストを終了する。テスト処理部130は、情報収集部140にテスト項目Tnのテスト終了を通知する。   (Step S27) The test processing unit 130 ends the test of the test item Tn for the test target software 150. The test processing unit 130 notifies the information collection unit 140 of the test end of the test item Tn.

(ステップS28)情報収集部140は、テスト終了時処理を行う。詳細は後述する。情報収集部140は、プロセステーブル118に当該テストのテスト終了時間を登録しておく。   (Step S28) The information collection unit 140 performs a test end process. Details will be described later. The information collection unit 140 registers the test end time of the test in the process table 118.

(ステップS29)情報収集部140は、ステップS24,S28で取得されたプロセスごとの累積実行時間の比較処理を行う。詳細は後述する。
(ステップS30)テスト処理部130は、テスト管理テーブル113を参照し、全てのテスト項目がテスト済みであるか判定する。全てテスト済みの場合、処理を終了する。未実行のテストがある場合、処理をステップS31に進める。例えば、テスト対象ソフトウェア150(“SW1”)の場合、テスト管理テーブル113を参照し、テスト項目“T1”および“T2”の両方をテスト済みなら全てテスト済みである。
(Step S29) The information collection unit 140 performs a comparison process of the accumulated execution time for each process acquired in steps S24 and S28. Details will be described later.
(Step S30) The test processing unit 130 refers to the test management table 113 and determines whether all the test items have been tested. If all have been tested, the process ends. If there is an unexecuted test, the process proceeds to step S31. For example, in the case of the test target software 150 (“SW1”), with reference to the test management table 113, if both of the test items “T1” and “T2” have been tested, all have been tested.

(ステップS31)テスト処理部130は、変数nに1を加算する。そして、処理をステップS22に進める。
次に、ステップS24のテスト開始時処理の手順を説明する。
(Step S31) The test processing unit 130 adds 1 to the variable n. Then, the process proceeds to step S22.
Next, the procedure of the test start process in step S24 will be described.

図16は、テスト開始時処理の例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
(ステップS41)情報収集部140は、ステップS41の時点で存在しているプロセスを取得する。例えば、情報収集部140は、OS120に対して所定のコマンドを発行することで、現存しているプロセスのプロセスIDやプロセス名を取得できる。
FIG. 16 is a flowchart illustrating an example of a test start process. In the following, the process illustrated in FIG. 16 will be described in order of step number.
(Step S41) The information collection unit 140 acquires a process that exists at the time of step S41. For example, the information collection unit 140 can acquire the process ID and process name of an existing process by issuing a predetermined command to the OS 120.

(ステップS42)情報収集部140は、プロセス選択モードを判定する。“プロセス指定”の場合、処理をステップS43に進める。“全プロセス指定”の場合、処理をステップS44に進める。   (Step S42) The information collection unit 140 determines a process selection mode. In the case of “process designation”, the process proceeds to step S43. If “all processes are specified”, the process proceeds to step S44.

(ステップS43)情報収集部140は、記憶部110に記憶された候補プロセステーブル111を参照し、テスト対象のソフトウェアに対応するプロセスを取得する。情報収集部140は、ステップS41で取得したプロセスと候補プロセステーブル111から取得したプロセスの両方に存在するプロセスに絞り込む。例えば、ステップS41で取得されたプロセスが、プロセス“smss、providerMGR、ccSvcHst、・・・”であるとする。候補プロセステーブル111によれば、ソフトウェア名“SW1”に対応する候補プロセスは“smss、providerMGR、providermonit、stubprovider、ccSvcHst、printMGR、・・・”である。よって、情報収集部140は、両方に存在するプロセス“smss、providerMGR、ccSvcHst、・・・”に絞り込む。そして、処理をステップS45に進める。   (Step S43) The information collection unit 140 refers to the candidate process table 111 stored in the storage unit 110, and acquires a process corresponding to the test target software. The information collection unit 140 narrows down to processes that exist in both the process acquired in step S41 and the process acquired from the candidate process table 111. For example, it is assumed that the process acquired in step S41 is a process “smss, providerMGR, ccSvcHst,. According to the candidate process table 111, candidate processes corresponding to the software name “SW1” are “smss, providerMGR, providermonitor, subscriber, ccSvcHst, printMGR,. Therefore, the information collection unit 140 narrows down to processes “smss, providerMGR, ccSvcHst,. Then, the process proceeds to step S45.

(ステップS44)情報収集部140は、記憶部110に記憶された除外プロセステーブル112を参照し、除外対象のプロセスを取得する。情報収集部140は、ステップS41で特定したプロセスから除外対象のプロセスを除くことで、プロセスを絞り込む。除外プロセステーブル112によれば、ソフトウェア名“SW1”に対応する除外プロセスは、“System Idle Process、System、svchost、・・・”である。よって、情報収集部140は、ステップS41で取得されたプロセスから当該除外プロセスを除外する。そして、処理をステップS45に進める。   (Step S44) The information collection unit 140 refers to the exclusion process table 112 stored in the storage unit 110, and acquires an exclusion target process. The information collection unit 140 narrows down the processes by excluding the processes to be excluded from the processes identified in step S41. According to the exclusion process table 112, the exclusion process corresponding to the software name “SW1” is “System Idle Process, System, svhost,...”. Therefore, the information collection unit 140 excludes the exclusion process from the process acquired in step S41. Then, the process proceeds to step S45.

(ステップS45)情報収集部140は、ステップS43またはステップS44で絞り込んだプロセスを、記憶部110に記憶された開始テーブル114に登録する。
(ステップS46)情報収集部140は、ステップS45で開始テーブル114に登録したプロセスごとに、累積実行時間を取得し、開始テーブル114に登録する。OS120は、現存するプロセスの累積実行時間を記憶部110に格納している。情報収集部140は、記憶部110を参照することで、プロセスごとの累積実行時間を取得できる。情報収集部140は、前述のようにOS120に対して所定のコマンドを発行することで、プロセスごとの累積実行時間を取得してもよい。
(Step S45) The information collection unit 140 registers the processes narrowed down in step S43 or step S44 in the start table 114 stored in the storage unit 110.
(Step S46) The information collection unit 140 acquires the accumulated execution time for each process registered in the start table 114 in step S45, and registers it in the start table 114. The OS 120 stores the accumulated execution time of the existing process in the storage unit 110. The information collection unit 140 can acquire the accumulated execution time for each process by referring to the storage unit 110. The information collection unit 140 may acquire a cumulative execution time for each process by issuing a predetermined command to the OS 120 as described above.

次に図15のステップS28のテスト終了時処理の手順を説明する。
図17は、テスト終了時処理の例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
Next, the procedure of the test end process in step S28 of FIG. 15 will be described.
FIG. 17 is a flowchart illustrating an example of test end processing. In the following, the process illustrated in FIG. 17 will be described in order of step number.

(ステップS51)情報収集部140は、ステップS51の時点で存在しているプロセスを取得する。例えば、情報収集部140は、OS120に対して所定のコマンドを発行することで、現存しているプロセスのプロセスIDやプロセス名を取得できる。   (Step S51) The information collection unit 140 acquires a process existing at the time of step S51. For example, the information collection unit 140 can acquire the process ID and process name of an existing process by issuing a predetermined command to the OS 120.

(ステップS52)情報収集部140は、プロセス選択モードを判定する。“プロセス指定”の場合、処理をステップS53に進める。“全プロセス指定”の場合、処理をステップS54に進める。   (Step S52) The information collection unit 140 determines a process selection mode. In the case of “process designation”, the process proceeds to step S53. If “all processes are specified”, the process proceeds to step S54.

(ステップS53)情報収集部140は、記憶部110に記憶された候補プロセステーブル111を参照し、テスト対象のソフトウェアに対応するプロセスを取得する。情報収集部140は、ステップS51で取得したプロセスと候補プロセステーブル111から取得したプロセスの両方に存在するプロセスに絞り込む。具体的な方法は、ステップS43と同様である。そして、処理をステップS55に進める。   (Step S53) The information collection unit 140 refers to the candidate process table 111 stored in the storage unit 110, and acquires a process corresponding to the test target software. The information collection unit 140 narrows down the processes that exist in both the process acquired in step S51 and the process acquired from the candidate process table 111. A specific method is the same as that in step S43. Then, the process proceeds to step S55.

(ステップS54)情報収集部140は、記憶部110に記憶された除外プロセステーブル112を参照し、除外対象のプロセスを取得する。情報収集部140は、ステップS51で特定したプロセスから除外対象のプロセスを除くことで、プロセスを絞り込む。具体的な方法は、ステップS44と同様である。そして、処理をステップS55に進める。   (Step S <b> 54) The information collection unit 140 refers to the exclusion process table 112 stored in the storage unit 110 and acquires an exclusion target process. The information collection unit 140 narrows down the processes by excluding the processes to be excluded from the processes identified in step S51. A specific method is the same as that in step S44. Then, the process proceeds to step S55.

(ステップS55)情報収集部140は、ステップS53またはステップS54で絞り込んだプロセスを、記憶部110に記憶された終了テーブル115に登録する。
(ステップS56)情報収集部140は、ステップS55で終了テーブル115に登録したプロセスごとに、累積実行時間を取得し、終了テーブル115に登録する。OS120は、現存するプロセスの累積実行時間を記憶部110に格納している。情報収集部140は、記憶部110を参照することで、プロセスごとの累積実行時間を取得できる。情報収集部140は、前述のようにOS120に対して所定のコマンドを発行することで、プロセスごとの累積実行時間を取得してもよい。
(Step S55) The information collection unit 140 registers the processes narrowed down in step S53 or step S54 in the end table 115 stored in the storage unit 110.
(Step S56) The information collection unit 140 acquires the accumulated execution time for each process registered in the end table 115 in step S55, and registers it in the end table 115. The OS 120 stores the accumulated execution time of the existing process in the storage unit 110. The information collection unit 140 can acquire the accumulated execution time for each process by referring to the storage unit 110. The information collection unit 140 may acquire a cumulative execution time for each process by issuing a predetermined command to the OS 120 as described above.

次に、図15のステップS29の比較処理の手順を説明する。
図18は、比較処理の例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
Next, the comparison processing procedure in step S29 in FIG. 15 will be described.
FIG. 18 is a flowchart illustrating an example of comparison processing. Hereinafter, the process illustrated in FIG. 18 will be described in order of step number.

(ステップS61)情報収集部140は、開始テーブル114および終了テーブル115に基づいて比較テーブル116を作成する。
(ステップS62)情報収集部140は、比較テーブル116からプロセスを1つ抽出する。
(Step S61) The information collection unit 140 creates the comparison table 116 based on the start table 114 and the end table 115.
(Step S <b> 62) The information collection unit 140 extracts one process from the comparison table 116.

(ステップS63)情報収集部140は、抽出したプロセスについて、テスト開始時およびテスト終了時の両方に累積実行時間が登録されているか判定する。登録されている場合、処理をステップS64に進める。登録されていない場合、処理をステップS65に進める。   (Step S63) The information collection unit 140 determines whether the accumulated execution time is registered at both the test start time and the test end time for the extracted process. If registered, the process proceeds to step S64. If not registered, the process proceeds to step S65.

(ステップS64)情報収集部140は、テスト開始時点およびテスト終了時点の累積実行時間は同じであるか判定する。同じである場合、処理をステップS66に進める。同じでない場合、処理をステップS65に進める。   (Step S64) The information collection unit 140 determines whether the accumulated execution time at the test start point and the test end point are the same. If they are the same, the process proceeds to step S66. If not, the process proceeds to Step S65.

(ステップS65)情報収集部140は、ステップS62で抽出したプロセスをプロセステーブル118に登録する。ステップS65では、実行パターンP1,P2,P3のプロセスが登録され得る。   (Step S65) The information collection unit 140 registers the process extracted in step S62 in the process table 118. In step S65, processes of execution patterns P1, P2, and P3 can be registered.

(ステップS66)情報収集部140は、テスト対象ソフトウェア150のテスト項目Tnの現テストについて、比較テーブル116の全てのプロセスを確認済みであるか判定する。確認済みの場合、処理をステップS67に進める。確認済みでない場合、処理をステップS62に進める。   (Step S66) The information collection unit 140 determines whether all processes in the comparison table 116 have been confirmed for the current test of the test item Tn of the test target software 150. If it has been confirmed, the process proceeds to step S67. If not confirmed, the process proceeds to step S62.

(ステップS67)情報収集部140は、プロセス履歴テーブル117を参照し、テスト中に生成されたプロセスのログがあるか否か判定する。プロセス生成のログがある場合、処理をステップS68に進める。ログがない場合、処理を終了する。なお、“プロセス指定”モードの場合、テスト中に生成されたプロセスが候補プロセスにもなっている(候補プロセステーブル111に登録されている)場合に、ステップS68に進める(候補プロセスでなければ、処理を終了する)。また、“全プロセス指定”モードの場合、テスト中に生成されたプロセスが除外プロセスになっていない(除外プロセステーブル112に登録されていない)場合に、ステップS68に進める(除外プロセスであれば処理を終了する)。なお、テスト中の時間帯はプロセステーブル118に登録されている。   (Step S67) The information collection unit 140 refers to the process history table 117 and determines whether or not there is a process log generated during the test. If there is a process generation log, the process proceeds to step S68. If there is no log, the process is terminated. In the “process designation” mode, when the process generated during the test is also a candidate process (registered in the candidate process table 111), the process proceeds to step S68 (if it is not a candidate process, End processing). In the “all process designation” mode, if the process generated during the test is not an excluded process (not registered in the excluded process table 112), the process proceeds to step S68 (if it is an excluded process, the process is performed). Exit). The time zone under test is registered in the process table 118.

(ステップS68)情報収集部140は、ステップS67で特定したプロセス(テスト中に生成されたプロセス)をプロセステーブル118に登録する。ステップS68では、実行パターンP4のプロセスが登録される。   (Step S68) The information collection unit 140 registers the process specified in step S67 (process generated during the test) in the process table 118. In step S68, the process of execution pattern P4 is registered.

(ステップS69)情報収集部140は、プロセス履歴テーブル117を参照し、プロセステーブル118に登録されたプロセスのうち、テスト中にエラーとなったプロセスを特定する。情報収集部140は、特定したプロセスのログの詳細情報に関連プロセスの登録があるか否かを判定する。登録がある場合、処理をステップS70に進める。登録がない場合、処理を終了する。   (Step S <b> 69) The information collection unit 140 refers to the process history table 117 and identifies a process that has an error during the test among the processes registered in the process table 118. The information collection unit 140 determines whether there is a registration of a related process in the detailed information of the identified process log. If there is registration, the process proceeds to step S70. If there is no registration, the process ends.

(ステップS70)情報収集部140は、ステップS69で特定した関連プロセスをプロセステーブル118に登録する。
次に、図14のステップS14のメモリダンプ取得処理の手順を説明する。
(Step S70) The information collection unit 140 registers the related process identified in Step S69 in the process table 118.
Next, the procedure of the memory dump acquisition process in step S14 in FIG. 14 will be described.

図19は、メモリダンプ取得処理の例を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
(ステップS71)テスト処理部130は、変数nに1を代入する。
FIG. 19 is a flowchart illustrating an example of a memory dump acquisition process. In the following, the process illustrated in FIG. 19 will be described in order of step number.
(Step S71) The test processing unit 130 substitutes 1 for the variable n.

(ステップS72)テスト処理部130は、記憶部110に記憶されたテスト管理テーブル113を参照し、テスト項目Tnのテスト情報を取得する。
(ステップS73)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目Tnのテストを開始する。
(Step S <b> 72) The test processing unit 130 refers to the test management table 113 stored in the storage unit 110 and acquires test information of the test item Tn.
(Step S <b> 73) The test processing unit 130 starts testing the test item Tn with respect to the test target software 150.

(ステップS74)テスト処理部130は、テスト対象ソフトウェア150に対するテスト項目Tnのテストを終了する。
(ステップS75)テスト処理部130は、ステップS72で取得したテスト情報に基づいてテスト結果が不正(エラー)であるか否かを判定する。テスト結果が不正である場合、その旨を情報収集部140に通知して、処理をステップS76に進める。テスト結果が適正である場合、処理をステップS77に進める。
(Step S74) The test processing unit 130 ends the test of the test item Tn for the test target software 150.
(Step S75) The test processing unit 130 determines whether or not the test result is invalid (error) based on the test information acquired in Step S72. If the test result is invalid, the information collection unit 140 is notified of this fact, and the process proceeds to step S76. If the test result is appropriate, the process proceeds to step S77.

(ステップS76)情報収集部140は、プロセステーブル118を参照し、テスト対象ソフトウェア150(“SW1”)に対応するテスト項目Tnのプロセスを特定する。情報収集部140は、特定したプロセスに関するメモリダンプをHDD103の所定の記憶領域にファイルとして出力する。   (Step S76) The information collection unit 140 refers to the process table 118 and identifies the process of the test item Tn corresponding to the test target software 150 (“SW1”). The information collection unit 140 outputs a memory dump related to the identified process as a file to a predetermined storage area of the HDD 103.

(ステップS77)テスト処理部130は、テスト管理テーブル113を参照し、全てのテスト項目がテスト済みであるか判定する。全てテスト済みの場合、処理を終了する。未実行のテストがある場合、処理をステップS78に進める。   (Step S77) The test processing unit 130 refers to the test management table 113 and determines whether all the test items have been tested. If all have been tested, the process ends. If there is an unexecuted test, the process proceeds to step S78.

(ステップS78)テスト処理部130は、変数nに1を加算する。そして、処理をステップS72に進める。
次に、図14のステップS15のトレースデータ取得処理の手順を説明する。
(Step S78) The test processing unit 130 adds 1 to the variable n. Then, the process proceeds to step S72.
Next, the procedure of the trace data acquisition process in step S15 in FIG. 14 will be described.

図20は、トレースデータ取得処理の例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
(ステップS81)テスト処理部130は、変数nに1を代入する。
FIG. 20 is a flowchart illustrating an example of the trace data acquisition process. In the following, the process illustrated in FIG. 20 will be described in order of step number.
(Step S81) The test processing unit 130 substitutes 1 for the variable n.

(ステップS82)テスト処理部130は、記憶部110に記憶されたテスト管理テーブル113を参照し、テスト項目Tnのテスト情報を取得する。
(ステップS83)テスト処理部130は、テスト対象ソフトウェア150のテスト項目Tnについてトレースデータの取得開始を情報収集部140に指示する。情報収集部140は、プロセステーブル118を参照し、テスト対象ソフトウェア150(“SW1”)に対応するテスト項目Tnのプロセスを特定する。情報収集部140は、特定したプロセスについて、トレースデータの取得を開始する。
(Step S82) The test processing unit 130 refers to the test management table 113 stored in the storage unit 110, and acquires test information of the test item Tn.
(Step S83) The test processing unit 130 instructs the information collecting unit 140 to start acquiring trace data for the test item Tn of the test target software 150. The information collection unit 140 refers to the process table 118 and identifies the process of the test item Tn corresponding to the test target software 150 (“SW1”). The information collection unit 140 starts acquiring trace data for the identified process.

(ステップS84)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目Tnのテストを開始する。
(ステップS85)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目Tnのテストを終了する。
(Step S84) The test processing unit 130 starts a test of the test item Tn with respect to the test target software 150.
(Step S85) The test processing unit 130 ends the test of the test item Tn with respect to the test target software 150.

(ステップS86)テスト処理部130は、トレースデータの取得終了を情報収集部140に指示する。情報収集部140は、トレースデータの取得を終了する。
(ステップS87)テスト処理部130は、ステップS82で取得したテスト情報に基づいてテスト結果が不正(エラー)であるか否かを判定する。テスト結果が不正である場合、その旨を情報収集部140に通知して、処理をステップS88に進める。テスト結果が適正である場合、処理をステップS89に進める。
(Step S86) The test processing unit 130 instructs the information collection unit 140 to end the acquisition of trace data. The information collection unit 140 ends the acquisition of trace data.
(Step S87) The test processing unit 130 determines whether or not the test result is invalid (error) based on the test information acquired in Step S82. If the test result is invalid, the information collection unit 140 is notified of this fact, and the process proceeds to step S88. If the test result is appropriate, the process proceeds to step S89.

(ステップS88)情報収集部140は、ステップS83〜S86の間に取得されたプログラムごとのトレースデータをHDD103の所定の記憶領域にファイルとして出力する。   (Step S88) The information collection unit 140 outputs the trace data for each program acquired during steps S83 to S86 as a file to a predetermined storage area of the HDD 103.

(ステップS89)テスト処理部130は、テスト管理テーブル113を参照し、全てのテスト項目がテスト済みであるか判定する。全てテスト済みの場合、処理を終了する。未実行のテストがある場合、処理をステップS90に進める。   (Step S89) The test processing unit 130 refers to the test management table 113 and determines whether all the test items have been tested. If all have been tested, the process ends. If there is an unexecuted test, the process proceeds to step S90.

(ステップS90)テスト処理部130は、変数nに1を加算する。そして、処理をステップS82に進める。
図21は、プロセス選択処理の具体例を示すシーケンス図である。以下、図21に示す処理をステップ番号に沿って説明する。
(Step S90) The test processing unit 130 adds 1 to the variable n. Then, the process proceeds to step S82.
FIG. 21 is a sequence diagram illustrating a specific example of the process selection process. In the following, the process illustrated in FIG. 21 will be described in order of step number.

(ステップST101)テスト処理部130は、情報収集部140にテスト項目T1のテスト開始を通知する。情報収集部140は、当該テスト開始の通知を受け付ける。
(ステップST102)情報収集部140は、テスト開始時処理を行う。具体的には、当該時点において存在しているプロセスについて、累積実行時間を取得する。
(Step ST101) The test processing unit 130 notifies the information collecting unit 140 of the start of the test for the test item T1. The information collection unit 140 receives the test start notification.
(Step ST102) The information collection unit 140 performs a test start process. Specifically, the accumulated execution time is acquired for the process existing at the time.

(ステップST103)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目T1のテストを開始する。
(ステップST104)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目T1のテストを終了する。
(Step ST103) The test processing unit 130 starts a test of the test item T1 with respect to the test target software 150.
(Step ST104) The test processing unit 130 ends the test of the test item T1 for the test target software 150.

(ステップST105)テスト処理部130は、情報収集部140にテスト項目T1のテスト終了通知を行う。情報収集部140は、当該テスト終了の通知を受け付ける。
(ステップST106)情報収集部140は、テスト終了時処理を行う。具体的には、当該時点において存在しているプロセスについて、累積実行時間を取得する。
(Step ST105) The test processing unit 130 notifies the information collecting unit 140 of the test end of the test item T1. The information collection unit 140 receives a notification of the end of the test.
(Step ST106) The information collection unit 140 performs a test end process. Specifically, the accumulated execution time is acquired for the process existing at the time.

(ステップST107)情報収集部140は、比較処理を行う。具体的には、ステップST102,ST106で取得したプロセスごとの累積実行時間に基づいて、テスト対象ソフトウェア150のテスト項目T1のテストの際に、情報収集の対象とするプロセスを選択する。   (Step ST107) The information collection unit 140 performs a comparison process. Specifically, based on the accumulated execution time for each process acquired in steps ST102 and ST106, a process to be collected information is selected when testing the test item T1 of the test target software 150.

(ステップST108)テスト処理部130は、情報収集部140にテスト項目T2のテスト開始通知を行う。
そして、テスト装置100は、全てのテスト項目が終了するまで、ステップST101からステップST107までの処理を繰り返す。こうして、テスト項目ごとに情報収集の対象とするプロセスが選択される。
(Step ST108) The test processing unit 130 notifies the information collection unit 140 of the test start of the test item T2.
Then, the test apparatus 100 repeats the processing from step ST101 to step ST107 until all the test items are completed. In this way, a process for which information is to be collected is selected for each test item.

図22は、プロセス選択の具体例を示す図である。図22では、テスト項目T1に対してプロセステーブル118に登録されたプロセスを例示している。情報収集部140は、開始テーブル114、終了テーブル115およびプロセス履歴テーブル117に登録された情報に基づいて、図18の手順を実行することでテスト対象ソフトウェア150のテスト項目T1について、情報収集の対象とするプロセスを得る。   FIG. 22 is a diagram illustrating a specific example of process selection. FIG. 22 illustrates a process registered in the process table 118 for the test item T1. The information collection unit 140 executes the procedure of FIG. 18 on the basis of information registered in the start table 114, the end table 115, and the process history table 117, thereby collecting information on the test item T1 of the test target software 150. And get the process.

例えば、プロセス“smss”の累積実行時間は、テスト開始時とテスト終了時で異なる。すなわち、プロセス“smss”は実行パターンP1のプロセスである。よって、情報収集部140は、プロセス“smss”を情報収集の対象として選択する。   For example, the cumulative execution time of the process “smss” is different at the test start time and test end time. That is, the process “smss” is a process of the execution pattern P1. Therefore, the information collection unit 140 selects the process “smss” as an information collection target.

また、プロセス“providerMGR”について、テスト開始時の累積実行時間は取得されているが、テスト終了時の累積実行時間は取得されていない。これは、テスト開始時からテスト終了時までの間にプロセス“providerMGR”が実行され、終了したことを示す。すなわち、プロセス“providerMGR”は、実行パターンP2のプロセスである。よって、情報収集部140は、プロセス“providerMGR”を情報収集の対象として選択する。   For the process “providerMGR”, the accumulated execution time at the start of the test is acquired, but the accumulated execution time at the end of the test is not acquired. This indicates that the process “providerMGR” was executed and ended from the test start time to the test end time. That is, the process “providerMGR” is a process of the execution pattern P2. Therefore, the information collection unit 140 selects the process “providerMGR” as an information collection target.

また、プロセス“providermonit”について、テスト開始時の累積実行時間は取得されていないが、テスト終了時の累積実行時間は取得されている。これは、テスト開始時からテスト終了時までの間にプロセス“providermonit”が生成され、実行されたことを示す。すなわち、プロセス“providermonit”は、実行パターンP3のプロセスである。よって、情報収集部140は、プロセス“providermonit”を情報収集の対象として選択する。   For the process “providermonitor”, the accumulated execution time at the start of the test is not acquired, but the accumulated execution time at the end of the test is acquired. This indicates that the process “providermonitor” is generated and executed between the test start time and the test end time. That is, the process “providermonitor” is a process of the execution pattern P3. Therefore, the information collection unit 140 selects the process “providermonitor” as an information collection target.

また、プロセス“ccSvcHst”の累積実行時間はテスト開始時とテスト終了時で同じであるため、プロセス“ccSvcHst”はテスト中に実行されなかったことを示す。すなわち、プロセス“ccSvcHst”は、実行パターンP5のプロセスである。よって、情報収集部140は、プロセス“ccSvcHst”を情報収集の対象としない。   Further, since the accumulated execution time of the process “ccSvcHst” is the same at the start of the test and at the end of the test, it indicates that the process “ccSvcHst” has not been executed during the test. That is, the process “ccSvcHst” is a process of the execution pattern P5. Therefore, the information collection unit 140 does not set the process “ccSvcHst” as an information collection target.

更に、情報収集部140は、プロセス履歴テーブル117を参照し、テスト時に生成されたプロセス“stubprovider”を特定する。プロセス“stubprovider”は、テスト開始時およびテスト終了時に存在していなかったため、開始テーブル114および終了テーブル115に登録されていない。これは、テスト開始時からテスト終了時までの間にプロセス“providermonit”が生成され、実行され、終了されたことを示す。すなわち、プロセス“providermonit”は、実行パターンP4のプロセスである。よって、情報収集部140は、プロセス“stubprovider”を情報収集の対象として選択する。   Furthermore, the information collection unit 140 refers to the process history table 117 and identifies the process “stubprovider” generated during the test. The process “stubprovider” is not registered in the start table 114 and the end table 115 because the process “stubprovider” does not exist at the start and end of the test. This indicates that the process “providermonitor” is generated, executed, and terminated between the test start time and the test end time. That is, the process “providermonitor” is a process of the execution pattern P4. Therefore, the information collection unit 140 selects the process “stubprovider” as an information collection target.

また、情報収集部140は、プロセス履歴テーブル117を参照し、プロセス“stubprovider”に関連するプロセスがテスト中に異常を生じさせたことを特定する。情報収集部140は、当該関連するプロセス“rcvy”を情報収集の対象として選択する。   Further, the information collection unit 140 refers to the process history table 117 and identifies that the process related to the process “stubprovider” has caused an abnormality during the test. The information collection unit 140 selects the related process “rcvy” as an information collection target.

情報収集部140は、以上のようにして情報収集の対象とするプロセス“smss、providerMGR、providermonit、stubprovider、rcvy”を選択し、プロセステーブル118に登録する。情報収集部140は、このようにして、テスト対象のソフトウェアごと、テスト項目ごとに情報収集の対象とするプロセスを選択する。そして、情報収集部140は、選択したプロセスについて情報収集を行う。   The information collection unit 140 selects the processes “smss, providerMGR, providermonitor, stubprovider, rcvy” to be collected as described above, and registers them in the process table 118. In this way, the information collection unit 140 selects a process whose information is to be collected for each test target software and each test item. Then, the information collection unit 140 collects information about the selected process.

図23は、情報収集処理の具体例を示すシーケンス図である。以下、図23に示す処理をステップ番号に沿って説明する。
(ステップST111)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目T1のテストを開始する。
FIG. 23 is a sequence diagram illustrating a specific example of information collection processing. In the following, the process illustrated in FIG. 23 will be described in order of step number.
(Step ST111) The test processing unit 130 starts a test of the test item T1 with respect to the test target software 150.

(ステップST112)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目T1のテストを終了する。
(ステップST113)テスト処理部130は、テスト項目T1のテスト結果が不正であると判断する。
(Step ST112) The test processing unit 130 ends the test of the test item T1 for the test target software 150.
(Step ST113) The test processing unit 130 determines that the test result of the test item T1 is invalid.

(ステップST114)テスト処理部130は、メモリダンプの出力を情報収集部140に指示する。情報収集部140は、当該指示を受け付ける。
(ステップST115)情報収集部140は、テスト対象ソフトウェア150のテスト項目T1に対して情報収集の対象として選択済のプロセスに関するメモリダンプを、HDD103にファイルとして出力する。情報収集部140は、出力したファイルがテスト対象ソフトウェア150のテスト項目T1に対して取得されたものであることが分かるように識別情報をファイルに付与する。
(Step ST114) The test processing unit 130 instructs the information collecting unit 140 to output a memory dump. The information collection unit 140 receives the instruction.
(Step ST115) The information collection unit 140 outputs, to the HDD 103, a memory dump related to the process selected as the information collection target for the test item T1 of the test target software 150 as a file. The information collection unit 140 assigns identification information to the file so that the output file is acquired for the test item T1 of the test target software 150.

(ステップST116)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目T2のテストを開始する。
そして、全てのテスト項目が終了するまで、ステップST111からステップST115までの処理を繰り返す。
(Step ST116) The test processing unit 130 starts a test of the test item T2 with respect to the test target software 150.
Then, the processes from step ST111 to step ST115 are repeated until all test items are completed.

(ステップST117)テスト処理部130は、テスト対象ソフトウェア150のテスト項目T1について、トレースデータの取得開始を情報収集部140に指示する。情報収集部140は、テスト対象ソフトウェア150のテスト項目T1について、情報収集の対象として選択済のプロセスに関してトレースデータの取得を開始する。   (Step ST117) The test processing unit 130 instructs the information collecting unit 140 to start acquiring trace data for the test item T1 of the test target software 150. The information collection unit 140 starts obtaining trace data for the process selected as the information collection target for the test item T1 of the test target software 150.

(ステップST118)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目T1のテストを開始する。
(ステップST119)テスト処理部130は、テスト対象ソフトウェア150に対して、テスト項目T1のテストを終了する。
(Step ST118) The test processing unit 130 starts testing the test item T1 with respect to the test target software 150.
(Step ST119) The test processing unit 130 ends the test of the test item T1 for the test target software 150.

(ステップST120)テスト処理部130は、情報収集部140にトレースデータの取得終了を情報収集部140に指示する。情報収集部140は、トレースデータの取得を終了する。   (Step ST120) The test processing unit 130 instructs the information collection unit 140 to end the acquisition of trace data. The information collection unit 140 ends the acquisition of trace data.

(ステップST121)テスト処理部130は、テスト項目T1のテスト結果が不正であると判断する。
(ステップST122)テスト処理部130は、トレースデータの出力を情報収集部140に指示する。情報収集部140は、当該指示を受け付ける。
(Step ST121) The test processing unit 130 determines that the test result of the test item T1 is invalid.
(Step ST122) The test processing unit 130 instructs the information collecting unit 140 to output trace data. The information collection unit 140 receives the instruction.

(ステップST123)情報収集部140は、ステップST117〜ST120の間に取得したトレースデータを、HDD103にファイルとして出力する。情報収集部140は、出力したファイルがテスト対象ソフトウェア150のテスト項目T1に対して取得されたものであることが分かるように識別情報をファイルに付与する。   (Step ST123) The information collection unit 140 outputs the trace data acquired during steps ST117 to ST120 to the HDD 103 as a file. The information collection unit 140 assigns identification information to the file so that the output file is acquired for the test item T1 of the test target software 150.

(ステップST124)テスト処理部130は、テスト対象ソフトウェア150のテスト項目T2について、トレースデータの取得開始を情報収集部140に指示する。
そして、全てのテスト項目が終了するまで、ステップST117からステップST123までの処理を繰り返す。
(Step ST124) The test processing unit 130 instructs the information collecting unit 140 to start acquiring trace data for the test item T2 of the test target software 150.
Then, the processes from step ST117 to step ST123 are repeated until all the test items are completed.

ここで、例えば、情報収集の対象とするプロセスを選択して、エラー時に採取する情報を予め絞り込めば、余計な(ソフトウェアのテストとは関連のない)プロセスの情報を採取するよりも、原因究明の分析作業を効率化し得る。そこで、ソフトウェアのテストでは、テスト装置100上に多数存在するソフトウェアのプロセスの中から、情報収集の対象とするプロセスをどのようにして効率的に選択するかが問題となる。   Here, for example, if you select a process to collect information and narrow down the information to be collected in the event of an error, the cause is more than the collection of unnecessary process information (which is not related to software testing). The analysis work of investigation can be made efficient. Therefore, in the software test, there is a problem of how to efficiently select a process as an information collection target from among many software processes existing on the test apparatus 100.

例えば、ソフトウェアのテストを行っている最中に、存在している全プロセスについてログやトレースデータなどの情報を網羅的に取得し、取得した情報を分析してテストと関連したプロセスを特定することも考えられる。しかし、網羅的に情報を取得しようとすると、当該情報の取得の処理に伴うテスト装置100の負荷が問題となる。テスト装置100の負荷が増大すると、テスト対象のソフトウェアの処理が適正に行われなくなるおそれがある。また、網羅的に情報を取得すると、その情報量も増大し得る。このため、分析作業におけるユーザの負担が過大となるおそれもある。   For example, during software testing, comprehensively acquire information such as logs and trace data for all existing processes, and analyze the acquired information to identify the process related to the test. Is also possible. However, when trying to acquire information comprehensively, the load on the test apparatus 100 associated with the information acquisition process becomes a problem. When the load on the test apparatus 100 increases, there is a risk that the software to be tested is not properly processed. In addition, when information is comprehensively acquired, the amount of information can be increased. For this reason, the burden on the user in the analysis work may be excessive.

そこで、テスト装置100では、テスト開始時およびテスト終了時に各プロセスの累積実行時間を取得し、当該累積実行時間に基づいて、ソフトウェアのテストに関連するプロセスを選択する。このため、全てのプロセスについて網羅的に情報を取得しなくてよく、プロセス選択用の情報の取得に伴う負荷を比較的小さく抑えられる。よって、テスト装置100の負荷がテストに与える影響を軽減できる。また、テスト開始時およびテスト終了時の各プロセスの累積実行時間に基づいて、情報収集の対象とするプロセスを選択するので、ユーザに対して当該プロセスを特定する作業を強いずに済む。よって、ユーザの作業の省力化を図れる。   Therefore, the test apparatus 100 acquires the accumulated execution time of each process at the start and end of the test, and selects a process related to the software test based on the accumulated execution time. For this reason, it is not necessary to comprehensively acquire information for all processes, and the load associated with the acquisition of information for process selection can be kept relatively small. Therefore, the influence of the load of the test apparatus 100 on the test can be reduced. In addition, since the process to be collected is selected based on the accumulated execution time of each process at the start of the test and at the end of the test, the user is not forced to specify the process. Therefore, labor saving of the user's work can be achieved.

例えば、テスト装置100は、当該テストを再実行する際に、選択したプロセスを指定して、トレースログやメモリダンプなどの情報を収集し得る。このとき、情報の収集範囲を選択したプロセスに絞り込めるので、当該情報収集に要する負荷を軽減できる。   For example, when the test apparatus 100 re-executes the test, the test apparatus 100 can specify the selected process and collect information such as a trace log and a memory dump. At this time, since the information collection range can be narrowed down to the selected process, the load required for the information collection can be reduced.

また、ソフトウェアのテストが成功しなかった場合、原因を特定し、テストが成功するまでテスト環境を保持しておくことが多い。テスト環境に用いるリソースを有効活用したい場合は、短期間でテストを終了して、当該リソースを解放することが求められる。この点、第2の実施の形態を用いることで、原因分析の負担を軽減できるため、短い期間でテストを終了できる可能性も高まる。   Also, if the software test is not successful, the cause is identified and the test environment is often maintained until the test is successful. When it is desired to effectively use a resource used in the test environment, it is required to finish the test in a short period of time and release the resource. In this regard, by using the second embodiment, the burden of cause analysis can be reduced, so that the possibility that the test can be completed in a short period increases.

また、前述のように、情報収集部140は、OS120が提供するAPI(Application Programming Interface)を利用して、テスト開始時およびテスト終了時の累積実行時間を取得してもよい。そうすれば、情報収集部140(または、OS120)は、例えばRAM102上の所定の領域を参照してプロセスごとの累積実行時間を取得できるので、プロセス選択用の情報を取得するための負荷を比較的小さくできる。すなわち、テスト中の余計な負荷を軽減し、テストのための本来の処理に対する影響を抑制できる。   Further, as described above, the information collection unit 140 may acquire the accumulated execution time at the start and end of the test using an API (Application Programming Interface) provided by the OS 120. Then, the information collection unit 140 (or OS 120) can acquire the cumulative execution time for each process with reference to a predetermined area on the RAM 102, for example, and thus compares the load for acquiring information for process selection. Can be made small. That is, an extra load during the test can be reduced and the influence on the original processing for the test can be suppressed.

以上のように、テスト装置100によれば、テストの効率化を図れる。
次に、プロセステーブル118の他の利用例を説明する。プロセステーブル118には、テスト対象のソフトウェアごとに情報収集の対象とするプロセスが登録されている。同じソフトウェアについてあるテスト項目を複数回実行した場合に、同じプロセスが複数回選択されていれば、プログラム走行時に同じルートで処理が実行された可能性が高い。このようなテスト項目は、テスト実行時のリソース利用に関して再現性が高く、有効性の高いテスト項目であるといえる。ブラックボックステストにおいて、リソース利用の再現性を確保できなければ、ソフトウェアのエラーに対して原因となる証拠を得るのが難しくなり、的確な分析を行えないからである。
As described above, according to the test apparatus 100, the test efficiency can be improved.
Next, another usage example of the process table 118 will be described. In the process table 118, processes for which information is collected are registered for each software to be tested. If a test item for the same software is executed a plurality of times and the same process is selected a plurality of times, there is a high possibility that the processing is executed by the same route during the program running. Such a test item is a highly reproducible test item with high reproducibility regarding the use of resources during test execution. This is because if the reproducibility of resource usage cannot be ensured in the black box test, it will be difficult to obtain evidence that causes software errors, and accurate analysis will not be possible.

有効性の高いテスト項目を抽出できれば、テストの効率化を図れる。例えば、ソフトウェア改版に伴うリグレッションテスト(Regression Test)を行う場合である。改版前のソフトウェアのテスト結果に基づいて、有効性の高いテスト項目に絞って改版後のソフトウェアのテストを行うことが考えられる。そこで、プロセステーブル118に基づく、テスト項目の有効性の検証機能を提供する。   If test items with high effectiveness can be extracted, testing efficiency can be improved. For example, a regression test accompanying a software revision is performed. Based on the test results of the software before the revision, it is conceivable to test the software after the revision focusing on highly effective test items. Therefore, a test item validity verification function based on the process table 118 is provided.

図24は、テスト項目の有効性の検証例を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
(ステップS91)情報収集部140は、ユーザの入力により検証対象のソフトウェアおよびテスト項目の指定を受け付ける。例えば、ソフトウェア名“SW2”およびテスト項目“T1”が指定される。
FIG. 24 is a flowchart illustrating an example of verifying the effectiveness of a test item. In the following, the process illustrated in FIG. 24 will be described in order of step number.
(Step S <b> 91) The information collection unit 140 accepts designation of software to be verified and a test item by user input. For example, the software name “SW2” and the test item “T1” are designated.

(ステップS92)情報収集部140は、プロセステーブル118を参照し、指定を受けたソフトウェアとテスト項目を特定する。
(ステップS93)情報収集部140は、情報収集の対象とするプロセスが一致するかを判定する。例えば、プロセステーブル118によれば、項番“3”、“4”のそれぞれのレコードに含まれるプロセスが一致するか否かを判定する。
(Step S92) The information collection unit 140 refers to the process table 118 and identifies the specified software and test item.
(Step S <b> 93) The information collection unit 140 determines whether or not the processes for which information is collected match. For example, according to the process table 118, it is determined whether or not the processes included in the records of item numbers “3” and “4” match.

(ステップS94)情報収集部140は、判定結果をディスプレイ11に出力する。そして、処理を終了する。情報収集部140は、一致するプロセスまたは不一致のプロセスを出力してもよい。例えば、情報収集部140は、全てのプロセスが一致する場合に、当該テスト項目を有効と評価し、当該テスト項目をリグレッションテストに採用すると決定してもよい。情報収集部140は、何れかのプロセスが一致しない場合に、当該テスト項目を有効でないと評価し、当該テスト項目をリグレッションテストに採用しないと決定してもよい。   (Step S <b> 94) The information collection unit 140 outputs the determination result to the display 11. Then, the process ends. The information collection unit 140 may output a matching process or a mismatching process. For example, when all processes match, the information collection unit 140 may evaluate that the test item is valid and decide to adopt the test item for the regression test. If any of the processes do not match, the information collection unit 140 may evaluate that the test item is not valid and determine not to employ the test item for the regression test.

このように、情報収集部140は、テスト対象ソフトウェア150のテスト項目を複数回テストし、各回で選択されたプロセスが一致する割合に基づいて、当該テスト項目が有効であるか否かを評価する。例えば、各回で選択されたプロセスが一致する割合を次のようにして求めることが考えられる。第1には、あるテスト項目に対して今回選択されたプロセスのうち前回も選択されていたプロセスの数を、今回選択されたプロセスの総数で割ることで求めてもよい。第2には、各回で選択されたプロセスが一致する割合を、あるテスト項目に対して今回選択されたプロセスのうち前回までに選択されたことがあるプロセスの数を、今回選択されたプロセスの総数で割ることで求めてもよい。例えば、完全一致の場合に有効と判断する以外にも、所定の割合(例えば、90%、95%など)以上で一致する場合に有効と判断してもよい。   As described above, the information collection unit 140 tests the test item of the test target software 150 a plurality of times, and evaluates whether or not the test item is valid based on the rate at which the processes selected at each time match. . For example, it is conceivable to obtain the ratio at which the processes selected each time match as follows. First, the number of processes previously selected among the processes selected this time for a certain test item may be obtained by dividing by the total number of processes selected this time. Second, the percentage of the processes selected at each time matches, the number of processes that have been selected up to the previous time among the processes selected this time for a certain test item, and the number of processes that have been selected this time. It may be obtained by dividing by the total number. For example, in addition to determining that it is valid when it is a perfect match, it may be determined that it is valid when it matches at a predetermined ratio (for example, 90%, 95%, etc.) or more.

これにより、テスト項目数の肥大化を抑制し、かつ、より有効性の高いテスト項目に絞れる。よって、リグレッションテスト時に、改版後のソフトウェアのテストを効率的に行えるようになる。   As a result, the increase in the number of test items can be suppressed and the test items can be narrowed down to more effective items. Therefore, the software after the revision can be efficiently tested during the regression test.

また、ソフトウェア改版時のリグレッションテストでは、ソフトウェアに不具合がないかをテストすることもある。例えば、プロセステーブル118をリグレッションテスト時のテスト項目の抽出に用いることも考えられる。   In addition, a regression test at the time of software revision may test whether the software is defective. For example, it is conceivable to use the process table 118 for extracting test items during a regression test.

図25は、テスト項目の抽出処理の例を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。
(ステップS101)情報収集部140は、ユーザの入力によりテスト対象のソフトウェアおよびプロセスの指定を受ける。プロセスの指定は複数であってもよい。例えば、情報収集部140は、ソフトウェア“SW1”およびプロセス“smss”の指定を受け付ける。
FIG. 25 is a flowchart illustrating an example of test item extraction processing. In the following, the process illustrated in FIG. 25 will be described in order of step number.
(Step S <b> 101) The information collection unit 140 receives a test target software and process designation by a user input. A plurality of processes may be specified. For example, the information collection unit 140 accepts designation of software “SW1” and process “smss”.

(ステップS102)情報収集部140は、プロセステーブル118を参照し、ユーザから指定されたソフトウェアおよびプロセスを基にテスト項目を特定する。情報収集部140は、プロセステーブル118を参照する。情報収集部140は、ソフトウェア“SW1”でプロセス“smss”が登録されたテスト項目“T1”および“T2”を特定する。   (Step S <b> 102) The information collection unit 140 refers to the process table 118 and identifies a test item based on software and a process designated by the user. The information collection unit 140 refers to the process table 118. The information collecting unit 140 identifies the test items “T1” and “T2” in which the process “smss” is registered with the software “SW1”.

(ステップS103)情報収集部140は、特定したテスト項目をディスプレイ11に出力する。そして、処理を終了する。
このように、プロセステーブル118を利用して、実行されるプロセスのテスト項目を容易に抽出できる。リグレッションテスト時には、ソフトウェアの改版前後で同じプロセスが実行され得る。よって、上記のようにテスト対象のソフトウェアとプロセスとを指定して改版前のテスト時のテスト項目を抽出することで、改版後のテスト項目を効率的に作成できる。情報収集部140は、抽出したテスト項目に基づいて、リグレッションテスト時のテスト項目を生成し、テスト管理テーブル113に登録してもよい。このようにすれば、ユーザによるテスト項目の作成作業の負担を軽減することができる。
(Step S <b> 103) The information collection unit 140 outputs the specified test item to the display 11. Then, the process ends.
Thus, using the process table 118, test items for the process to be executed can be easily extracted. During regression testing, the same process can be performed before and after software revisions. Therefore, by specifying the test target software and process and extracting the test items at the time of the test before the revision as described above, the test item after the revision can be efficiently created. The information collection unit 140 may generate a test item for the regression test based on the extracted test item and register it in the test management table 113. In this way, it is possible to reduce the burden of creating test items by the user.

以上のように、テスト装置100によればテストの効率化を図れる。
なお、前述のように、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、光ディスク、メモリ装置およびメモリカードなど)に記録できる。
As described above, according to the test apparatus 100, the test efficiency can be improved.
As described above, the information processing of the first embodiment can be realized by causing the computing unit 1b to execute a program. The information processing according to the second embodiment can be realized by causing the processor 101 to execute a program. The program can be recorded on a computer-readable recording medium (for example, an optical disc, a memory device, a memory card, etc.).

プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。   When distributing the program, for example, a portable recording medium in which the program is recorded is provided. It is also possible to store the program in a storage device of another computer and distribute the program via a network. The computer stores, for example, a program recorded on a portable recording medium or a program received from another computer in a storage device, and reads and executes the program from the storage device. However, a program read from a portable recording medium may be directly executed, or a program received from another computer via a network may be directly executed.

また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLD(Programmable Logic Device)などの電子回路で実現することもできる。   In addition, at least a part of the information processing described above can be realized by an electronic circuit such as a DSP, ASIC, or PLD (Programmable Logic Device).

1 情報処理装置
1a 記憶部
1b 演算部
2 管理情報
3 記録情報
DESCRIPTION OF SYMBOLS 1 Information processing apparatus 1a Storage part 1b Calculation part 2 Management information 3 Record information

Claims (8)

複数のプロセスを実行可能なコンピュータに、
ソフトウェアのテストを開始する際に、存在しているプロセスごとに、実行された累積の時間を示す第1の情報を取得し、
前記ソフトウェアの前記テストを終了する際に、存在しているプロセスごとに、実行された累積の時間を示す第2の情報を取得し、
プロセスごとに取得された第1および第2の情報に基づいて、前記ソフトウェアの前記テストを再び行う際に情報収集の対象とするプロセスを選択
情報収集の対象とした第1のプロセスに関するテスト中の履歴に、前記第1のプロセスと通信する第2のプロセスの異常が記録されている場合、前記第2のプロセスを情報収集の対象とする、
処理を実行させるプログラム。
On a computer that can run multiple processes,
When starting a software test, for each existing process, obtain first information indicating the accumulated time executed,
Upon completion of the test of the software, for each existing process, obtain second information indicating the accumulated time executed,
Based on the first and second information obtained in each process, select the process to be subjected to information collection when again performing the test of the software,
When an abnormality of the second process communicating with the first process is recorded in the history of the test related to the first process that is the target of information collection, the second process is the target of information collection. ,
A program that executes processing.
前記選択では、プロセスごとに第1および第2の情報を比較し、第1および第2の情報が異なるプロセスを選択する、請求項1記載のプログラム。   The program according to claim 1, wherein the selection compares the first and second information for each process, and selects a process having different first and second information. 前記選択では、第1および第2の情報のうちの何れか一方のみが取得されているプロセスを選択する、請求項1または2記載のプログラム。   The program according to claim 1 or 2, wherein in the selection, a process in which only one of the first and second information is acquired is selected. プロセスが生成された履歴を示す情報を参照して、第1および第2の情報が取得されていないプロセスのうち、前記テストが行われた期間中に生成されたプロセスを情報収集の対象とする、請求項1乃至3の何れか1項に記載のプログラム。   With reference to the information indicating the history of process generation, among the processes for which the first and second information are not acquired, the process generated during the period when the test was performed is the target of information collection. The program according to any one of claims 1 to 3. 前記ソフトウェアの前記テストを複数回行い、各回で選択されたプロセスが一致する割合に基づいて、前記テストが有効であるか否かを評価する、請求項1乃至の何れか1項に記載のプログラム。 The said test of the said software is performed in multiple times, and it evaluates whether the said test is effective based on the ratio which the process selected at each time corresponds, The any one of Claim 1 thru | or 4 program. 第1および第2の情報の取得では、前記コンピュータにより実行されるオペレーティングシステムが現存しているプロセスごとに実行された累積の時間を格納する記憶装置を参照して、プロセスごとに第1および第2の情報を取得する、請求項1乃至の何れか1項に記載のプログラム。 In obtaining the first and second information, the operating system executed by the computer refers to the storage device storing the accumulated time executed for each existing process, and the first and second information for each process. The program according to any one of claims 1 to 5 , wherein the information of 2 is acquired. 複数のプロセスを実行可能な情報処理装置が、
ソフトウェアのテストを開始する際に、存在しているプロセスごとに、実行された累積の時間を示す第1の情報を取得し、
前記ソフトウェアの前記テストを終了する際に、存在しているプロセスごとに、実行された累積の時間を示す第2の情報を取得し、
プロセスごとに取得された第1および第2の情報に基づいて、前記ソフトウェアの前記テストを再び行う際に情報収集の対象とするプロセスを選択
情報収集の対象とした第1のプロセスに関するテスト中の履歴に、前記第1のプロセスと通信する第2のプロセスの異常が記録されている場合、前記第2のプロセスを情報収集の対象とする、
プロセス選択方法。
An information processing apparatus capable of executing a plurality of processes
When starting a software test, for each existing process, obtain first information indicating the accumulated time executed,
Upon completion of the test of the software, for each existing process, obtain second information indicating the accumulated time executed,
Based on the first and second information obtained in each process, select the process to be subjected to information collection when again performing the test of the software,
When an abnormality of the second process communicating with the first process is recorded in the history of the test related to the first process that is the target of information collection, the second process is the target of information collection. ,
Process selection method.
複数のプロセスを実行可能な情報処理装置であって、
現存しているプロセスごとに、実行された累積の時間を記憶する記憶部と、
ソフトウェアのテストを開始する際に、前記記憶部を参照して、存在しているプロセスごとに、実行された累積の時間を示す第1の情報を取得し、
前記ソフトウェアの前記テストを終了する際に、前記記憶部を参照して、存在しているプロセスごとに、実行された累積の時間を示す第2の情報を取得し、
プロセスごとに取得された第1および第2の情報に基づいて、前記ソフトウェアの前記テストを再び行う際に情報収集の対象とするプロセスを選択
情報収集の対象とした第1のプロセスに関するテスト中の履歴に、前記第1のプロセスと通信する第2のプロセスの異常が記録されている場合、前記第2のプロセスを情報収集の対象とする、演算部と、
を有する情報処理装置。
An information processing apparatus capable of executing a plurality of processes,
For each existing process, a storage unit that stores the cumulative time that was executed;
When starting a software test, referring to the storage unit, for each existing process, obtain first information indicating the accumulated time of execution,
When ending the test of the software, referring to the storage unit, for each existing process, to obtain second information indicating the accumulated time of execution,
Based on the first and second information obtained in each process, select the process to be subjected to information collection when again performing the test of the software,
When an abnormality of the second process communicating with the first process is recorded in the history of the test related to the first process that is the target of information collection, the second process is the target of information collection. , Arithmetic unit,
An information processing apparatus.
JP2013124319A 2013-06-13 2013-06-13 Program, process selection method, and information processing apparatus Active JP6248425B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013124319A JP6248425B2 (en) 2013-06-13 2013-06-13 Program, process selection method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013124319A JP6248425B2 (en) 2013-06-13 2013-06-13 Program, process selection method, and information processing apparatus

Publications (2)

Publication Number Publication Date
JP2015001755A JP2015001755A (en) 2015-01-05
JP6248425B2 true JP6248425B2 (en) 2017-12-20

Family

ID=52296274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013124319A Active JP6248425B2 (en) 2013-06-13 2013-06-13 Program, process selection method, and information processing apparatus

Country Status (1)

Country Link
JP (1) JP6248425B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2595733B2 (en) * 1989-11-30 1997-04-02 富士通株式会社 Task error detection method
JP2008234354A (en) * 2007-03-20 2008-10-02 Toshiba Corp Cpu load analysis device and program
JP2011118596A (en) * 2009-12-02 2011-06-16 Fujitsu Semiconductor Ltd Information-processing device and profiling method

Also Published As

Publication number Publication date
JP2015001755A (en) 2015-01-05

Similar Documents

Publication Publication Date Title
US8141053B2 (en) Call stack sampling using a virtual machine
US8589884B2 (en) Method and system for identifying regression test cases for a software
KR101881804B1 (en) Method and apparatus for automating game test
US9612837B2 (en) Trace method and information processing apparatus
US9619373B2 (en) Method and apparatus to semantically connect independent build and test processes
US20080163003A1 (en) Method and System for Autonomic Target Testing
JP5102823B2 (en) Test support apparatus, test apparatus, test support method, and computer program for optimizing test scenario so as to minimize total test time
CN111026601A (en) Monitoring method and device for Java application system, electronic equipment and storage medium
US20150006961A1 (en) Capturing trace information using annotated trace output
US11422920B2 (en) Debugging multiple instances of code using thread patterns
US20100082378A1 (en) Business Process Optimization And Problem Resolution
CN111240974B (en) Log output method and device, electronic equipment and medium
CN106980572B (en) Online debugging method and system for distributed system
CN110580220B (en) Method for measuring code segment execution time and terminal equipment
JP6615071B2 (en) Computer system and test case management method
US20160217017A1 (en) Determining workflow completion state
JP6248425B2 (en) Program, process selection method, and information processing apparatus
CN112988503A (en) Analysis method, analysis device, electronic device, and storage medium
CN109358813B (en) Capacity expansion method and device for distributed storage system
CN107992420B (en) Management method and system for test item
JP6336919B2 (en) Source code review method and system
CN110442370B (en) Test case query method and device
CN111143229A (en) Software testing method and device, computer equipment and computer readable storage medium
JP4253056B2 (en) Test device, test case evaluation device, and test result analysis device
US20240160518A1 (en) Dynamic registration of software components for diagnosis of root cause of failure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170406

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170919

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: 20171024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171106

R150 Certificate of patent or registration of utility model

Ref document number: 6248425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150