JP2012159952A - Computer program, test support method and test support device - Google Patents
Computer program, test support method and test support device Download PDFInfo
- Publication number
- JP2012159952A JP2012159952A JP2011018184A JP2011018184A JP2012159952A JP 2012159952 A JP2012159952 A JP 2012159952A JP 2011018184 A JP2011018184 A JP 2011018184A JP 2011018184 A JP2011018184 A JP 2011018184A JP 2012159952 A JP2012159952 A JP 2012159952A
- Authority
- JP
- Japan
- Prior art keywords
- input
- input data
- output
- data
- change
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、プログラムテストに使用される期待値の設定を支援するコンピュータプログラム、テスト支援方法及びテスト支援装置に関する。 The present invention relates to a computer program, a test support method, and a test support apparatus that support setting of an expected value used for a program test.
開発されたプログラムの動作を検証するために、プログラムテストが実施される。プログラムテストは、入力値に対するプログラムからの出力値と予め設定された期待値とを比較して行われる。期待値の設定方法には、改修前のプログラムの出力値を期待値に設定する方法、期待値を計算機が読み取ることのできる論理式(プロパティ)で記述する方法等がある(例えば、特許文献1〜3参照)。 A program test is performed to verify the operation of the developed program. The program test is performed by comparing an output value from the program with respect to an input value and a preset expected value. As an expected value setting method, there are a method of setting an output value of a program before renovation to an expected value, a method of describing the expected value by a logical expression (property) that can be read by a computer (for example, Patent Document 1). To 3).
しかしながら、改修前のプログラムの出力値は、改修後のプログラム、機能が追加されたプログラム及び新規のプログラムのための期待値には適用できない。また、改修前のプログラムの出力値は、プログラムの内部動作が正しかったか否かを確認せずに取得された出力値である場合がある。さらに、そもそも改修前のプログラムが設計仕様通りに開発された保証が得られない場合もある。期待値をプロパティで記述する方法は、プロパティを記述する難易度が高いため、工数がかかる。 However, the output value of the program before the modification cannot be applied to the expected value for the program after the modification, the program with the function added, and the new program. Further, the output value of the program before the refurbishment may be an output value acquired without confirming whether the internal operation of the program was correct. In addition, there may be cases where it cannot be guaranteed that the program before the renovation has been developed as designed. The method of describing an expected value with a property requires man-hours because the difficulty of describing the property is high.
本発明は斯かる事情に鑑みてなされたものである。その目的は、プログラムテストに使用される期待値の設定を支援することができるコンピュータプログラム、テスト支援方法及びテスト支援装置を提供することである。 The present invention has been made in view of such circumstances. An object of the present invention is to provide a computer program, a test support method, and a test support apparatus that can support setting of an expected value used for a program test.
本願による開示の一観点は、対象プログラムのテストを支援する処理をコンピュータに実行させるコンピュータプログラムにおいて、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、前記記録手段から第2入力データを取得し、該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する処理をコンピュータに実行させる。 One aspect of the disclosure according to the present application is a recording unit in which first input data and second input data different from the first input data are recorded in association with each other in a computer program that causes a computer to execute processing for supporting the test of the target program. The first input data is obtained from the first input data, the first output data output from the target program is obtained based on the first input data, the second input data is obtained from the recording means, and the second input data is obtained. The second output data output from the target program based on the first and second input data and the first and second output data based on the acquired first and second output data Causes a computer to execute processing for calculating an expression.
本願による開示の一観点によれば、期待値の設定を支援することができる。 According to one aspect of the disclosure of the present application, setting of an expected value can be supported.
以下、実施の形態をその図面に基づいて説明する。本願に開示するテスト支援装置は、例えばPC(パーソナルコンピュータ)、ワークステーション、PDA(Personal Digital Assistant)等である。以下では、テスト支援装置にPCを適用した実施の形態について説明する。
なお、本発明は、以下の実施の形態に限定されるものではない。
Hereinafter, embodiments will be described with reference to the drawings. The test support apparatus disclosed in the present application is, for example, a PC (personal computer), a workstation, a PDA (Personal Digital Assistant), or the like. In the following, an embodiment in which a PC is applied to the test support apparatus will be described.
Note that the present invention is not limited to the following embodiments.
図1は、テスト支援装置1のハードウェア構成例を示すブロック図である。テスト支援装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13を含む。さらに、テスト支援装置1は、ハードディスク14、ディスクドライブ15、通信部16、表示部(出力手段)17及び操作部18を含む。テスト支援装置1のハードウェア各部は、バス1bを介して相互に接続されている。
FIG. 1 is a block diagram illustrating a hardware configuration example of the
CPU11は、テスト支援装置1のハードウェア各部を制御する。CPU11は、ハードディスク14に記録されたプログラム1PをRAM13にロードし、プログラム1Pを実行する。
The
ROM12は、テスト支援装置1の起動時にCPU11が実行するBIOS(Basic Input/Output System)等を記録している。
RAM13は、例えばSRAM(Static RAM)、DRAM(Dynamic RAM)であり、CPU11が実行する処理の過程で必要な作業変数、データ等を一時的に記録する。なお、RAM13は主記憶装置の一例であり、RAM13の代わりにフラッシュメモリ、メモリカード等が用いられてもよい。
The
The
ハードディスク14は、CPU11が実行するプログラム1Pを記録している。
なお、ハードディスク14は、テスト支援装置1の内部に取り付けられるものであっても、テスト支援装置1の外部に置かれるものであってもよい。また、ハードディスク14は補助記憶装置の一例であり、大容量の情報の記録が可能なフラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu-ray Disc、登録商標)等の光ディスク1aで代替してもよい。
The
The
ディスクドライブ15は、外部の記録媒体であるCD、DVD、BD等の光ディスク1aから情報を読み込み、光ディスク1aに情報を記録する。CPU11は、操作部18からディスクドライブ15に対する光ディスク1aの排出命令を受け付けた場合、ディスクドライブ15の図示しないトレイを排出する。
The
通信部16は、有線又は無線通信のモデム又はLANカード等であり、インターネットNに接続されている。通信部16は、電話回線と接続することができてもよい。
The
表示部17は、例えば液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、CRT(Cathode Ray Tube)ディスプレイ等の画面を有し、CPU11からの指示に従って、プログラム1Pに係る各種情報を表示する。
なお、プログラム1Pの実行結果を出力する出力手段は、表示部17だけに限らない。例えば、テスト支援装置1に接続されたプリンタでもよい。あるいは、プログラム1Pの実行結果は、通信部16を介して、外部の装置に出力されてもよい。
The
Note that the output means for outputting the execution result of the
操作部18は、ユーザが各種の入力を行うキーボード、マウス、電源スイッチ、ディスクドライブ15から光ディスク1aを排出するための操作ボタン等の入力デバイスを含む。操作部18は、ユーザによる操作に基づいて入力信号を生成する。生成された入力信号は、バス1bを介してCPU11に送信される。
The
以下に述べるテスト支援装置1の動作説明の参考のために、テスト対象プログラムに対してテストを実行する手順について説明する。例えば、テスト対象プログラムは、複数のプログラムの集合である業務アプリケーションである。テスト対象プログラムの入力データには、画面からの入力データとDB(データベース)からの入力データとがある。
テスト対象プログラムのテストの手順は、以下の通りである。
手順1)DBに入力データを設定する。
手順2)テスト対象プログラムを起動する。
手順3)画面から入力データを入力する。
手順4)所定のボタン押下等の操作によりテスト項目に対応するプログラムを駆動する。
手順5)次画面にプログラムからの出力データが表示される。又はDBが操作され、DBのテーブルに変更が生じる。
手順6)出力データと期待値とを比較し、テストの成否を判定する。
For reference to the description of the operation of the
The test procedure for the test target program is as follows.
Procedure 1) Set input data in DB.
Procedure 2) Start the test target program.
Step 3) Input the input data from the screen.
Procedure 4) A program corresponding to a test item is driven by an operation such as pressing a predetermined button.
Step 5) The output data from the program is displayed on the next screen. Or, the DB is operated, and the DB table is changed.
Step 6) Compare the output data with the expected value to determine the success or failure of the test.
テスト対象プログラムの動作に対するテストの確認内容は、以下の通りである。
確認内容1)プログラムの状態は、正常系か、異常系か。
異常系とは、出力時のプログラムの状態がプログラムの異常終了、例外の発生及びエラー画面への遷移になることである。正常系は、異常系でない出力時のプログラムの状態である。なお以下では、正常系及び異常系のプログラムによる出力結果についても、夫々正常系、異常系という用語を使用する。
確認内容2)正常系の出力データ又は出力状態は適切か。
2−1.遷移先の次画面は仕様通りの画面か。
2−2.遷移先の次画面における出力データは適切か。
2−2−1.画面項目の値は適切か。
2−2−2.次画面のボタン配置又は画面レイアウトは適切か。
出力データの値又は数量により、次画面のボタン配置又は画面レイアウトが動的に変化するよう、設計仕様により画面が定義されている場合がある。例えば、出力データ量が1画面に表示しきれない場合、画面にスクロールバー、次画面へ移動するボタン等のコントロールが出力画面に表示される。
2−3.DBへの出力は適切か。
2−3−1.レコード更新、レコード追加又はレコード削除は、適切に実行されたか。
2−4.ファイル出力又は帳票出力は適切か。
2−4−1.ファイルに出力された出力データは適切か。
2−4−2.帳票に印刷された出力データは適切か。
The contents of the test confirmation for the operation of the test target program are as follows.
Confirmation 1) Is the program status normal or abnormal?
The abnormal system means that the state of the program at the time of output is abnormal termination of the program, occurrence of an exception, and transition to an error screen. The normal system is a program state at the time of output that is not an abnormal system. In the following, the terms normal system and abnormal system are used for the output results of the normal system and abnormal system programs, respectively.
Details to be confirmed 2) Is normal system output data or output status appropriate?
2-1. Is the next screen at the transition destination as per the specification?
2-2. Is the output data on the next screen of the transition destination appropriate?
2-2-1. Is the value of the screen item appropriate?
2-2-2. Is the button layout or screen layout for the next screen appropriate?
A screen may be defined by design specifications so that the button layout or screen layout of the next screen changes dynamically depending on the value or quantity of output data. For example, when the amount of output data cannot be displayed on one screen, controls such as a scroll bar on the screen and a button for moving to the next screen are displayed on the output screen.
2-3. Is output to DB appropriate?
2-3-1. Was record update, record addition, or record deletion performed appropriately?
2-4. Is file output or form output appropriate?
2-4-1. Is the output data output to a file appropriate?
2-4-2. Is the output data printed on the form appropriate?
次に、テスト支援装置1の動作の概略について説明する。
図2は、テスト支援装置1の機能構成例を示す機能ブロック図である。図2の各機能部は、CPU11がハードディスク14に記録されたプログラム1Pに基づいて動作することにより実行される。
Next, an outline of the operation of the
FIG. 2 is a functional block diagram illustrating a functional configuration example of the
テスト支援装置1は、入力生成部21、入力組記録部22、入力設定部23及びプログラム実行部24の各機能部を含む。
入力生成部21は、テスト対象プログラム2Pに入力される入力データを生成する。入力組記録部22は、入力生成部21が生成した入力データをRAM13又はハードディスク14に記録する。入力設定部23は、入力組記録部22が記録した入力データをプログラム実行部24に与える。プログラム実行部24は、入力設定部23から与えられた入力データに基づいて、テスト対象プログラム2Pを実行する。テスト対象プログラム2Pは、ハードディスク14に記録されていてもよいし、光ディスク1a又はフラッシュメモリ等の半導体メモリ1cに記録されていてもよい。また、テスト対象プログラム2Pは、外部の装置の記録手段に記録されていてもよい。かかる場合、プログラム実行部24は、通信部16を介してテスト対象プログラム2PをRAM13にロードし、ロードしたテスト対象プログラム2Pを実行する。
The
The
なお、入力生成部21、入力設定部23及びプログラム実行部24は、テスト支援装置1の外部の装置に備えられていてもよい。かかる場合、CPU11は、通信部16を介してこれら外部の機能部とデータの受け渡しをする。
Note that the
テスト支援装置1は、異常系判定部25、変化入力生成部26及び入出力組収集部27
を含む。
異常系判定部25は、テスト対象プログラム2Pからの出力結果が異常系か否か判定する。
The
including.
The abnormal
変化入力生成部26は、異常系判定部25により正常系と判定された出力データに対応する入力データを微小変化させたデータを生成する。以降では、変化入力生成部26により入力データ(第1入力データ)から微小変化されたデータを変化入力データ(第2入力データ)と呼ぶ。1つの入力データから生成される変化入力データの数は、1つであってもよいし、複数であってもよい。また、1つの入力データを変化させる方法は、入力データの値の増加だけでもよいし、減少だけでもよいし、増加と減少との両方でもよい。1つの入力データを変化させる方法は、入力データのデータ量の増加だけでもよいし、減少だけでもよいし、増加と減少との両方でもよい。
The change
以降では、入力データとその変化入力データとの組を入力データ組と呼ぶ。入力データ及び変化入力データに基づいてテスト対象プログラム2Pから出力されるデータを夫々出力データ(第1出力データ)及び変化出力データ(第2出力データ)と呼ぶ。互いに対応する入力データ及び出力データ並びに変化入力データ及び変化出力データの組を入出力データ組と呼ぶ。 Hereinafter, a set of input data and its change input data is referred to as an input data set. Data output from the test target program 2P based on the input data and the change input data are referred to as output data (first output data) and change output data (second output data), respectively. A set of input data and output data and change input data and change output data corresponding to each other is called an input / output data set.
上述の入力組記録部22は、変化入力生成部26により変化入力データが生成された場合、入力データとその変化入力データとを対応付けた入力データ組をハードディスク14に記録する。
入力設定部23は、入力組記録部22が記録した入力データ組をプログラム実行部24に与える。
When the change input data is generated by the change
The
入出力組収集部27は、入力データに基づいてプログラム実行部24にテスト対象プログラム2Pを実行させる。また、入出力組収集部27は、変化入力データに基づいてもプログラム実行部24にテスト対象プログラム2Pを実行させる。入出力組収集部27は、テスト対象プログラム2Pの実行結果を入出力データ組としてハードディスク14に記録する。
入出力組収集部27は、異常系判定部25の判定結果に基づいて、異常系の変化入力データ及び変化出力データに異常系であることの情報を付加する。
The input / output
Based on the determination result of the abnormal
テスト支援装置1は、入力組修正部28、入出力組分析部29及び期待値設定支援部30を含む。
入力組修正部28は、入出力組収集部27が変化入力データ及び変化出力データに異常系であることの情報を付加した場合、所定のルールに従ってその変化入力データを修正する。入力組記録部22は、入力組修正部28が修正した変化入力データにより、修正の元となった入力データ組を更新する。入力設定部23は、入力組記録部22が更新した入力データ組をプログラム実行部24に与える。
入出力組収集部27は、修正した変化入力データに基づいてプログラム実行部24にテスト対象プログラム2Pを実行させ、既にハードディスク14に記録した入出力データ組を更新する。
The
When the input / output
The input / output
入出力組分析部29は、入出力組収集部27が記録した正常系の入出力データ組を分析する。期待値設定支援部30は、入出力組分析部29が分析した分析結果を集計し、集計した結果を表形式のデータに整理して表示部17に出力する。ユーザは、当該表形式のデータを参照して、期待値の設定をする。
The input / output set
図3及び図4は、テスト支援装置1による期待値設定支援処理の一例を示すフローチャートである。図3及び図4は、期待値設定支援処理の全体的な概要を示している。
なお、テスト対象プログラム2Pは、予めテスト支援装置1のハードディスク14にインストールされているものとする。
入力生成部21は、入力データを生成する(ステップS101)。プログラム実行部24は、入力データに基づいてテスト対象プログラム2Pを実行する(ステップS102)。異常系判定部25は、テスト対象プログラム2Pからの出力データが異常か否か判別する(ステップS103)。
3 and 4 are flowcharts showing an example of expected value setting support processing by the
It is assumed that the test target program 2P is installed in the
The
変化入力生成部26は、正常系の出力データに対応する入力データを変化させた変化入力データを生成する(ステップS104)。入力組記録部22は、入力データ組をハードディスク14に記録する(ステップS105)。
The change
プログラム実行部24は、入力データ組の変化入力データに基づいてテスト対象プログラム2Pを実行する(ステップS106)。入出力組収集部27は、入出力データ組を収集し、収集した入出力データ組を正常系と異常系とに区別してハードディスク14に記録する(ステップS107)。
The
入力組修正部28は、ステップS107で異常系に判別された入出力データ組の変化入力データを修正する(ステップS108)。プログラム実行部24は、修正された変化入力データに基づいてテスト対象プログラム2Pを実行する(ステップS109)。入出力組収集部27は、入出力データ組を収集し、ハードディスク14に記録した入出力データ組を更新する(ステップS110)。
The input set correcting
入出力組分析部29は、入出力データ組を分析する(ステップS111)。期待値設定支援部30は、ステップS111の分析結果を出力し(ステップS112)、処理を終える。ユーザは、テスト支援装置1が出力するテスト対象プログラム2Pの分析結果に基づいて、期待値を設定する。
The input / output set
次に、テスト支援装置1の動作の詳細について説明する。
まず、入力生成部21の動作から説明する。入力生成部21は、入力データを生成する。その際、ブラックボックステストにおける同値分割法、境界値分析法、ホワイトボックステストにおけるプログラムの静的解析が利用されてよい。
Next, details of the operation of the
First, the operation of the
図5は、業務処理の流れに沿って画面が遷移するプログラムテストの一例を説明する説明図である。
業務アプリケーションのテストでは、業務処理の流れに沿って遷移していく処理対象のステージ毎に、テスト対象プログラム2Pの出力データと設定された期待値とが比較される。業務処理の流れとは、例えば受注業務の場合、受注受け付け、受注変更、受注確定、在庫引当、商品配送、請求書発送等の流れに該当する。業務アプリケーションは、ステージ毎に対応する複数のテスト対象プログラム2Pを有している場合が普通である。そのため、テスト対象プログラム2Pのテストは、ステージ毎に実行される。
FIG. 5 is an explanatory diagram illustrating an example of a program test in which the screen transitions along the flow of business processing.
In the business application test, the output data of the test target program 2P and the set expected value are compared for each stage to be processed that transitions along the flow of business processing. For example, in the case of an order receiving business, the flow of business processing corresponds to a flow of receiving an order, changing an order, confirming an order, allocating inventory, delivering a product, shipping an invoice, and the like. The business application usually has a plurality of test target programs 2P corresponding to each stage. Therefore, the test of the test target program 2P is executed for each stage.
画面を有するテスト対象プログラム2Pの場合、業務処理の各ステージに対応する入力画面が用意され、入力画面から入力データがテスト対象プログラム2Pに入力される。場合により、DBからもテスト対象プログラム2Pに入力データが入力される。テスト対象プログラム2Pは、入力データに基づいて指定された処理を実行し、出力データを画面遷移により規定された次画面に出力する。あるいは、テスト対象プログラム2Pは、出力結果をDBに反映させるため、DBに変更を加える。ただし、出力データが異常系である場合、入力画面からエラー画面に遷移することもある。
画面を有さないバッチ処理のテスト対象プログラム2Pも業務処理の各ステージに対応し、実行されることがある。以下では、画面を有するテスト対象プログラム2Pを中心に本実施の形態を説明する。
In the case of the test target program 2P having a screen, an input screen corresponding to each stage of the business process is prepared, and input data is input to the test target program 2P from the input screen. In some cases, input data is also input from the DB to the test target program 2P. The test target program 2P executes processing designated based on the input data, and outputs the output data to the next screen defined by the screen transition. Alternatively, the test target program 2P changes the DB in order to reflect the output result in the DB. However, if the output data is abnormal, the screen may transition from the input screen to the error screen.
A test program 2P for batch processing that does not have a screen may also be executed corresponding to each stage of business processing. Hereinafter, the present embodiment will be described focusing on the test target program 2P having a screen.
入力生成部21は、業務処理のステージ毎に画面又はDBから入力される入力データを作成する。入力生成部21が生成する入力データの数は、画面からの入力データの場合、画面の入力項目数と同じ数である。入力生成部21が生成する入力データの数は、DBからの入力データの場合、DBの全レコード数である。
なお、入力生成部21が生成する入力データの種類と数とは、テスト対象プログラム2Pの画面に応じて変更されもよい。また、既存の入力データのみがテストに使用される場合、入力生成部21はなくてもよい。
The
The type and number of input data generated by the
図6は、入力データの一例を示す説明図である。ステージは、業務処理のステージである。図6の例では、ステージは画面と1対1の関係にある。入力IDは、ステージ毎に設定される入力データの識別記号である。1つのステージについて、入力IDは1つである場合もあるし、複数である場合もある。 FIG. 6 is an explanatory diagram showing an example of input data. The stage is a business process stage. In the example of FIG. 6, the stage has a one-to-one relationship with the screen. The input ID is an identification symbol of input data set for each stage. There may be one input ID or a plurality of input IDs for one stage.
図6は、入力データを画面からの入力データとDBからの入力データとに分けて示している。
画面からの入力データの場合、画面の項目毎に入力データが作成される。画面の種類が異なる場合、画面の項目も異なり、作成される入力データも異なる。
DBからの入力データの場合、テーブル毎に入力データが作成される。画面の種類が異なる場合、使用されるテーブルも異なり、作成される入力データも異なる。なお、図6では、テーブルの列に関する情報は省略している。
例えば、図6の1行目は、画面1のステージにおいて、入力ID=T1の入力データが作成されることを示している。入力ID=T1の場合、画面1から入力される入力データは、夫々項目1の10、項目2の”A”、項目3の2010/1/1である。なお、”A”のダブルクォーテーションは、Aが文字列であることを示すために添えられている。
FIG. 6 shows the input data divided into input data from the screen and input data from the DB.
In the case of input data from the screen, input data is created for each item on the screen. When the screen type is different, the items on the screen are different, and the input data to be created is also different.
In the case of input data from the DB, input data is created for each table. When the screen types are different, the tables used are different, and the input data created is also different. In FIG. 6, information regarding table columns is omitted.
For example, the first line in FIG. 6 indicates that input data of input ID = T1 is created in the stage of
入力生成部21が生成した画面又はDBからの入力データは、入力組記録部22により、RAM13又はハードディスク14に記録される。入力設定部23は、RAM13又はハードディスク14に記録された入力データをプログラム実行部24に与える。
Input data from the screen or DB generated by the
入出力組収集部27は、プログラム実行部24にテスト対象プログラム2Pを実行させる。入出力組収集部27は、入力データとテスト対象プログラム2Pからの出力データとを対応付けてRAM13に記録する。入出力組収集部27は、テスト対象プログラム2Pからの出力データを正常系と異常系とに分別し、正常系の入力データ及び出力データを対応付けてRAM13に記録する。異常系の入力データ及び出力データは、異常系の期待値設定情報として、ハードディスク14に記録される。
ここで、入出力組収集部27は、出力データを正常系と異常系とに分別するために、出力データが異常系か否かの判定を異常系判定部25に判定させる。
The input / output
Here, the input / output
図7は、異常系判定処理の手順の一例を示すフローチャートである。
CPU11は、テスト対象プログラム2Pが正常に終了したか否かを判定するための判定基準を設定する(ステップS201)。CPU11はエラー画面の判定基準を設定する(ステップS202)。
ステップS201及びステップS202で設定される判定基準は、例えば正常終了を示す戻り値、異常終了を示す戻り値、例外の種類を示す戻り値、エラー画面番号等のリストであってよい。ステップS201及びステップS202で設定される判定基準は、夫々ステップS204及びステップS206で利用される。例えば、これらの判定基準を記録した設定ファイルを予めハードディスク14に記録しておく。CPU11は、ハードディスク14から当該判定ファイルを読み込み、ステップS201及びステップS202を実行する。あるいは、ステップS201及びステップS202で設定される判定基準は、プログラム1Pに記述されていてもよい。
FIG. 7 is a flowchart illustrating an example of the procedure of an abnormal system determination process.
The
The determination criteria set in step S201 and step S202 may be, for example, a list of return values indicating normal termination, return values indicating abnormal termination, return values indicating exception types, error screen numbers, and the like. The determination criteria set in step S201 and step S202 are used in step S204 and step S206, respectively. For example, a setting file in which these determination criteria are recorded is recorded in the
CPU11は、RAM13に記録された入力データ及び出力データを読み込む(ステップS203)。ステップS203において、読み込まれる入力データ及び出力データは、当該異常系判定処理が実行される前に、入出力組収集部27がRAM13に記録した入力データ及びテスト対象プログラム2Pからの出力データである。
CPU11は、テスト対象プログラム2Pが正常に終了したか否か判定する(ステップS204)。CPU11は、テスト対象プログラム2Pが正常に終了したと判定した場合(ステップS204:YES)、例外が発生したか否か判定する(ステップS205)。
The
The
CPU11は、例外が発生したと判定した場合(ステップS205:YES)、ステップS208に処理を進める。CPU11は、例外が発生しなかったと判定した場合(ステップS205:NO)、テスト対象プログラム2Pを実行した結果、遷移した画面がエラー画面か否か判定する(ステップS206)。CPU11は、テスト対象プログラム2Pを実行した結果、遷移した画面がエラー画面であると判定した場合(ステップS206:YES)、ステップS208に処理を進める。CPU11は、テスト対象プログラム2Pを実行した結果、遷移した画面がエラー画面でないと判定した場合(ステップS206:NO)、出力データは異常系ではない、すなわち正常系であると判定し(ステップS207)、処理を終了する。
If the
CPU11は、テスト対象プログラム2Pが正常に終了しなかったと判定した場合(ステップS204:NO)、出力データは異常系であると判定する(ステップS208)。また、CPU11は、ステップS205又はステップS206からステップS208に処理を進めた場合も、出力データは異常系であると判定する(ステップS208)。CPU11は、入力IDと、出力データの値と、上述で判別した異常系の種別とを対応付けた情報を、ファイルとしてハードディスク14に記録し(ステップS209)、処理を終了する。異常系の種別とは、異常終了、例外発生又はエラー画面である。
When the
図8は、異常系判定部25により出力されるエラー情報の一例を示す説明図である。エラー情報は、入力データと対応が付く形式で出力される。ステージ及び入力IDは、夫々図6のステージ及び入力IDと同じである。入力データ種別は、入力データと変化入力データとを区別する情報である。入力データ種別の「入力」は、入力データの意味である。図8では変化入力データの例は示されていない。
FIG. 8 is an explanatory diagram illustrating an example of error information output by the abnormal
テストを実行した結果、画面が遷移し、DBが変更される。図8では、出力結果を結果画面と結果DBとに分けて示している。結果画面の情報は、遷移画面と遷移画面の各項目とを含む。遷移画面は、テストを実行した後の次画面の名称である。結果DBの情報は、各テーブルの変更又は異常系判定部25による処理結果である。
As a result of executing the test, the screen changes and the DB is changed. In FIG. 8, the output result is divided into a result screen and a result DB. The information on the result screen includes a transition screen and each item of the transition screen. The transition screen is the name of the next screen after the test is executed. The information in the result DB is a change result of each table or a processing result by the abnormal
図8では、入力IDがT1であるテストにおいて、出力結果が正常系であると判定された場合を示している。また、入力IDがT2、Tn−1及びTnであるテストにおいて、出力結果が異常系であると判定された場合を示している。図8では、異常系の出力結果を斜線で示している。実際のエラー情報に正常系の出力データは含まれないが、図8では異常系の説明の参考に、正常系の例を1行目に示している。 FIG. 8 shows a case where it is determined that the output result is a normal system in the test with the input ID T1. Moreover, the case where it is determined that the output result is an abnormal system in the test in which the input IDs are T2, Tn-1, and Tn is shown. In FIG. 8, the abnormal system output results are indicated by diagonal lines. Although normal error data is not included in the actual error information, FIG. 8 shows an example of the normal system in the first line as a reference for the explanation of the abnormal system.
入力ID=T1のテストでは、画面1に図6の入力ID=T1の入力データを入力し、テスト対象プログラム2Pを実行した場合、正常系の画面2に遷移した。画面2の各項目に正常系の出力データが示されている。また、テーブル1にはA1というレコードが追加されたことが示されている。テストの前後で、テーブル2は、B1というレコードのままであることが示されている。
In the test with the input ID = T1, when the input data with the input ID = T1 in FIG. 6 is input to the
入力ID=T2のテストでは、画面1に図6の入力ID=T2の入力データを入力し、テスト対象プログラム2Pを実行した場合、異常系のエラー画面に遷移した。エラー画面の項目1には、「システムエラーが発生しました」というエラーメッセージが出力されたことが示されている。エラー画面の項目2には、12345が出力され、項目3には何も出力されなかったことが示されている。システムエラーによりCPU11はDBにアクセスしなかったため、テーブル1及びテーブル2については「収集なし」というメッセージが出力されている。
In the test with the input ID = T2, when the input data with the input ID = T2 in FIG. 6 is input to the
入力ID=Tn−1のテストでは、テスト対象プログラム2Pが異常終了したことが示されている。入力ID=Tnのテストでは、例外が発生したことが示されている。なお、例外については、より詳細な例外の種類が示されてもよい。 The test with the input ID = Tn−1 indicates that the test target program 2P has ended abnormally. The test with input ID = Tn indicates that an exception has occurred. For exceptions, more detailed exception types may be indicated.
変化入力生成部26は、入出力組収集部27がRAM13に記録した正常系の入力データを微小変化させる。変化入力生成部26は、入力データが微小に変化された変化入力データを生成する。変化入力データは、入力データをT、入力データの変化分をdtとした場合、例えば、T±dt、T±2dt、T±3dt等と表現することができる。以下では、変化入力生成部26は、1つの入力データについて、入力データをdtだけ増加させた変化入力データと入力データをdtだけ減少させた変化入力データとの2つを生成するものとする。
変化入力生成部26は、入力データが画面の入力データである場合、画面の項目数に応じた数だけ変化入力データを生成する。変化入力生成部26は、入力データがDBの入力データである場合、DBの全レコード数に応じた数だけ変化入力データを生成する。
The change
When the input data is screen input data, the change
図9は、変化入力生成部26の機能構成例を示す機能ブロック図である。変化入力生成部26は、変化入力部901及び変化分生成部902を含む。
変化分生成部902は、変化分dtを生成する。変化入力部901は、変化生成部902が生成した変化分dtと入力データTとの和及び差を算出し、変化入力データT±dtを生成する。
FIG. 9 is a functional block diagram illustrating a functional configuration example of the change
The
変化入力生成部26は、画面変化部903及びテーブル変化部904を含む。画面変化部903は、画面の入力データの値を変化させ、変化分を生成する。
テーブル変化部904は、DBの入力データに関する変化分を生成する。具体的には、テーブル変化部904は、テーブルのレコードの値又はレコード数の変化分を生成する。テーブルのレコードの値を変化させることはレコード更新に対応し、その変化分は更新される列の値変化に該当する。テーブルのレコード数を増加させることはレコード追加に対応し、その変化分は追加するレコードセットに該当する。テーブルのレコード数を減少させることはレコード削除に対応し、その変化分は削除するレコードセットに該当する。
なお、上記のレコード変化を伴うDB変更は、テーブル制約及び列制約を満たすように、実行される。
The change
The
Note that the DB change accompanying the record change is executed so as to satisfy the table constraint and the column constraint.
変化分生成部902は、指定されたパラメータに基づいて、画面変化部903及びテーブル変化部904に夫々画面及びDBの入力データに対する変化分を生成させる。ここでのパラメータは、例えば、どの画面のどの項目の値をどれだけどのように変化させるかを決定する変数である。あるいは、ここでのパラメータは、例えば、どの画面のどの項目とどの項目とを組み合わせて同時に変化させるかを決定する変数である。
上記パラメータは、以下に説明する各機能部から変化分生成部902を介して、画面変化部903又はテーブル変化部904に渡される。
The
The parameters are passed from each function unit described below to the
変化入力生成部26は、変化対象指定部905及び組合せ指定部906を含む。
変化対象指定部905は、変化分を生成する対象の入力データを特定することができる情報を生成する。
変化対象指定部905が生成する情報は、テスト対象プログラム2Pのテスト項目に対応する。変化対象指定部905が生成する情報は、例えば特定される入力データが画面の入力データである場合、画面の名称及び画面の項目名である。変化対象指定部905が生成する情報は、例えば特定される入力データがテーブルの入力データである場合、テーブルの名称及び列名である。
The change
The change
The information generated by the change
図10は、変化対象指定テーブルのレコードレイアウトの一例を示す説明図である。変化対象指定テーブルは、変化対象指定部905が生成する情報が記録されたテーブルである。変化対象テーブルは、No列、入力ID列、対象列及び項目列を含む。No列は、整理番号である。入力ID列は、図6の入力IDと同じである。対象列は、変化分を生成する対象の画面又はテーブルの名称である。項目列は、画面の項目名である。対象がテーブルである場合、項目は列名である。
FIG. 10 is an explanatory diagram showing an example of the record layout of the change target designation table. The change target designation table is a table in which information generated by the change
以下では、変化入力データを生成するための入力データに対応する画面の項目名並びにDBのテーブル名及び列名を要素又は変化要素と呼ぶ。要素は、変化対象指定テーブルの1レコードに対応する。例えば、画面1の項目1は要素である。テスト対象プログラム2Pのテストは、要素毎に行われ、テスト項目と対応する。
Hereinafter, the item name of the screen and the DB table name and column name corresponding to the input data for generating the change input data are referred to as elements or change elements. The element corresponds to one record of the change target designation table. For example,
なお、入力データは、1つの要素について1つである場合もあるし、複数である場合もある。例えば、画面1の項目1に数値を入力してテスト対象プログラム2Pをテストする場合、入力される入力データは10だけであることがあるし、10と20との2つであることもある。10と20とを入力してテスト対象プログラム2Pを2回テストすることは、どちらも画面1の項目1に対する入力であり、テスト項目としては1つである。
Note that there may be one input data for one element or a plurality of input data. For example, when the test target program 2P is tested by inputting a numerical value in the
変化対象指定部905は、変化対象指定テーブルを参照して、変化分生成部902に要素を渡す。あらゆる入力データを変化させる場合、テスト支援装置1に対する負荷が大きくなるとき、変化対象指定テーブルに記録するレコードを増減することにより、テスト支援装置1に対する負荷を調整することができる。
The change
組合せ指定部906は、上記要素の組合せに関する情報を生成する。例えば、画面1が項目1、項目2及び項目3を含む場合、項目1及び項目2の入力データを共に変化させた変化入力データを生成するとき、組合せ指定部906が生成する情報は、項目1及び項目2である。例えば、テーブル1が列1、列2及び列3を含む場合、列1及び列3の入力データを共に変化させた変化入力データを生成するとき、組合せ指定部906が生成する情報は、列1及び列3である。要素を組合わせるために、オールペア法、直交表等の組合せテストで用いられる技術が利用されてよい。
変化入力データを生成する要素が1つである場合、組合せ指定部906が生成する情報は、要素の組合せがないという情報である。
組合せ指定部906は、組合せ指定テーブルを参照して、要素の組合せ情報を変化分生成部902に渡す。
The
When there is one element that generates change input data, the information generated by the
The
図11は、組合せ指定テーブルのレコードレイアウトの一例を示す説明図である。組み合わせ指定テーブルは、組合せ指定部906が参照する情報が記録されたテーブルである。Noは、整理番号であり、主キーでもある。入力IDは、図6のテストIDと同じである。組合せ指定は、要素の組合せの有無である。組合せ項目は、組合せ指定がありの場合、要素の組合せを格納する。
FIG. 11 is an explanatory diagram showing an example of a record layout of the combination designation table. The combination designation table is a table in which information referred to by the
図11のNo列の1は、入力ID=T1の入力データについて、要素を組み合わせて変化分を生成しないことを示している。No列の2は、入力ID=T2の入力データについて、画面2の項目1及び項目3を組合わせた変化入力データを生成する場合、各項目の変化分を生成することを示している。画面名と項目名の間のドットは、画面と項目とを結合する記号である。
あらゆる要素の組合せについて入力データを変化させる場合、テスト支援装置1に対する負荷が大きくなるとき、組合せ指定テーブルに記録するレコードを増減することにより、テスト支援装置1に対する負荷を調整することができる。
11 in the No column in FIG. 11 indicates that the input data of the input ID = T1 is not generated by combining the elements. 2 in the No column indicates that, for the input data with the input ID = T2, when the change input data combining the
When changing the input data for any combination of elements, when the load on the
変化入力生成部26は、属性指定部907及び変化幅指定部908を含む。
属性指定部907は、変化分を生成する対象の入力データの属性を生成する。すなわち、属性指定部907は、要素の属性を生成する。この属性は、画面の入力データの場合、画面の項目に入力されるデータのデータ型である。また、この属性は、DBの入力データの場合、テーブルの列のデータ型である。
属性指定部907は、データ属性テーブルを参照して、入力データの属性を変化分生成部902に渡す。
The change
The
The
図12は、データ属性テーブルのレコードレイアウトの一例を示す説明図である。データ属性テーブルは、属性指定部907が参照する情報が記録されたテーブルである。
データ属性テーブルは、No列、対象列、項目列及び属性列を含む。No列は、整理番号であり、主キーでもある。対象列は、変化分を生成する対象の画面又はテーブルの名称である。項目列は、画面の項目名又はテーブルの列名である。属性列は、画面項目又はテーブルの列のデータ型である。
例えば図12のNo列の1、2、3は、画面1の項目1、項目2及び項目3のデータ型が夫々数字、英字文字列及び日付であることを示している。
FIG. 12 is an explanatory diagram showing an example of the record layout of the data attribute table. The data attribute table is a table in which information referred to by the
The data attribute table includes a No column, a target column, an item column, and an attribute column. The No column is a reference number and a primary key. The target column is the name of the target screen or table for generating the change. The item column is an item name of the screen or a column name of the table. The attribute column is a data type of a screen item or a table column.
For example, Nos. 1, 2, and 3 in the No column of FIG. 12 indicate that the data types of
変化幅指定部908は、変化幅指定テーブルを参照して、入力データを変化させる変化幅を生成する。変化幅は、変化分dtの大きさである。変化幅指定部908は、生成した変化幅を変化分生成部902に渡す。
The change
図13は、変化幅指定テーブルのテーブルレイアウトの一例を示す説明図である。変化幅指定テーブルは、No列、属性列及び変化幅列を含む。No列は、整理番号であり、主キーである。属性列は、変化分を生成する対象の入力データのデータ型である。変化幅列は、変化分の数量である。変化幅列は、加算又は減算の情報も含む。
例えば、図13のNo列の1は、入力データのデータ型が数字である場合、1を加算することを示している。No列の4は、入力データのデータ型が文字列である場合、1文字削除することを示している。No列の5は、入力データが日付である場合、翌日に変化させることを示している。No列の6は、入力データが日付である場合、前日に変化させることを示している。No列の7は、入力データが日付である場合、月末に変化させることを示している。
FIG. 13 is an explanatory diagram showing an example of the table layout of the change width designation table. The change width designation table includes a No column, an attribute column, and a change width column. The No column is a reference number and a primary key. The attribute column is a data type of input data for which a change is generated. The change width column is the quantity of change. The change width column includes addition or subtraction information.
For example, 1 in the No column in FIG. 13 indicates that 1 is added when the data type of the input data is a number. 4 in the No column indicates that one character is deleted when the data type of the input data is a character string. No in
変化分生成部902は、属性指定部907から渡された入力データの属性と、変化幅指定部908から渡された属性毎の変化幅とから、各要素の変化幅を決定することができる。
なお、図13には、1つの属性に対して複数の変化幅が記録されている。例えば、属性が日付である場合、図13のNo列の5、6、7に3つの変化幅が示されている。ある要素について、図13のNo列の5、6、7の内、どれを採用するかということは、プログラム1に記述されている。あるいは、プログラム1の実行時にユーザが図13のNo列の5、6、7の内、どれを採用するかプログラム1に与えてもよい。
The
In FIG. 13, a plurality of change widths are recorded for one attribute. For example, when the attribute is date, three change widths are shown in Nos. 5, 6, and 7 in FIG. It is described in the
変化対象指定テーブルの対象列及び項目列と、データ属性テーブルの対象列及び項目列との間に、夫々リレーションが設定されていてもよいし、設定されていなくてもよい。また、データ属性テーブルの属性列と、変化幅指定テーブルの属性列との間に、リレーションが設定されていてもよいし、設定されていなくてもよい。 Relations may or may not be set between the target column and item column of the change target designation table and the target column and item column of the data attribute table, respectively. Further, a relation may or may not be set between the attribute column of the data attribute table and the attribute column of the change width designation table.
変化対象指定テーブル、組合せ指定テーブル、データ属性テーブル及び変化幅指定テーブルを記録する記録媒体は特に限定されない。これらのテーブルはハードディスク14に記録されていてもよし、光ディスク1a又はフラッシュメモリ等の半導体メモリ1cに記録されていてもよい。
あるいは、これらのテーブルは外部の情報処理装置の記録部に記録されていてもよい。かかる場合、テスト支援装置1は、通信部16を介してこれらのテーブルの情報を取得する。
The recording medium for recording the change target specification table, the combination specification table, the data attribute table, and the change width specification table is not particularly limited. These tables may be recorded on the
Alternatively, these tables may be recorded in a recording unit of an external information processing apparatus. In such a case, the
変化入力部901は、入力データと変化分生成部902が生成した変化分とから変化入力データを生成する。
図14は、変化入力データの一例を示す説明図である。変化入力IDは、変化入力データの識別記号である。変化入力IDは、変化入力データの元である入力データの入力IDにサブ識別記号を結合して設定されている。例えば、図14の1行目の変化入力IDは、T1とv1とが結合されており、T1は当該変化入力データが入力ID=T1の入力データを変化させることにより生成されたことを示している。変化要素は、変化入力データを生成するために変化させた入力データの要素である。
The
FIG. 14 is an explanatory diagram illustrating an example of change input data. The change input ID is an identification symbol of change input data. The change input ID is set by combining a sub-identification symbol with the input ID of the input data that is the source of the change input data. For example, the change input ID on the first line in FIG. 14 is a combination of T1 and v1, and T1 indicates that the change input data is generated by changing the input data of input ID = T1. Yes. The change element is an element of input data changed to generate change input data.
図14では、画面及びDBの入力データに対応する変化入力データが示されている。なお図14では、DBの入力データに対応する変化入力データの欄があるが、DBの入力データを変化させた変化入力データは省略している。また図14では、テーブルの列に関する情報は省略している。 FIG. 14 shows change input data corresponding to the input data of the screen and DB. In FIG. 14, there is a column of change input data corresponding to DB input data, but change input data obtained by changing DB input data is omitted. Further, in FIG. 14, information regarding table columns is omitted.
図14の1行目及び2行目は、画面1について項目1の入力データを変化させ、項目2及び項目3の入力データは変化させていない変化入力データを示している。画面1の項目1の入力データは10である(図6参照)。10に1加算した値、10から1減算した値が夫々変化入力ID=T1v1、T1v2における項目1の変化入力データである。
The first and second lines in FIG. 14 show changed input data in which the input data of
図14の3行目及び4行目は、画面1について項目2の入力データを変化させ、項目1及び項目3の入力データは変化させていない変化入力データを示している。画面1の項目2の入力データは”A”である(図6参照)。”A”に1文字のXを追加した文字列、”A”から1文字削除した文字列が夫々変化入力ID=T1v3、T1v4における項目2の変化入力データである。なお、”A”のダブルクォーテーションは、データ型が文字列であるために添えられている。
The third and fourth lines in FIG. 14 show change input data in which the input data of
図14の5行目及び6行目は、画面1について項目3の入力データを変化させ、項目1及び項目2の入力データは変化させていない変化入力データを示している。画面1の項目3の入力データは2010/1/1である(図6参照)。2010/1/1の翌日の日付、2010/1/1の前日の日付が夫々変化入力ID=T1v5、T1v6における項目3の変化入力データである。
図14に示すように、変化入力生成部26は、入力データの値を挟むように少なくとも2つの変化入力データを生成する。
入力データに基づいて変化入力生成部26が生成する変化入力データと当該入力データとのまとまりが入力データ組である。入力データ組のファイルを入力データ組ファイルと呼び、入力データ組ファイルは入力組記録部22によりハードディスク14に記録される。
As shown in FIG. 14, the change
A group of the change input data generated by the change
図15及び図16は、変化入力データを生成する処理の手順の一例を示すフローチャートである。なお、正常系の入力データは、予めハードディスク14に記録されているものとする。また、DBのテーブルデータもハードディスク14に記録されているものとする。
CPU11は、入力データをハードディスク14からRAM13にロードする(ステップS301)。CPU11は、入力データを入力ID、画面の名称、項目の名称、テーブル名、列名の昇順に並び替える(ステップS302)。この時点で、入力ID、画面の名称、画面の各項目、画面の各項目の入力データ、テーブル名、列名が夫々対応付けられてRAM13に記録されている。
FIG. 15 and FIG. 16 are flowcharts illustrating an example of a procedure of processing for generating change input data. It is assumed that normal input data is recorded in the
The
CPU11は、変化対象指定テーブル、組合せ指定テーブル、データ属性テーブル及び変化幅指定テーブルを読み込む(ステップS303)。CPU11は、読み込んだテーブルのデータを入力ID、画面の名称、画面の項目名、テーブル名、列名の昇順に並び替える(ステップS304)。この時点で、入力ID、画面の名称、画面の各項目名、画面項目の属性、テーブル名、列名、各テーブルの列の属性、変化幅及び組合せ項目が夫々対応付けられてRAM13に記録されている。このデータは、入力データの要素を1つずつ特定し、特定した要素を変化させる情報の集合である。
The
CPU11は、ステップS302で並べ替えた入力データから1要素を選択する(ステップS305)。CPU11は、選択した1要素が変化させる対象の要素か否か判定する(ステップS306)。ステップS306の判定は、変化対象指定テーブル及び組合せ指定テーブルに基づいて判定される。これらのテーブルの情報は、ステップS303でCPU11により読み込まれている。選択した要素の特定データがステップS304で並べ変えたテーブルデータにある場合、CPU11は1要素を変化させる対象の要素であると判定する。
The
CPU11は、選択した1要素が変化させる対象の要素でないと判定した場合(ステップS306:NO)、ステップS305に処理を戻す。CPU11は、選択した1要素が変化させる対象の要素であると判定した場合(ステップS306:YES)、当該1要素がDBの入力データか否か判定する(ステップS307)。CPU11は、1要素がDBの入力データであると判定した場合(ステップS307:YES)、DBにアクセスし、選択した1要素に係るテーブルのデータを変化させる(ステップS308)。その後、CPU11は、ステップS305に処理を戻す。なお、ステップS308は、レコード更新、レコード追加又はレコード削除の各クエリに関する処理を含む。
When the
CPU11は、1要素がDBの入力データでないと判定した場合(ステップS307:NO)、画面の入力データである1要素を変化させる(ステップS309)。CPU11は、1要素を変化させることにより生成した変化入力データをRAM13に記録する(ステップS310)。CPU11は、全ての要素を処理したか否か判定する(ステップS311)。CPU11は、全ての要素を処理していないと判定した場合(ステップS311:NO)、ステップS305に処理を戻す。
When the
CPU11は、全ての要素について処理したと判定した場合(ステップS311:YES)、ステップS312に処理を進める。CPU11は、入力データ及びその変化入力データをステージ毎にまとめ、入力データ組ファイルとしてハードディスク14に記録し(ステップS312)、処理を終了する。
なお、組合せ指定がある場合、ステップS308及びステップS309において、CPU11は組合せ項目の1つずつについて1要素を変化させる。
If the
When there is a combination designation, in step S308 and step S309, the
図17は、入力データ組ファイル1Fの内容の一例を示す説明図である。図17は、図6の入力データと図14の変化入力データとをステージ単位でまとめたものである。
FIG. 17 is an explanatory diagram showing an example of the contents of the input
ステージは、図6のステージと同じである。入力組IDは、入力データ組の識別記号である。入力組IDは、例えば入力データ組に含まれる入力データの入力IDで代表される。IDは、入力データを示す入力ID又は変化入力データを示す変化入力IDである。画面は、入力画面の名称である。入力データ種別は、入力データと変化入力データとを区別する情報である。当該行が入力データである場合、「入力」が格納される。当該行が変化入力データである場合、「変化入力」が格納される。また、当該行が変化入力である場合、図14の変化要素も併記される。図14では、画面からの入力データ及び変化入力データと、DBの入力データ及び変化入力データとに分けて示されている。なお、図14では、DBの入力データ及び変化入力データの詳細と、テーブルの列に関する情報とは省略している。 The stage is the same as the stage of FIG. The input set ID is an identification symbol of the input data set. The input set ID is represented by, for example, an input ID of input data included in the input data set. The ID is an input ID indicating input data or a change input ID indicating change input data. Screen is the name of the input screen. The input data type is information for distinguishing input data from change input data. If the row is input data, “input” is stored. If the row is change input data, “change input” is stored. When the row is a change input, the change element in FIG. 14 is also written. In FIG. 14, the input data and change input data from the screen are shown separately from the DB input data and change input data. In FIG. 14, details of DB input data and change input data, and information about table columns are omitted.
図17には、ステージが画面1である入力データと変化入力データとが示されている。1行目は、入力データである。画面1のステージで使用される入力画面は当然画面1であり、画面1の項目1、項目2及び項目3について入力データが示されている。2行目以降は、変化入力データである。項目1、項目2及び項目3を変化要素とした場合の変化入力データが、夫々2〜3行、4〜5行、6〜7行に示されている。
入力組記録部22は、図17の入力データ組ファイル1Fのレコードを、ステージ、入力組ID、IDの昇順に並べ替えて、ハードディスク14に記録する。
FIG. 17 shows input data whose stage is
The input set
なお、図17では、1つの要素に対して入力データは1つであり、変化入力データは2つである。例えば、画面1の項目1について、入力データは10であり、変化入力データは11と9とである。しかし、1つの要素に対して入力データは複数生成されてもよい。例えば、画面1の項目1について、10と20との入力データが生成されてもよい。かかる場合、例えば入力データ10について11と9との変化入力データが生成され、入力データ20について21と19との変化入力データが生成されてもよい。
In FIG. 17, there is one input data and one change input data for one element. For example, for
入力設定部23は、入力データ組の変化入力データをプログラム実行部24に与える。入出力組収集部27は、プログラム実行部24にテスト対象プログラム2Pを実行させ、入出力データ組を取得する。入出力組収集部27は、異常系判定部25の判定に基づいて、取得した入出力データ組を正常系と異常系とに分けて記録する。
The
図18は、入出力データ組収集処理の手順の一例を示すフローチャートである。入出力データ組処理は、入力データ及び出力データ並びに変化入力データ及び変化出力データの組を収集する処理である。なお、入力データ組ファイル1Fは、RAM13にロードされているものとする。
FIG. 18 is a flowchart illustrating an example of a procedure of input / output data set collection processing. The input / output data set process is a process of collecting a set of input data and output data and change input data and change output data. It is assumed that the input
CPU11は、RAM13に記録されている入力データ組のデータを1つ選択する(ステップS401)。ステップS401において、入力データ組のデータを1つ選択とは、例えば図17のデータの1行を選択することである。また、再帰的にステップS401が呼び出された場合、CPU11は、入力データ組の次の行を選択する。
The
CPU11は、入力データ種別に基づいて、選択したデータが変化入力データか否か判定する(ステップS402)。CPU11は、選択したデータが変化入力データでないと判定した場合(ステップS402:NO)、ステップS401へ処理を戻す。CPU11は、選択したデータが変化入力データであると判定した場合(ステップS402:YES)、選択した変化入力データに基づいてテスト対象プログラム2Pを実行する(ステップS403)。CPU11は、テスト対象プログラム2Pからの変化出力データをRAM13に記録する(ステップS404)。CPU11は、テスト対象プログラム2Pの実行結果が正常系か否か判定する(ステップS405)。
The
CPU11は、テスト対象プログラム2Pの実行結果が正常系でないと判定した場合(ステップS405:NO)、すなわち異常系であると判定した場合、処理対象の変化入力データに異常であることのマーキングをする(ステップS406)。ここでのマーキングとは、処理対象である変化入力データが異常系であるか否かを判定することができる記録であれば、何でもよい。例えば、その記録は処理対象の変化入力データを識別することができる変化入力IDをログ出力することでもよいし、ステップS404で記録した変化出力データに異常系であることのフラグを付加することでもよい。CPU11は、ステップS406を処理した後、ステップS407に処理を進める。
If the
CPU11は、テスト対象プログラム2Pの実行結果が正常系であると判定した場合(ステップS405:YES)、入力データ組の全データを処理したか否か判定する(ステップS407)。CPU11は、入力データ組の全データを処理していないと判定した場合(ステップS407:NO)、ステップS401に処理を戻す。CPU11は、入力データ組の全データを処理したと判定した場合(ステップS407:YES)、ステップS404でRAM13に記録した変化出力データを、ステップS406で行ったマーキングに基づいて正常系と異常系とに分別する(ステップS408)。CPU11は、分別した変化出力データを変化入力データと対応付けて入出力データ組ファイルとして、ハードディスク14に記録し(ステップS409)、処理を終了する。
When the
図19は、入出力データ組収集処理の出力結果の一例を示す説明図である。ステージ、入力組ID、ID及び入力データ種別は、夫々図17のステージ、入力組ID、ID及び入力データ種別と同じである。結果画面及び結果DBは、夫々図8の結果画面及び結果DBと同じである。
図19には、正常系の出力結果のみが示されている。図19における異常系の出力態様は、図8の出力画面及び結果DBと同じである。
FIG. 19 is an explanatory diagram illustrating an example of an output result of the input / output data set collection processing. The stage, input set ID, ID, and input data type are the same as the stage, input set ID, ID, and input data type of FIG. The result screen and result DB are the same as the result screen and result DB of FIG. 8, respectively.
FIG. 19 shows only normal system output results. The output mode of the abnormal system in FIG. 19 is the same as the output screen and result DB of FIG.
図19の1行目には、画面1のステージにおいて入力ID=T1の入力データを用いてテスト対象プログラム2Pを実行した場合、仕様通りの画面2に遷移したことが示されている。また、図19は、図17の情報を加味する場合、変化入力ID=T1の入力データである10を画面1の項目1に入力したとき、遷移画面の画面2の項目1に仕様通りの21が表示されたことを示す。
The first line of FIG. 19 shows that when the test target program 2P is executed using the input data with the input ID = T1 in the stage of the
図19の2行目には、画面1のステージにおいて、変化入力ID=T1v1の変化入力データを用いてテスト対象プログラム2Pを実行した場合、仕様通りの画面2に遷移したことが示されている。また、図19は、図17の情報を加味する場合、変化入力ID=T1v1の変化入力データである11を画面1の項目1に入力したとき、遷移画面の画面2の項目1に仕様通りの23が表示されたことを示す。
The second line in FIG. 19 shows that when the test target program 2P is executed using the change input data of the change input ID = T1v1 in the stage of the
図19の3行目には、画面1のステージにおいて、変化入力ID=T1v2の変化入力データを用いてテスト対象プログラム2Pを実行した場合、仕様通りの画面2に遷移したことが示されている。また、図19は、図17の情報を加味する場合、変化入力ID=T1v2の変化入力データである9を画面1の項目1に入力したとき、遷移画面の画面2の項目1に仕様通りの19が表示されたことを示す。
The third line in FIG. 19 shows that when the test target program 2P is executed using the change input data of the change input ID = T1v2 in the stage of the
図19の結果DBについては、ID=T1、T1v1、T1v2のどの場合も、テーブル1へレコードA1が仕様通り追加されたことが示されている。また、ID=T1、T1v1、T1v2のどの場合も、テーブル2のレコードB1は仕様通り変化がないことが示されている。 The result DB of FIG. 19 shows that the record A1 is added to the table 1 according to the specification in any case of ID = T1, T1v1, and T1v2. Further, it is indicated that the record B1 of the table 2 does not change according to the specification in any case of ID = T1, T1v1, and T1v2.
図20は、入出力データ組ファイル2Fの内容の一例を示す説明図である。
ステージ、入力組ID及びIDは、夫々図17のステージ、入力組ID及びIDと同じである。正常/異常は、テスト対象プログラム2Pの実行結果が正常系であったか、異常系であったかを示す。出力結果は、図19の結果画面、結果DBを転記したものである。ただし、図20では出力結果の詳細を省略して示している。なお、実行結果が異常系である場合、出力結果は空欄である。
FIG. 20 is an explanatory diagram showing an example of the contents of the input / output
The stage, input set ID, and ID are the same as the stage, input set ID, and ID of FIG. Normal / abnormal indicates whether the execution result of the test target program 2P is a normal system or an abnormal system. The output result is a transcription of the result screen and result DB of FIG. However, in FIG. 20, the details of the output result are omitted. If the execution result is abnormal, the output result is blank.
分析対象は、入出力組分析部29が分析対象とする入出力データ組か否かを示す。以降では、出力データ及び変化出力データを出力データ組と呼ぶ。入力データ組と出力データ組とのまとまりが入出力データ組である。入出力組分析部29は、入出力データ組を1つの単位にして各ステージ、各要素の入出力関係を分析する。入出力分析部29が分析対象とする入出力データ組の出力結果が全て正常系である場合、図20の分析対象には○が入る。入出力分析部29が分析対象とする入出力データ組に属する出力結果が1つでも異常系である場合、図20の分析対象には×が入る。
The analysis target indicates whether the input / output data set to be analyzed by the input / output set
例えば、ステージが画面1である入力組ID=T1の場合、全ての出力結果が正常系であるため、分析対象は○である。ステージが画面1である入力組ID=T2の場合、ID=T2v2の変化入力データに対する変化出力データが異常系であるため、入力組ID=T2の入出力データ組の分析対象は×である。同様に、ID=T3v1の変化入力データに対する変化出力データは異常系であるため、入力組ID=T3の入出力データ組の分析対象は×である。
なお、この段階では、分析対象の欄は空欄でもよい。
For example, when the input set ID = T1 where the stage is the
At this stage, the analysis target column may be blank.
図21、図22及び図23は、入力データ組と出力データ組との対応関係の一例を示す説明図である。図21は、図20の分析対象が○に該当する場合の入力データ組と出力データ組との対応関係を示している。図22及び図23は、図20の分析対象が×に該当する場合の入力データ組と出力データ組との対応関係を示している。図21、図22及び図23の横軸は、入力データの値を示す。図21、図22及び図23の縦軸は、出力データの値を示す。横軸上の黒丸は入力データの値を、黒三角は変化入力データの値を示す。また、鎖線も変化入力データの値を示す。横軸上の黒丸と黒三角との間の距離は、入力データの変化分dtに相当する。入力データをTとした場合、黒丸の右隣の黒三角はT+dt、黒丸の左隣の黒三角はT−dtと表すことができる。 21, 22, and 23 are explanatory diagrams illustrating an example of a correspondence relationship between an input data set and an output data set. FIG. 21 shows a correspondence relationship between the input data set and the output data set when the analysis target in FIG. 22 and 23 show a correspondence relationship between an input data set and an output data set when the analysis target in FIG. 20 corresponds to x. The horizontal axis of FIGS. 21, 22 and 23 indicates the value of the input data. The vertical axis in FIGS. 21, 22, and 23 indicates the value of output data. Black circles on the horizontal axis indicate input data values, and black triangles indicate change input data values. A chain line also indicates the value of the change input data. The distance between the black circle and the black triangle on the horizontal axis corresponds to the change dt of the input data. When the input data is T, the black triangle on the right of the black circle can be represented as T + dt, and the black triangle on the left of the black circle can be represented as T-dt.
図21、図22及び図23の斜めの直線は、入力データ組と出力データ組との対応を示す直線である。多くの場合、業務アプリケーションに対して入力値を変化させたとき、入力値の変化と出力値の変化とは一次関数に近似可能な関係又は一次関数を示す。例えば、元手を入力し、損益を出力する株取引シミュレーションプログラムの場合、元手の変化に比例して損益が変化する。あるいは、価格を入力し、消費税を付加した売上を出力する売上管理プログラムの場合、価格の変化に比例して売上が変化する。そこで、図21、図22及び図23には、業務アプリケーションにしばしば認められる直線的な入出力関係が、直線として参考に示されている。 The diagonal straight lines in FIGS. 21, 22 and 23 are straight lines indicating the correspondence between the input data set and the output data set. In many cases, when an input value is changed for a business application, the change of the input value and the change of the output value indicate a relationship or a linear function that can be approximated to a linear function. For example, in the case of a stock trading simulation program that inputs a principal and outputs a profit or loss, the profit or loss changes in proportion to the change in the principal. Alternatively, in the case of a sales management program that inputs a price and outputs sales with consumption tax added, the sales change in proportion to the change in price. Therefore, in FIGS. 21, 22 and 23, linear input / output relationships often recognized in business applications are shown as straight lines for reference.
図21は、入力データ組の全てのデータについて出力結果が正常系である場合を示している。なお、正常系の場合、変化出力データの全てが直線に対応する値であってもよいし、変化出力データは直線に対応しない値を含んでもよい。正常系の変化出力データは、縦軸上のいずれかの位置にプロットされる。一方、異常系は出力時のプログラムの状態がプログラムの異常終了、例外発生及びエラー画面への遷移になることであるため、異常系の変化出力データは縦軸にプロットすることができるデータを含んでいない。 FIG. 21 shows a case where the output result is normal for all data in the input data set. In the case of a normal system, all the change output data may be a value corresponding to a straight line, or the change output data may include a value not corresponding to a straight line. The change output data of the normal system is plotted at any position on the vertical axis. On the other hand, the abnormal system is that the program state at the time of output is abnormal termination of the program, occurrence of exception and transition to error screen, so the abnormal system change output data includes data that can be plotted on the vertical axis Not.
図22は、変化出力データの一部が異常系である場合を示している。例えば、図22はT+dtの変化入力データに対応する正常系の変化出力データがない場合である。TとT+dtとの間に、正常系と異常系との間の臨界入力値を仮定した場合、この臨界入力値より大きな入力値では出力結果が異常系になる可能性がある。図22では、矢印線により示された領域が異常系の領域である。類似のことが、T−dtの変化入力データに対応する変化出力データがない場合にもいえる。図22のような入出力データ組は、入力と出力との間の関係を分析する材料データとして不適切である。 FIG. 22 shows a case where a part of the change output data is an abnormal system. For example, FIG. 22 shows a case where there is no normal change output data corresponding to T + dt change input data. When a critical input value between a normal system and an abnormal system is assumed between T and T + dt, an output result may become an abnormal system with an input value larger than the critical input value. In FIG. 22, the region indicated by the arrow line is an abnormal region. The same can be said when there is no change output data corresponding to the change input data of T-dt. The input / output data set as shown in FIG. 22 is inappropriate as material data for analyzing the relationship between input and output.
図23は、入力データに対する出力データが異常系である場合を示している。本実施の形態では、出力データが異常系となる入力データについては、変化入力データは生成されない。図23は、図21及び図22の参考として示してある。
出力データが異常系となる入力データについて、あえて変化入力データを生成したとしても、多くの場合その変化出力データは異常系になる。図23は、少なくともT−dtとT+dtとの間の入力値に対する出力結果は全て異常系になる例を示している。仮に正常系と異常系とを画する臨界入力値が存在したとしても、その臨界入力値はT−dtとT+dtとの間の外側に位置する。図23は、臨界入力値がT−dtより小さい場合を例示している。図23のような入出力データ組は、入力と出力との間の関係を分析する材料データとして不適切である。
FIG. 23 shows a case where the output data for the input data is an abnormal system. In the present embodiment, change input data is not generated for input data whose output data is abnormal. FIG. 23 is shown as a reference for FIGS. 21 and 22.
Even if change input data is generated for input data whose output data is abnormal, the change output data often becomes abnormal. FIG. 23 shows an example in which all output results for an input value at least between T-dt and T + dt are abnormal. Even if there is a critical input value that defines a normal system and an abnormal system, the critical input value is located outside between T-dt and T + dt. FIG. 23 illustrates a case where the critical input value is smaller than T-dt. The input / output data set as shown in FIG. 23 is inappropriate as material data for analyzing the relationship between input and output.
入力組修正部28は、入出力組収集部27が記録した入出力データ組の内、変化出力データが異常系である変化入力データを修正する。入力組記録部22は、入力組修正部28が修正した変化入力データにより入力データ組ファイル1Fの修正前の変化入力データを上書き更新する。入力設定部23は、修正後の変化入力データをプログラム実行部24に与える。入出力組収集部27は、修正した変化入力データに基づいてプログラム実行部24にテスト対象プログラム2Pを実行させる。入出力組収集部27は、入出力データ組ファイル2Fに記録されている修正前の変化入力データ及び修正前の変化出力データを、夫々修正後の変化入力データ及び修正後の変化出力データで上書き更新する。
なお、入力組記録部22は、修正した変化入力データに新たな変化入力IDを付加し、修正した変化入力データを入力データ組ファイル1Fに追加してもよい。同様に、入出力組収集部27は、修正後の変化入力データ及び修正後の変化出力データを入出力データ組ファイル2Fに追加してもよい。
The input set
The input set
異常系の変化入力データを修正した場合、修正した変化入力データに基づく変化出力データは異常系から正常系に変化する可能性がある。これにより、正常系の入出力データ組のデータ数は増大し、後の分析対象のデータ数を増大させることができる。 When the change input data of the abnormal system is corrected, the change output data based on the corrected change input data may change from the abnormal system to the normal system. As a result, the number of data in the normal input / output data set increases, and the number of data to be analyzed later can be increased.
入力組修正部28が変化入力データを修正する方法の1つは、例えば変化入力生成部26が入力データを変化させるために使用した図13の変化幅指定テーブルの変化幅を変更する方法である。この方法を修正ルール1と呼ぶ。
One of the methods by which the input set correcting
図24は、修正ルール1による入力データ組と出力データ組との対応関係の一例を示す説明図である。横軸上の黒丸は入力データの値を、黒三角は修正後の変化入力データの値を、白三角は修正前の変化入力データの値を示す。鎖線は、修正後の変化入力データの値を示す。一点鎖線は、修正前の変化入力データの値を示す。図24の例では、入力データを変化入力データに変化させる変化幅を元の1/2に変更している。変化幅の変更は1/2に限るものではなく、例えば1/Nから選択されてよい。ここで、Nは自然数である。矢印により示された領域が異常系の入力値に対応する領域である場合、変化幅を縮小することにより、修正後の変化入力データに基づく変化出力データは異常系から正常系に変化することが期待される。
例えば、図24において異常系の領域が飛び飛びに分布する場合が考えられる。そこで、変化幅の変更は修正前の変化幅を大きくする変更であってもよい。かかる場合、入力データの変化分を大きくすることにより、変化出力データは異常系から正常系に変化する可能性がある。
FIG. 24 is an explanatory diagram illustrating an example of a correspondence relationship between an input data set and an output data set according to the
For example, in FIG. 24, the abnormal system region may be distributed in a discrete manner. Therefore, the change in the change width may be a change that increases the change width before the correction. In such a case, the change output data may change from an abnormal system to a normal system by increasing the amount of change in the input data.
図25は、修正ルール1による修正後の入力データ組ファイル1Fの内容の一例を示す説明図である。修正が施された変化入力データの部分は、斜線で示されている。ID=T1の入力データは10であり、変化前の変化入力データは変化幅の1に基づき、ID=T1v1の11とID=T1v2の9とであった(図17参照)。修正ルール1により変化幅を1から半分の0.5に変更した結果、変化入力データはID=T1v1の10.5とID=T1v2の9.5とに修正されている。
FIG. 25 is an explanatory diagram showing an example of the contents of the input
入力組修正部28が変化入力データを修正する他の方法は、例えば変化幅は変えずに、入力データ及び変化入力データの値を夫々同じ所定量だけシフト変化させる方法である。この方法を修正ルール2と呼ぶ。
Another method in which the input set
図26は、修正ルール2による入力データ組と出力データ組との対応関係の一例を示す説明図である。横軸上の黒丸は修正後の入力データの値を、黒三角は修正後の変化入力データの値を示す。横軸の下の白丸は修正前の入力データの値を、白三角は修正前の変化入力データの値を示す。鎖線は、修正後の変化入力データの値を示す。図26の例では、変化幅と同じ量だけ、入力データ及び変化入力データの値を夫々小さくする方向にシフトしている。なお、入力データ及び変化入力データの値のシフト量は、変化幅と同じ量に限るものではなく、様々な量が選択されてよい。矢印により示された領域が異常系の入力値に対応する領域である場合、入力データ及び変化入力データの入力値を夫々変更することにより、修正後の変化入力データに基づく変化出力データは異常系から正常系に変化することが期待される。
FIG. 26 is an explanatory diagram showing an example of a correspondence relationship between an input data set and an output data set according to the
図26の例では、T及びT−dtに夫々対応する修正前の入力データ及び変化入力データから、正常系の出力結果を得た。また、T+dtに対応する修正前の変化入力データから、異常系の出力結果を得た。図26の例では、修正後の入力データの値は、修正前のより小さい変化入力データの値T−dtに等しい。修正後のより大きい変化入力データの値Tは、修正前の入力データの値に等しい。
そのため、修正後のより大きい変化入力データ及び入力データに基づく出力結果は既に取得済みである。修正後のより大きい変化入力データ及び入力データに基づいてテスト対象プログラム2Pを駆動し、新たに出力結果を得る必要はない。他方、T+dtに対応する修正前のより大きい変化入力データは異常系であったため、この変化入力データをT−2dtの値に修正し、より小さい変化入力データとする。そして、このより小さい変化入力データに基づいてテスト対象プログラム2Pを駆動する。このように、入力データ及び変化入力データのシフト量を変化幅と同じ量にした場合、変化入力データを修正する処理量を少なく抑えることができる。
In the example of FIG. 26, normal system output results were obtained from uncorrected input data and changed input data corresponding to T and T-dt, respectively. Also, an abnormal output result was obtained from the change input data before correction corresponding to T + dt. In the example of FIG. 26, the value of the input data after correction is equal to the value T-dt of the smaller change input data before correction. The value T of the larger change input data after correction is equal to the value of the input data before correction.
For this reason, the changed input data after correction and the output result based on the input data have already been acquired. There is no need to drive the test target program 2P on the basis of the larger changed input data and the input data after correction and obtain a new output result. On the other hand, since the larger change input data before the correction corresponding to T + dt is an abnormal system, this change input data is corrected to the value of T-2dt to obtain smaller change input data. Then, the test target program 2P is driven based on the smaller change input data. As described above, when the shift amount of the input data and the change input data is set to the same amount as the change width, the processing amount for correcting the change input data can be reduced.
図27は、修正ルール2による修正後の入力データ組ファイル1Fの内容の一例を示す説明図である。修正が施された入力データ及び変化入力データの部分は、斜線で示されている。ID=T1の修正前の入力データは10であり、修正後の入力データは9である。ID=T1v1の修正前の変化入力データは11であり、修正後の変化入力データは10である。ID=T1v2の修正前の変化入力データは9であり、修正後の変化入力データは8である。
すなわち修正前、ID=T1v2、T1、T1v1の順に、9、10、11の値であった各データは変化幅の1だけ小さい方向に減じられ、夫々8、9、10に修正されている。
FIG. 27 is an explanatory diagram showing an example of the contents of the input
That is, before correction, each data having the values of 9, 10, and 11 is reduced in the direction of decreasing the change width by 1 in the order of ID = T1v2, T1, and T1v1, and corrected to 8, 9, and 10, respectively.
図28及び図29は、修正に係る入出力データ組収集処理の手順の一例を示すフローチャートである。なお、図28及び図29で設定される修正ルール2は、入力データ及び変化入力データの値を例えば変化幅と同じ量だけ小さくするルールであるものとする。
CPU11は、入出力データ組ファイル2Fをハードディスク14からRAM13にロードする(ステップS501)。CPU11は、分析対象が×である入力組IDの入出力データ組を抽出し、抽出した入出力データ組のリストを作成する(ステップS502)。CPU11は、リストから1つの入出力データ組を選択する(ステップS503)。CPU11は選択した入出力データ組から出力結果が異常系である変化入力データのリストを作成する(ステップS504)。
28 and 29 are flowcharts showing an example of the procedure of the input / output data set collection processing related to correction. Note that the
The
CPU11は、設定された修正ルールに基づいて、ステップS504で作成したリストの変化入力データを修正する(ステップS505)。ステップS505における修正ルールの数は複数である。CPU11は、後述するステップS510において設定されるカウンタ変数の値に基づいて、修正ルールを選択する。ここでの修正ルールは、例えばカウンタ変数の値が1である場合、変化幅が1/2の修正ルール1であり、カウンタ変数の値が2である場合、変化幅が1/3の修正ルール1である。また、修正ルールは、カウンタ変数の値が3である場合、修正ルール2である。なお、ステップS505において、修正ルールの選択数は3つに限らず、3つ以下でもよいし、3つ以上でもよい。修正ルールの選択数を増やす場合、例えば修正ルール1における変化幅の縮小率を1/4、1/5、1/6のように次々とより小さい値に設定する。
The
CPU11は、修正した変化入力データに基づいてテスト対象プログラム2Pを実行する(ステップS506)。CPU11は、テスト対象プログラム2Pからの変化出力データをRAM13に記録する(ステップS507)。CPU11は、テスト対象プログラム2Pの実行結果が正常系か否か判定する(ステップS508)。CPU11は、テスト対象プログラム2Pの実行結果が正常系でないと判定した場合(ステップS508:NO)、カウンタ変数の値をインクリメントする(ステップS509)。
The
CPU11は、カウンタ変数の値が所定数か否か判定する(ステップS510)。CPU11は、カウンタ変数の値が所定数でないと判定した場合(ステップS510:NO)、ステップS505に処理を戻す。CPU11は、カウンタ変数の値が所定数であると判定した場合(ステップS510:YES)、処理対象の変化入力データに異常であることのマーキングをする(ステップS511)。ここでのマーキングとは、ステップS406のマーキングと同じである。CPU11は、ステップS511を処理した後、ステップS512に処理を進める。
The
CPU11は、テスト対象プログラム2Pの実行結果が正常系であると判定した場合(ステップS508:YES)、ステップS504で作成したリストの変化入力データを全て処理したか否か判定する(ステップS512)。CPU11は、ステップS504で作成したリストの変化入力データを全て処理していないと判定した場合(ステップS512:NO)、ステップS505に処理を戻す。CPU11は、ステップS504で作成したリストの変化入力データを全て処理したと判定した場合(ステップS512:YES)、ステップS502で作成したリストの入出力データ組を全て処理したか否か判定する(ステップS513)。
If the
CPU11は、ステップS502で作成したリストの入出力データ組を全て処理していないと判定した場合(ステップS513:NO)、ステップS503に処理を戻す。CPU11は、ステップS502で作成したリストの入出力データ組を全て処理したと判定した場合(ステップS513:YES)、ステップS507でRAM13に記録した変化出力データを、ステップS511で行ったマーキングに基づいて正常系又は異常系に分別する(ステップS514)。CPU11は、分別した変化出力データを変化入力データと対応付け、入出力データ組ファイル2Fに上書きし(ステップS515)、処理を終了する。なお、修正ルール2が実行された場合、ステップS515において、CPU11は入力データ及び変化入力データの値が夫々シフトされることによる入出力データ組ファイル2Fの変更も行う。
If the
ステップS510の判定処理は、ステップS505へ戻る手順が永久ループにならないようにするための処理である。ステップS510では、カウンタ変数を利用して、ループを出るようにしている。しかし、例えばループに入ってから時間のカウントを開始し、所定時間経過してもループ内の処理をしている場合、ループから抜け出るようにしてもよい。 The determination process in step S510 is a process for preventing the procedure for returning to step S505 from becoming an endless loop. In step S510, the counter variable is used to exit the loop. However, for example, time counting may be started after entering the loop, and if processing within the loop is performed even after a predetermined time has elapsed, the process may exit the loop.
図30は、修正後の入出力データ組ファイル2Fの内容の一例を示す説明図である。図30は、図20のID=T2v1、T3v1の2つの変化入力データを修正し、テスト対象プログラム2Pを再実行した結果を示す。
ID=T2v1の変化入力データを修正した場合、その変化出力データは正常系に変化し、入出力組ID=T2の入出力データ組の出力結果はすべて正常系になった。そのため、入出力組ID=T2の修正前の分析対象は×であったが、修正後は○に変化した(図20参照)。
ID=T3v1の変化入力データを修正した場合、その変化出力データは異常系のままであり、入出力組ID=T3の入出力データ組の出力結果は全てが正常系にはならなかった。そのため、入出力組ID=T3の修正前の分析対象は×であったが、修正後も×のままである(図20参照)。
FIG. 30 is an explanatory diagram showing an example of the contents of the corrected input / output
When the change input data of ID = T2v1 was corrected, the change output data changed to the normal system, and the output results of the input / output data set of the input / output set ID = T2 were all normal. Therefore, the analysis target before the correction of the input / output set ID = T2 was “x”, but after the correction, it changed to “◯” (see FIG. 20).
When the change input data with ID = T3v1 is corrected, the change output data remains an abnormal system, and the output results of the input / output data set with the input / output group ID = T3 are not all normal. Therefore, the analysis target before the correction of the input / output set ID = T3 is “x”, but it remains “x” after the correction (see FIG. 20).
入出力組分析部29は、入出力組収集部27が出力した修正後の入出力データ組ファイル2Fの分析対象が○である入出力データ組を収集する。入出力組分析部29は、収集した入出力データ組を利用して、各ステージの変化要素における入力と出力との関係を分析する。
The input / output set
入出力組分析部29は、以下の3種類の分析を行う。以降、夫々の分析を分析1、分析2及び分析3と呼ぶ。入出力組分析部29は、分析1、分析2及び分析3をこの順に実行する。
分析1は、入力値の変化に対する出力値の変化を分析する。入力値の変化に対する出力値の変化は、図21のグラフ上では、直線の傾きに相当する。
分析2は、入力変化と出力変化との対応関係を示す直線式を算出する。この直線式の直線は、図21の直線に相当する。
分析3は、分析2において1つの変化要素に対して複数の直線式が得られた場合、これらの直線式の異同を分析する。
以下に、分析1、分析2及び分析3について詳述する。
The input / output set
In the
Hereinafter,
図31は、分析1における分析処理の手順の一例を示すフローチャートである。なお、入出力データ組ファイル2Fは、ステージ、入力組ID、IDの昇順に入出力データ組が記録されているものとする。
CPU11は、入出力データ組ファイル2Fをハードディスク14からRAM13にロードする(ステップS601)。CPU11は、未選択の1つの入力組IDを選択する(ステップS602)。CPU11は、選択した入力組IDに係る入出力データ組の入力値及び出力値のリストを作成する(ステップS603)。
FIG. 31 is a flowchart illustrating an example of a procedure of analysis processing in
The
CPU11は、ステップS603で作成したリストに基づき、入力データの値及び出力データの値を基準にして、入力値の変化分及び出力値の変化分を算出する(ステップS604)。CPU11は、入力値の変化分に対する出力値の変化分である変化率を算出する(ステップS605)。ステップS605において、算出される変化率は2つである。すなわち、1つの入力データに対して変化幅を増減した変化入力データが2つ生成されるため、変化入力データは2つである。グラフ上では、入力データの値及び出力データの値で決まる点から変化入力データの値及び変化出力データの値で決まる点に2本の直線を描くことができる。これら2本の直線の傾きが、ステップS605で算出される変化率に相当する。
The
CPU11は、ステップS605で算出した変化率が同一か否か判定する(ステップS606)。CPU11は、ステップS605で算出した変化率が同一と判定した場合(ステップS606:YES)、傾き一定と判定し(ステップS607)、ステップS609に処理を進める。ここでの傾きは、上述のグラフ上の直線の傾きのことである。CPU11は、ステップS605で算出した変化率が同一でないと判定した場合(ステップS606:NO)、傾き一定でないと判定し(ステップS608)、ステップS609に処理を進める。
The
CPU11は、全ての入力組IDに係る入出力データ組を処理したか否か判定する(ステップS609)。CPU11は、全ての入力組IDに係る入出力データ組を処理していないと判定した場合(ステップS609:NO)、ステップS602に処理を戻す。CPU11は、全ての入力組IDに係る入出力データ組を処理したと判定した場合(ステップS609:YES)、分析結果を分析1ファイルとしてハードディスク14に記録し(ステップS610)、処理を終了する。
The
なお、ステップS606における変化率の同一判定は、完全一致した場合に同一と判定してもよいし、2つの変化率の差が所定のずれより小さい場合、同一と判定してもよい。例えば、2つの変化率をA、Bとした場合、(A−B)/Aの値が所定の値より小さいとき、AとBとは同一と判定してもよい。 Note that the same determination of the change rate in step S606 may be determined to be the same when completely matching, or may be determined to be the same when the difference between the two change rates is smaller than a predetermined deviation. For example, when the two change rates are A and B, when the value of (A−B) / A is smaller than a predetermined value, A and B may be determined to be the same.
図32は、分析1ファイル3Fの内容の一例を示す説明図である。分析1ファイル3Fは、分析1の結果を記述したファイルである。入力組IDは、図20及び図30の入力組IDと同じである。図32では、変化入力データにおける入力変化と変化出力データにおける出力変化とに分けて変化分が示されている。
入力変化の変化要素は、変化入力データを生成するために変化させた入力データの要素である。図32では、画面1の項目1及び項目2が例示されている。変化前は、入力データの値である。変化後は、変化入力データの値である。変化分は、入力データの値と変化入力データの値との差である。
FIG. 32 is an explanatory diagram showing an example of the contents of the
The change element of input change is an element of input data changed to generate change input data. In FIG. 32,
図32の出力変化の画面は、入力組データが入力され、テスト対象プログラム2Pが実行された場合の遷移画面である。例えば、図17からわかるように、入力組ID=T1に対応する入力画面は画面1である。図32は、入力組ID=T1の場合、画面1から画面2に遷移する例を示している。項目は画面2の項目である。変化前は、出力データの値である。変化後は、変化出力データの値である。変化分は出力データの値と変化出力データの値との差である。
The output change screen in FIG. 32 is a transition screen when input set data is input and the test target program 2P is executed. For example, as can be seen from FIG. 17, the input screen corresponding to the input set ID = T1 is
図32の変化率は、入力変化の変化分に対する出力変化の変化分の比率である。傾きは、1つの変化要素に対して求めた2つの変化率をグラフにおける直線の傾きで表現した場合に、2つの変化率が一定か否かを示す情報である。 The change rate in FIG. 32 is the ratio of the change in output change to the change in input change. The inclination is information indicating whether or not the two change rates are constant when the two change rates obtained for one change element are expressed by the inclination of a straight line in the graph.
画面1の項目1に入力する入力データを、10から11に変化させたときの変化率と、10から9に変化させたときとの変化率とは、どちらも2であり、傾きは一定である。
The rate of change when the input data input to
画面1の項目2に入力する入力データを、”A”から”AX”及び””に変化させたときの変化分は夫々+1、−1である。ここでの変化分は、文字数の変化である。”A”から”AX”への変化分は、一文字追加であり、図32では+1としている。”A”から””への変化分は、一文字削除であり、図32では−1としている。画面2の項目2には、画面1の項目2に入力された値と同一の値が出力される。そのため、”A”から”AX”に変化させた入力変化の変化分と、”A”から”AX”に変化させた出力変化の変化分とは、どちらも+1であり、変化率は1である。同様に、”A”から””に変化させた入力変化の変化分と、”A”から””に変化させた出力変化の変化分とは、どちらも−1であり、変化率は1である。従って、”A”から”AX”に変化させたときの変化率と、”A”から””に変化させたときの変化率とは、同じであり、傾きは一定である。
When the input data input to
なお、業務アプリケーションでは、入力画面から入力した値と同じ値が遷移画面に表示される例が、たいへん多い。例えば、インターネットショッピングにより商品を購入する場合、注文画面から購入商品の個数を入力した場合、次の注文確認画面には注文画面に入力した購入商品の個数がそのまま表示される。 In business applications, there are many examples in which the same value as that entered from the input screen is displayed on the transition screen. For example, when purchasing a product by Internet shopping, when the number of purchased products is input from the order screen, the number of purchased products input on the order screen is displayed as it is on the next order confirmation screen.
図33は、分析1における入力変化と出力変化との対応関係の一例を示す説明図である。横軸、縦軸、黒丸、黒三角及び鎖線が示す意味は、図21、図22及び図23で示した意味と同じである。横軸の下の数値は、入力データ及び変化入力データの各値である。図33は、図32の変化要素が項目1である場合の分析例をグラフ化したものである。変化要素が項目1である場合、入力変化と出力変化との対応関係は傾きが一定の直線により示される。
FIG. 33 is an explanatory diagram illustrating an example of a correspondence relationship between an input change and an output change in
図34は、分析1ファイル3Fの内容の他例を示す説明図である。図34の項目は、図32の項目と同じである。図32及び図33は入力変化と出力変化との対応関係を示す直線の傾きが一定である場合であったが、図34は、この直線の傾きが一定でない場合の分析結果を示している。変化要素である項目1の入力データの値を10から11に変化させた場合、出力データの値は21から23に変化し、その変化率は2である。他方、変化要素の項目1の入力データの値を10から9に変化させた場合、出力データの値は21から20に変化し、その変化率は1である。そのため、傾きには2倍の相違がある。
FIG. 34 is an explanatory diagram showing another example of the contents of the
図35及び図36は、分析1における入力変化と出力変化との対応関係の他例を示す説明図である。図35及び図36における横軸、縦軸、黒丸、黒三角及び鎖線が示す意味は、図21、図22及び図23で示した意味と同じである。横軸の下の数値は、入力データ及び変化入力データの各値である。図35及び図36は、図34の分析結果をグラフ化して解釈したものである。
35 and 36 are explanatory diagrams showing other examples of the correspondence relationship between the input change and the output change in
図35に示すように、変化入力データの値9と入力データの値10との間で、入力変化と出力変化との対応関係を示す直線が屈曲している場合、図34の分析結果が得られる。図35は、直線で示されるテスト対象プログラム2Pの入出力特性が特定の入力値を境にして不連続に変化する場合を示している。
As shown in FIG. 35, when the straight line indicating the correspondence between the input change and the output change is bent between the
図34の分析結果は、他の解釈も可能である。例えば、図36に示すように、変化入力データの値9と変化入力データの値10との間で、入力変化と出力変化との対応関係が曲線である場合でも図34の分析結果を説明することができる。
The analysis result in FIG. 34 can be interpreted in other ways. For example, as shown in FIG. 36, the analysis result of FIG. 34 will be described even when the correspondence between the input change and the output change is a curve between the change
図35及び図36は、入力変化と出力変化との対応関係が非線形であることを示し、図34のように傾きが相違する入出力データ組は、期待値設定支援のための分析データとして適切でないと考えられる。そのため、次の分析2では、傾きが一定である入出力データ組のデータのみを用いて、入力変化と出力変化との対応関係を示す直線の式を算出する。
FIGS. 35 and 36 show that the correspondence between the input change and the output change is non-linear. An input / output data set having different slopes as shown in FIG. 34 is suitable as analysis data for supporting the expected value setting. It is not considered. Therefore, in the
図37は、分析2における分析処理の手順の一例を示すフローチャートである。なお、分析1ファイル3Fは、入力組ID及び変化要素の昇順に分析1の分析結果が記録されているものとする。
CPU11は、分析1ファイル3Fをハードディスク14からRAM13にロードする(ステップS701)。CPU11は、分析1ファイル3Fの入出力データ組の内、傾きが一定である入出力データ組を抽出し、抽出した入出力データ組のリストを作成する(ステップS702)。CPU11は、ステップS702で作成したリストから、未選択の1つの入出力データ組を選択する(ステップS703)。
FIG. 37 is a flowchart illustrating an example of a procedure of analysis processing in
The
CPU11は、選択した入出力データ組に基づいて、直線の傾きと切片とを算出する(ステップS704)。ここでの直線は、入力変化と出力変化との対応関係を示す直線である。仮に、入力値をx、出力値をyとした場合、y=mx+nについて、mが傾き、nが切片である。1つの変化要素について、変化入力データ及び変化出力データは夫々2つずつあるので、mとnとは算出可能である。
なお、1つの変化要素について、グラフ上での変化入力データ及び変化出力データに対応する2点の情報の他に、入力データ及び出力データに対応する1点の情報があるので、これら3点の情報を利用して直線が決定されてもよい。かかる場合、ax+by+c=0の直線式に係るa、b、cを算出してもよい。
The
Since there is one point of information corresponding to input data and output data in addition to two points of information corresponding to change input data and change output data on the graph for one change element, these three points A straight line may be determined using the information. In such a case, a, b, and c related to a linear expression of ax + by + c = 0 may be calculated.
CPU11は、算出した直線式をRAM13に記録する(ステップS705)。CPU11は、ステップS702で作成したリストの全ての変化要素を処理したか否か判定する(ステップS706)。CPU11は、ステップS702で作成したリストの全ての変化要素を処理していないと判定した場合(ステップS706:NO)、ステップS703に処理を戻す。CPU11は、ステップS702で作成したリストの全ての変化要素を処理したと判定した場合(ステップS706:YES)、分析結果を分析2ファイルとしてハードディスク14に記録し(ステップS707)、処理を終了する。
The
図38は、分析2ファイル4Fの内容の一例を示す説明図である。分析2ファイル4Fは、分析2の結果を記述したファイルである。入力組IDは、図32及び図34の入力組IDと同じである。入力の画面は、入力データ及び変化入力データが入力される画面である。変化要素は、図32及び図34の変化要素と同じであり、画面の項目に相当する。入力の入力値は、入力データ及び変化入力データの値である。変化要素毎に、1つの入力データと2つの変化入力データとの値が縦に並べられている。出力の画面及び項目は、夫々図32及び図34の画面及び項目と同じである。出力の出力値は、出力データ及び変化出力データの値である。変化要素毎に、1つの出力データと2つの変化出力データとの値が縦に並べられている。入力列の入力値と出力列の出力値とは、入出力関係が対応する順序で、縦に並べられている。傾きは、図32及び図34の変化率と同じである。入出力関係は、分析2において算出した直線式が示されている。
FIG. 38 is an explanatory diagram showing an example of the contents of the
図38の1列目の入出力関係は、画面2.項目1=2×画面1.項目1+1である。画面2.項目1は、画面2の項目1に対応するデータの変数を意味し、画面1.項目1は画面1の項目1に対応するデータの変数を意味する。1列目の入出力関係から、入力変化と出力変化との対応関係を示す直線の傾きは2、切片は1であることがわかる。
図38の2列目の入出力関係は、画面2.項目2=画面1.項目2である。画面2.項目2は、画面2の項目2に対応するデータの変数を意味し、画面1.項目2は画面1の項目2に対応するデータの変数を意味する。2列目の入出力関係から、入力変化と出力変化との対応関係を示す直線の傾きは1、切片は0であることがわかる。
The input / output relationship in the first column in FIG.
The input / output relationship in the second column in FIG.
図38の分析2ファイル4Fの例では、画面1の項目1に対して、10前後の入力値と20前後の出力値との入出力データ組だけが示されている。また、画面1の項目2に対して”A”に1文字追加、1文字削除された入出力データ組だけが示されている。すなわち図38では、1つの変化要素に対して1つの入出力データ組が示されている。
しかし、1つの変化要素に対して複数の入力データが設定されてもよい。かかる場合、1つの変化要素に対して複数の入出力データ組が生成される。例えば、画面1の項目1に対して、値が10である入力データと、値が20である入力データとが2つ生成された場合、値が10前後の変化入力データと20前後の変化入力データとが生成される。これら2つの入力データ組に対して、夫々20前後と40前後の出力データ組が得られた場合、1つの変化要素に対する2つの入出力データ組が分析1及び分析2において分析される。その結果、分析2ファイル4Fには、1つの変化要素に対して、2つの直線式が記述される場合がある。
In the example of the
However, a plurality of input data may be set for one change element. In such a case, a plurality of input / output data sets are generated for one change element. For example, when two pieces of input data having a value of 10 and two pieces of input data having a value of 20 are generated for
分析3は、分析2において1つの変化要素に対して複数の直線式が得られた場合、これらの直線式の異同を分析する。
In the
図39は、分析3における分析処理の手順の一例を示すフローチャートである。
CPU11は、分析2ファイル4Fをハードディスク14からRAM13にロードする(ステップS801)。CPU11は、1つの変化要素に対して複数の直線式を算出した入出力データ組を分析2ファイル4Fから抽出し、抽出した入出力データ組を変化要素毎にまとめたリストを作成する(ステップS802)。CPU11は、1つの変化要素を選択し、その変化要素について求められた直線式のリストを作成する(ステップS803)。CPU11は、ステップS803で作成したリストから、例えば直線式を算出する元となった入力値の小さい順に、2つの直線式を選択する(ステップS804)。
FIG. 39 is a flowchart illustrating an example of a procedure of analysis processing in
The
CPU11は、選択した2つの直線式が同一か否か判定する(ステップS805)。CPU11は、選択した2つの直線式が同一であると判定した場合(ステップS805:YES)、2つの直線式に対応する2つの入出力データ組に同じマークを付け(ステップS806)、ステップS808に処理を進める。CPU11は、選択した2つの直線式が同一でないと判定した場合(ステップS805:NO)、2つの直線式に対応する2つの入出力データ組に異なるマークを付け(ステップS807)、ステップS808に処理を進める。ステップS806及びステップS807におけるマークは、例えば直線式が同一である入出力データ組の入出力組IDと、直線式が同一でない入出力データ組の入出力組IDを区別可能な形式でログに出力することである。あるいは、ステップS806及びステップS807におけるマークは、直線式が同一である入出力データ組と直線式が同一でない入出力データ組とに夫々異なる所定のデータを付加することでもよい。
The
CPU11は、1つの変化要素に係る全ての直線式について、ステップS805〜ステップS807の処理をしたか否か判定する(ステップS808)。CPU11は、1つの変化要素に係る全ての直線式について、ステップS805〜ステップS807の処理をしていないと判定した場合(ステップS808:NO)、ステップS804に処理を戻す。CPU11は、1つの変化要素に係る全ての直線式について、ステップS805〜ステップS807の処理をしたと判定した場合(ステップS808:YES)、全ての変化要素を処理したか否か判定する(ステップS809)。CPU11は、全ての変化要素を処理していないと判定した場合(ステップS809:NO)、ステップS803に処理を戻す。CPU11は、全ての変化要素を処理したと判定した場合(ステップS809:YES)、分析結果を分析3ファイルとしてハードディスク14に記録し(ステップS810)、処理を終了する。
The
ステップS804では、ステップS803で作成したリストから、例えば直線式を算出する元となった入力値の小さい順に、2つの直線式を選択する。しかし、ステップS804では、ステップS803で作成したリストの全ての直線式から2つの直線式を選択してもよい。すなわち、ステップS803で作成したリストの直線の数がnである場合、n C 2通りの選択が行われてもよい。 In step S804, two linear expressions are selected from the list created in step S803 in ascending order of input values from which the linear expression is calculated, for example. However, in step S804, two linear expressions may be selected from all the linear expressions in the list created in step S803. That is, when the number of straight lines in the list created in step S803 is n, n C 2 ways of selection may be performed.
図40は、分析3ファイル5Fの内容の一例を示す説明図である。分析3ファイル5Fは、分析3の結果を記述したファイルである。図40の変化要素は、図38の変化要素と同じである。入力IDは、入力データの識別記号である。入力及び出力は、夫々入力画面及びその項目並びに出力画面である遷移画面及びその項目を示す。入出力関係の式は、分析2で算出した直線式である。入出力関係のNoは、直線式を区別するための番号である。
FIG. 40 is an explanatory diagram showing an example of the contents of the
入力ID=T1の入力データの値は10であり、入力ID=T2の入力データの値は20である。図40は、変化要素である画面1の項目1に対して、10である入力データの値を変化させて求めた直線式と、20である入力データの値を変化させて求めた直線式とが同じであった場合を示している。図40では、1つの変化要素である画面1の項目1に対して求めた2つの直線式が同一であるため、Noは1つである。1つの変化要素に対して求めた2つの直線式が異なる場合、Noには夫々異なる番号が入る。
The value of input data with input ID = T1 is 10, and the value of input data with input ID = T2 is 20. FIG. 40 shows a linear equation obtained by changing the value of input data of 10 for
図41は、分析3における入力変化と出力変化との対応関係の一例を示す説明図である。図41における横軸及び縦軸が示す意味は、図21、図22及び図23で示した意味と同じである。横軸上の黒丸は入力データを示し、その下の数値は入力データの値である。図41は、図40の分析結果の一例をグラフ化して示したものである。図41には、図40のNo=1の直線のみが示されている。
図41の例の場合、入力値10と入力値20とにおけるテスト対象プログラム2Pの入出力関係の間に変化はない。そのため、テストは入力値10又は入力値20のいずれか一方のみで実施すればよいと考えられる。そのため、期待値は1つだけ設定すればよい。
FIG. 41 is an explanatory diagram illustrating an example of a correspondence relationship between an input change and an output change in
In the example of FIG. 41, there is no change between the input / output relationship of the test target program 2P between the
図42は、分析3ファイル5Fの内容の他例を示す説明図である。図42の各項目は、図40の各項目と同じである。図42では、変化要素である画面1の項目1に対して、10である入力データの値を変化させて求めた直線式と、20である入力データの値を変化させて求めた直線式とが同じではなかった場合を示している。具体的には、入力ID=T1の入力データの値を変化させた場合、算出されたNo=1の直線式は画面2.項目1=2×画面1.項目1+1であった。一方、入力ID=T2の入力データの値を変化させた場合、算出されたNo=2の直線式は画面2.項目1=画面1.項目1+2であった。
FIG. 42 is an explanatory diagram showing another example of the contents of the
図43及び図44は、分析3における入力変化と出力変化との対応関係の他例を示す説明図である。図43及び図44における横軸、縦軸、横軸上の黒丸及び数値が示す意味は、図41と同じである。図43及び図44は、入力データの値10、20に基づいて算出した直線が異なる場合を示している。なお、図43及び図44における直線は、図42の式とは無関係である。
43 and 44 are explanatory diagrams illustrating other examples of the correspondence relationship between the input change and the output change in the
図43は、テスト対象プログラム2Pが入力値15付近で入出力の挙動が変化することを示している。図44は、テスト対象プログラム2Pの処理傾向は変化しないが、入力値15付近で戻り値が不連続に変化することを示している。
FIG. 43 shows that the input / output behavior of the test target program 2P changes near the
図43のような分析結果が得られた場合、テストは少なくとも入力値10及び入力値20の両方を用いて実施すべきと考えられる。そのため、期待値は少なくとも2つ設定すべきである。また、テストの精度を向上させるために、値が15付近、10未満、20以上の各入力データを用いた追加テストを検討すべきである。
When an analysis result as shown in FIG. 43 is obtained, it is considered that the test should be performed using at least the
図44のような分析結果が得られた場合、テストは少なくとも入力値10及び入力値20の両方を用いて実施すべきと考えられる。そのため、期待値は少なくとも2つ設定すべきである。また、テストの精度を向上させるために、値が15付近の入力データを複数用いた追加テストを検討すべきである。
When an analysis result as shown in FIG. 44 is obtained, it is considered that the test should be performed using at least the
図40及び図41並びに図42、図43及び図44は、夫々1つの変化要素に対して2つの異なる入力値を変化させて求めた入力変化と出力変化との対応関係が同一である場合と異なる場合とを示している。この分析3の結果の違いは、テスト対象プログラム2Pの良し悪しではなく、テスト対象プログラム2Pの動作の違いを示している。期待値の設定はテスト対象プログラム2Pの動作を理解して行われるべきであり、ユーザは分析3の結果から期待値の設定をする上で有益な情報を得ることができる。
なお、分析3において、1つの変化要素に対して変化させる入力データの数は2つに限らない。この数が3つ以上であってもよいことは勿論である。
40 and 41, and FIGS. 42, 43, and 44 respectively show the case where the correspondence between the input change and the output change obtained by changing two different input values for one change element is the same. Different cases are shown. The difference in the result of the
In the
期待値設定支援部30は、入出力組分析部29が分析した結果及び期待値を表形式で表示部17に出力する。ユーザは、入出力組分析部29により出力された分析結果を参照し、期待値を設定する、設定しない又は保留する等の判定を下す。
The expected value setting
図45は、期待値設定画面1fの一例を示す説明図である。期待値設定画面1fは、テスト対象プログラム2Pの期待値が表示される画面である。期待値設定支援部30は、分析1ファイル3F、分析2ファイル4F及び分析3ファイル5Fに基づいて、期待値設定画面1fをテスト支援装置1の表示部17に表示する。
FIG. 45 is an explanatory diagram showing an example of the expected
期待値設定画面1fのステージは、テスト対象プログラム2Pが扱う業務処理のステージである。ステージは、各業務処理に対応する画面名称で示されている。図45の例では、ステージ欄の画面1がテスト対象の入力画面であることを示している。期待値の式Noは、画面1の項目1、項目2及び項目3について分析された各直線式の組合せを識別する番号である。期待値の設定には、ラジオボタン「する」、「しない」又は「保留」の3種類が表示される。ユーザは、操作部18のマウス等を操作することによりいずれか1つのラジオボタンを選択することができる。期待値の項目は、出力値が表示される遷移画面の項目であり、遷移画面と項目とはドットにより連結して表示されている。期待値の値は、テスト支援装置1が出力する期待値である。
The stage of the expected
入力値の項目は、入力データを入力する入力画面の項目であり、入力画面と項目とはドットにより連結して表示されている。入力値の値は、期待値と比較される出力値を得るための入力データの値である。入力IDは、入力データの識別記号である。図45の場合、入力IDにT1とT2とが列挙されている。図45は、画面1の項目1、項目2及び項目3についてT1及びT2のテストをした場合、分析3の結果がどの項目についても夫々同一の直線であったことを示している。また、図45は、画面1の項目1、項目2及び項目3に入力する入力データを組み合わせて変化させた場合を扱っている。そのため、期待値設定画面1fは、画面1の項目1、項目2及び項目3に対する画面2の項目1、項目2及び項目3の期待値をセットで設定するように表示している。
The item of input value is an item of the input screen for inputting input data, and the input screen and the item are displayed connected by dots. The value of the input value is a value of input data for obtaining an output value to be compared with the expected value. The input ID is an identification symbol of input data. In the case of FIG. 45, T1 and T2 are listed in the input ID. FIG. 45 shows that when the tests of T1 and T2 were performed for
入出力関係の種別は、入出力関係の式の種別を示す。入力値をx、出力値をyとした場合、y=xであるとき、種別は転記である。すなわち、入力画面に入力した値と出力画面である遷移画面に出力された値とが同一である場合、データが入力画面から次画面に転記されていると考えられることから、転記と表示している。他方、入力値と出力値との関係がy=x以外の一次関数で表現される場合、単なる転記ではなく、出力値は入力値から何らかの変換を被っていると考えられることから、変換と表示している。入出力関係の式は、分析3ファイル5Fの式と同じである。
The input / output relationship type indicates the type of the input / output relationship expression. When the input value is x and the output value is y, the type is transcription when y = x. That is, if the value entered on the input screen and the value output on the transition screen, which is the output screen, are the same, the data is considered to have been posted from the input screen to the next screen. Yes. On the other hand, when the relationship between the input value and the output value is expressed by a linear function other than y = x, the output value is considered to have undergone some conversion from the input value, not a simple transcription. is doing. The expression of the input / output relation is the same as the expression of the
図45では、画面1の各項目に夫々10、”A”及び2010/1/1を入力し、テスト対象プログラム2Pを駆動した場合、遷移画面である画面2の各項目に出力される期待値が夫々21、”A”及び2010/1/1であることを示している。ユーザは、図45の式と、テスト対象プログラム2Pの設計仕様、要求仕様等とを考慮し、出力された値に期待値を設定する、しない又は保留を判断する。ユーザは、判断結果に基づいて、期待値設定のラジオボタンを選択する。ユーザが期待値設定のラジオボタンを選択し、例えば所定のボタンを押下した場合、CPU11は、当該期待値の選択結果をハードディスク14に記録する。例えば、CPU11は、期待値を設定する選択が行われた場合、期待値を設定するための所定ファイルを作成し、作成した所定ファイルをハードディスク14に記録する。
In FIG. 45, when 10, “A” and 2010/1/1 are input to each item of the
図45の場合、入力ID=T1とT2とは、重複したテストケースとなる。ユーザはT1とT2との内、どちらか一方のテストケースを選択することができる。
なお、図45は、T1に基づく分析結果から期待値が表示されているが、T1とT2との内、いずれかの一方に基づく期待値が表示されてもよいし、両方に基づく期待値が2つ表示されてもよい。かかる場合、期待値に対応する入力値も2つ表示する。また、図45の期待値及び入力値として、夫々変化出力データの値及び当該変化出力データに対応する変化入力データの値が表示されてもよい。
In the case of FIG. 45, input ID = T1 and T2 are duplicate test cases. The user can select one of the test cases T1 and T2.
In FIG. 45, the expected value is displayed from the analysis result based on T1, but the expected value based on one of T1 and T2 may be displayed, or the expected value based on both is displayed. Two may be displayed. In such a case, two input values corresponding to the expected value are also displayed. In addition, as the expected value and the input value of FIG. 45, the value of the change output data and the value of the change input data corresponding to the change output data may be displayed, respectively.
図46は、期待値設定画面1fの他例を示す説明図である。図46の各項目は、図45の各項目と同じである。図45は、画面1の項目1、項目2及び項目3についてT1及びT2のテストをした場合、分析3の結果が項目1については異なる直線であり、項目2及び項目3については同じ直線であったことを示している。また、図45は、画面1の項目1、項目2及び項目3に入力する入力データを組み合わせて変化させた場合を扱っている。
FIG. 46 is an explanatory diagram showing another example of the expected
画面1の項目2及び項目3については、入力ID=T1、T2のどちらについても転記の式が表示されている。しかし、画面1の項目1については、入力IDがT1とT2とで異なる変換の式が表示されている。変換の式が異なる場合、このことを強調するために式の欄には斜線が描かれている。画面1の項目1について、テスト対象プログラム2Pは入力値10と入力値20とで動作を変化させたことがわかる。ユーザは、算出された式の妥当性を評価した上でテスト支援装置1が出力した期待値を選択及び設定することができる。
For
図47は、異常系の期待値設定画面2fの一例を示す説明図である。CPU11は、図7のステップS209でハードディスク14に記録したエラー情報を読み込み、異常系の期待値設定画面2fを表示部17に表示する。ステージ、期待値設定及び入力IDは、図45及び図46のステージ、期待値設定及び入力IDと同じである。異常の内容の種別は、エラー画面、異常終了、例外発生のいずれかである。異常の内容の期待値は、図7における異常系の出力データの値である。例えば図47の期待値は、種別がエラー画面である場合、エラーメッセージであり、種別が異常終了である場合、エラーコード番号であり、種別が例外発生である場合、例外の種別である。図45及び図46と同様に、ユーザは異常系のテストのために、異常系の期待値設定画面2fから異常系の期待値設定を選択することができる。
FIG. 47 is an explanatory diagram showing an example of an abnormal system expected
テスト支援装置1によれば、入力データ及び当該入力データに対応する出力データ、並びに入力データを変化させた変化入力データ及び当該変化入力データに対応する変化出力データに基づいて、テスト対象プログラム2Pの動作特性を示す直線式を算出することができる。
According to the
テスト支援装置1は、入力データの値の近傍前後で、入力変化と出力変化との比が一定でない場合、かかる入出力データ組は分析2で利用しない。一方、テスト支援装置1は、入力データの値の近傍前後で、入力変化と出力変化との比が一定である場合、かかる入出力データ組を分析2で利用する。これにより、非線形データを入力変化と出力変化との対応関係を示す直線式を算出するための材料から除外することで、テスト支援装置1は分析結果の信頼性を担保することができる。
The
テスト支援装置1は、1つの画面項目に入力される複数の入力データに対応する複数の直線式が一致する場合と一致しない場合とに分けて、直線式及び期待値の出力を行う。これにより、ユーザは期待値を設定するための判断材料を取得することができ、期待値の設定の選択幅を広げることができる。
The
テスト支援装置1は、出力データが正常系であることを確認した入力データだけを変化させてテスト対象プログラム2Pの動作特性を示す直線式を算出する。異常系の入力データを変化させても、変化出力データは異常系のままである。そのため、正常系の入出力データ組を収集することは、期待値設定のための分析にとって生産的である。
The
テスト支援装置1は、変化出力データが異常系である場合、この変化出力データに対応する変化入力データを修正し、再びテスト対象プログラム2Pを実行する。これにより、分析対象である正常系の入出力データ組のデータ数を増やすことができ、テスト支援装置1は分析結果の信頼性を高めることができる。
When the change output data is abnormal, the
図45及び図46の入出力関係の式として、分析2で算出された式が表示される。しかし、期待値設定画面1fには、入出力関係の式に対応する直線が図41、図43及び図44のようにビジュアル化されて表示されてもよい。
As the input / output relationship expressions in FIGS. 45 and 46, the expression calculated in the
本実施の形態では、画面からの入力データを中心に扱った。一方、DBについては、テーブルの列の値又はレコード数を変化させることにより、入出力データ組を生成することができる。従って、DBについても期待値設定画面1fを表示することができる。しかし、レコード追加、レコード変更及びレコード削除等のアクションについては、入力変化と出力変化との関係を数量化できる場合とできない場合とがある。まず、数量化できる場合について説明する。
In this embodiment, the input data from the screen is mainly handled. On the other hand, for DB, an input / output data set can be generated by changing the value of the table column or the number of records. Therefore, the expected
例えば、住所登録画面があり、住所項目に住所を入力して登録ボタンを押下した場合、住所を記録する住所テーブルに入力した住所を1レコードとして追加するDB操作プログラムがあるものとする。住所は住所テーブルの住所列に格納されるものとする。
かかる場合、入力データである住所の文字列を一文字追加又は一文字削除して変化入力データを生成するとき、変化入力データがそのまま住所テーブルに追加される。この例は、図45及び図46の転記に該当し、入出力関係の式は住所登録画面.住所=住所テーブル.住所と記述することができ、グラフ化も可能である。
For example, it is assumed that there is an address registration screen and there is a DB operation program for adding an address input to an address table for recording an address as one record when an address is input in an address item and a registration button is pressed. The address is stored in the address column of the address table.
In such a case, when changing character data is generated by adding or deleting a character string of an address that is input data, the changing character data is added to the address table as it is. This example corresponds to the transcription of FIG. 45 and FIG. 46, and the input / output relation formula is the address registration screen. Address = address table. It can be described as an address and can be graphed.
一方、DB操作プログラムにおいて、レコード追加、レコード変更及びレコード削除等のアクションを出力ととらえた場合、出力結果はアクションの有無又はアクションの成功、失敗となる。この出力結果はブール値に変換することはできるが、図41、図43及び図44のようなグラフ化は困難である。かかる場合、テスト支援装置1は、テーブルの変化だけでも出力してよい。
On the other hand, when an action such as record addition, record change, and record deletion is regarded as an output in the DB operation program, the output result is the presence or absence of the action or the success or failure of the action. Although this output result can be converted into a Boolean value, it is difficult to make a graph as shown in FIGS. 41, 43 and 44. In such a case, the
図48は、テーブル変化一覧画面3fの一例を示す説明図である。テーブル変化一覧画面は、入力データの変化に対応するテーブルの変化を示す画面である。ステージ、入力組ID、ID及び入力データ種別は、夫々図17のステージ、入力組ID、ID及び入力データ種別と同じである。結果DBには、各テーブルの変化が示される。
例えば、ある住所を入力データとし、ID=T1とする。入力データの住所を変化させた住所を変化入力データとし、ID=T1v1、T1v2とする。CPU11は、ID=T1、T1v1、T1v2の出力を夫々追加成功又は追加失敗として入出力データ組ファイル2Fに記録する。図48は、その結果をまとめた一例である。
DB操作に失敗する出力結果は、多くの場合異常系であると考えられる。そこで、図47の異常系の期待値設定画面2fに図48の入力データ種別及び結果DBが追加されてもよい。
FIG. 48 is an explanatory diagram showing an example of the table
For example, an address is input data, and ID = T1. Addresses obtained by changing the address of the input data are set as changed input data, and ID = T1v1 and T1v2. The
An output result that fails in the DB operation is considered to be an abnormal system in many cases. Therefore, the input data type and result DB of FIG. 48 may be added to the abnormal expected
分析2では、分析1により1つの入力データに対して傾きが一致すると判定された直線の式を求める。しかし、分析1を実行せずに、分析2を実行してもよい。かかる場合、1つの入力データに対して例えば2つの変化入力データを生成する必要はなく、1つの入力データに対して1つの変化入力データを生成する。従って、1つの入力データに対して取得される変化出力データも1つである。
例えば、図21のような入力と出力との対応関係を示すグラフ上において、入力データ及び出力データの値に対応する点が1つ求まる。また、変化入力データ及び変化出力データの値に対応する点がもう1つ求まる。従って、1つの入力データに対して2点が求まるので、1つの入力データに対して1つの直線を算出することが可能である。
In
For example, one point corresponding to the values of the input data and the output data is obtained on the graph showing the correspondence between the input and the output as shown in FIG. Further, another point corresponding to the values of the change input data and the change output data is obtained. Therefore, since two points are obtained for one input data, one straight line can be calculated for one input data.
テスト支援装置1を動作させるためのプログラム1Pは、ディスクドライブ15に光ディスク1aを読み取らせてハードディスク14に記録してもよい。また、プログラム1Pは、インターネットNを介して接続される他の情報処理装置又は記録装置(図示せず)からダウンロードすることも可能である。あるいは、また、プログラム1Pを記録したフラッシュメモリ等の半導体メモリ1cがテスト支援装置1内に実装されてもよい。
The
以上の実施の形態に関し、さらに以下の付記を開示する。 Regarding the above embodiment, the following additional notes are disclosed.
(付記1)
対象プログラムのテストを支援する処理をコンピュータに実行させるコンピュータプログラムにおいて、
第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、
該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、
前記記録手段から第2入力データを取得し、
該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、
取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する
処理をコンピュータに実行させるコンピュータプログラム。
(Appendix 1)
In a computer program that causes a computer to execute processing that supports testing of a target program,
Obtaining the first input data from the recording means in which the first input data and the second input data different from the first input data are recorded in association with each other;
Obtaining first output data output from the target program based on the first input data;
Obtaining second input data from the recording means;
Obtaining second output data output from the target program based on the second input data;
A computer program for causing a computer to execute a process of calculating a relational expression related to input / output data of the target program based on the acquired first and second input data and first and second output data.
(付記2)
単一の前記第1入力データの値又はデータ量を変化させて複数の第2入力データを生成し、
生成した複数の前記第2入力データを前記記録手段に記録し、
前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された第2出力データを複数取得し、
前記第1入力データの各変化に対応させて、前記第1及び第2入力データの間の変化と、前記第1及び第2出力データの間の変化との比を複数算出し、
前記関係式を算出する処理は、複数の前記比が等しい場合、該関係式を算出する
付記1に記載のコンピュータプログラム。
(Appendix 2)
Generating a plurality of second input data by changing a value or a data amount of a single first input data;
Recording the plurality of generated second input data in the recording means;
The process of acquiring the second output data acquires a plurality of second output data output from the target program based on the plurality of second input data,
Corresponding to each change of the first input data, a plurality of ratios of the change between the first and second input data and the change between the first and second output data are calculated,
The computer program according to
(付記3)
複数の異なる前記第1入力データを夫々変化させて複数の第2入力データを生成し、
生成した複数の前記第2入力データを前記記録手段に記録し、
前記第1出力データを取得する処理は、複数の異なる前記第1入力データに基づいて前記対象プログラムから夫々出力された複数の第1出力データを取得し、
前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された複数の第2出力データを取得し、
前記関係式を算出する処理は、互いに対応する前記複数の第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記関係式を複数算出し、
複数の前記関係式の間で該関係式の異同を判定する
付記1又は付記2に記載のコンピュータプログラム。
(Appendix 3)
A plurality of different first input data are respectively generated to generate a plurality of second input data;
Recording the plurality of generated second input data in the recording means;
The process of acquiring the first output data acquires a plurality of first output data respectively output from the target program based on a plurality of different first input data,
The process of acquiring the second output data acquires a plurality of second output data output from the target program based on the plurality of second input data,
The process of calculating the relational expression calculates a plurality of the relational expressions based on the plurality of first and second input data and the first and second output data corresponding to each other,
The computer program according to
(付記4)
前記対象プログラムのテストは複数のテスト項目を有し、
前記第2入力データを生成する処理は、同一テスト項目における複数の異なる第1入力データを夫々変化させて複数の第2入力データを生成する
付記3に記載のコンピュータプログラム。
(Appendix 4)
The test of the target program has a plurality of test items,
The computer program according to
(付記5)
前記第1出力データがエラー処理に関する情報を含むか否かに基づいて、該第1出力データは異常であるか否かを判定し、
前記第2入力データを生成する処理は、異常でないと判定した前記第1出力データに対応する第1入力データを変化させて第2入力データを生成する
付記2から付記4までのいずれか一つに記載のコンピュータプログラム。
(Appendix 5)
Determining whether the first output data is abnormal based on whether the first output data includes information on error handling;
The process of generating the second input data includes generating the second input data by changing the first input data corresponding to the first output data determined not to be abnormal. Any one of
(付記6)
前記第2出力データがエラー処理に関する情報を含むか否かに基づいて、該第2出力データは異常であるか否かを判定し、
異常であると判定した前記第2出力データに対応する第2入力データを所定の規則に従って変更し、
前記第2出力データを取得する処理は、変更した前記第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する
付記1から付記5までのいずれか一つに記載のコンピュータプログラム。
(Appendix 6)
Determining whether the second output data is abnormal based on whether the second output data includes information on error handling;
Changing the second input data corresponding to the second output data determined to be abnormal according to a predetermined rule;
The computer according to any one of
(付記7)
前記第1出力若しくは第2出力データ、1つ若しくは複数の前記関係式又は前記関係式の異同を判定する処理が判定した判定結果を出力手段に出力するデータを生成する
付記3又は付記4に記載のコンピュータプログラム。
(Appendix 7)
The first output or the second output data, one or a plurality of the relational expressions, or data for outputting the determination result determined by the process for determining the difference between the relational expressions is generated to output means. Computer program.
(付記8)
前記関係式は一次関数の式である
付記1から付記7までのいずれか一つに記載のコンピュータプログラム。
(Appendix 8)
The computer program according to any one of
(付記9)
前記エラー処理は、前記対象プログラムの異常終了処理、例外の発生処理又はエラー画面への遷移処理を含む
付記5又は付記6に記載のコンピュータプログラム。
(Appendix 9)
The computer program according to
(付記10)
対象プログラムのテストを支援するテスト支援方法において、
コンピュータが、
第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、
該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、
前記記録手段から第2入力データを取得し、
該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、
取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する
テスト支援方法。
(Appendix 10)
In the test support method for supporting the test of the target program,
Computer
Obtaining the first input data from the recording means in which the first input data and the second input data different from the first input data are recorded in association with each other;
Obtaining first output data output from the target program based on the first input data;
Obtaining second input data from the recording means;
Obtaining second output data output from the target program based on the second input data;
A test support method for calculating a relational expression related to input / output data of the target program based on the acquired first and second input data and first and second output data.
(付記11)
対象プログラムのテストを支援するテスト支援装置において、
第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段と、
該記録手段に記録された第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得する第1取得部と、
前記記録手段に記録された第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する第2取得部と、
前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する算出部と
を備えるテスト支援装置。
(Appendix 11)
In the test support device that supports the test of the target program,
Recording means in which first input data and second input data different from the first input data are recorded in association with each other;
A first acquisition unit for acquiring first output data output from the target program based on first input data recorded in the recording means;
A second acquisition unit for acquiring second output data output from the target program based on the second input data recorded in the recording means;
A test support apparatus comprising: a calculation unit that calculates a relational expression related to input / output data of the target program based on the first and second input data and the first and second output data.
1 テスト支援装置
11 CPU
13 RAM
14 ハードディスク
17 表示部
25 異常系判定部
26 変化入力生成部
27 入出力組収集部
28 入力組修正部
29 入出力組分析部
30 期待値設定支援部
1P プログラム
2P テスト対象プログラム
1a 光ディスク
1
13 RAM
DESCRIPTION OF
Claims (8)
第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、
該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、
前記記録手段から第2入力データを取得し、
該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、
取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する
処理をコンピュータに実行させるコンピュータプログラム。 In a computer program that causes a computer to execute processing that supports testing of a target program,
Obtaining the first input data from the recording means in which the first input data and the second input data different from the first input data are recorded in association with each other;
Obtaining first output data output from the target program based on the first input data;
Obtaining second input data from the recording means;
Obtaining second output data output from the target program based on the second input data;
A computer program for causing a computer to execute a process of calculating a relational expression related to input / output data of the target program based on the acquired first and second input data and first and second output data.
生成した複数の前記第2入力データを前記記録手段に記録し、
前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された第2出力データを複数取得し、
前記第1入力データの各変化に対応させて、前記第1及び第2入力データの間の変化と、前記第1及び第2出力データの間の変化との比を複数算出し、
前記関係式を算出する処理は、複数の前記比が等しい場合、該関係式を算出する
請求項1に記載のコンピュータプログラム。 Generating a plurality of second input data by changing a value or a data amount of a single first input data;
Recording the plurality of generated second input data in the recording means;
The process of acquiring the second output data acquires a plurality of second output data output from the target program based on the plurality of second input data,
Corresponding to each change of the first input data, a plurality of ratios of the change between the first and second input data and the change between the first and second output data are calculated,
The computer program according to claim 1, wherein the process of calculating the relational expression calculates the relational expression when a plurality of the ratios are equal.
生成した複数の前記第2入力データを前記記録手段に記録し、
前記第1出力データを取得する処理は、複数の異なる前記第1入力データに基づいて前記対象プログラムから夫々出力された複数の第1出力データを取得し、
前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された複数の第2出力データを取得し、
前記関係式を算出する処理は、互いに対応する前記複数の第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記関係式を複数算出し、
複数の前記関係式の間で該関係式の異同を判定する
請求項1又は請求項2に記載のコンピュータプログラム。 A plurality of different first input data are respectively generated to generate a plurality of second input data;
Recording the plurality of generated second input data in the recording means;
The process of acquiring the first output data acquires a plurality of first output data respectively output from the target program based on a plurality of different first input data,
The process of acquiring the second output data acquires a plurality of second output data output from the target program based on the plurality of second input data,
The process of calculating the relational expression calculates a plurality of the relational expressions based on the plurality of first and second input data and the first and second output data corresponding to each other,
The computer program according to claim 1, wherein a difference between the relational expressions is determined among the plurality of relational expressions.
前記第2入力データを生成する処理は、同一テスト項目における複数の異なる第1入力データを夫々変化させて複数の第2入力データを生成する
請求項3に記載のコンピュータプログラム。 The test of the target program has a plurality of test items,
The computer program according to claim 3, wherein the process of generating the second input data generates a plurality of second input data by changing a plurality of different first input data in the same test item.
前記第2入力データを生成する処理は、異常でないと判定した前記第1出力データに対応する第1入力データを変化させて第2入力データを生成する
請求項2から請求項4までのいずれか一つに記載のコンピュータプログラム。 Determining whether the first output data is abnormal based on whether the first output data includes information on error handling;
The process of generating the second input data generates the second input data by changing the first input data corresponding to the first output data determined not to be abnormal. The computer program according to one.
異常であると判定した前記第2出力データに対応する第2入力データを所定の規則に従って変更し、
前記第2出力データを取得する処理は、変更した前記第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する
請求項1から請求項5までのいずれか一つに記載のコンピュータプログラム。 Determining whether the second output data is abnormal based on whether the second output data includes information on error handling;
Changing the second input data corresponding to the second output data determined to be abnormal according to a predetermined rule;
The process for acquiring the second output data acquires the second output data output from the target program based on the changed second input data. Computer program.
コンピュータが、
第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、
該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、
前記記録手段から第2入力データを取得し、
該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、
取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する
テスト支援方法。 In the test support method for supporting the test of the target program,
Computer
Obtaining the first input data from the recording means in which the first input data and the second input data different from the first input data are recorded in association with each other;
Obtaining first output data output from the target program based on the first input data;
Obtaining second input data from the recording means;
Obtaining second output data output from the target program based on the second input data;
A test support method for calculating a relational expression related to input / output data of the target program based on the acquired first and second input data and first and second output data.
第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段と、
該記録手段に記録された第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得する第1取得部と、
前記記録手段に記録された第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する第2取得部と、
前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する算出部と
を備えるテスト支援装置。 In the test support device that supports the test of the target program,
Recording means in which first input data and second input data different from the first input data are recorded in association with each other;
A first acquisition unit for acquiring first output data output from the target program based on first input data recorded in the recording means;
A second acquisition unit for acquiring second output data output from the target program based on the second input data recorded in the recording means;
A test support apparatus comprising: a calculation unit that calculates a relational expression related to input / output data of the target program based on the first and second input data and the first and second output data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011018184A JP2012159952A (en) | 2011-01-31 | 2011-01-31 | Computer program, test support method and test support device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011018184A JP2012159952A (en) | 2011-01-31 | 2011-01-31 | Computer program, test support method and test support device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012159952A true JP2012159952A (en) | 2012-08-23 |
Family
ID=46840450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011018184A Withdrawn JP2012159952A (en) | 2011-01-31 | 2011-01-31 | Computer program, test support method and test support device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012159952A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017072828A1 (en) * | 2015-10-26 | 2017-05-04 | 株式会社日立製作所 | Method for assisting with debugging, and computer system |
JP2017173483A (en) * | 2016-03-23 | 2017-09-28 | 株式会社Subaru | Training data generation device, training data generation method and training data generation program |
-
2011
- 2011-01-31 JP JP2011018184A patent/JP2012159952A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017072828A1 (en) * | 2015-10-26 | 2017-05-04 | 株式会社日立製作所 | Method for assisting with debugging, and computer system |
JPWO2017072828A1 (en) * | 2015-10-26 | 2018-03-08 | 株式会社日立製作所 | Method and computer system for supporting debugging |
US10235270B2 (en) | 2015-10-26 | 2019-03-19 | Hitachi Ltd. | Method for assisting with debugging, and computer system |
JP2017173483A (en) * | 2016-03-23 | 2017-09-28 | 株式会社Subaru | Training data generation device, training data generation method and training data generation program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150007085A1 (en) | Data visualizations including interactive time line representations | |
US20130166515A1 (en) | Generating validation rules for a data report based on profiling the data report in a data processing tool | |
US20060287966A1 (en) | Methods and systems for authoring customized contracts using contract templates that include user-configured rules and questions | |
US20170329853A1 (en) | Techniques for curating data for query processing | |
US8595610B2 (en) | Method, software and computer system for manipulating aggregated data | |
US20080295007A1 (en) | Data Visualization | |
JP2017091329A (en) | Database analysis device and database analysis method | |
JP2009015603A (en) | Operation item extraction device, operation item extraction method, and operation item extraction program | |
JP2007304660A (en) | Command execution result recording system and command execution result recording method | |
US8924871B2 (en) | GUI evaluation system, GUI evaluation method, and GUI evaluation program | |
Ramirez et al. | Douglas Montgomery's Introduction to Statistical Quality Control: A JMP Companion | |
JP2012159952A (en) | Computer program, test support method and test support device | |
US8392442B2 (en) | Method and computer program product for creating content management systems | |
JP5113864B2 (en) | Report information collection system, method and program | |
JPWO2009011057A1 (en) | Application analysis program, application analysis method, and application analysis apparatus | |
JP2007304846A (en) | Specification creation support method and specification creation support apparatus | |
JP2005115776A (en) | Design change support system | |
JP2019091383A (en) | Input screen generating apparatus, input screen generating method, and program | |
JP2008071105A (en) | Management planning teaching system and management planning teaching program | |
JP2017072957A (en) | File edition method, file edition device and file edition program | |
JP2017191434A (en) | Risk evaluation device and risk evaluation method | |
JP2006293562A (en) | Management reorganization support apparatus | |
JP2008117029A (en) | Method for checking out invalid procedure during creation of operational work procedure, method for generating command for preventing occurrence of failure, automatic execution command generation system, and program therefor | |
McFedries | Excel Data Analysis: Your visual blueprint for analyzing data, charts, and pivotTables | |
WO2024075323A1 (en) | Business process generation device, and business process generation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140401 |