JP5823478B2 - 出力ファイル検証システム - Google Patents

出力ファイル検証システム Download PDF

Info

Publication number
JP5823478B2
JP5823478B2 JP2013251038A JP2013251038A JP5823478B2 JP 5823478 B2 JP5823478 B2 JP 5823478B2 JP 2013251038 A JP2013251038 A JP 2013251038A JP 2013251038 A JP2013251038 A JP 2013251038A JP 5823478 B2 JP5823478 B2 JP 5823478B2
Authority
JP
Japan
Prior art keywords
output file
new
program
old
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013251038A
Other languages
English (en)
Other versions
JP2015108937A (ja
Inventor
岡田 武
武 岡田
鉄也 長岡
鉄也 長岡
隆司 田中
隆司 田中
真悟 金森
真悟 金森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chugoku Electric Power Co Inc
Original Assignee
Chugoku Electric Power Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chugoku Electric Power Co Inc filed Critical Chugoku Electric Power Co Inc
Priority to JP2013251038A priority Critical patent/JP5823478B2/ja
Publication of JP2015108937A publication Critical patent/JP2015108937A/ja
Application granted granted Critical
Publication of JP5823478B2 publication Critical patent/JP5823478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

この発明は、出力ファイルを作成する機能を有するプログラムの改修時に、改修の前後の出力ファイルを比較して、出力ファイルが正しいか否かを検証する出力ファイル検証システムに関する。
大規模システムにおいては、サブシステム間でファイルを連携して処理を行う場合がある。このため、一部のサブシステムのファイル仕様が変更になった場合は、当該サブシステムの改修前後の出力ファイルを比較して検証し、出力ファイルが正しく出力されていることを確認してから、後続のサブシステムの処理を実行する必要がある。このとき、出力ファイルの変更した項目が正しく変更されたことを確認するとともに、変更していない項目が変更されていないことを確認して、デグレードが生じていないことを確認する必要がある。
このような出力ファイルの検証作業を人間系で行う場合は、多大な労力を要し、見落としを生じ易いという問題がある。具体的には、変更していない項目が変更されていないこと、デグレードが生じていないことを確認するためには、想定され得るパターンのデータについて検証する必要があり、多大な労力と時間とを要するものである。
ところで、帳票出力プログラムを修正又は他機種へ移行した場合の検証が各帳票レコードの出力位置を含め自動的に行う出力帳票の自動検証方法に関する技術が開示されている(例えば、特許文献1参照。)。この技術は、新・旧両プログラムが出力した帳票出力レコードのプリント制御ソースコードと制御ソースコードテーブル及び前レコードの出力位置により当レコードの出力位置を計算し、出力位置及び出力内容を比較検証するものである。また、新・旧レコード内の最大のデータ項目長に合わせて左詰および右詰してレコードを比較する新旧システムの処理結果の検証装置と方法に関する技術が開示されている(例えば、特許文献2参照。)。さらに、紙情報の目視確認による検証作業(入力と出力の照合を含む)を機械的に実施するテスト結果照合システム、方法、及びプログラムに関する技術が知られている(例えば、特許文献3参照。)。この技術は、画面入力や帳票入力を含む入力形態に応じて、必要情報を抽出し入力情報ファイルとして保持する処理、画面出力や帳票出力を含む出力形態に応じて、必要情報を抽出し出力情報ファイルとして保持する処理を行う入出力情報取得部、入力情報ファイル・出力情報ファイルを用いて、入力と出力の照合に関する自動的な比較の処理を行って、正常/エラーの区分を含む比較結果一覧情報を出力するものである。
特開平06−075822号公報 特開平2001−209559号公報 特開平2012−098870号公報
改修前後の出力ファイルを比較して検証する際には、変更した項目は比較の対象外とし、変更していない項目が一致することを確認する。このとき、比較の対象外とする項目をプログラムのソースコードから自動で抽出することができれば、作業の精度が向上し、作業時間を大幅に短縮することができる。また、出力ファイルの比較結果から、原因となったプログラムなどを判定することができれば、デバッグ作業が容易となる、と本出願の発明者は考えた。
しかしながら、引用文献1から3に記載のいずれの技術であっても、比較の対象外とする項目をプログラムのソースコードから自動で抽出したり、出力ファイルの比較結果から、原因となったプログラムなどを判定したりすることはできないものであった。
そこで、この発明は、前記の課題を解決し、出力ファイルを作成する機能を有するプログラムの改修時に、改修の前後の出力ファイルを比較して、出力ファイルが正しいか否かを検証する出力ファイル検証システムを提供することを目的としている。
前記の課題を解決するために、請求項1の発明は、旧第1の出力ファイルを作成する機能を有する改修前の旧第1のプログラムと、前記旧第1のプログラムの一部の機能を改修したプログラムであって、新第1の出力ファイルを作成する機能を有する新第1のプログラムと、前記旧第1の出力ファイルの各データ項目のバイト数を含む旧第1の出力ファイル仕様と、前記新第1の出力ファイルの各データ項目のバイト数を含む新第1の出力ファイル仕様とを記憶した記憶手段と、前記旧第1のプログラムおよび前記新第1のプログラムを実行して、それぞれ前記旧第1の出力ファイルと前記新第1の出力ファイルを作成した後に起動され、前記旧第1の出力ファイルと前記新第1の出力ファイルとを比較して、差異のある箇所を不一致リストとして出力する出力ファイル比較手段と、前記旧第1の出力ファイル仕様と前記新第1の出力ファイル仕様とに基づいて、前記出力ファイル比較手段における前記旧第1の出力ファイルと前記新第1の出力ファイルとの比較時に、不一致が予測される箇所をマスク箇所リストとして出力するマスク箇所抽出手段と、前記記憶手段に記憶した前記旧第1のプログラムと、前記新第1のプログラムと、前記旧第1の出力ファイル仕様と、前記新第1の出力ファイル仕様と、前記出力ファイル比較手段によって出力した前記不一致リストとに基づいて、不一致の原因となったプログラムを判定する原因プログラム判定手段と、を備えることを特徴とする出力ファイル検証システムである。
この発明によれば、出力ファイル比較手段によって、旧第1のプログラムおよび新プログラムが実行されて、それぞれ旧第1の出力ファイルと新第1の出力ファイルが作成されて、旧第1の出力ファイルと新第1の出力ファイルとが比較されて、差異のある箇所を不一致リストとして出力される。出力するマスク箇所抽出手段によって、旧第1の出力ファイル仕様と新第1の出力ファイル仕様とに基づいて、出力ファイル比較手段における旧第1の出力ファイルと新第1の出力ファイルとの比較時に、不一致が予測される箇所がマスク箇所リストとされる。原因プログラム判定手段によって、記憶手段に記憶した旧第1のプログラムと、新第1のプログラムと、旧第1の出力ファイル仕様と、新第1の出力ファイル仕様と、出力ファイル比較手段によって出力した不一致リストとに基づいて、不一致の原因となったプログラムが判定される。
請求項2に記載の発明は、請求項1に記載の出力ファイル検証システムにおいて、記憶手段は、前記旧第1のプログラムに続いて実行されるプログラムであって、旧第2の出力ファイルを作成する機能を有する改修前の旧第2のプログラムと、前記新第1のプログラムに続いて実行されるプログラムであって、新第2の出力ファイルを作成する機能を有する改修後の新第2のプログラムと、前記旧第2の出力ファイルの各データ項目のバイト数を含む旧第2の出力ファイル仕様と、前記新第2の出力ファイルの各データ項目のバイト数を含む新第2の出力ファイル仕様とを記憶し、前記マスク箇所抽出手段は、前記旧第2の出力ファイル仕様と前記新第2の出力ファイル仕様とに基づいて、前記出力ファイル比較手段における前記旧第2の出力ファイルと前記新第2の出力ファイルとの比較時に、不一致が予測される箇所をマスク箇所リストとして出力する、ことを特徴とする。
請求項1に記載の発明によれば、マスク箇所抽出手段によって、旧第1の出力ファイル仕様と新第1の出力ファイル仕様に基づいてマスク箇所リストを作成することができる。すなわち、比較の対象外とする項目(マスク項目)をプログラムのソースコードから自動で抽出するので、人為的ミスが防止されて作業の精度が向上し、作業時間を大幅に短縮することができる。
また、原因プログラム判定手段によって、旧第1のプログラムと、新第1のプログラムと、旧第1の出力ファイル仕様と、新第1の出力ファイル仕様と、出力ファイル比較手段によって出力した不一致リストに基づいて、不一致の原因となったプログラムを判定するので、デバッグ作業が容易となる。
請求項2に記載の発明によれば、マスク箇所抽出手段によって、旧第2の出力ファイル仕様と新第2の出力ファイル仕様とに基づいて、旧第2の出力ファイルと新第2の出力ファイルとの比較時に、不一致が予測される箇所を出力することができる。すなわち、比較の対象外とする項目をプログラムのソースコードから自動で抽出するので、作業の精度が向上し、作業時間を大幅に短縮することができる。
この発明の実施の形態に係る出力ファイル検証システムの概略構成図である。 図1の出力ファイル検証システムの出力ファイル仕様書の一例であり、マスク箇所を示す図である。 図1の出力ファイル検証システムの出力ファイル仕様書の一例であり、マスク箇所を示す図である。 図1の出力ファイル検証システムの出力ファイル仕様書の一例であり、マスク箇所を示す図である。 図1の出力ファイル検証システムにおいて検証した出力ファイルの不一致リストとしての第1のアンマッチ結果の一例を示す図である。 図1の出力ファイル検証システムのコンペアタスクによる情報処理を示すフローチャートである。 図1の出力ファイル検証システムのマスク箇所抽出タスクによる情報処理を示すフローチャートである。 図1の出力ファイル検証システムの原因プログラム判定タスクによる情報処理を示すフローチャートである。 図1の出力ファイル検証システムを使用した改修前プログラムと、改修後プログラムと、コンペアタスクによる情報処理の順序を示すタイミングチャートである。 図1の出力ファイル検証システムの情報処理を示す概略ブロック図である。
以下、この発明を図示の実施の形態に基づいて説明する。
図1は、この発明の実施の形態に係る出力ファイル検証システム1の概略構成ブロック図である。この実施の形態では、図9、図10に示すように、旧第1のプログラム(図中のPRG−A1)211に続いて旧第2のプログラム(図中のPRG−B1)212を処理するシステムを改修して、新第1のプログラム(図中のPRG−A2)221に続いて新第2のプログラム(図中のPRG−B2)222を処理するシステムとする場合について説明する。ここでは、新第1のプログラム221は、旧第1の出力ファイル411に「有効期限」を追加した仕様の新第1の出力ファイル421を出力するように改修されたものとして説明する。
出力ファイル検証システム1は、図1に示すように、主として、記憶手段としての記憶部10と、出力ファイル比較手段としての第1のコンペアタスク61や第2のコンペアタスク62と、マスク箇所抽出手段としての第1のマスク箇所抽出タスク71や第2のマスク箇所抽出タスク72と、原因プログラム判定手段としての第1の原因プログラム判定タスク81や第2の原因プログラム判定タスク82と、これらを制御などする制御部90とを備えている。
記憶部10は、主として、ソースプログラムを格納しているソースプログラムデータベース20と、ファイル仕様書を格納しているファイル仕様書データベース30と、出力ファイルを格納している出力ファイルデータベース40と、アンマッチ結果を格納しているアンマッチ結果データベース50とを記憶している。
ソースプログラムデータベース20は、主として、図10に示すように、旧第1の出力ファイル411を作成する機能を有する改修前の旧第1のプログラム211と、旧第1のプログラム211の一部の機能を改修したプログラムであって、新第1の出力ファイル421を作成する機能を有する新第1のプログラム221と、旧第1のプログラム211に続いて実行されるプログラムであって、旧第2の出力ファイル412を作成する機能を有する改修前の旧第2のプログラム212と、新第1のプログラム221に続いて実行されるプログラムであって、新第2の出力ファイル422を作成する機能を有する改修後の新第2のプログラム222を記憶している。ここで、旧第2のプログラム212は、旧第1の出力ファイル411を入力として処理を実行し、新第2のプログラム222は、新第1の出力ファイル421を入力として処理を実行するものである。このソースプログラムデータベース20には、ソースプログラムの追加や改修が行われた際に、当該ソースプログラムが追加、更新されるようになっている。
ファイル仕様書データベース30は、主として、旧第1の出力ファイル411の各データ項目のバイト数を含む旧第1の出力ファイル仕様311と、新第1の出力ファイル421の各データ項目のバイト数を含む新第1の出力ファイル仕様321と、旧第2の出力ファイル412の各データ項目のバイト数を含む旧第2の出力ファイル仕様312と、新第2の出力ファイル422の各データ項目のバイト数を含む新第2の出力ファイル仕様322とを記憶している。
旧第1の出力ファイル仕様311には、具体的には例えば、図2に示すように、旧第1の出力ファイル411のファイル仕様が記憶されており、項目、開始位置、桁数が定義されている。ここでは、旧第1の出力ファイル仕様311には、旧第1の出力ファイル411は、「契約番号」が1バイトから桁数13であり、「お客さま名」が14バイトから桁数7であり、「計器番号」が21バイトから桁数3であり、・・・、と定義されていることが記憶されている。
新第1の出力ファイル仕様321には、具体的には例えば、図3に示すように、新第1の出力ファイル421のファイル仕様が記憶されており、「契約番号」が1バイトから桁数13であり、「お客さま名」が14バイトから桁数7であり、「計器番号」が21バイトから桁数3であり、・・・、「有効期限」が71バイトから桁数8である、と定義されていることが記憶されている。ここで、新第1の出力ファイル仕様321は、旧第1の出力ファイル仕様311に計器の有効期限を示す「有効期限」を追加したものとなっている。
旧第2の出力ファイル仕様312には、具体的には例えば、図4に示すように、旧第2の出力ファイル412のファイル仕様が記憶されており、「計器番号」が1バイトから桁数3であり、「製造番号」が4バイトから桁数10であり、「メーカー」が14バイトから桁数8であり、・・・、と定義されていることが記憶されている。
新第2の出力ファイル仕様322は、旧第2の出力ファイル仕様312と同様に構成されている。
出力ファイルデータベース40は、主として、旧第1の出力ファイル411と、新第1の出力ファイル421と、旧第2の出力ファイル412と、新第2の出力ファイル422とを記憶している。旧第1の出力ファイル411は、旧第1のプログラム211によって作成された際に記憶されるようになっている。また、新第1の出力ファイル421と、旧第2の出力ファイル412と、新第2の出力ファイル422も同様に作成された際に記憶されるようになっている。
アンマッチ結果データベース50は、主として、不一致リストとしての第1のアンマッチ結果51と、第2のアンマッチ結果52とを記憶している。第1のアンマッチ結果51は、図10に示すように、後述する第1のコンペアタスク61によって、旧第1の出力ファイル411と新第1の出力ファイル421を比較した結果が出力されるものである。第1のアンマッチ結果51は、具体的には例えば、図5に示すように、3行で構成されており、1行目には位置が出力され、2行目には改修前プログラム結果として旧第1の出力ファイル411の内容が出力され、3行目には改修後プログラム結果として新第1の出力ファイル421の内容が出力される。第1のアンマッチ結果51は、2行目、3行目は、一致した項目、マスクによって比較の対象外となった項目は出力されず(ブランクが出力され)、不一致となった項目のみが出力されるようになっている。ここでは、21バイトから3桁が不一致となっており、2行目には「205」、3行目には「310」と出力されている。
第2のアンマッチ結果52は、図10に示すように、後述する第2のコンペアタスク62によって、旧第2の出力ファイル412と新第2の出力ファイル422を比較した結果が出力されるものであり、第1のアンマッチ結果51と同様に構成されている。
第1のコンペアタスク61は、図9、図10に示すように、旧第1のプログラム211および新第1のプログラム221を実行して、それぞれ旧第1の出力ファイル411と新第1の出力ファイル421を作成した後に起動され、旧第1の出力ファイル411と新第1の出力ファイル421とを比較して、差異のある箇所を第1のアンマッチ結果51として出力する機能を有するプログラム、タスクである。この第1のコンペアタスク61は、制御部90によって旧第1のプログラム211および新第1のプログラム221の実行後に起動するように制御されている。
第1のコンペアタスク61は、図6に示すフローチャートに基づいた処理を行う。まず、旧第1の出力ファイル411と新第1の出力ファイル421とを比較する(ステップS11)。このとき、旧第1の出力ファイル411と新第1の出力ファイル421の項目のうち、後述するマスク箇所リスト611に記憶されている項目は、比較の対象外として、比較を行わないものとする。そして、ステップS11における比較結果を第1のアンマッチ結果51として出力して記憶部10に保存し(ステップS12)、このタスクの処理を終了する。これにより、第1のアンマッチ結果51は、旧第1の出力ファイル411と新第1の出力ファイル421が、一致した項目、マスク箇所リスト611に記憶されており比較の対象外となった項目は出力されず(ブランクが表示され)、不一致となった項目のみに旧第1の出力ファイル411と新第1の出力ファイル421の該当項目が2行目、3行目にそれぞれ表示される。
このようにして、第1のコンペアタスク61によって、第1のアンマッチ結果51がアンマッチ結果データベース50に記憶される。
第2のコンペアタスク62は、図9、図10に示すように、旧第2のプログラム212および新第2のプログラム222を実行して、それぞれ旧第2の出力ファイル412と新第2の出力ファイル422を作成した後に起動され、旧第2の出力ファイル412と新第2の出力ファイル422とを比較して、差異のある箇所を第2のアンマッチ結果52として出力する機能を有するプログラム、タスクである。この第2のコンペアタスク62は、第1のコンペアタスク61と同様の処理を行う。
第1のマスク箇所抽出タスク71は、旧第1の出力ファイル仕様311と新第1の出力ファイル仕様321とに基づいて、第1のコンペアタスク61における旧第1の出力ファイル411と新第1の出力ファイル421との比較時に、不一致が予測される箇所を第1のマスク箇所リスト711として出力し、第1のマスク箇所リスト711と、旧第2の出力ファイル仕様312と新第2の出力ファイル仕様322とに基づいて、第2のコンペアタスク62における旧第2の出力ファイル412と新第2の出力ファイル422との比較時に、不一致が予測される箇所を第2のマスク箇所リスト712として出力する機能を有するプログラム、タスクである。第1のマスク箇所抽出タスク71によって作成された第1のマスク箇所リスト711、第2のマスク箇所リスト712は、記憶部10に記憶される。
ここで、不一致が予測される箇所とは、プログラムの改修によって、出力ファイルの仕様が変更となっている箇所のことである。例えば、この実施の形態では、新第1のプログラム221によって、旧第1の出力ファイル411に「有効期限」を追加した新第1の出力ファイル421を出力するので、新第1の出力ファイル仕様321には、「有効期限」の項目と定義が追加されている。このとき、第1のマスク箇所リスト711には、「有効期限」の項目が、比較の対象外とするマスク箇所として記憶される。これにより、第1のコンペアタスク61における、旧第1の出力ファイル411と新第1の出力ファイル421との比較時には、「有効期限」に該当する両出力ファイル411、421の71バイトから8桁は比較が行われないこととなる。このとき、出力ファイル411の71バイトから8桁はブランクであり、出力ファイル421の71バイトから8桁には年月日が出力されているが、当該箇所はマスクされて比較されないために、第1のアンマッチ結果51にはブランクが出力されることとなる。
第1のマスク箇所抽出タスク71は、図7に示すフローチャートに基づいた処理を行う。まず、旧第1の出力ファイル仕様311と新第1の出力ファイル仕様321と、旧第2の出力ファイル仕様312と新第2の出力ファイル仕様322とを取得する(ステップS21)。そして、旧第1の出力ファイル仕様311と新第1の出力ファイル仕様321とに基づいて、第1のコンペアタスク61における旧第1の出力ファイル411と新第1の出力ファイル421との比較時に、不一致が予測される箇所を第1のマスク箇所リスト711として出力する。また、第1のマスク箇所リスト711と、旧第2の出力ファイル仕様312と新第2の出力ファイル仕様322とに基づいて、第2のコンペアタスク62における旧第2の出力ファイル412と新第2の出力ファイル422との比較時に、不一致が予測される箇所を第2のマスク箇所リスト712として出力する(ステップS22)。この第1のマスク箇所抽出タスク71は、制御部90によって、プログラムの改修があった際、すなわち、新第1のプログラム221や新第1の出力ファイル仕様321などが追加、更新された際に、第1のコンペアタスク61の起動前に起動されるように制御されている。
このようにして、第1のマスク箇所抽出タスク71によって、第1のマスク箇所リスト711と第2のマスク箇所リスト712は、記憶部10に記憶される。
第2のマスク箇所抽出タスク72は、旧第2の出力ファイル仕様312と新第2の出力ファイル仕様322とに基づいて、第2のコンペアタスク62における旧第2の出力ファイル412と新第2の出力ファイル422との比較時に、不一致が予測される箇所を第2のマスク箇所リスト712として出力する機能を有するプログラム、タスクである。このとき、第1のマスク箇所抽出タスク71によって、すでに第2のマスク箇所リスト712が作成されている場合は、第2のマスク箇所リスト712を更新するものとする。この第2のマスク箇所抽出タスク72は、第1のマスク箇所抽出タスク71と同様の処理を行う。
第1の原因プログラム判定タスク81は、ソースプログラムデータベース20に記憶した旧第1のプログラム211と、新第1のプログラム221と、ファイル仕様書データベース30に記憶した旧第1の出力ファイル仕様311と、新第1の出力ファイル仕様321と、第1のコンペアタスク61によって出力した第1のアンマッチ結果51とに基づいて、不一致の原因となったプログラムを判定して、第1のアンマッチ項目編集箇所を出力する機能を有するプログラム、タスクである。
第1の原因プログラム判定タスク81は、図8に示すフローチャートに基づいた処理を行う。まず、第1のアンマッチ結果51を取得する(ステップS31)。そして、ソースプログラムデータベース20に記憶した旧第1のプログラム211と、新第1のプログラム221を取得し(ステップS32)、ファイル仕様書データベース30に記憶した旧第1の出力ファイル仕様311と、新第1の出力ファイル仕様321を取得する(ステップS33)。そして、原因プログラムを判定して、第1のアンマッチ項目編集箇所として出力する(ステップS34)。具体的には、第1のアンマッチ結果51に出力された項目(不一致の項目)を、旧第1の出力ファイル仕様311や新第1の出力ファイル仕様321に基づいて判定して、当該項目を含む旧第1のプログラム211や新第1のプログラム221を抽出する。このとき、プログラムの中で当該項目を含む関数が特定可能であれば、関数を絞り込んで判定する。例えば、図5に示す第1のアンマッチ結果51の場合は、図2に示す旧第1の出力ファイル仕様311や、図3に示す新第1の出力ファイル仕様321に基づいて、不一致の項目が「計器番号」であることが分かるので、「計器番号」を含む旧第1のプログラム211や新第1のプログラム221や関数を抽出する。そして、判定結果としてプログラム名や関数名を第1のアンマッチ項目編集箇所として出力する。
また、第1のアンマッチ結果51を検証した結果、不一致が生じた原因がプログラムのデグレードではないことが確認できた場合は、当該項目を第1のマスク箇所リスト711に追加できるようになっている。
この第1の原因プログラム判定タスク81は、制御部90によって、第1のコンペアタスク61によって第1のアンマッチ結果51が作成された後に起動されるように制御されている。
第2の原因プログラム判定タスク82は、ソースプログラムデータベース20に記憶した旧第2のプログラム212と、新第2のプログラム222と、ファイル仕様書データベース30に記憶した旧第2の出力ファイル仕様312と、新第2の出力ファイル仕様322と、第2のコンペアタスク62によって出力した第2のアンマッチ結果52とに基づいて、不一致の原因となったプログラムを判定して、第2のアンマッチ項目編集箇所を出力する機能を有するプログラム、タスクであり、第1の原因プログラム判定タスク81と同様の処理を行う。
このようにして出力された第1のアンマッチ結果51や第2のアンマッチ結果52を、開発担当者Mは目視で確認し、デクレードの有無を確認する。また、第1の原因プログラム判定タスク81や第2の原因プログラム判定タスク82によって判定されたプログラム名や関数名を、第1のアンマッチ項目編集箇所や第2のアンマッチ項目編集箇所によって確認して、デバッグを行うことができる。
次に、このような構成の出力ファイル検証システム1における情報の処理手段および作用について説明する。
まず、開発担当者Mによって、新第1のプログラム221によって、当該プログラムの出力ファイルである旧第1の出力ファイル411に「有効期限」を追加した新第1の出力ファイル421を出力するようにプログラムが改修され、新第1の出力ファイル仕様321には、「有効期限」の項目と定義が追加される。また、新第1のプログラム221に後続して処理される新第2のプログラム222が改修され、当該プログラムの出力ファイルである新第2の出力ファイル422の新第2の出力ファイル仕様322が作成される。
そして、プログラムの改修が終了すると、開発担当者Mによって、当該プログラムが所定の場所に登録される。当該プログラムが所定の場所に登録されると、制御部90によって、第1のマスク箇所抽出タスク71と第2のマスク箇所抽出タスク72が起動される。ここで、新システムへの切替日を2013年06月06日とし、開発担当者Mによって、記憶部10に新システムへの切替日として「20130606」が記憶される。
そして、制御部90によって、所定時間に当該プログラムが実行される。この実施の形態では、毎日午前2時に旧第1のプログラム211が起動されて、続いて、旧第2のプログラム212が起動されるように設定されるとともに、当時に、新第1のプログラム221が起動されて、続いて、新第2のプログラム222が起動されるように設定されている。
そして、制御部90によって、図9、図10に示すように、旧第1のプログラム211と新第1のプログラム221の処理の終了後、それぞれ旧第1の出力ファイル411と新第1の出力ファイル421を作成した後に、第1のコンペアタスク61が起動するように制御されている。
第1のコンペアタスク61が起動されると、旧第1の出力ファイル411と新第1の出力ファイル421とが比較されて、差異のある箇所が図5に示すような第1のアンマッチ結果51として出力される。具体的には例えば、第1のマスク箇所リスト711には、「有効期限」の項目が、比較の対象外とするマスク箇所として記憶されている場合は、旧第1の出力ファイル411と新第1の出力ファイル421との比較時には、「有効期限」に該当する両出力ファイル411、421の71バイトから8桁は比較が行われない。すなわち、出力ファイル411の71バイトから8桁はブランクであり、出力ファイル421の71バイトから8桁には年月日が出力されているが、当該箇所はマスクされて比較されないために、第1のアンマッチ結果51にはブランクが出力される。
また、第1のコンペアタスク61の処理の終了後、新システムへの切替日より前、2013年06月06日までは、第1のアンマッチ結果51に不一致の項目が出力されていたとしても、後続の処理をそのまま継続するように制御される。また、新システムへの切替日以降、2013年06月06日以降であれば、第1のアンマッチ結果51に不一致の項目が出力されていた場合は、異常終了として後続の処理を継続しないように制御される。
そして、制御部90によって、図10に示すように、第1のコンペアタスク61の処理の終了後、第1のアンマッチ結果51を作成した後に、第1の原因プログラム判定タスク81が起動するように制御されている。
また、制御部90によって、図9、図10に示すように、旧第1のプログラム211と新第1のプログラム221の処理の終了後、それぞれ旧第1の出力ファイル411と新第1の出力ファイル421を作成した後に、旧第2のプログラム212と新第2のプログラム222が起動するように制御されている。
そして、制御部90によって、図9、図10に示すように、旧第2のプログラム212と新第2のプログラム222の処理の終了後、それぞれ旧第2の出力ファイル412と新第2の出力ファイル422を作成した後に、第2のコンペアタスク62が起動するように制御されている。
第2のコンペアタスク62が起動されると、旧第2の出力ファイル412と新第2の出力ファイル422とが比較されて、差異のある箇所が第2のアンマッチ結果52として出力される。第2のコンペアタスク62の処理の終了後、このとき、新システムへの切替日より前、2013年06月06日までは、第2のアンマッチ結果52に不一致の項目が出力されていたとしても、後続の処理をそのまま継続するように制御される。新システムへの切替日以降、2013年06月06日以降であれば、第2のアンマッチ結果52に不一致の項目が出力されていた場合は、異常終了として後続の処理を継続しないように制御される。
そして、制御部90によって、第2のコンペアタスク62の処理の終了後、第2のアンマッチ結果52を作成した後に、第2の原因プログラム判定タスク82が起動するように制御されている。
このようにして、制御部90によって、所定時間に、旧第1のプログラム211と新第1のプログラム221が起動され、続いて、旧第2のプログラム212と新第2のプログラム222が起動される。そして、これらのプログラムの処理の終了後に、第1のコンペアタスク61や第2のコンペアタスク62が起動されて、第1のアンマッチ結果51や第2のアンマッチ結果52が出力される。
また、第1のアンマッチ結果51や第2のアンマッチ結果52が作成された後に、第1の原因プログラム判定タスク81や第2の原因プログラム判定タスク82が起動されて、第1のアンマッチ項目編集箇所や第2のアンマッチ項目編集箇所が出力される。
以上のように、この出力ファイル検証システム1によれば、第1のマスク箇所抽出タスク71によって、旧第1の出力ファイル仕様311と新第1の出力ファイル仕様321に基づいて第1のマスク箇所リスト711を作成することができる。すなわち、比較の対象外とする項目(マスク項目)をプログラムのソースコードから自動で抽出するので、人為的ミスが防止されて作業の精度が向上し、作業時間を大幅に短縮することができる。第2のマスク箇所抽出タスク72も同様である。
また、第1のマスク箇所抽出タスク71によって、第1のマスク箇所リスト711と、旧第2の出力ファイル仕様312と新第2の出力ファイル仕様322とに基づいて、旧第2の出力ファイル412と新第2の出力ファイル422との比較時に、不一致が予測される箇所を出力することができる。これにより、第1のマスク箇所リスト711を作成するとともに、後続する処理についても第2のマスク箇所リスト712を作成してしまうので、作業時間を大幅に短縮することができる。
これらによって、例えば、改修前後の出力ファイル411、412を比較して検証する際に、変更した項目は比較の対象外となるため、変更していない項目が一致していることを確認することが容易になり、例えば、テスト実施者が、出力ファイル411、412を並べたり、重ね合せたりする必要がないので、出力ファイル411、412の比較が容易かつ正確となり、テスト実施者による見落としや、見誤りを防止することが可能である。
また、第1の原因プログラム判定タスク81によって、旧第1のプログラム211と、新第1のプログラム221と、ファイル仕様書データベース30に記憶した旧第1の出力ファイル仕様311と、新第1の出力ファイル仕様321と、第1のコンペアタスク61によって出力した第1のアンマッチ結果51に基づいて、不一致の原因となったプログラムや関数などを判定して第1のアンマッチ項目編集箇所として出力するので、デバッグ作業が容易となる。
以上、この発明の実施の形態について説明したが、具体的な構成は、上記の実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があっても、この発明に含まれる。例えば、上記の実施の形態では、プログラムの数は2つとして説明したが、プログラムの数は2つに限定されないことはもちろんである。
1 出力ファイル検証システム
10 記憶部(記憶手段)
20 ソースプログラムデータベース
211 旧第1のプログラム
212 旧第2のプログラム
221 新第1のプログラム
222 新第2のプログラム
30 ファイル仕様書データベース
311 旧第1の出力ファイル仕様
312 旧第2の出力ファイル仕様
321 新第1の出力ファイル仕様
322 新第2の出力ファイル仕様
40 出力ファイルデータベース
411 旧第1の出力ファイル
412 旧第2の出力ファイル
421 新第1の出力ファイル
422 新第2の出力ファイル
50 アンマッチ結果データベース
51 第1のアンマッチ結果(不一致リスト)
52 第2のアンマッチ結果(不一致リスト)
61 第1のコンペアタスク(出力ファイル比較手段)
62 第2のコンペアタスク(出力ファイル比較手段)
71 第1のマスク箇所抽出タスク(マスク箇所抽出手段)
711 第1のマスク箇所リスト
712 第2のマスク箇所リスト
72 第2のマスク箇所抽出タスク(マスク箇所抽出手段)
81 第1の原因プログラム判定タスク(原因プログラム判定手段)
82 第2の原因プログラム判定タスク(原因プログラム判定手段)

Claims (2)

  1. 旧第1の出力ファイルを作成する機能を有する改修前の旧第1のプログラムと、前記旧第1のプログラムの一部の機能を改修したプログラムであって、新第1の出力ファイルを作成する機能を有する新第1のプログラムと、前記旧第1の出力ファイルの各データ項目のバイト数を含む旧第1の出力ファイル仕様と、前記新第1の出力ファイルの各データ項目のバイト数を含む新第1の出力ファイル仕様とを記憶した記憶手段と、
    前記旧第1のプログラムおよび前記新第1のプログラムを実行して、それぞれ前記旧第1の出力ファイルと前記新第1の出力ファイルを作成した後に起動され、前記旧第1の出力ファイルと前記新第1の出力ファイルとを比較して、差異のある箇所を不一致リストとして出力する出力ファイル比較手段と、
    前記旧第1の出力ファイル仕様と前記新第1の出力ファイル仕様とに基づいて、前記出力ファイル比較手段における前記旧第1の出力ファイルと前記新第1の出力ファイルとの比較時に、不一致が予測される箇所をマスク箇所リストとして出力するマスク箇所抽出手段と、
    前記記憶手段に記憶した前記旧第1のプログラムと、前記新第1のプログラムと、前記旧第1の出力ファイル仕様と、前記新第1の出力ファイル仕様と、前記出力ファイル比較手段によって出力した前記不一致リストとに基づいて、不一致の原因となったプログラムを判定する原因プログラム判定手段と、
    を備えることを特徴とする出力ファイル検証システム。
  2. 記憶手段は、前記旧第1のプログラムに続いて実行されるプログラムであって、旧第2の出力ファイルを作成する機能を有する改修前の旧第2のプログラムと、前記新第1のプログラムに続いて実行されるプログラムであって、新第2の出力ファイルを作成する機能を有する改修後の新第2のプログラムと、前記旧第2の出力ファイルの各データ項目のバイト数を含む旧第2の出力ファイル仕様と、前記新第2の出力ファイルの各データ項目のバイト数を含む新第2の出力ファイル仕様とを記憶し、
    前記マスク箇所抽出手段は、前記旧第2の出力ファイル仕様と前記新第2の出力ファイル仕様とに基づいて、前記出力ファイル比較手段における前記旧第2の出力ファイルと前記新第2の出力ファイルとの比較時に、不一致が予測される箇所をマスク箇所リストとして出力する、
    ことを特徴とする請求項1に記載の出力ファイル検証システム。
JP2013251038A 2013-12-04 2013-12-04 出力ファイル検証システム Active JP5823478B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013251038A JP5823478B2 (ja) 2013-12-04 2013-12-04 出力ファイル検証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013251038A JP5823478B2 (ja) 2013-12-04 2013-12-04 出力ファイル検証システム

Publications (2)

Publication Number Publication Date
JP2015108937A JP2015108937A (ja) 2015-06-11
JP5823478B2 true JP5823478B2 (ja) 2015-11-25

Family

ID=53439250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013251038A Active JP5823478B2 (ja) 2013-12-04 2013-12-04 出力ファイル検証システム

Country Status (1)

Country Link
JP (1) JP5823478B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7027721B2 (ja) * 2017-08-07 2022-03-02 株式会社Ihi 検証システム及び検証方法
JP7256353B2 (ja) * 2018-05-07 2023-04-12 キヤノンマーケティングジャパン株式会社 情報処理システム、その制御方法及びプログラム

Also Published As

Publication number Publication date
JP2015108937A (ja) 2015-06-11

Similar Documents

Publication Publication Date Title
CN106528100B (zh) 用于安全关键软件开发的基于模型的技术和过程的系统和方法
CN103279418B (zh) 一种组态控制信息的测试方法和装置
JP2014203314A (ja) Ecuシミュレーション装置
CN109840194B (zh) 一种配置文件的检测方法及系统
EP3220218B1 (en) Program development support device, program development support method, and program development support program
KR20170067826A (ko) 펌웨어의 업데이트 방법
JP5823478B2 (ja) 出力ファイル検証システム
CN114860531A (zh) 安全芯片的故障检测方法、装置、电子设备及介质
JPH10240575A (ja) 大量データファイル一括更新処理プログラムの検査方法
JP2016031622A (ja) ソフトウェア検証システムおよび制御装置
JP6451417B2 (ja) デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム
Matragkas et al. A Traceability-Driven Approach to Model Transformation Testing.
JP6058498B2 (ja) コンパイル方法、プログラム及びコンパイル装置
JP5461716B1 (ja) プログラム検証システム
JP5811859B2 (ja) ソースコードの静的解析装置、システム、方法、及びそのためのプログラム
JP2005276040A (ja) デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム
CN105630625A (zh) 检测数据副本之间的一致性的方法和装置
US20150346713A1 (en) Method for Processing an Automation Project Using a Plurality of Processing Stations
JP5497210B1 (ja) ジョブ再実行支援システム
JP6006577B2 (ja) デグレードテスト支援システム、デグレードテスト支援方法及びデグレードテスト支援プログラム
JP5120103B2 (ja) デバッグ方法およびデバッグプログラム
Stürmer et al. Modeling Guidelines and Model Analysis Tools in Embedded Automotive Software Development.
JP6072714B2 (ja) プログラム照合装置
JP2013206310A (ja) モデル検査装置、モデル検査方法、およびプログラム
JP2016071400A (ja) テスト実行装置、テスト実行方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151007

R150 Certificate of patent or registration of utility model

Ref document number: 5823478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150