JP5703195B2 - Differential comparison test system and test method for new and old versions of program - Google Patents
Differential comparison test system and test method for new and old versions of program Download PDFInfo
- Publication number
- JP5703195B2 JP5703195B2 JP2011249358A JP2011249358A JP5703195B2 JP 5703195 B2 JP5703195 B2 JP 5703195B2 JP 2011249358 A JP2011249358 A JP 2011249358A JP 2011249358 A JP2011249358 A JP 2011249358A JP 5703195 B2 JP5703195 B2 JP 5703195B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- version
- input
- program
- new
- 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.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 title claims description 297
- 238000010998 test method Methods 0.000 title claims description 18
- 238000009825 accumulation Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 65
- 238000000034 method Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 230000007717 exclusion Effects 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 229940060321 after-bug Drugs 0.000 description 1
- 238000013142 basic testing Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Description
本発明は、プログラムのテスト方法に関し、特にプログラムの新旧バージョンに対する出力結果の差分を比較することによる差分比較テストシステム及びテスト方法に関する。 The present invention relates to a program test method, and more particularly, to a difference comparison test system and a test method by comparing differences in output results for new and old versions of a program.
従来、プログラムテストにおいては、被テストプログラムの出力結果と正しい出力結果と比較して不具合を発見するテスト手法が広く行われている。しかし、プログラムの改定時や不具合修正時には、修正した箇所とは別の箇所におもわぬ不具合が発生することが多々あり、新機能や修正箇所のテストだけでなく、既存機能に悪影響を及ぼしていないかどうかを確認するための、いわゆるデグレードテストやリグレッションテストと呼ばれるテストを行うことが欠かせない。 Conventionally, in a program test, a test method for finding a defect by comparing an output result of a program under test with a correct output result has been widely performed. However, when a program is revised or a bug is fixed, there are many cases where a bug other than the one that has been corrected occurs, and not only a new function or a test of the correction, but also an existing function is not adversely affected. It is indispensable to perform a so-called degradation test or a regression test to check whether or not.
このためプログラム改定時のテストを効率的に行うためのテスト手法が多数考案されている。例えば、特許文献1に記載のテスト方法においては、被テストプログラムに対するテスト操作手順とその操作手順に対する被テストプログラムの出力結果を記録し、同じ被テストプログラムに対して、記録したテスト操作手順を再生し、その出力結果と記録した出力結果との差分を取り、これを比較除外データとして設定する。そして被テストプログラムを改正した後、その改正後被テストプログラムに対して、前に記録したテスト操作手順を再生し、その出力結果と記録した出力結果との差分を取り、さらに前記比較除外データに存在しない差分を真の差分として出力することを特徴としている。
For this reason, a number of test methods have been devised for efficiently performing tests at the time of program revision. For example, in the test method described in
また、特許文献2に記載のテスト方法においては、ウェブページに対するデータ入力操作を検出して操作内容ファイルに記録し、操作内容ファイルに応じてプログラムコードを設定することにより、ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成し、テスト・プログラム実行後のウェブページをテスト結果データとして記録する。そして、前回のテスト・プログラム実行後の前回テスト結果データと、今回のテスト・プログラム実行後の今回テスト結果データとを比較し、比較の結果、不一致部分を識別表示した比較結果画像を出力することを特徴としている。 Further, in the test method described in Patent Document 2, a data input operation on a web page is detected and recorded in an operation content file, and a program code is set according to the operation content file, so that the execution is performed on the web page. A test program for reproducing the series of operations is generated, and the web page after the test program is executed is recorded as test result data. Then, compare the previous test result data after the previous test program execution with the current test result data after the current test program execution, and output a comparison result image that identifies and displays the mismatched part as a result of the comparison. It is characterized by.
特許文献1に記載のテスト方法は、プログラムの改正前後でプログラム実行結果を比較し差分をとる差分比較のテスト手法であり、あらかじめ改正前の被テストプログラムに対して、操作記録時に作成した比較元マスタとテスト実行時の出力結果を比較し、両者の差があればそれを仕様上の差分として比較除外としておき、その後、改正後のプログラムに対して改正前の出力結果との比較テストを行い、この比較除外を除いた真の差分のみを出力する。しかし、テストデータはテスト実施者等が入力することを前提としており、様々なバリエーションに対応するようなテストデータの作成には多くの時間を要するという課題がある。また、同じ改正前のプログラムに対しテストを2回行い、実行日時の違いにより生じた差分を比較除外としてしまうため、日付や時刻に依存するアプリケーション・プログラム(例えば、満期日や利子の計算などを扱うプログラム)では、必要な入出力項目が比較除外に含まれてしまいかねないといった課題もある。
The test method described in
また、特許文献2に記載のテスト方法は、同じく差分比較のテスト手法であり、プログラムの出力結果を画面上の出力結果で比較し、不一致部分の画像を出力するものであるが、比較のための多くの画面画像を保存して比較する必要があり、テストシステムに負荷がかかるといった課題がある。また、プログラムの出力結果を画面上でなくデータベース上のデータとして他のシステムへのインプットとして渡すようなプログラムには適用できないという課題もある。 The test method described in Patent Document 2 is also a difference comparison test method, which compares the program output result with the output result on the screen and outputs the image of the inconsistent portion. It is necessary to store and compare many screen images, and there is a problem that a load is applied to the test system. In addition, there is a problem that it cannot be applied to a program in which an output result of a program is passed as input to another system as data on a database instead of on a screen.
プログラムのテストにおいて、様々な入力パラメータのバリエーションをすべてチェックすることは膨大な作業であり、特に既存機能を確認するためのリグレッションテストやデグレードテストは大変なわりに退屈な作業でもあるので、小規模なバージョンアップの際に毎回行うのは時間との兼ね合いで困難となる場合が多い。またパッケージソフトを購入して、システムに組み入れている場合には、入力と出力以外はブラックボックスであり、機能とプログラムモジュールの関係も不明なので、プログラムの一部の修正が、他の関係ない部分に影響し予想外の不具合が発生してないか確認する必要もある。 In testing a program, checking all the variations of various input parameters is an enormous amount of work, especially the regression test and degradation test to confirm the existing functions are both tedious but difficult. In many cases, it is difficult to carry out each version upgrade in consideration of time. If you purchase package software and incorporate it into the system, it is a black box except for input and output, and the relationship between functions and program modules is unclear. It is also necessary to confirm whether or not an unexpected failure has occurred.
したがって、本発明では、上記のような課題に鑑み、テストデータの作成の手間を大幅に軽減するため、様々なバリエーションのテストデータをプログラムが稼動実績のある多数の実環境から自動的に作成し、かつプログラムの出力結果を画面画像として保存する必要がなく、新旧バージョン(改定後と改定前)のプログラムの出力結果の差分を容易に比較することのできる差分比較テストシステム及びテスト方法を提供することを目的とする。 Therefore, in the present invention, in view of the above-described problems, various variations of test data are automatically created from a large number of actual environments where the program has been operated in order to greatly reduce the labor of creating test data. There is also provided a difference comparison test system and a test method capable of easily comparing the difference between the output results of the new and old versions (after revision and before revision) without saving the output result of the program as a screen image. For the purpose.
上記課題を解決するため、本発明のテストシステムは、以下のような解決手段を提供する。 In order to solve the above problems, the test system of the present invention provides the following solution.
プログラムの改定バージョンに対するテストを支援するテストシステムであって、前記プログラムの改定前バージョンが稼動する実環境において、操作画面を介しての入出力を記録したオペレーションログを集積したオペレーションログ集積DBと、前記プログラムの改定前及び改定後バージョンにおける入出力項目をそれぞれ定義した旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて、前記オペレーションログ集積DBから、テストデータを生成するテストデータ生成部と、前記プログラムの改定後のバージョンと改定前のバージョンを適用したテスト環境それぞれに対して、前記テストデータ生成部が生成したテストデータを投入しテストを自動実行させ、前記テスト環境それぞれからテスト結果を取得するテスト実行部と、前記テスト結果から、前記旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて比較項目を取り出し、旧バージョンテスト結果と新バージョンテスト結果の差分を抽出して差分比較結果テーブルに出力する差分比較部と、を備えることを特徴とする。 A test system that supports a test for a revised version of a program, in an actual environment in which the version before the revision of the program operates, an operation log accumulation DB that accumulates operation logs that record input and output via an operation screen; A test data generation unit that generates test data from the operation log accumulation DB using an old version input / output item table and a new version input / output item table respectively defining input / output items in the pre-revision and post-revision versions of the program The test data generated by the test data generation unit is input to each test environment to which the revised version of the program and the version before the revision are applied, and the test is automatically executed. Get From the test execution unit and the test result, the comparison item is extracted using the old version input / output item table and the new version input / output item table, and the difference between the old version test result and the new version test result is extracted and the difference comparison result And a difference comparison unit that outputs to the table.
このような構成にすることで、プログラムの改定時(バージョンアップやリリースアップ時)におけるテストデータの作成を、プログラムの旧バージョン(改定前バージョン)が稼働している実績ある多数の実環境からのオペレーションログを集積したDBから自動的に作成することができる。このとき、操作画面を介しての新バージョン(改定後バージョン)及び旧バージョンのプログラムの入出力項目を定義した入出力項目テーブルが用いてテストのための入力データが作成される。また、生成した同じテストデータを、新旧バージョンプログラムを適用したテスト環境それぞれに投入してそのテスト結果を取得し、新バージョンのテスト結果が旧バージョンのテスト結果と比較される。テストの比較結果は、新旧バージョン入出力項目テーブルを再び用いて比較すべき項目を抽出した差分比較結果テーブル上に出力され、テスト結果の解析に用いられる。 With this configuration, test data can be created at the time of program revision (version upgrade or release upgrade) from many actual environments in which the old version of the program (version before revision) is running. The operation log can be automatically created from the accumulated DB. At this time, input data for testing is created using an input / output item table that defines input / output items of the new version (revised version) and the old version of the program via the operation screen. In addition, the same test data generated is input to each test environment to which the old and new version programs are applied, and the test results are obtained. The test results of the new version are compared with the test results of the old version. The test comparison result is output on the difference comparison result table in which items to be compared are extracted again using the new and old version input / output item tables, and is used for analysis of the test results.
このようにすることで、設計時には想定しづらかった実環境での多くのバリエーションを含んだテストデータが豊富になり、テストカバレッジを広げることができる。かつ、新旧バージョンのテスト結果の差分比較を容易にすることでリグレッションテストやデグレードテストの作業が大幅に緩和することができる。 By doing so, the test data including many variations in the real environment that were difficult to assume at the time of design becomes abundant, and the test coverage can be expanded. In addition, by making it easy to compare the differences between the test results of the old and new versions, the work of the regression test and the degradation test can be greatly eased.
また、上記のテストシステムは、下記のような特徴を更に備えるように構成してもよい。すなわち、前記実環境でのオペレータによるオペレーションログとは別に、テスト環境でのテストオペレータによる新機能のオペレーションログを記録する新機能オペレーションログDBをさらに備え、前記テストデータ生成部は、前記新機能オペレーションログDBから、前記プログラムの新バージョンでのみサポートされている機能のテストデータを生成することを特徴とする。 Further, the above test system may be configured to further include the following features. That is, in addition to the operation log by the operator in the actual environment, the test data generation unit further includes a new function operation log DB for recording an operation log of the new function by the test operator in the test environment, Test data for functions supported only in the new version of the program is generated from the log DB.
すなわち、実環境でのオペレータによるオペレーションログとは別に、テスト環境でのテストオペレータ(テスター)による新機能を含んだオペレーションログを記録する新機能オペレーションログDBを備えることで、新機能のテストデータを、実環境のオペレーションログからの場合と同様の手順で生成することができる。 In other words, in addition to the operation log by the operator in the actual environment, a new function operation log DB that records the operation log including the new function by the test operator (tester) in the test environment is provided. It can be generated by the same procedure as that from the operation log in the real environment.
また、上記のテストシステムの差分比較部は、下記のような特徴を更に備えるように構成してもよい。すなわち、前記差分比較部は、前記プログラムの新バージョンでのみ実行可能なテストデータを実行した際に、前記新バージョンでのテスト結果と、予め作成した新機能比較マスタDBを検索して得られた対応データとを比較し、前記差分比較結果テーブルに出力することを特徴とする。 The difference comparison unit of the test system may be configured to further include the following features. That is, when the difference comparison unit executes test data that can be executed only in the new version of the program, the difference comparison unit is obtained by searching the test result in the new version and the new function comparison master DB created in advance. The corresponding data is compared and output to the difference comparison result table.
このように構成することで、新バージョンでのみサポートされる新機能のテストデータであって、旧バージョンのテスト結果が存在しない場合、予め作成した新機能比較マスタDBを検索し、そこから対応する正しい出力結果のデータが得られればそのデータと新バージョンテスト結果とを比較するので、従来機能のテストの場合と同じ形式で差分比較結果テーブルに出力することができる。実環境でのオペレーションログに基づいて生成したテストデータでは、新旧で同じ機能の部分については実績のある旧バージョンと新バージョンのテスト結果を比較すれば、新バージョンでの不具合(デグレード)を発見することができるが、新バージョンでのみサポートされている機能は、旧バージョンのテスト結果と比較することはできない。したがって、通常は新機能のテストは、人間が仕様から想定される正しいテスト結果(比較マスタと呼ぶことにする)と実際のテスト結果とを見比べて比較することになるが、本テストシステムでは、比較マスタを本テストシステムが対象とするプログラムが出力する形式で予め作成しておくことで、比較マスタと新バージョンでのテスト結果との比較が、同じ差分比較結果テーブルを用いた形で実現できる。 By configuring in this way, when test data of a new function that is supported only in the new version and there is no test result of the old version, a new function comparison master DB created in advance is searched and the corresponding is performed from there. If the correct output result data is obtained, the new version test result is compared with the data, so that it can be output to the difference comparison result table in the same format as in the case of the test of the conventional function. In the test data generated based on the operation log in the real environment, if the test results of the old version and the new version with the same function are compared with the old and new, the new version will find a defect (degrade) However, features that are only supported in the new version cannot be compared with the test results of the previous version. Therefore, the test of a new function usually compares and compares the actual test result with the correct test result (referred to as a comparison master) that humans expect from the specification. In this test system, By creating the comparison master in advance in a format that is output by the program targeted by this test system, the comparison between the comparison master and the test result in the new version can be realized using the same difference comparison result table. .
また、上記のテストシステムは、下記のような特徴を更に備えるように構成してもよい。すなわち、前記新バージョン入出力項目テーブルは、前記プログラムの旧バージョンから入出力項目に変更がない前記操作画面に対しては、前記旧バージョン入出力項目テーブルで代用することを特徴とする。 Further, the above test system may be configured to further include the following features. That is, the new version input / output item table is substituted by the old version input / output item table for the operation screen in which the input / output items are not changed from the old version of the program.
このように構成することで、操作画面によって新旧のバージョンで入出力項目に変更のないものについては、新バージョン入手出力項目テーブルの作成はせず、旧バージョン入出力項目で代用することで、項目の変更のあるなしに係らず、同じテスト操作を実行することができる。 By configuring in this way, items that do not change the input / output items in the old and new versions depending on the operation screen, do not create the new version acquisition output item table, but substitute the old version input / output items for the items. The same test operation can be performed with or without changes.
また、上記のテストシステムのテスト実行部は、下記のような特徴を更に備えるように構成してもよい。すなわち、前記テスト実行部は、テスト環境でのプログラム実行日時を、前記オペレーションログに記録されたプログラムの実行日時に調整することを特徴とする。 Further, the test execution unit of the test system may be configured to further include the following features. That is, the test execution unit adjusts the program execution date and time in the test environment to the program execution date and time recorded in the operation log.
このように構成することで、オペレーションログに記録されたプログラムの実行日時に合わせて、テスト環境の内部時計を一時的に調整し、テスト時のプログラム実行日時を一致させることで、実行日時によって出力結果が変動するプログラムに対しても、比較除外の手段などを用いなくとも、同じ差分比較の手法を適用することができる。 With this configuration, the internal clock of the test environment is temporarily adjusted according to the execution date and time of the program recorded in the operation log, and the program execution date and time at the time of the test are matched to output according to the execution date and time. The same difference comparison method can be applied to a program whose result fluctuates without using a comparison exclusion means.
また、上記のテストシステムの差分比較部は、下記のような特徴を更に備えるように構成してもよい。すなわち、前記差分比較部は、前記プログラムが前記操作画面を介して実行するトランザクション単位に1つのレコードを形成し、新バージョンのテスト結果と旧バージョンのテスト結果をレコード単位で比較し、差分があるレコードペアのみを差分比較結果テーブルに出力することを特徴とする。 The difference comparison unit of the test system may be configured to further include the following features. That is, the difference comparison unit forms one record for each transaction executed by the program via the operation screen, compares the test result of the new version and the test result of the old version in record units, and has a difference. Only the record pair is output to the difference comparison result table.
このように構成することで、操作画面を介して実行されるプログラムの処理単位であるトランザクション単位で新旧バージョンの入出力結果において差分のあるもののみが差分比較結果テーブルに出力され、比較し、解析を容易することができる。 By configuring in this way, only the difference between the input and output results of the old and new versions in the transaction unit, which is the processing unit of the program executed via the operation screen, is output to the difference comparison result table for comparison and analysis. Can be easy.
また、上記のテストシステムの差分比較部は、下記のような特徴を更に備えるように構成してもよい。すなわち、前記差分比較部は、前記プログラムの新バージョンのテスト結果と旧バージョンのテスト結果を前記レコード単位で比較し、新旧バージョンで対応するレコードに対して差分がある出力項目の識別表示手段を前記差分比較結果テーブルに出力することを特徴とする。 The difference comparison unit of the test system may be configured to further include the following features. That is, the difference comparison unit compares the test result of the new version of the program with the test result of the old version in units of records, and provides an identification display means for an output item having a difference with respect to records corresponding to the old and new versions. It outputs to a difference comparison result table, It is characterized by the above-mentioned.
このように構成することで、新旧で差分がある出力項目ごとにその差分を目立たせる識別表示手段(フラグ、色、図形など)を差分比較結果テーブルに出力するので、項目単位の差分の発見をさらに容易にすることができる。 By configuring in this way, the identification display means (flag, color, figure, etc.) that makes the difference noticeable for each output item that has a difference between the old and new is output to the difference comparison result table, so that the difference in the item unit can be found. It can be made easier.
なお、本発明のテストシステムは、下記のようなテスト方法の発明と捉えることもでき、本発明のテストシステムと同様な作用効果を奏する。 The test system of the present invention can also be regarded as an invention of the following test method, and has the same effects as the test system of the present invention.
プログラムの改定バージョンに対するテスト方法であって、前記プログラムの改定前バージョンが稼動する実環境において、操作画面を介しての入出力を記録したオペレーションログをオペレーションログ集積DBに集積するステップと、前記プログラムの改定前及び改定後バージョンにおける入出力項目をそれぞれ定義した旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて、前記オペレーションログ集積DBから、テストデータを生成するステップと、前記プログラムの改定後のバージョンと改定前のバージョンを適用したテスト環境それぞれに対して、前記テストデータを生成するステップで生成したテストデータを投入しテストを自動実行させるステップと、前記テスト環境それぞれからテスト結果を取得するステップと、前記テスト結果から、前記旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて比較項目を取り出し、旧バージョンテスト結果と新バージョンテスト結果の差分を抽出して差分比較結果テーブルに保存するステップと、を有することを特徴とするテスト方法。 A test method for a revised version of a program, comprising: accumulating an operation log in which an input / output via an operation screen is recorded in an operation log accumulation DB in an actual environment in which the version before the revision of the program operates; Generating test data from the operation log accumulation DB using the old version input / output item table and the new version input / output item table respectively defining the input / output items in the version before and after the revision of the program; For each test environment to which the version after revision and the version before revision are applied, the test data generated in the step of generating the test data is input and the test is automatically executed, and the test result is obtained from each test environment. Take A comparison item is extracted from the test result using the old version input / output item table and the new version input / output item table, and a difference between the old version test result and the new version test result is extracted. And storing the data in a test method.
本発明によれば、テストデータの作成の手間を大幅に軽減するため、様々なバリエーションのテストデータをプログラムが稼動実績のある多数の実環境から自動的に作成し、かつプログラムの出力結果を画面画像として保存する必要がなく新旧バージョンのプログラムの出力結果の差分を容易に比較する差分比較テストシステム及びテスト方法を提供することができる。 According to the present invention, in order to greatly reduce the labor of creating test data, various variations of test data are automatically created from a large number of actual environments where the program has been used, and the output results of the program are displayed on the screen. It is possible to provide a difference comparison test system and a test method that can easily compare differences between output results of old and new versions of programs without having to store them as images.
以下、添付図面を参照して、本発明を実施するための形態(以下、実施形態)について詳細に説明する。なお、実施形態の説明の全体を通して同じ要素には同じ番号を付している。 DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention (hereinafter referred to as embodiments) will be described in detail with reference to the accompanying drawings. Note that the same number is assigned to the same element throughout the description of the embodiment.
図1は、本発明の実施形態に係るテストシステム100の機能ブロックを示す図である。図示するように、本実施形態のテストシステム100は、プログラムテストを自動または半自動で行うことを支援するシステムであり、機能実行部として、オペレーションログからテストデータを生成するテストデータ生成部20,テストデータを被テストプログラムに投入するテスト実行部50,新旧バージョンプログラム出力結果を比較し、その差分を抽出する差分比較部70を含んでいる。
FIG. 1 is a diagram showing functional blocks of a
また、テストシステム100は、データ格納部として、被テストプログラムの実環境200から得られるオペレーションログ220を集積したオペレーションログ集積DB10(グローバルログ),新バージョンでのみサポートされる新機能をテストオペレータ(テスター)が操作したログを記録する新機能オペレーションログDB11,オペレーションログから生成したテストデータを格納するテストデータDB40,新旧バージョンの被テストプログラムのテスト結果をそれぞれ格納する新旧バージョンテスト結果データDB90、91,及び新機能比較マスタDB92を含んで構成される。また、テストシステム100は、その他入力データとして、新旧バージョン入出力項目テーブル30、31を含み、また、差分比較部70の出力データとして、差分比較結果テーブル80を含んで構成されている。以下、各機能ブロックの働きについて順に説明する。
In addition, the
実環境200は、既にリリースされた被テストプログラムの旧バージョンが実際に稼動しているシステム環境を示す。ここで扱う被テストプログラムは、実環境におけるオペレータが操作画面210から入力データをインプットし、出力結果を画面に表示させたり、DBに出力するようなアプリケーション・プログラムを想定している。ただし、ここでオペレータとは専門の端末操作員だけでなく、無人店舗等で端末を操作する個人顧客等を含むものとする。実環境200は、具体的には被テストプログラムを操作可能な店舗や支店(以下両者を合わせて拠点と呼ぶ)など複数の場所に存在する。各拠点では、オペレータの操作手順、入力データ及び出力データが逐次記録されるオペレーションログ220を有している。各オペレーションログ220の内容は、テストシステム100のオペレーションログ集積DB10に所定のタイミングで集積される。
The
テストデータ生成部20は、オペレーションログ集積DB10からオペレーションログの内容を解析し、被テストプログムが実行可能なテストデータ(テストファイル)に加工し、テストデータDB40に格納する。この加工の際には、予め用意された旧バージョン入出力項目テーブル30が参照される。オペレーションログには、入力項目と出力項目が含まれるが、テストデータとして必要なのは入力項目のみである。入出力項目テーブルとは、被テストプログラムの操作画面ごとに入力項目(入力フィールド)と出力項目(出力フィールド)を定義したテーブルであり、通常は画面設計の際に作成される。
The test
また、テストデータ生成部20は、新バージョンでのみサポートされている機能の画面操作を記録した新機能オペレーションログDB11から、新バージョンでのみ実行可能可能なテストデータを生成することができる。この場合も生成されるテストデータの形式(フォーマット)は、同じである。テストデータの具体例については後述する。
In addition, the test
被テストプログラムのバージョンアップの際に入出力項目が変更になった場合には、新バージョン入出力項目テーブル31が用意される。新バージョン入出力項目テーブル31は、今回のバージョンアップで新たにサポートされた機能(New Function)に対応する入出力項目や拡張されたパラメータ等を追加し、また、新バージョンではもはやサポートされない機能(Discontinue Function)に対応する入出力項目を削除するなどして旧バージョン入出力項目テーブル30から作成される。入出力項目テーブルについて詳しくは後述する。 If the input / output item is changed when the program under test is upgraded, a new version input / output item table 31 is prepared. The new version I / O item table 31 adds I / O items and extended parameters corresponding to the function (New Function) newly supported in this version upgrade, and functions that are no longer supported in the new version ( It is created from the old version input / output item table 30 by deleting input / output items corresponding to (Discontinue Function). Details of the input / output item table will be described later.
テスト実行部50は、テストデータDB40に格納されたテストデータを読み出し、新旧の被テストプログラムの実行環境60,61にそれぞれ入力して被テストプログラムを実行させる機能を果す。また、テスト実行部50は、新旧バージョン適用被テストプログラム実行環境60,61からテストデータを投入して得られたテスト結果をそれぞれ新旧バージョンテスト結果データDB90,91に格納する機能も果す。すなわち、テスト実行部40はテストを自動実行する機能を果す。このようなテストの実行手段は市販のツールなどで実現される(例えば、HP社のQTPなど)。もちろん、テストデータの形式は、市販ツールでサポートされているものであれば任意のものであってよいが、本発明の実施における被テストプログラムは金融関係のプログラムであることから、後述するOFS(Open Financial Service)ファイルと呼ばれるテストデータ形式を利用している。
The
差分比較部70は、新旧のバージョンのテスト結果をそれぞれ集積した新旧バージョンテスト結果データDB90,91からテスト結果データを読みだし、新旧バージョンのテスト結果データを、プログラムの処理の単位であるトランザクションレコード単位で比較し、新旧バージョンのテスト結果で異なっているレコードのみを入出力データと共に、差分比較結果テーブル80に出力する。ここで、差分比較結果テーブルの作成には、新旧バージョンの入出力項目テーブルが参照される。この場合には、入力項目だけでなく出力項目の欄も参照されるのはもちろんである。差分比較結果テーブル80は、詳しくは後述するが、テスト管理者やデバッグ担当者が解析しやすいように一般的な表形式で出力される。新バージョンでのみサポートされる新機能は、旧バージョンでは動作しないので、新バージョンテスト結果データDB91と予めテスト管理者等が仕様に基づき作成した新機能比較マスタDB92とが比較され、同様に差分比較結果テーブル80が出力される。
The
上記の機能ブロックの構成は、あくまで一例であり、一つの機能部を更に分割したり、複数の機能部をまとめて一つの機能部として構成してもよい。各機能部は、装置に内蔵されたCPU(Central Processing Unit)が、ROM(Read Only
Memory)またはハードディスク等の記憶装置に格納されたコンピュータ・プログラムを読み出し、CPUにより実行されたコンピュータ・プログラムが、記憶装置に格納されたデータベース(DB;Data Base)やメモリ上の記憶領域からテーブル等の必要なデータを読み書きし、場合によっては、関連するハードウェア(例えば、入出力装置、表示装置、通信インターフェース装置)を制御することによって実現される。また、本発明の実施形態におけるデータベース(DB)は、商用データベースであってよいが、単なるテーブルやファイルの集合体をも意味し、データベースの内部構造自体は問わない。
The configuration of the functional block described above is merely an example, and one functional unit may be further divided, or a plurality of functional units may be configured as one functional unit. Each functional unit has a CPU (Central Processing Unit) built in the device and a ROM (Read Only
A computer program stored in a storage device such as a memory or a hard disk is read, and the computer program executed by the CPU is stored in a database (DB; Data Base) stored in the storage device or a storage area on the memory. This is realized by reading / writing necessary data and controlling related hardware (for example, input / output device, display device, communication interface device) in some cases. In addition, the database (DB) in the embodiment of the present invention may be a commercial database, but it simply means a collection of tables and files, and the internal structure of the database itself does not matter.
図2は、本発明の実施形態に係るオペレータ操作画面、入出力項目テーブル、オペレーションログを示す図である。オペレータ操作画面210は、被テストプラグラムに対するユーザインターフェースのひとつであり、案件毎にユーザ入力及びプログラムからの出力結果を表示する一または複数の画面である。図示するように、オペレータ操作画面210には、オペレータが入力する複数の入力項目、プログラムの実行結果である1または複数の出力項目、及びオペレータが操作する1または複数の操作ボタンを表示する。また、オペレータが入力せずとも自動的に表示される入力項目(入力不可項目)も表示される。例えば、現在日時,画面ID,顧客番号を入力した際に表示される顧客氏名なども入力不可項目となる。
FIG. 2 is a diagram showing an operator operation screen, an input / output item table, and an operation log according to the embodiment of the present invention. The
新旧バージョン入出力項目テーブル30、31は、画面ごとに含まれる各入出力項目に対して、項目ID,値範囲(とりうる値が限定されている場合),備考(入出力項目の説明テキスト),入力/出力(入力か出力かの区別),表示/非表示(画面上に表示されるか否かの区別)をテーブル形式にまとめたものである。表示/非表示の区別を設けるのは、入出力の項目には必ずしも操作画面に表示する必要はないが被テストプログラムの入力/出力データとしては必要なものがあるからである。もっとも画面上には表示されるが、被テストプログラムの入力/出力データとして関係ない項目は入出力項目テーブルからは省略してもよい。例えば、ヘルプに対する表示や現在時刻の表示、またはログイン認証を被テストプログラムとは別のプログラムを、同じ操作画面から呼び出して行っている場合、そのパスワードや認証に必要なデータ等である。既に述べたように、被テストプログラムの新バージョンにおいて追加・変更された入出力項目がある場合には、新バージョン入出力項目テーブル31を旧バージョン入出力項目テーブル30から予め変換して作成しておく。入出力項目に追加・変更がなくとも値範囲(パラメータ範囲)に変更がある場合には新バージョン入出力項目テーブル31は作成される。新旧バージョンで追加・変更がない場合には、その画面IDに対しては同じ旧バージョン入出力項目テーブル30が代用して使用される。 The old and new version input / output item tables 30 and 31 have item IDs, value ranges (when possible values are limited), and remarks (description text of input / output items) for each input / output item included in each screen. , Input / output (a distinction between input and output) and display / non-display (a distinction as to whether or not to be displayed on the screen) are summarized in a table format. The distinction between display and non-display is provided because input / output items do not necessarily need to be displayed on the operation screen, but are necessary as input / output data of the program under test. However, items that are displayed on the screen but are not relevant as input / output data of the program under test may be omitted from the input / output item table. For example, when a program other than the program under test is called from the same operation screen for displaying help, displaying the current time, or logging in, the password, data necessary for authentication, and the like. As described above, when there are input / output items added / changed in the new version of the program under test, the new version input / output item table 31 is created by converting the old version input / output item table 30 in advance. deep. If there is a change in the value range (parameter range) even if there is no addition / change in the input / output items, the new version input / output item table 31 is created. When there is no addition / change in the old and new versions, the same old version input / output item table 30 is used instead for the screen ID.
オペレーションログ集積DB10に格納されたオペレーションログには、トランザクション毎に、使用した被テストプログラムのプログラム名,バージョン情報,プログラム実行日時,拠点ID(操作画面入力箇所のID),画面IDが制御部11(ヘッダ部)に含まれ、データ部12には、各入出力項目ごとに入出力項目ID(フィールドID)と、入力または出力項目に対する値が記録されている。その他、操作開始時刻、操作終了時刻、操作員のIDや承認者のID等の操作状況に関する付随情報が含まれていてもよい。
In the operation log stored in the operation
図3は、本発明の実施形態に係るオペレーションログの具体例を示す図である。この具体例では、図示するようにオペレーションログは、タグ形式のテキストファイルであり、トランザクション毎に、プログラム実行日時を先頭にして制御部11のデータとして、プログラム名,バージョン名,トランザクションID,画面IDがそれぞれ、<application>,<version>,<transactionID>,<windowName>のタグで前後を指定された形で記録される。またデータ部12の各入出力項目は、項目名が<fieldName>タグで前後を指定され、その項目に対して入力または出力された値が<value>タグで前後を指定された形で記録される。各項目が記録される順序は、通常はオペレータが入力した順序であるが必ずしもそうでなくともよい。なお、ここでは図示していないが、入出力項目によっては、値(Value)が複数存在する場合に備えて<fieldName>の後ろに、<mutiValueNumer>,<subValueNumber>をタグを定義し、1つの入出力項目に対するValueやさらにそのSubvalueの数を指定することもできる。単一のValueの場合、<mutiValueNumer>は1であり、このときは<subValueNumber>タグは存在しない。
FIG. 3 is a diagram showing a specific example of the operation log according to the embodiment of the present invention. In this specific example, as shown in the figure, the operation log is a tag-format text file, and the program name, version name, transaction ID, screen ID as data of the
以降は、テスト対象のアプリケーション・プログラムとして、金融機関の対顧客窓口サービスにおけるローン貸付業務を扱うプログラムを具体例にして説明する。このプログラムを操作した際のオペレーションログのデータ部12には、融資額,科目コード,通貨,顧客番号,満期日,適用金利,利息計算方法等、このプログラムが処理する具体的な入出力データが記録されている。これらの入出力データは必ずしも操作画面上に表示されるものだけでなく、内部処理で使用されるものも含んでいる。
In the following, a specific example of a program that handles loan lending in a customer service at a financial institution will be described as an application program to be tested. In the
オペレーションログ集積DB10に集積されたオペレーションログ、または新機能オペレーションログDB11から、テストシステム100のテストデータ生成部20によって、テストデータが生成される。このとき、旧バージョン入出力項目テーブル30が参照されテストにとって必要なデータだけが抽出される。すなわち、この入出力項目テーブル中で画面上で「入力」と指定された項目(フィールド名とその値)だけが被テストプログラムに対してインプットされるべきテストデータとして使用される。オペレーションログ中の入力とテストデータのフォーマットとしては、具体的にはOFS(Open Financial Service)ファイルを用いている。OFSファイルは、各入出力項目とその値を、「フィールド名」:m:s=「値」の形式で表したテキストファイルである。ここで「m」、「s」は先に説明した「multiValueNumber」と「subValueNumber」の値であり、単一Valueの場合は、「m」、「s」とも1である。例えば、「融資額」フィールドにインプットされた値が1000,000であれば、AMOUNT:1:1=1000,000のようにOFSファイル上は記載される。もちろん、テストデータに他のファイル形式を用いてもなんら支障はない。なお、新機能オペレーションログDB11についても同様の形式で作成される。
Test data is generated by the test
このようにして生成された同じテストデータが新旧バージョン適用被テストプログラム実行環境60,61に投入される。ただし、旧バージョンのテストデータをそのまま新バージョンに投入する際には、新バージョンの画面のデザイン等により形式的な変換をする必要がある場合があるが、その場合には変換規則を記述した変換テーブルなどを別途用意する。
The same test data generated in this way is input to the new and old version application
図4は、本発明の実施形態に係る入出力項目テーブルの具体例を示す図である。入出力項目テーブルは、操作画面で処理されるすべての入力項目および出力項目をまとめたテーブルである。既に述べたように、プログラムの改定によって入力項目/出力項目が変更される場合があるので、改定前後のプログラムのバージョンに対応して、旧バージョン入出力項目テーブル30と新バージョン入出力項目テーブル31が存在する。 FIG. 4 is a diagram showing a specific example of the input / output item table according to the embodiment of the present invention. The input / output item table is a table in which all input items and output items processed on the operation screen are collected. As described above, the input / output items may be changed by the revision of the program. Therefore, the old version I / O item table 30 and the new version I / O item table 31 correspond to the version of the program before and after the revision. Exists.
先に挙げたローン貸付業務プログラムの一つの操作画面として、新規ローン受付画面を具体例に取り上げると、旧バージョン入出力項目テーブル30は具体的には図4上段のようになる。プログラムの改定によって入出力項目に変更があった場合には、新バージョン入出力項目テーブル31が作成され、例えば、図4下段のようになる。この例では、「CURRENCY」フィールドの値(パラメータ)として通貨「KHR」(31a)が追加され、また、「ACCURUAL.PARAM」フィールード(31b)が新設されて、新バージョンで新たな機能がサポートされたことを示している。なお、新バージョンではこのような機能拡張だけでなく、機能の整理統合により、旧バージョンの入出力項目が新バージョンでは削除されることもあり得る。 Taking a new loan acceptance screen as a specific example of one operation screen of the loan lending business program mentioned above, the old version input / output item table 30 is specifically as shown in the upper part of FIG. When the input / output items are changed due to the revision of the program, a new version input / output item table 31 is created, for example, as shown in the lower part of FIG. In this example, the currency “KHR” (31a) is added as the value (parameter) of the “CURRENCY” field, and the “ACCURUAL.PARAM” field (31b) is newly added to support new functions in the new version. It shows that. In the new version, not only such function expansion but also the input / output items of the old version may be deleted in the new version due to the consolidation of functions.
新バージョンで追加されたフィールドやパラメータは、旧バージョンプログラムが実稼動している環境下でのオペレーションログ上には現れることはないのでテストデータの作成には旧バージョン入出力項目テーブル30のみが用いられる。ただし、差分比較結果テーブルの作成には新旧バージョンの入出力項目が必要となる。 Since the fields and parameters added in the new version do not appear on the operation log in the environment where the old version program is actually running, only the old version input / output item table 30 is used to create test data. It is done. However, the creation of the difference comparison result table requires new and old version input / output items.
図5、図6は、本発明の実施形態に係るテスト実行手順を示す図である。図5は、基本テスト実行手順、図6は新機能テスト手順を示したものである。まず、図5のステップS10において、新バージョンでのみサポートされる新機能があるかどうかをテスト管理者からの指示を受ける。新機能がある場合は、ステップS11に移り新機能テストを行う。今回のテストが新機能を含まないバグ修正後のリグレッションテストのような場合は、ステップS11はスキップされる。新機能テストとは、旧バージョンでは存在せず、今回の新バージョンで新たに追加された機能が仕様に合致しているかどうかを調べるテストをいう。新機能テストでは、実環境においてのオペレーションログが存在しないので実環境から生成したテストデータの自動作成ができず、したがって旧バージョンのテスト結果との差分比較ができないので、以降のテストの前段階のテストとして行うものである。 5 and 6 are diagrams showing a test execution procedure according to the embodiment of the present invention. FIG. 5 shows a basic test execution procedure, and FIG. 6 shows a new function test procedure. First, in step S10 in FIG. 5, an instruction from the test administrator is received as to whether there is a new function supported only in the new version. If there is a new function, the process proceeds to step S11 to perform a new function test. If this test is a regression test after bug correction that does not include a new function, step S11 is skipped. The new function test is a test for checking whether the function newly added in the new version is in conformity with the specification, which does not exist in the old version. In the new function test, there is no operation log in the real environment, so test data generated from the real environment cannot be created automatically, so it is not possible to compare the difference with the test result of the previous version. This is a test.
新機能テストでも、オペレーションログによるテストデータの自動生成が可能である。ただし、この場合、実環境のオペレーションログではなく、テストオペレータがテスト環境において、予め定められたテストシナリオに沿って操作画面での操作を行い、その操作内容とその結果を実環境でのオペレーションログと同じ形式で新機能オペレーションログDB11に記録することで、テストデータ生成部20は、新機能のテストデータを生成することができる。テストデータの生成には、新バージョン入出力項目テーブル31が利用される。このようにテストデータの形式を同じにすることで、テスト実行部50は、新機能テストデータと旧バージョンのテストデータを特に区別することなく被テストプログラム実行環境に投入することができる。ただし、新バージョンにおける新機能テストの結果は、既存機能のリグレッションとは異なり、旧バージョンでのテスト結果が存在しないので、テスト管理者等があらかじめ仕様に基づいて用意した新機能比較マスタDB92に格納された正しい出力結果と比較することになる。
Even in new function tests, test data can be automatically generated using operation logs. However, in this case, not the operation log of the actual environment, but the test operator performs the operation on the operation screen according to the predetermined test scenario in the test environment, and the operation content and the result are displayed in the operation log of the actual environment. Are recorded in the new function
図6では、この新機能テストの手順を示しているが、基本的な流れは、以下で説明する図5の旧バージョンとの比較手順と上記の点を除いて大差はないので詳細な説明は省略する。 FIG. 6 shows the procedure for this new function test, but the basic flow is not much different from the comparison procedure with the previous version of FIG. Omitted.
図5に戻り、テストシステム100のテストデータ生成部20は、ステップS12において、新旧バージョン入出力項目テーブル30,31が読み込まれるが、新旧バージョンで入出力項目に変更がない場合には、旧バージョン入出力項目テーブル30のみが読み込まれる。さらに、テストデータ生成部20は、ステップS13において、オペレーションログ集積DB10よりテストデータを生成する。ここでは、すでに説明したとおり、OFSファイルのようなプログラムが自動実行可能な所定の形式のテストデータファイルを生成する。
Returning to FIG. 5, the test
次に、テストシステム100のテスト実行部50は、ステップS14において、テスト環境におけるプログラム実行日時をテストデータに記録されたプログラム実行日時に合わせるように設定する。これは、同じ入力データであってもプログラムの実行する日時によって処理結果が異なることがあるからである。例えば、操作画面等に表示する現在日時はもちろんとして、ローンの満期日や利息等の計算では、プログラムの実行日(処理日)によって計算結果が異なるので、テストデータの元となったオペレーションログ中のプログラム実行日時にテストプログラムの実行日時を合わせるように内部時計を調整する必要がある。もちろん、このようなプログラムの実行日時等、出力結果に影響する日時データそのものをすべて入力データとして扱うようにプログラムが設計されていればステップS14の処理はスキップすることができる。
Next, in step S14, the
次に、テスト実行部50は、ステップS15において、新旧バージョン適用被テストプログラム実行環境60,61それぞれに、テストデータ生成部20によって生成された同じテストデータを投入する。そして、ステップS16において、被テストプログラムの出力結果(テストデータに対するアウトプット)を新旧バージョンテスト結果データDB90,91に記録する。
Next, in step S15, the
その結果、ステップS17において、テストシステム100の差分比較部70が、この新旧バージョンテスト結果データDB90,91を読み出し、差分比較結果テーブル80を作成する。このとき新旧バージョン入出力項目テーブル30,31が参照される。以上のステップS14〜S17の処理をすべてのテストデータ(画面ごと、及びトランザクションごと)について繰り返す(ステップS18)。このようにして得られた差分比較結果テーブル80から、テスト管理者は、新バージョンのプログラムの不具合の有無を調べることができる。
As a result, in step S17, the
図7は、本発明の実施形態に係る差分比較結果テーブルの概略を示す図である。差分比較結果テーブル80は、すでに説明したように、新旧バージョンの被テストプログラムに対し、同じテストデータをインプットとして、その出力結果を入力データとともに比較して一覧表形式にまとめたテーブルである。 FIG. 7 is a diagram showing an outline of the difference comparison result table according to the embodiment of the present invention. As already described, the difference comparison result table 80 is a table in which the same test data is input to the old and new versions of the program under test, and the output result is compared with the input data in a list form.
図示するように、表中の2つの行のペア(86a,86b,86c・・・)として新旧バージョンの入出力結果が表示される。1つの行(レコード)は、被テストプログラムのトランザクション(処理単位)ごとに作成されるレコードである。欄81bは、「Diffフラグ」と呼び、例えば記号「*」があると、新旧のレコード中いずれかに違いがあることを示す。新旧の比較はすべてのトランザクションに対して行われるので、差があるものも、差がないものも、すべての比較結果を差分比較結果テーブル80に記載するようにしてもよいし、差分があるレコードのみを差分比較結果テーブル80に記載するようにしてもよい。 As shown in the figure, the input / output results of the old and new versions are displayed as a pair of two rows (86a, 86b, 86c...) In the table. One line (record) is a record created for each transaction (processing unit) of the program under test. The column 81b is called a “Diff flag”. For example, if there is a symbol “*”, it indicates that there is a difference between old and new records. Since the old and new comparisons are performed for all transactions, all the comparison results may be described in the difference comparison result table 80, whether there is a difference or there is no difference. May be described in the difference comparison result table 80.
欄82の「新旧のみフラグ」とは、新バージョンまたは旧バージョンどちらかにしかそのトランザクションに対応するレコードが存在しなかったことを示す。例えば、新バージョンでしかサポートされない新機能のテストデータを誤って旧バージョンのプログラムに投入した場合には、旧バージョンのプログラムはエラーとなり、出力結果が得られないので新バージョンのレコードのみが存在することになる。この場合、「新旧のみフラグ」が「NEW ONLY」となり、このレコードがテーブルに記載される。同様に、旧バージョンでサポートされていたが、新バージョンでサポートされていない機能(Discontinue Functon)のテストデータを新バージョンのプログラムに投入した場合には、「新旧のみフラグ」が「OLD ONLY」となったレコードのみがテーブルに記載される。
The “new and old only flag” in the
また、「新旧のみフラグ」は、「新旧のみフラグ」が「NEW ONLY」となったレコードに対応するレコードを新機能比較マスタDB92から検索し、対応するレコードがあればそれを比較対象として抽出させるための役割も果す。また、現場のオペレータでなく、テストが作成した新機能オペレーションログDB11から作成した新機能テストデータを検証する際にも役立つ。すなわち、新機能テストデータに含まれる入出力項目が差分比較結果テーブル80に正しく反映されるかどうかの確認等に利用できる。
The “new and old only flag” searches the new function
欄83「トランザクションID」は、各処理単位ユニークなトランザクションIDを記載する欄である。通常は一つのトランザクションIDに対して新旧のレコードがそれぞれ存在することになる。欄84「新旧レコード」は、そのレコード行が新バージョンのプログラムのテスト結果(NEW)か、旧バージョンのテスト結果(OLD)かを示すフラグである。比較マスタを比較元とする場合には、「新旧レコード」は「MASTER」とすれば、レコードペアは、「NEW」と「MASTER」となる。欄85は、画面毎に定義された入力項目、出力項目すべて、すなわち、新旧バージョン入出力項目テーブル30,31に定義された項目のすべてである。ただし、各出力項目の前には、「Diffフラグ」欄が存在し、対応する出力項目の出力結果が新旧(あるいは新とMASTER)で異なっていることを示す。例えば、86aのレコードでは、出力項目1の結果が異なっているので、出力項目1の直前の「Diffフラグ」が、記号「*」で示されることになる。このように、「Diffフラグ」をレコード全体と各出力項目ごとに設けることで、新旧の相違点の発見を容易にすることができる。もちろん、「Diffフラグ」の記号の代わりに、識別表示手段として、セルや文字の表示色やサイズを変えたり、図形表示を追加するなどしてもよい。
A
図8は、本発明の実施形態に係る差分比較結果テーブルの具体例を示す図である。図は、ローンの利息計算をするプログラムをテスト対象の具体例としてテストの結果、その差分比較結果テーブル80の一部を示す。前図で説明したように、新旧の比較結果であるレコードペア86a,86b,86c,86d,86eに示されている。86fは、旧バージョンでしか結果が得られなかったレコード、86gは新バージョンでしか結果が得られなかったレコード、すなわち比較対象のバージョンのテスト結果が存在しなかったレコードを示している。 FIG. 8 is a diagram showing a specific example of the difference comparison result table according to the embodiment of the present invention. The figure shows a part of the difference comparison result table 80 as a result of testing a loan interest calculation program as a specific example of a test target. As described in the previous figure, the record pairs 86a, 86b, 86c, 86d, and 86e, which are new and old comparison results, are shown. 86f indicates a record for which a result is obtained only in the old version, and 86g indicates a record for which a result is obtained only in the new version, that is, a record for which there is no test result for the version to be compared.
この図では、各出力項目ごとに対応する「Diffフラグ」の代わりに、太線四角枠で新旧バージョンのテスト結果が異なっている出力項目を表している。すなわち、レコードペア86aでは、「元本金額」、「利息金額」、「処理日付」が新旧で異なっているが、何らかの原因で融資スケジュールの「処理日付」の相違により、「元本金額」と「利息金額」の結果が異なってきているのではないかと考えられる。また、レコードペア86cでは、「利息計算日数」の相違により、利息金額の計算結果の差異が生じ、レコードペア86eでは、「適用レート」の相違により「利息金額」の計算結果が異なっているのではないかと考えられる。なお、レコードペア86gでは、比較されたレコードが「NEW」と「MASTER」になっており、新機能テストの場合の比較結果である(実際には、旧バージョンとの比較テストと新機能テストは、別個に行われるので混在することはない)。
In this figure, instead of the “Diff flag” corresponding to each output item, an output item in which the test results of the old and new versions are different in a thick square frame. That is, in the
このように、新バージョンの被テストプログラムの出力結果と、実績のある旧バージョンの被テストプログラムの出力結果との比較が多くの入力データのバリエーションに対して容易に行えるので、不具合の早期発見、早期解決に役立たせることができる。特に、プログラムのバージョンアップの際、通常の機能テストではなかなか発見しづらい従来機能の思わぬ箇所の思わぬ不具合の発見に役立たせることができる。また、パッケージソフトなど内部がブラックボックスのプログラムを組み込んでシステムを構築する場合にも特に有用である。 In this way, it is easy to compare the output result of the new version of the program under test with the output result of the proven old version of the program under test, for many variations of input data, so early detection of defects, It can be used for early resolution. In particular, when upgrading the version of a program, it can be used to find an unexpected defect of a conventional function that is difficult to find in a normal function test. It is also particularly useful when building a system by incorporating a black box program inside, such as package software.
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことは言うまでもない。上記実施形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。またその様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 As mentioned above, although this invention was demonstrated using embodiment, it cannot be overemphasized that the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above-described embodiments. Further, it is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.
10 オペレーションログ集積DB
11 新機能オペレーションログDB
20 テストデータ生成部
30 旧バージョン入出力項目テーブル
31 新バーション入出力項目テーブル
40 テストデータDB
50 テスト実行部
60 旧バージョン適用被テストプログラム実行環境
61 新バージョン適用被テストプログラム実行環境
70 差分比較部
80 差分比較結果テーブル
90 旧バージョンテスト結果データDB
91 新バージョンテスト結果データDB
92 新機能比較マスタDB
100 テストシステム
200 実環境
210 オペレータ操作画面
220 オペレーションログ
10 Operation log collection DB
11 New function operation log DB
20 Test
50
91 New version test result data DB
92 New Function Comparison Master DB
100
Claims (8)
前記プログラムの改定前バージョンが稼動する実環境において、操作画面を介しての入出力を記録したオペレーションログを集積したオペレーションログ集積DBと、
前記プログラムの改定前及び改定後バージョンにおける入出力項目をそれぞれ定義した旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて、前記オペレーションログ集積DBから、テストデータを生成するテストデータ生成部と、
前記プログラムの改定後のバージョンと改定前のバージョンを適用したテスト環境それぞれに対して、前記テストデータ生成部が生成したテストデータを投入しテストを自動実行させ、前記テスト環境それぞれからテスト結果を取得するテスト実行部と、
前記テスト結果から、前記旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて比較項目を取り出し、旧バージョンテスト結果と新バージョンテスト結果の差分を抽出して差分比較結果テーブルに出力する差分比較部と、
を備えることを特徴とするテストシステム。 A test system that supports testing against a revised version of a program,
In an actual environment where the pre-revision version of the program operates, an operation log accumulation DB that accumulates operation logs recording input / output via the operation screen;
A test data generation unit that generates test data from the operation log accumulation DB using an old version input / output item table and a new version input / output item table respectively defining input / output items in the pre-revision and post-revision versions of the program When,
The test data generated by the test data generation unit is input to each test environment to which the revised version of the program and the version before the revision are applied, and the test is automatically executed, and the test result is obtained from each of the test environments. A test execution unit to perform,
From the test result, the comparison item is extracted using the old version input / output item table and the new version input / output item table, the difference between the old version test result and the new version test result is extracted and output to the difference comparison result table A comparison unit;
A test system comprising:
前記テストデータ生成部は、前記新機能オペレーションログDBから、前記プログラムの新バージョンでのみサポートされている機能のテストデータを生成することを特徴とする請求項1に記載のテストシステム。 In addition to the operation log by the operator in the actual environment, the system further comprises a new function operation log DB for recording an operation log of the new function by the test operator in the test environment,
The test system according to claim 1, wherein the test data generation unit generates test data of a function supported only by the new version of the program from the new function operation log DB.
前記プログラムの改定前バージョンが稼動する実環境において、操作画面を介しての入出力を記録したオペレーションログをオペレーションログ集積DBに集積するステップと、
前記プログラムの改定前及び改定後バージョンにおける入出力項目をそれぞれ定義した旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて、前記オペレーションログ集積DBから、テストデータを生成するステップと、
前記プログラムの改定後のバージョンと改定前のバージョンを適用したテスト環境それぞれに対して、前記テストデータを生成するステップで生成したテストデータを投入しテストを自動実行させるステップと、
前記テスト環境それぞれからテスト結果を取得するステップと、
前記テスト結果から、前記旧バージョン入出力項目テーブル及び新バージョン入出力項目テーブルを用いて比較項目を取り出し、旧バージョンテスト結果と新バージョンテスト結果の差分を抽出して差分比較結果テーブルに保存するステップと、
を有することを特徴とするテスト方法。
A test method for the revised version of the program,
A step of accumulating an operation log in which an input / output through an operation screen is recorded in an operation log accumulation DB in an actual environment in which a pre-revision version of the program is operating;
Generating test data from the operation log accumulation DB using an old version input / output item table and a new version input / output item table respectively defining input / output items in the pre-revision and post-revision versions of the program;
For each test environment to which the version after the revision of the program and the version before the revision are applied, the test data generated in the step of generating the test data is input and the test is automatically executed;
Obtaining test results from each of the test environments;
A step of extracting comparison items from the test results using the old version input / output item table and the new version input / output item table, extracting a difference between the old version test result and the new version test result, and storing the difference in the difference comparison result table When,
A test method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011249358A JP5703195B2 (en) | 2011-11-15 | 2011-11-15 | Differential comparison test system and test method for new and old versions of program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011249358A JP5703195B2 (en) | 2011-11-15 | 2011-11-15 | Differential comparison test system and test method for new and old versions of program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013105358A JP2013105358A (en) | 2013-05-30 |
JP5703195B2 true JP5703195B2 (en) | 2015-04-15 |
Family
ID=48624836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011249358A Expired - Fee Related JP5703195B2 (en) | 2011-11-15 | 2011-11-15 | Differential comparison test system and test method for new and old versions of program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5703195B2 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102356771B1 (en) * | 2014-09-08 | 2022-01-27 | 아브 이니티오 테크놀로지 엘엘시 | Data-driven testing framework |
US10572361B2 (en) * | 2017-04-28 | 2020-02-25 | The Boeing Company | Concurrent production use of a production enterprise system and testing of a modified enterprise system |
JP6926879B2 (en) * | 2017-09-20 | 2021-08-25 | 日本電気株式会社 | Verification device and verification method |
CN110442508B (en) * | 2018-05-03 | 2023-05-23 | 阿里巴巴集团控股有限公司 | Test task processing method, device, equipment and medium |
JP2020154815A (en) * | 2019-03-20 | 2020-09-24 | 富士ゼロックス株式会社 | Information processing device and program |
CN109902025A (en) * | 2019-03-25 | 2019-06-18 | 腾讯科技(深圳)有限公司 | Test environment Chinese part processing method, device, storage medium and computer equipment |
CN111782514A (en) * | 2020-06-23 | 2020-10-16 | 京东数字科技控股有限公司 | Test data comparison method and device |
CN112559316A (en) * | 2020-09-03 | 2021-03-26 | 中国银联股份有限公司 | Software testing method and device, computer storage medium and server |
CN112015845B (en) | 2020-09-29 | 2024-02-06 | 北京百度网讯科技有限公司 | Method, device, equipment and storage medium for map retrieval test |
KR102344661B1 (en) | 2020-12-29 | 2021-12-30 | 쿠팡 주식회사 | Method for providing information based on expected result value and computing device using the same |
KR102453610B1 (en) * | 2020-12-30 | 2022-10-11 | 주식회사 엘지씨엔에스 | Method, virtual connection device and system for providing test data |
CN113760911A (en) * | 2021-09-01 | 2021-12-07 | 上海哔哩哔哩科技有限公司 | Index difference testing method and system |
JP7366223B1 (en) | 2022-10-28 | 2023-10-20 | 株式会社Cygames | SYSTEMS, METHODS AND PROGRAMS FOR TESTING GAMES |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05120069A (en) * | 1991-10-25 | 1993-05-18 | Nippon Steel Corp | Testing and verifying method for computer program |
JPH05134896A (en) * | 1991-11-11 | 1993-06-01 | Toshiba Corp | Automatic preparation device for program testing data |
JP2003099284A (en) * | 2001-09-25 | 2003-04-04 | Nec Corp | Degrading check system |
JP4215255B2 (en) * | 2004-03-26 | 2009-01-28 | 株式会社日立情報システムズ | Degradation confirmation inspection method, degradation confirmation inspection system, and program therefor |
JP2011141631A (en) * | 2010-01-06 | 2011-07-21 | Hitachi Omron Terminal Solutions Corp | Automatic teller machine and method for testing update program of the automatic teller machine |
-
2011
- 2011-11-15 JP JP2011249358A patent/JP5703195B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013105358A (en) | 2013-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5703195B2 (en) | Differential comparison test system and test method for new and old versions of program | |
US11580011B2 (en) | Operation verifying apparatus, operation verifying method and operation verifying system | |
US9098632B2 (en) | Computer program testing | |
CN101996131A (en) | Automatic test method and automatic test platform for graphic user interface (GUI) based on x extensive makeup language (XML) packaging key word | |
US8832640B1 (en) | Component mapped software development workflow | |
KR20170052668A (en) | Data-driven testing framework | |
JP5942009B1 (en) | Software test apparatus, software test method, and software test program | |
JP6577914B2 (en) | Business process generation program and business process generation method | |
US8874598B2 (en) | Method and system for an executable specification | |
EP3113016A1 (en) | Tracing dependencies between development artifacts in a development project | |
US20090217259A1 (en) | Building Operating System Images Based on Applications | |
US10901699B2 (en) | Data analysis process assistance device and data analysis process assistance method | |
US20120221967A1 (en) | Dashboard object validation | |
JP4795404B2 (en) | Operation verification apparatus and operation verification program | |
JP2009230618A (en) | Specification creating program, device therefor, and method thereof | |
JP2001282578A (en) | Device and method for supporting program test and storage medium storing program on method | |
JP2011164783A (en) | Device, method and program for verifying operation | |
JP2023100542A (en) | Scenario construction system, scenario construction apparatus, and scenario construction method | |
JP6016623B2 (en) | Software execution result deliverable collection apparatus and method | |
JP4903279B2 (en) | Operation verification apparatus, operation verification method, and operation verification program | |
Fernández-Ropero et al. | Repairing business process models as retrieved from source code | |
JP2009163566A (en) | Job analysis support apparatus | |
JP2016126700A (en) | Program verification device, program verification method, and program verification program | |
JP2004362495A (en) | Method for supporting of error log information analysis, executing system thereof, and processing program thereof | |
JP2013114443A (en) | System, method, and program for supporting material release confirmation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150130 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5703195 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |