JP7238439B2 - Information processing device, test method, and test program - Google Patents
Information processing device, test method, and test program Download PDFInfo
- Publication number
- JP7238439B2 JP7238439B2 JP2019016355A JP2019016355A JP7238439B2 JP 7238439 B2 JP7238439 B2 JP 7238439B2 JP 2019016355 A JP2019016355 A JP 2019016355A JP 2019016355 A JP2019016355 A JP 2019016355A JP 7238439 B2 JP7238439 B2 JP 7238439B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- information processing
- software
- tests
- failed
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理装置、テスト方法、及びテストプログラムに関する。 The present invention relates to an information processing device, test method, and test program.
テスト対象となるソフトウェアを自動的にテストして、テスト結果を出力するテストシステムが知られている。 A test system that automatically tests software to be tested and outputs test results is known.
また、ソフトウェア開発プロジェクトにおいて、バグを分析して、バグによる手戻り工数等から優先すべき課題を選定するバグ分析方法、及び装置が知られている(例えば、特許文献1参照) Also known is a bug analysis method and apparatus for analyzing bugs in a software development project and selecting priority issues from the number of rework due to bugs, etc. (see, for example, Patent Document 1).
しかし、テスト対象となるソフトウェアを自動的にテストするテストシステムでは、例えば、同じ障害(バグ)が原因で複数のテストが不合格になった場合でも、その原因が同じ障害であるか否かを自動的に判別することは困難である。従って、テストシステムは、同じ障害が原因で複数のテストが不合格になった場合でも、不合格になった全てのテストについて障害票を起票し、設計者は、起票された複数の障害票を解析して不合格の原因となった障害を判別しなければならないという問題がある。 However, in a test system that automatically tests the software under test, for example, even if multiple tests fail due to the same defect (bug), it is difficult to determine whether the cause is the same defect. It is difficult to distinguish automatically. Therefore, the test system raises a problem ticket for every test that fails, even if multiple tests fail due to the same problem, and the designer is responsible for the multiple problems raised. There is the problem of having to parse the ballot to determine the fault that caused the failure.
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、ソフトウェアを自動的にテストする情報処理システムにおいて、同じ障害が原因で複数のテストが不合格になった場合に、不合格の原因となった障害の解析を効率的に行えるようにする。 SUMMARY OF THE INVENTION An embodiment of the present invention has been made in view of the above problems. , to make it possible to efficiently analyze failures that have caused failures.
上記目的を達成するため、本発明の一実施形態に係る情報処理装置は、テスト対象となるソフトウェアをテストする情報処理装置であって、前記ソフトウェアに関する複数のテストの実行を制御するテスト制御部と、前記複数のテストのうち、不合格になったテストおいて、前記ソフトウェアに機能面の特徴があるかどうかを判断する第1の判断部と、前記ソフトウェアに現象面の特徴があるかどうかを判断する第2の判断部と、前記第1の判断部と前記第2の判断部の判断結果に基づいて、前記不合格の原因となった障害に関するテスト結果を出力する出力部と、を有する。
To achieve the above object, an information processing apparatus according to one embodiment of the present invention is an information processing apparatus for testing software to be tested, comprising a test control unit for controlling execution of a plurality of tests on the software; a first judgment unit for judging whether or not the software has functional characteristics in a failed test among the plurality of tests; a second judging section for judging; and an output section for outputting a test result related to a fault that caused the failure based on judgment results of the first judging section and the second judging section. .
本発明の一実施形態によれば、ソフトウェアを自動的にテストする情報処理システムにおいて、同じ障害が原因で複数のテストが不合格になった場合に、不合格の原因となった障害の解析を効率的に行えるようになる。 According to one embodiment of the present invention, in an information processing system for automatically testing software, when multiple tests fail due to the same failure, the failure that caused the failure is analyzed. be able to do so efficiently.
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<システム構成>
(情報処理システムのシステム構成)
図1は、一実施形態に係る情報処理システムのシステム構成の例を示す図である。情報処理システム100は、ソフトウェアを設計する設計者101等が、テスト対象となるソフトウェアをテスト(試験)するシステムである。
<System configuration>
(System configuration of information processing system)
FIG. 1 is a diagram illustrating an example of the system configuration of an information processing system according to one embodiment. The
近年のソフトウェア開発においては、継続的インテグレーション(CI:Continuous Integration)と呼ばれるような、ビルドやテストを頻繁に繰り返し行うことにより問題を早期に発見し、開発の効率化、省電力化、納期の短縮等を図る手法が用いられる。CIシステムにおいては、手続きを自動化すると共に、変更管理ツール102、テスト管理ツール106、障害管理ツール109等と連携することで、ワークフロー全体の効率化を図ることも行われる。なお、CIシステムは、情報処理システム100の一例である。
In software development in recent years, frequent repetition of builds and tests, which is called continuous integration (CI), is used to detect problems early, improve development efficiency, save power, and shorten delivery times. etc. is used. In the CI system, procedures are automated, and the workflow as a whole is made more efficient by cooperating with the
図1に示す情報処理システム100において、設計者101は、テスト対象となるソフトウェアのソースコード103と、当該ソフトウェアをテストするテストコード107を作成して情報処理システム100に登録する。
In the
ビルドツール104、及びテストツール108は、予め定められたスケジュールに従ってビルドとテストを自動的に実行し、テスト結果が不合格である場合には、障害管理ツール109が、不合格になったテスト結果等を設計者101に通知する。このとき、障害管理ツール109は、変更管理ツール102、テスト管理ツール106等と連携することで、障害の対策状況のトラッキング等が可能である。
The
設計者101は、テスト結果が不合格であれば、障害(バグ)の解析を行い、必要に応じてソースコード103の修正、或いはテストコード107の修正を行う。障害の解析にあたって、設計者101は、例えば、どのテストケースでどのようなエラーが発生したか、またエラーが発生したときのログ情報等から障害を特定して対策を行う。
If the test result fails, the
このようなフローを繰り返し実行することにより、設計者101は、常にテスト結果が合格となる状態を維持する。これにより、設計者101は、テスト対象となるソフトウェア(成果物)をいつでもリリースできる状態に保つことができるので、ソフトウェアをタイムリーに市場にリリースすることができる。
By repeatedly executing such a flow, the
(テストツールの構成例)
図2は、一実施形態に係るテストツールの構成例を示す図である。ここでは、一例として、組み込み系のソフトウェア開発におけるテストツールについて説明する。組み込み系のソフトウェア開発における自動テストは、基本的には対象となる対象機器202で、テスト対象オブジェクト105を実行させることでテストを行う。ここで、「対象機器」には、実際にソフトウェアが実装される電子機器(以下、「実機」と呼ぶ)だけではなく、実機の動作をエミュレートしたエミュレータも含まれる。
(Test tool configuration example)
FIG. 2 is a diagram illustrating a configuration example of a test tool according to one embodiment. Here, as an example, a test tool in embedded software development will be described. Automatic testing in embedded software development is basically performed by executing the
また、テスト対象オブジェクト105を対象機器202で実行させる方法には、一例として、図2(a)に示すように、テストツール108から、対象機器202上のテストランナー203を使って、テスト対象オブジェクト105とテストコード107とを実行させる方法がある。また、別の一例として、図2(b)に示すように、テストツール108がテストコード107を実行し、対象機器202が公開しているインタフェース(I/F:Interface)を用いて、テスト対象オブジェクト105を操作する方法もある。図2(a)に示す方法は、主にホワイトボックス的なテストに用いられ、図3(b)に示す方法は、主にブラックボックス的なテストに用いられることが多い。
In addition, as an example of the method of executing the
上記の構成において、情報処理システム100は、例えば、テストを自動実行し、テストが不合格になったときに、自動的に障害票を起票して設計者101に通知する。このような情報処理システム100において、例えば、同じ障害(バグ)が原因で複数のテストが不合格になった場合、その原因が同じ障害であることを、情報処理システム100が自動的に判別することは困難である。従って、情報処理システム100は、不合格になった全てのテストについて障害票を起票することになり、設計者101は、複数の障害票を解析して、不合格になった複数のテストの原因が同じ障害によるものであることを判別しなければならないという問題がある。
In the above configuration, the
このとき、例えば、情報処理システム100が、発生した障害の現象から、同じ現象の障害を「同一の障害」としてグループ分け(グルーピング)して、設計者101に通知する方法が考えられる。しかし、この方法だけでは、同じ現象の障害が、同じ原因によるものであるとは限らないので、潜在的な障害(バグ)を見逃してしまう場合がある。
At this time, for example, the
また、別の方法として、情報処理システム100が、基本的な機能のテストと、枝葉の機能のテストとを分けて、基本的な機能のテストを先に行うことで、障害票の大量の起票を抑制する方法も考えられる。しかし、この方法では、どの機能が基本的な機能であり、どの機能が枝葉の機能であるのかを分類する必要がある。また、この方法では、基本的な機能のテストで不合格になった場合には、他の機能のテストができなくなってしまうという問題もある。
As another method, the
そこで、本実施形態に係る情報処理システム100では、テストを自動実行し、テストが不合格になったときに、不合格になったテストにおける現象面の特徴と、機能面の特徴とに基づいて、不合格の原因となった障害に関するテスト結果を出力する。
Therefore, in the
好ましくは、情報処理システム100は、不合格になったテストにおける現象面の特徴と機能面の特徴とに基づいて、不合格になったテスト(例えば、障害票等)をグループ分けしてテスト結果を出力する。
Preferably, the
ここで、機能面の特徴には、例えば、テスト対象となるソフトウェアの機能仕様書に記載されている「機能」に関する特徴等が含まれる。例えば、情報処理システム100は、機能仕様書に記載されている所定の機能に関する1つ以上のテスト項目のうち、不合格になったテスト項目の数に基づいて、不合格になったテストに機能的な特徴があるか(例えば、所定の機能に問題があるか)否かを判断する。
Here, the functional features include, for example, features related to "functions" described in the functional specifications of the software to be tested. For example, the
また、現象面の特徴には、例えば、テストに用いられる所定のコマンドで発生した「現象」に関する特徴等が含まれる。例えば、情報処理システム100は、ソフトウェアのテストで用いられる所定のコマンドで発生したエラーの発生回数に基づいて、不合格になったテストに現象的な特徴があるか(同じ現象のエラーが発生しているか)否かを判断する。なお、コマンドには、例えば、所定の手順の実行を指示する命令や、所定のハードウェアへのアクセスを指示する命令等の様々な命令が含まれ得る。
Further, the characteristics of the phenomenon include, for example, characteristics related to "phenomenon" generated by a predetermined command used in the test. For example, the
具体的な一例として、所定のコマンドでエラーが複数回発生している等の現象面の特徴がある場合、情報処理システム100は、機能面の特徴より優先して、現象面の特徴に関するテスト結果を設計者101に通知する。これは、特定のコマンドでエラーが多発している場合、テスト対象となる機能に対して適切なテストを行えない可能性が高いと考えられるためである。
As a specific example, if there is a characteristic of the phenomenon such that an error occurs multiple times in a predetermined command, the
例えば、テスト対象となる機器がスキャン機能、コピー機能、プリンタ機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)であるものとする。また、MFPのソフトウェアのテストにおいて、スキャン機能のテストで不合格が発生しているが、実際には、準備作業に含まれるアドレス帳登録コマンドが原因でエラーが発生していたものとする。このようなときに、本実施形態に係る情報処理システム100によれば、スキャン機能の担当者ではなく、アドレス帳機能の担当者に障害解析を依頼することが容易になる。なお、具体的な処理内容については後述する。
For example, it is assumed that the device to be tested is an MFP (Multifunction Peripheral) having a scan function, a copy function, a printer function, a facsimile function, etc. in one housing. In the MFP software test, it is assumed that the scan function test failed, but an error actually occurred due to the address book registration command included in the preparation work. In such a case, according to the
<ハードウェア構成>
図2は、一実施形態に係る情報処理装置のハードウェア構成の例を示す図である。図1に示す変更管理ツール102、ビルドツール104、テスト管理ツール106、テストツール108、及び障害管理ツール109等は、例えば、図2に示すようなコンピュータ構成を備えた情報処理装置300、又は複数の情報処理装置300で実行される。
<Hardware configuration>
FIG. 2 is a diagram illustrating an example of a hardware configuration of an information processing apparatus according to one embodiment; The
情報処理装置300は、例えば、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HD(Hard Disk)304、HDD(Hard Disk Drive)コントローラ305、ディスプレイ306、外部機器接続I/F307、ネットワークI/F308、キーボード309、ポインティングデバイス310、DVD-RW(Digital Versatile Disk Rewritable)ドライブ312、メディアI/F314、及びバスライン315等を備えている。
The
これらのうち、CPU301は、情報処理装置300の全体の動作を制御する。ROM302は、例えば、IPL(Initial Program Loader)等のCPU301の起動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。HD304は、プログラム等の各種データを記憶する。HDDコントローラ305は、CPU301の制御に従ってHD304に対する各種データの読み出し又は書き込みを制御する。
Among these, the
ディスプレイ306は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F307は、各種の外部機器を接続するためのインタフェースである。外部機器には、例えば、USB(Universal Serial Bus)メモリやプリンタ等に加え、テストの対象となる対象機器202等が含まれる。ネットワークI/F308は、通信ネットワークを利用してデータ通信をするためのインタフェースである。なお、情報処理装置300は、ネットワークI/F308を介して、対象機器202を制御しても良い。
A
キーボード309は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス310は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ312は、着脱可能な記録媒体の一例としてのDVD-RW311に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RW311は、DVD-RWに限らず、DVD-R等であっても良い。メディアI/F314は、フラッシュメモリ等のメディア313に対するデータの読み出し又は書き込み(記憶)を制御する。バスライン315は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。
A
<機能構成>
続いて、情報処理装置300の機能構成について説明する。
<Functional configuration>
Next, the functional configuration of the
図4は、一実施形態に係る情報処理装置の機能構成の例を示す図である。情報処理装置300は、例えば、図3のCPU301で所定のテストプログラムを実行することにより、テスト制御部401、第1の判断部402、第2の判断部403、出力部404、設定受付部405、及び記憶部406等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
FIG. 4 is a diagram illustrating an example of a functional configuration of an information processing device according to an embodiment; The
テスト制御部401は、例えば、図3のCPU301で実行されるテストツール108等によって実現され、テスト対象となるソフトウェアに関する複数のテストの実行を制御する。
The
第1の判断部402は、例えば、図3のCPUで実行される障害管理ツール109等のテストプログラムによって実現され、ソフトウェアのテストが不合格になった場合、不合格になったソフトウェアに機能面の特徴があるか否かを判断する。例えば、第1の判断部402は、所定の機能に関する1つ以上のテスト項目のうち、不合格になったテスト項目の数に基づいて、不合格になったテストに機能面の特徴があるか(例えば、所定の機能に問題があるか)否かを判断する。
The
図5は、一実施形態に係るテスト仕様について説明するための図である。例えば、機能合致性を検証するためのテストケースを作成する場合、設計者101は、テスト対象となるソフトウェアの機能仕様501に対して、テストケースを設計することになる。例えば、図5の機能仕様501における機能Aのサブ機能A-1をテストする場合、図5のテスト仕様411に示すように、機能Aのサブ機能A-1に関する1つ以上のテスト項目をテストする。同様に、機能仕様501における機能Aのサブ機能A-2をテストする場合、テスト仕様411に示すように、機能Aのサブ機能A-2に関する1つ以上のテスト項目をテストする。
FIG. 5 is a diagram for explaining test specifications according to one embodiment. For example, when creating a test case for verifying functional compatibility, the
好ましくは、第1の判断部402は、例えば、テスト仕様411において、所定の機能に関する複数のテスト項目が定義されている場合、不合格になったテスト項目の数が、予め設定された第1の閾値以上のとき、所定の機能に機能面の特徴があると判断する。なお、所定の機能に関するテスト項目が1つである場合には、所定の機能に関するテスト項目が不合格であるときに、所定の機能に機能面の特徴があると判断しても良い。
Preferably, for example, when the
第2の判断部403は、例えば、図3のCPUで実行される障害管理ツール109等のテストプログラムによって実現され、ソフトウェアのテストが不合格になった場合、不合格になったソフトウェアに現象面の特徴があるか否かを判断する。例えば、第2の判断部403は、所定のコマンドで発生したエラーの発生回数に基づいて、不合格になったテストに現象面の特徴があるか(例えば、所定のコマンドに問題があるか)否かを判断する。
The
図6は、一実施形態に係るテストケースの例について説明するための図である。例えば、所定の機能に関するテストを行う場合、テストシナリオの実行に先立って、事前条件や事後条件を明確にし、テストを実行する。例えば、図6のテストケース601に示すように、所定の機能に関するテストを行う「テストシナリオ」の前後で、「事前条件」、「事後条件」等を自動的に実行する。
FIG. 6 is a diagram for explaining an example of test cases according to one embodiment. For example, when testing a given function, preconditions and postconditions are clarified prior to execution of the test scenario, and the test is executed. For example, as shown in a
なお、テストケース601に含まれる各手順の自動実行は、様々な方法で実行可能である。例えば、多くの場合、対象機器202を提供しているメーカが、ビルドツール104と同じように、テストのための様々ツールを提供しているので、これらのツールを用いて、テスト対象オブジェクト105を操作することができる。また、例えば、テスト対象オブジェクト105が、外部に提供しているI/Fを、テストケース601に含まれる各手順の自動実行に用いることもできる。なお、当該I/Fは、別のテストケースでは、テスト対象となる場合がある。
Various methods can be used to automatically execute each procedure included in the
好ましくは、第2の判断部403は、ソフトウェアのテストにおいて、所定のコマンド(例えば、手順B1の実行命令等)で発生したエラーの発生回数が第2の閾値以上のとき、不合格になったソフトウェアに現象面の特徴があると判断する。
Preferably, the
出力部404は、例えば、図3のCPUで実行される障害管理ツール109等のテストプログラムによって実現される。出力部404は、複数のテストのうち、不合格になったテストにおける現象面の特徴と機能面の特徴とに基づいて、不合格の原因となった障害に関するテスト結果を出力する。
The
例えば、出力部404は、不合格になったテストに、機能面の特徴と現象面の特徴とがある場合、機能面の特徴よりも現象面の特徴を優先して、所定のコマンド(手順)に障害があることを示すテスト結果を出力する。
For example, if a failed test has functional features and phenomenal features, the
また、出力部404は、不合格になったテストに、機能面の特徴があり、かつ現象面の特徴がない場合、所定の機能に関するテスト結果を出力する。さらに、出力部404は、不合格になったテストに、現象面の特徴があり、かつ機能面の特徴がない場合、所定のコマンドに関するテスト結果を出力する。
In addition, if the failed test has functional characteristics but no phenomenon characteristics, the
好ましくは、出力部404は、不合格になったテストにおける現象面の特徴と機能面の特徴とに基づいて、不合格になったテスト(又は障害票等)をグループ分けして、テスト結果として出力する。例えば、出力部404は、不合格になったテストにおける現象面の特徴と機能面の特徴とに基づいて、同じ障害が原因と考えられる複数の障害票をグルーピングして出力する。
Preferably, the
設定受付部405は、例えば、図3のCPUで実行される障害管理ツール109等のテストプログラムによって実現され、前述した第1の閾値又は第2の閾値の設定を受け付ける。例えば、設定受付部405は、図3のディスプレイ306等の表示部に、第1の閾値又は第2の閾値を設定するための設定画面を表示させて、設計者101等による、第1の閾値又は第2の閾値の設定操作を受け付ける。また、設定受付部405は、受け付けた第1の閾値又は第2の閾値を、記憶部406に設定値413として記憶する。なお、設定受付部405は、他の情報処理装置等から、第1の閾値又は第2の閾値の設定要求を受け付けるものであっても良い。
The
記憶部406は、例えば、図3のCPUで実行されるプログラム、及びHDDコントローラ305、HD304等によって実現され、テストコード107、テスト仕様411、テスト結果412、及び設定値413等を記憶する。
The
なお、図4の例では、図1のテストツール108及び障害管理ツール109に関する機能構成について説明を行ったが、情報処理装置300は、図1の変更管理ツール102、ビルドツール104、及びテスト管理ツール106等をさらに実行しても良い。なお、変更管理ツール102、ビルドツール104、及びテスト管理ツール106等の機能構成は、一般的なツールと同様で良いので、ここでは説明を省略する。
In the example of FIG. 4, the functional configuration of the
<処理の流れ>
続いて、各実施形態に係るテスト方法の処理の流れについて説明する。
<Process flow>
Next, the processing flow of the test method according to each embodiment will be described.
[第1に実施形態]
図7は、第1の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置300が、テスト制御部401により、テスト対象となるソフトウェアに関する複数のテストを実行した後、不合格になったテストがある場合に実行する処理の一例を示している。
[First Embodiment]
7 is a flowchart illustrating an example of processing of the information processing apparatus according to the first embodiment; FIG. This processing shows an example of processing executed by the
ステップS701において、情報処理装置300の第1の判断部402は、不合格になったテストにおける機能面の特徴を抽出する。例えば、第1の判断部402は、図5に示すようなテスト仕様411を参照して、不合格になったテストに対応する機能等を抽出する。一例として、図5に示すテスト仕様411において、テスト項目「境界値テスト正常系」が不合格になった場合、第1の判断部402は、不合格になったテスト項目に対応するサブ機能「A-1」等を抽出する。
In step S701, the
ステップS702において、情報処理装置300の第2の判断部403は、不合格になったテストにおける現象面の特徴を抽出する。例えば、第2の判断部403は、不合格になったテストでエラーが発生したコマンド、及び当該コマンドで発生したエラーの回数等を抽出する。
In step S702, the
ステップS703において、第1の判断部402は、不合格になったテストに機能面の特徴があるか否かを判断する。例えば、第1の判断部402は、ステップS701で抽出した機能に関する1つ以上のテスト項目のうち、不合格になったテスト項目の数が、予め設定された第1の閾値以上のとき、不合格になったテストに機能面の特徴があると判断する。
In step S703, the
不合格になったテストに機能面の特徴がある場合、情報処理装置300は、処理をステップS704に移行させる。一方、不合格になったテストに機能面の特徴がない場合、情報処理装置300は、処理をステップS705に移行させる。
If the failed test has functional characteristics, the
ステップS704に移行すると、第2の判断部403は、不合格になったテストに、現象面の特徴があるか否かを判断する。例えば、第2の判断部403は、ステップS702で抽出したコマンドで発生したエラーの回数が、予め設定された第2の閾値以上のとき、不合格になったテストに現象面の特徴があると判断する。
After proceeding to step S704, the
不合格になったテストに現象面の特徴がない場合、情報処理装置300は、処理をステップS705に移行させる。一方、不合格になったテストに現象面の特徴がある場合、情報処理装置300は、処理をステップS707に移行させる。
If the failed test does not have any phenomenal features, the
ステップS705に移行すると、出力部404は、特定機能のデグレードを指摘するテスト結果を出力する。例えば、出力部404は、ステップS703で機能面の特徴があると判断された機能のデグレードを指摘する障害票等を出力する。
After moving to step S705, the
ステップS703からステップS706に移行すると、第2の判断部403は、例えば、ステップS704と同様にして、不合格になったテストに、現象面の特徴があるか否かを判断する。
When the process proceeds from step S703 to step S706, the
不合格になったテストに現象面の特徴がある場合、情報処理装置300は、処理をステップS707に移行させる。一方、不合格になったテストに現象面の特徴がない場合、情報処理装置300は、処理を終了させる。
If the failed test has a phenomenon, the
ステップS707に移行すると、情報処理装置300の出力部404は、特定手順のデグレードを指摘するテスト結果を出力する。例えば、出力部404は、ステップS702で抽出したコマンド(特定手順の一例)のデグレードを指摘する障害票等を出力する。
After moving to step S707, the
このように、情報処理装置300の出力部404は、不合格になったテストにおける現象面の特徴と機能面の特徴とに基づいて、不合格の原因となった障害に関するテスト結果を出力する。
In this way, the
これにより、本実施形態に係る情報処理システム100によれば、不合格になったテストの機能面の特徴と現象面の特徴とに基づいて、解析すべき優先順位を設計者101に提示することができるので、設計者101による障害解析をより効率化することができる。
As a result, according to the
[第2の実施形態]
図8は、第2の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置300が、テスト制御部401により、テスト対象となるソフトウェアに関する複数のテストを実行した後、不合格になったテストがある場合に実行する処理の別の一例を示している。なお、基本的な処理内容は、図7に示す第1の実施形態に係る情報処理装置の処理と同様なので、ここでは、第1の実施形態と同様の処理に対する詳細な説明は省略する。
[Second embodiment]
FIG. 8 is a flowchart illustrating an example of processing of the information processing apparatus according to the second embodiment. This process is another example of the process executed by the
ステップS801において、情報処理装置300の第1の判断部402は、不合格になったテストにおける機能面の特徴を抽出する。なお、複数のテストが不合格になった場合、第1の判断部402は、不合格になった複数のテストの各々について、機能面の特徴を抽出する。
In step S801, the
ステップS802において、情報処理装置300の第2の判断部403は、不合格になったテストにおける現象面の特徴を抽出する。なお、複数のテストが不合格になった場合、第2の判断部403は、不合格になった複数のテストの各々について、現象面の特徴を抽出する。
In step S802, the
ステップS803において、第1の判断部402は、不合格になったテストの各々について、機能面の特徴があるか否かを判断する。
In step S803, the
ここで、機能面の特徴があると判断されたテストについて、情報処理装置300は、ステップS804の処理を実行する。また、機能面の特徴がないと判断されたテストについて、情報処理装置300は、ステップS806の処理を実行する。
Here, the
ステップS804において、第2の判断部403は、不合格になったテストのうち、機能面の特徴があると判断されたテストの各々について、現象面の特徴があるか否かを判断する。
In step S804, the
ここで、現象面の特徴がないと判断されたテストについて、情報処理装置300は、ステップS805の処理を実行する。また、現象面の特徴があると判断されたテストについて、情報処理装置300は、ステップS807の処理を実行する。
Here, the
ステップS805において、情報処理装置300の出力部404は、特定機能のデグレードを指摘する障害票(テスト結果の一例)を作成する。例えば、出力部404は、ステップS803で機能面の特徴があると判断され、ステップS804で現象面の特徴がないと判断されたテストの各々について、第1の閾値以上の試験項目が不合格となった機能に障害があることを示す障害票を作成する。
In step S805, the
一方、ステップS806において、第2の判断部403は、不合格になったテストのうち、機能面の特徴がないと判断されたテストの各々について、現象面の特徴があるか否かを判断する。
On the other hand, in step S806, the
ここで、現象面の特徴があると判断されたテストについて、情報処理装置300は、ステップS807の処理を実行する。なお、現象面の特徴がないと判断されたテストについては、情報処理装置300は、特に処理は行わずに、ステップS808に処理を移行させる。
Here, the
ステップS807において、出力部404は、特定手順のデグレードを指摘する障害票を作成する。
In step S807, the
例えば、出力部404は、ステップS803で機能面の特徴があると判断され、ステップS804で現象面の特徴があると判断されたテストの各々について、第2の閾値以上エラーが発生したコマンド(特定手順の一例)のデグレードを指摘する障害票を作成する。
For example, the
また、出力部404は、ステップS803で機能面の特徴がないと判断され、ステップS804で現象面の特徴があると判断されたテストの各々について、第2の閾値以上エラーが発生したコマンド(特定手順の一例)のデグレードを指摘する障害票を作成する。
In addition, the
ステップS808において、出力部404は、ステップS805、及びステップS807で作成した障害票を、障害内容に応じてグループ分け(グルーピング)して出力する。例えば、出力部404は、所定の機能に障害があると判断された複数の障害票を1つのグループにまとめて出力する。また、出力部404は、所定の現象に障害があると判断された複数の障害票を1つのグループにまとめて出力する。
In step S808, the
このように、情報処理装置300の出力部404は、不合格になったテストの試験結果(障害票)を、現象面の特徴と機能面の特徴とに基づいて、障害内容に応じてグルーピングして出力する。
In this manner, the
これにより、本実施形態に係る情報処理システム100によれば、不合格になったテストの機能面の特徴と現象面の特徴とに基づいて、解析すべき優先順位を設計者101に提示することができるので、設計者101による障害解析をより効率化することができる。
As a result, according to the
<適用例>
続いて、第2の実施形態に係るソフトウェアのテスト方法の具体的な適用例について説明する。
<Application example>
Next, a specific application example of the software testing method according to the second embodiment will be described.
ここでは、一例として、対象機器202が、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)等の画像形成装置であるものとして、以下の説明を行う。
Here, as an example, the following description is given assuming that the
ただし、対象機器202は、画像形成装置に限られず、情報処理システム100によるテスト対象となるソフトウェアを実行する様々な機器であって良い。例えば、対象機器202は、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ、HUD(Head Up Display)装置等の出力装置であっても良い。また、対象機器202は、例えば、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)、デジタルカメラ、ウェアラブル端末等の機器であっても良い。さらに、対象機器202は、例えば、ノートPC、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPCデスクトップPC等の汎用の情報処理装置であっても良い。
However, the
例えば、MFPにおけるスキャン機能を実現するソフトウェアのテストを考えた場合、スキャン機能には、例えば、「スキャン to メール機能」、「スキャン to フォルダ機能」、「OCR(Optical Character Recognition)機能」等の様々な機能がある。 For example, when considering the test of software that realizes the scan function in MFP, the scan function includes various functions such as "scan to mail function", "scan to folder function", "OCR (Optical Character Recognition) function", etc. functions.
また、「スキャン to メール機能」にも、例えば、「スキャン条件設定」、「メール宛先設定」等の複数のサブ機能が含まれる。例えば、機能合致性のテストを行う場合、これらの機能仕様に対応するテストケースを作成することが一般的である。 The "scan to mail function" also includes a plurality of sub-functions such as "scan condition setting" and "mail destination setting". For example, when testing functional compatibility, it is common to create test cases corresponding to these functional specifications.
一例として、「スキャン to メール機能」の「スキャン条件設定」のテストケースを作成する場合、様々スキャン条件で、実際にスキャン結果がメール送信されるかどうかをテストする方法が考えられる。このとき、本来テストしたいのは、「スキャン条件」として、「両面指定」、「カラー指定」、「解像度指定」等の設定が、設定通りに動作するかどうかであるが、これらの機能を実行するためには、事前条件として予め実行すべき手順がある。例えば、事前条件には、「メール送信サーバが設定されていること」、「送信先のメールアドレスが登録されていること」等が含まれる。 As an example, when creating a test case for "scanning condition setting" of the "scan to email function", it is possible to test whether or not the scan results are actually sent by email under various scanning conditions. At this time, what I want to test is whether the settings such as "Double-sided specification", "Color specification", and "Resolution specification" as "Scanning conditions" operate as set. In order to do so, there is a procedure to be executed in advance as a precondition. For example, the preconditions include "the mail transmission server is set" and "the destination mail address is registered".
自動テストの環境においては、これらの事前条件を整える処理も自動で行う必要があるため、本来のテスト対象である「スキャン to メール機能」を実行する前に、例えば、「メール送信サーバの設定」の手順でテストが不合格になることがある。この例では、事前条件とテスト対象との因果関係が比較的明確であるが、大量のテストケースを設計・実行する際には、様々な手順でテストが実行されるので、その因果関係を事前に明確にしておくことは困難である。 In the automated test environment, it is necessary to automatically perform the processing to prepare these preconditions. procedure may cause the test to fail. In this example, the causal relationship between the preconditions and the test target is relatively clear. It is difficult to be clear on
このような場合、本発明の各実施形態を適用して、不合格となったテストにおける機能面の特徴と現象面の特徴の両方を加味して、解析すべき優先順位を示すテスト結果を設計者101に提示することで、障害解析を効率化することができる。
In such cases, each embodiment of the present invention is applied to design test results that indicate the order of priority to be analyzed, taking into account both the functional characteristics and the phenomena characteristics of the failed tests. By presenting it to the
例えば、「スキャン to メール機能」の「スキャン条件設定」のテストケースが100件あって、前回のビルドでは全てのテストに合格していたものとする。また、今回のビルドでは、当該テストケースのうち、30件以上のテストが不合格になったものとする。このような場合、情報処理装置300は、「スキャン条件設定」機能が何かしらのデグレードを起こした可能性があるということを、機能面の特徴として抽出することが考えられる。なお、上記の「30件」は一例であり、機能面の特徴があると判断する第1の閾値は、任意の値に設定可能である。
For example, it is assumed that there are 100 test cases for "scan condition setting" of "scan to mail function" and all the tests passed in the previous build. Also, in this build, it is assumed that 30 or more tests out of the test cases have failed. In such a case, the
一方で、この30件のテストケースで不合格となった現象を集計し、例えば、30件の全てが「アドレス帳登録」コマンドでエラーが発生しているものとする。このような場合、情報処理装置300は、「アドレス帳登録」コマンドが何かしらのデグレードを起こした可能性があるということを、現象面の特徴として抽出することが考えられる。
On the other hand, it is assumed that the failure phenomena in the 30 test cases are totaled, and that all of the 30 cases have an error in the "register address book" command, for example. In such a case, the
また、情報処理装置300は、このような機能面の特徴、及び現象面の特徴が抽出できた場合に、これらの30件の障害をグルーピングして、例えば、「アドレス帳登録コマンドのデグレードの疑い」として設計者に提示する。これにより、より適切な設計者101(例えば、アドレス帳登録コマンドの設計者等)に解析を促すことができるので、障害解析をより効率化することができる。
In addition, when the
なお、上記の例では、テストが機能合致性テストであるものとして説明したが、これに限られない。例えば、ソフトウェアの内部構造がテスト対象であれば、その対象となる構造面での特徴を抽出すれば良い。例えば、状態遷移の網羅テストで障害が検出された場合は、その網羅テストに示す不合格の割合を特徴として抽出すること等が考えられる。 In addition, in the above example, the test is described as being a functional compatibility test, but it is not limited to this. For example, if the internal structure of software is to be tested, it is sufficient to extract the structural features of the target. For example, if a failure is detected in a state transition exhaustive test, it is conceivable to extract, as a feature, the rate of failure indicated in the exhaustive test.
以上、本発明の各実施形態によれば、ソフトウェアを自動的にテストする情報処理システム100において、同じ障害が原因で複数のテストが不合格になった場合に、不合格の原因となった障害の解析を効率的に行えるようになる。
As described above, according to the embodiments of the present invention, in the
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
<Supplement>
Each function of each embodiment described above can be realized by one or more processing circuits. Here, the "processing circuit" in this specification means a processor programmed by software to perform each function, such as a processor implemented by an electronic circuit, or a processor designed to perform each function described above. ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), FPGAs (field programmable gate arrays) and devices such as conventional circuit modules.
100 情報処理システム
300 情報処理装置
401 テスト制御部
402 第1の判断部
403 第2の判断部
404 出力部
405 設定受付部
100
Claims (10)
前記ソフトウェアに関する複数のテストの実行を制御するテスト制御部と、
前記複数のテストのうち、不合格になったテストにおいて、
前記ソフトウェアに機能面の特徴があるかどうかを判断する第1の判断部と、
前記ソフトウェアに現象面の特徴があるかどうかを判断する第2の判断部と、
前記第1の判断部と前記第2の判断部の判断結果に基づいて、前記不合格の原因となった障害に関するテスト結果を出力する出力部と、
を有する、情報処理装置。 An information processing device for testing software to be tested,
a test controller that controls execution of a plurality of tests for the software;
Among the plurality of tests, in the failed test,
a first determination unit that determines whether the software has functional features;
a second judging unit for judging whether the software has phenomenal features;
an output unit that outputs a test result related to a failure that caused the failure based on the determination results of the first determination unit and the second determination unit ;
An information processing device.
前記第1の判断部は、前記所定の機能に関する1つ以上のテスト項目のうち、不合格になったテスト項目の数に基づいて、前記不合格になったテストに前記機能面の特徴があるかどうかを判断する、請求項1又は2に記載の情報処理装置。 The plurality of tests includes one or more test items related to a predetermined function,
The first determination unit determines, based on the number of failed test items among one or more test items related to the predetermined function, that the failed test has the functional feature. 3. The information processing apparatus according to claim 1 , which determines whether or not .
前記不合格になったテストに、前記機能面の特徴があり、かつ前記現象面の特徴がない場合、前記所定の機能に関する前記テスト結果を出力し、
前記不合格となったテストに、前記現象面の特徴があり、かつ前記機能面の特徴がない場合、前記所定のコマンドに関する前記テスト結果を出力する、
請求項4乃至6のいずれか一項に記載の情報処理装置。 The output unit
outputting the test result for the predetermined function if the failed test has the functional feature and does not have the phenomenon feature;
outputting the test result for the predetermined command if the failed test has the phenomenon feature and does not have the functional feature;
The information processing apparatus according to any one of claims 4 to 6.
コンピュータが、
前記ソフトウェアに関する複数のテストの実行を制御する処理と、
前記複数のテストのうち、不合格になったテストにおいて、
前記ソフトウェアに機能面の特徴があるかどうかを判断する第1の判断処理と、
前記ソフトウェアに現象面の特徴があるかどうかを判断する第2の判断処理と、
前記第1の判断処理と前記第2の判断処理の判断結果に基づいて、前記不合格の原因となった障害に関するテスト結果を出力する処理と、
を実行する、テスト方法。 A test method for testing software to be tested,
the computer
a process of controlling execution of a plurality of tests for the software;
Among the plurality of tests, in the failed test,
a first determination process for determining whether the software has functional characteristics;
a second determination process for determining whether the software has phenomenal characteristics;
a process of outputting a test result related to the failure that caused the failure based on the determination results of the first determination process and the second determination process ;
test method.
前記ソフトウェアに関する複数のテストの実行を制御する処理と、
前記複数のテストのうち、不合格になったテストにおいて、
前記ソフトウェアに機能面の特徴があるかどうかを判断する第1の判断処理と、
前記ソフトウェアに現象面の特徴があるかどうかを判断する第2の判断処理と、
前記第1の判断処理と前記第2の判断処理の判断結果に基づいて、前記不合格の原因となった障害に関するテスト結果を出力する処理と、
を実行させる、テストプログラム。 On the computer that tests the software under test,
a process of controlling execution of a plurality of tests for the software;
Among the plurality of tests, in the failed test,
a first determination process for determining whether the software has functional characteristics;
a second determination process for determining whether the software has phenomenal characteristics;
a process of outputting a test result related to the failure that caused the failure based on the determination results of the first determination process and the second determination process ;
A test program that runs the
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019016355A JP7238439B2 (en) | 2019-01-31 | 2019-01-31 | Information processing device, test method, and test program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019016355A JP7238439B2 (en) | 2019-01-31 | 2019-01-31 | Information processing device, test method, and test program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020123287A JP2020123287A (en) | 2020-08-13 |
JP7238439B2 true JP7238439B2 (en) | 2023-03-14 |
Family
ID=71992785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019016355A Active JP7238439B2 (en) | 2019-01-31 | 2019-01-31 | Information processing device, test method, and test program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7238439B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005222108A (en) | 2004-02-03 | 2005-08-18 | Matsushita Electric Ind Co Ltd | Bug analysis method and device |
JP2010157266A (en) | 2010-04-09 | 2010-07-15 | Toshiba Corp | Information processing apparatus, failure sign determination method, and program |
JP2011060052A (en) | 2009-09-11 | 2011-03-24 | Mitsubishi Electric Corp | Method for executing software test |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002041332A (en) * | 2000-07-27 | 2002-02-08 | Hitachi Software Eng Co Ltd | Program quality evaluating method and recording medium |
-
2019
- 2019-01-31 JP JP2019016355A patent/JP7238439B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005222108A (en) | 2004-02-03 | 2005-08-18 | Matsushita Electric Ind Co Ltd | Bug analysis method and device |
JP2011060052A (en) | 2009-09-11 | 2011-03-24 | Mitsubishi Electric Corp | Method for executing software test |
JP2010157266A (en) | 2010-04-09 | 2010-07-15 | Toshiba Corp | Information processing apparatus, failure sign determination method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2020123287A (en) | 2020-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140211021A1 (en) | Test system for evaluating mobile device and driving method thereof | |
US8549478B2 (en) | Graphical user interface input element identification | |
US9841826B2 (en) | Automatic test system and test method for computer, record medium, and program product | |
US9213625B1 (en) | Method and apparatus for performing automated user-interface layout testing | |
US9164875B2 (en) | Error detection method, information processing circuit, and error detection computer program product | |
US10209306B2 (en) | Methods and systems for generating functional test patterns for manufacture test | |
US20220107882A1 (en) | Rendering engine component abstraction system | |
JP6283096B2 (en) | Program test service | |
CN111414309A (en) | Automatic test method of application program, computer equipment and storage medium | |
US6047387A (en) | Simulation system for testing and displaying integrated circuit's data transmission function of peripheral device | |
CN109710479B (en) | Processing method, first device and second device | |
US8392144B2 (en) | Keyboard test program generating method | |
JP7238439B2 (en) | Information processing device, test method, and test program | |
CN111949510B (en) | Test processing method, device, electronic equipment and readable storage medium | |
JP5181479B2 (en) | Fault diagnosis system and fault diagnosis program | |
JP5811859B2 (en) | Source code static analysis device, system, method, and program therefor | |
US11657350B2 (en) | Information processing apparatus, workflow test apparatus, and non-transitory computer readable medium | |
TWI234705B (en) | Detecting method for PCI system | |
JP2009129132A (en) | Software partial test system, method to be used therefor, and program | |
JP7363164B2 (en) | Information processing device, information processing method, and information processing program | |
JP7151514B2 (en) | Simulation system, information processing device, program and simulation method | |
JP2020140529A (en) | Information processing device, information processing method, and program | |
JP2014203125A (en) | Patterning device and method | |
CN113484710B (en) | Graphical user interface for traffic capture and debug tool | |
US8976378B2 (en) | Pre-flight system for PDF/VT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220810 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221011 |
|
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: 20230131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230213 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7238439 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |