JP2008197897A - テストパターン作成装置及び作成方法 - Google Patents

テストパターン作成装置及び作成方法 Download PDF

Info

Publication number
JP2008197897A
JP2008197897A JP2007032272A JP2007032272A JP2008197897A JP 2008197897 A JP2008197897 A JP 2008197897A JP 2007032272 A JP2007032272 A JP 2007032272A JP 2007032272 A JP2007032272 A JP 2007032272A JP 2008197897 A JP2008197897 A JP 2008197897A
Authority
JP
Japan
Prior art keywords
test pattern
combination
test
list
program
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.)
Pending
Application number
JP2007032272A
Other languages
English (en)
Inventor
Yoshisuke Otaka
美甫 大▲高▼
Hirobumi Araya
博文 新家
Shinichi Akiba
真一 秋庭
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.)
Hitachi Consulting Co Ltd
Original Assignee
Hitachi Consulting Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Consulting Co Ltd filed Critical Hitachi Consulting Co Ltd
Priority to JP2007032272A priority Critical patent/JP2008197897A/ja
Priority to US11/867,157 priority patent/US20080195906A1/en
Publication of JP2008197897A publication Critical patent/JP2008197897A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】既存システムを他のシステム環境へ移行する際に、その業務が移行後のシステム環境で正しく動作することを確認するための組み合わせテストパターンを生成する。
【解決手段】まず、組み合わせテスト確認抽出処理102は、入力された組み合わせテスト確認処理と一致する処理を、ファイル106内のプログラムテストパターンから検索・抽出する。テストパターン作成処理103は、処理102又はデータ操作検索処理104で抽出された処理の実行条件を、プログラムテストパターンの一覧から抽出・整理し、1つのテストパターンを作成し、IDを付与する。処理104は、処理103が作成したテストパターン一覧の条件部のデータ項目を操作する処理を検索し、テストパターン一覧の条件を満たすデータ操作の処理を抽出する。組み合わせテストパターン生成処理105は、テストパターンIDを元に組み合わせテストパターン一覧を作成し、作業者に表示する。
【選択図】図1

Description

本発明は、プログラムのテストを行うテストパターンを生成するテストパターン作成装置及び作成方法に係り、特に、既存のシステム資産を活用するためのプログラムのテストに用いて好適な組み合わせテストパターンを生成するテストパターン作成装置及び作成方法に関する。
近年、既存のシステムをオープン環境へ移行して新たなシステムを構築することがしばしば行われている。この場合、移行後のシステムが現行のシステムと同様に稼動するか否かを検証するためのテストが行われる。このテストは、まず、移行したシステムを構成する各プログラムに対してプログラムテストを行い、次に、複数のプログラムにより構成された各ジョブに対してジョブ単位の組み合わせテストを行うものである。プログラムテストは、各プログラムの動作確認を行い、ジョブ単位の組み合わせテストは、各ジョブの処理結果の業務レベルでの検証を行う。
プログラムテストの方法としては、既存システムのプログラム情報を解析することにより、現行のプログラムがどのような動作を行っているのかチェックするためのテストパターンを作成し、そのプログラムによりテストを行う方法が知られている。このようなプログラムをテストするテストパターンの生成に関する従来技術として、例えば、特許文献1等に記載された技術が知られている。この従来技術は、プログラムのデータの操作を抽出し、その操作の実行条件を抽出・整理してテストパターンの生成を行うというものである。
また、ジョブ単位の組み合わせテストは、現状では、既存システムの運用者がテストデータを作成して行われている。既存システムの運用者がこのテストデータ作成の作業を行う理由は、ジョブ単位での組み合わせテストのテストパターン(確認すべき処理とその処理を実行するために必要な条件)を知っているのが、システムの業務仕様に詳しい運用者に限られているためである。そして、このテストデータ作成の作業は、非常に多くの工数を必要とするものである。さらに、作成されたテストパターンは、運用者が知っている業務仕様のみで作成されるため、確認したいジョブの処理の実行条件を全て満たす正しいものであるかどうかについては検証できていなかった。
そして、プログラムテストにより、個々のプログラムの動作が確認されていても、その後行うジョブ単位の組み合わせテストにおいて、ジョブを構成するプログラムとプログラムとの間でやり取りするデータの整合性がとれているか否かを確認することが必要であり、前述のジョブ単位のテストは、システムの稼動に向けて必ず実施しなければならないものである。
特開平11−15695号公報
前述した従来技術は、業務仕様のみでは、ジョブ単位の組み合わせテストに使用するための正しいテストパターンまたはテストデータの作成を行うことができないという問題点を有している。
すなわち、前述したように、従来技術によるテストパターンの作成は、現状では、システムの業務仕様に詳しい運用者が行っているが、システムに詳しく業務に精通している担当者であっても、テストパターンの作成には限界がある。この理由は、単に属人的であるから不充分ということの他に、次に説明するような問題があるからである。
すなわち、既存のシステムで取り扱われるデータ形式は、オープン環境に移行した後に取り扱われるデータ形式とは異なる場合が多く、各プログラムは、正常に動作するように移行ができたとしても、複数のプログラムが連続して実行される場合には、既存システムからオープン環境で扱われるデータ形式を変換したときの変換誤差により、オープン環境での複数のプログラムの実行後(すなわち、ジョブの処理結果)には、無視できない値が誤差として生じてしまうという問題がある。その結果、各プログラム単位では、システム移行が完了したように見えたとしても、実際には、システムは、エラーなく動作するもののジョブ(1つのまとまりとしての業務処理)としては、誤った結果が出力されることになる。
これまでも、このような誤った結果を排除するために、システム運用者がジョブのテストパターンを作成してきたが、運用者が想定可能なテストパターンは、実業務に基づくテストパターンとなる。この理由は、既存のシステムを用いて、実際に実行したジョブパターンが移行後の環境でも正しく実行できれば充分と考えるからである。
しかし、移行後の環境において、既存の業務をこれまでと同じパターンで処理する保証はない。企業も成長し、業務が改善される中で、移行後の環境で新たな処理を行うことがあり得る。その新たな処理は、革新的な発想に基づく場合も多く、想定範囲のテストパターンではカバーできないこともある。よって、移行後のシステムとして、データの取り扱いという観点で、複数のプログラムから構成されるジョブ処理について、実行可能性のあるテストパターンの作成が重要課題となる。これと並んで、複数のジョブにより成立する業務を実行するジョブの組み合わせについても、これまでの業務において想定範囲外であるが、システム上実行可能性のあるジョブの組み合わせパターンの作成が重要課題となる。
従って、本発明の目的は、前述したような点に鑑み、既存システムを他のシステム環境へ移行する際に、複数プログラムで実現されるジョブを複数組み合わせた業務が現在及び将来に渡って、移行後のシステム環境で正しく動作することを確認、保証することのできるテストパターンを生成する組み合わせテストパターン作成装置及び作成方法を提供することにある。
本発明によれば前記目的は、既存のシステム資産を活用するためのプログラムのテストに用いる組み合わせテストパターンを生成するテストパターン作成装置において、情報処理装置内に、組み合わせテスト確認抽出手段と、テストパターン作成手段と、データ操作検索手段と、組み合わせテストパターン生成手段とを構成し、前記組み合わせテスト確認抽出手段が、複数プログラムから構成されるジョブについて、そのジョブを構成するプログラムのプログラムテストに用いるテストパターン一覧から、入力された組み合わせテスト確認処理と一致する処理とその処理を実行する実行条件とを抽出し、前記テストパターン作成手段が、前記抽出された処理とその実行条件の1つ1つに対してテストパターンIDを付与したテストパターン一覧を作成し、前記データ操作検索手段が、テストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧に存在した場合で、かつ、その処理がテストパターン作成手段で作成されたテストパターン一覧の実行条件を満たすデータ操作であった場合にその処理を抽出し、前記組み合わせテストパターン生成手段が、テストパターン一覧のテストパターンIDを元に、前記テストパターン一覧の実行条件部をまとめて、組み合わせテストのテストパターン一覧を作成することにより達成される。
前述したような構成を有する本発明によれば、ジョブ単位の組み合わせテストで確認が必要となる処理の実行条件が満たされるテストパターン全てを、プログラムテストパターンから自動生成することができる。また、本発明によって、ジョブを構成するプログラムのうちの1つで行われるデータの操作が同じジョブ内のどのプログラムのどんな処理にどのような影響をおよぼすかを考慮しジョブの処理の実行条件全てを満たす正しいテストパターンを作成することができ、テストデータの作成支援と運用者のみに限られていたテストデータの作成作業をシステムの業務仕様を知らない人間が行うことが可能になる。
本発明によれば、プログラムテストパターンから自動的にジョブ単位の組み合わせテストパターンを生成することができ、ジョブ単位の組み合わせテストパターンを生成に要する工数、費用の削減が可能となり、かつ、抜け、漏れのない高品質のテストを行うことが可能となる。
以下、本発明によるテストパターン作成装置及び作成方法の実施形態を図面により詳細に説明する。
図1は本発明の一実施形態によるテストパターン作成装置の機能構成を示すブロック図、図2は本発明の一実施形態によるテストパターン作成装置のハードウェア構成を示すブロック図である。
まず、図1を参照して、本発明の各処理機能とその動作を説明する。本発明の一実施形態によるテストパターン作成装置の機能は、入力処理101と、組み合わせテスト確認抽出処理102と、テストパターン作成処理103と、データ操作検索処理104と、組み合わせテストパターン生成処理105との各機能部により構成される。
図1に示すテストパターン作成装置において、入力処理101は、作業者が入力する図7により後述する組み合わせテスト確認処理701を取り込む。組み合わせテスト確認抽出処理102は、入力処理101で入力された組み合わせテスト確認処理と一致する処理を、ファイル106として格納されている図2により後述するプログラムテストパターン205から検索・抽出する。テストパターン作成処理103は、組み合わせテスト確認処理102またはデータ操作検索処理104で抽出された処理の実行条件を、その処理が属するプログラムテストパターン一覧から抽出・整理し、処理に対する実行条件の1つバリエーションを1つのテストパターンとして作成し、それにテストパターンIDを付与し、図8、図10、図12により後述するようなテストパターン一覧を作成する。データ操作検索処理104は、テストパターン作成処理103で作成されたテストパターン一覧の条件部のデータ項目を操作する処理を、プログラムテストパターン205から検索し、検索された処理がテストパターン作成処理103で作成されたテストパターン一覧の条件を満たすデータ操作であるか否かをチェックし、条件を満たす場合にその処理を抽出する。組み合わせテストパターン生成処理105は、テストパターンIDを元に組み合わせテストのテストパターンのバリエーションを生成し、図14により後述するような組み合わせテストパターン一覧を作成する。この一覧は、ジョブ単位の組み合わせテストのための組み合わせテストパターン一覧として作業者に表示される。
次に、図2を参照して、本発明の実施形態によるテストパターン作成装置のハードウェア構成について説明する。
本発明の実施形態によるテストパターン作成装置は、よく知られているPC等に代表される情報処理装置内に構成され、CPU201、表示部202、キーボード、マウス等の入力部203、主メモリ204、ハードディスク装置等の記憶装置208により構成される。
そして、CPU201は、本発明の実施形態での処理手順の実行を制御し、表示部202は、操作を行う作業者に対し、情報やプログラムの結果を表示し、入力部203は、作業者が指示を装置に入力するために用いられる。主メモリ204には、CPUが実行することにより、図1に示した各機能部を構築するプログラムが格納されている。すなわち、入力処理101は、入力処理プログラムの実行により、組み合わせテスト確認抽出処理102は、組み合わせテスト確認抽出処理プログラムの実行により、テストパターン作成処理103は、テストパターン作成処理プログラムの実行により、データ操作検索処理104は、データ操作検索処理プログラムの実行により、組み合わせテストパターン生成処理105は、組み合わせテストパターン生成処理プログラムの実行により、それぞれ構築される。また、組み合わせテストパターン一覧表示プログラムは、組み合わせテストパターン生成処理105で生成されたジョブ単位の組み合わせテストのテストパターン一覧を表示部202に表示する処理を行う。
なお、これらのプログラムは、記憶装置208内に格納されていて、記憶装置208から、あるいは、図示しない通信回線を介して、主メモリ204にロードされ、図示しないOSの下でCPU201により実行される。
記憶装置208には、本発明で使用するファイル106が格納されている。ファイル106としては、「各プログラムのテストパターン一覧」のファイル205、「リソース解析情報」のファイル206、「組み合わせテスト確認事項一覧」のファイル207が備えられる。ファイル205の「各プログラムのテストパターン一覧」は、テスト対象のジョブを構成するプログラムのテストパターン一覧(図6A〜図6Cにより後述)が格納されており、ファイル206の「リソース解析情報」には、テスト対象のプログラム、JCL等のリソースを解析した結果であるJCL−プログラム関連情報(図4Aにより後述)が格納されており、また、ファイル207の「組み合わせテスト確認事項一覧」には、組み合わせテスト対象のジョブについて確認すべき処理事項を一覧化した表(図7により後述)が格納されている。
図3は本発明の実施形態での組み合わせテストのテストパターン生成の全体の処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)まず、組み合わせテスト確認抽出処理102は、作業者が入力した組み合わせテスト確認処理と一致するものをプログラムテストのテストパターン一覧のファイル205から抽出する(ステップ301)。
(2)次に、テストパターン作成処理103は、ステップ301または後述するステップ305の処理で抽出した処理の実行条件をその処理が属するプログラムテストパターン一覧のファイル205から抽出・整理し、処理に対する実行条件の1つのバリエーションを1つのテストパターンとして作成し、それにテストパターンIDを付与し、ステップ301またはステップ305の処理で抽出した処理に対するテストパターン一覧を作成する(ステップ302)。
(3)そして、データ操作検索処理104は、ステップ302の処理で作成したテストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧のファイル205の処理に存在するか否か検索する(ステップ303)。
(4)ステップ303の処理で検索した処理が存在するか否かを判定し、存在した場合、データ操作検索処理104は、その処理がテストパターン作成処理103で作成されたテストパターン一覧の条件を満たすデータ操作であるかチェックする(ステップ304、305)。
(5)ステップ305のチェックで、ステップ303の処理で検索した処理がテストパターン作成処理103で作成されたテストパターン一覧の条件を満たすデータ操作であると判断された場合、その処理を抽出して、ステップ302からの処理に戻って処理を続ける(ステップ306)。
(6)ステップ304の判定で、ステップ303で検索した処理がプログラムテストパターンの処理に存在しないと判断した場合、あるいは、ステップ305の判定で、ステップ303で検索した処理がテストパターン作成処理103で作成されたテストパターン一覧の条件を満たすデータ操作でないと判断した場合、ステップ302で作成したテストパターン一覧の実行条件部のデータ項目の全てについて、ステップ303の作業を行っているか否かをチェックし、データ項目の全てについて、ステップ303の作業を行っておらず、行うべき項目が残っていた場合、ステップ303からの処理に戻って処理を続ける(ステップ307)。
(7)ステップ307のチェックで、ステップ302で作成したテストパターン一覧の実行条件部のデータ項目の全てについて、ステップ303の作業を行ったと判断した場合、組み合わせテストパターン生成処理105は、テストパターン一覧のテストパターンIDを元に、ステップ302の処理で作成したテストパターン一覧の条件部をまとめ、その条件部からステップ306の処理で抽出されたデータ操作処理を受けるデータ項目を含む条件を排除し、組み合わせテストのテストパターン一覧(図14により後述)を作成する。ここで作成されたテーブルが最終的な組み合わせテストのテストパターン一覧となる(ステップ308)。
図4Aは本発明の実施形態で取り上げるジョブとそれを構成するプログラムの解析情報とを説明する図、図4Bは本発明の実施形態で取り上げるジョブとそれを構成するプログラムとの概要を説明する図であり、次に、これらの図を説明する。
図4Aに示すジョブとそれを構成するプログラムの解析情報との例は、図2に示すファイル206に格納されている「リソース解析情報」である。「リソース解析情報」とは、プログラム(図5により後述)、JCL等のシステムリソースを解析し、JCL−プログラム関連とプログラムの実行順序411と、各プログラムの処理概要412等の情報を、図4Aに示すようなテーブルで示したものである。ここに示す例では、ジョブJYUTYUが、プログラムPGM1、PGM2、PGM3の3つのプログラムにより構成されて、この順序で実行されることを示すと共に、これらの各プログラムの処理概要を示している。
図4Bに示すジョブとそれを構成するプログラムとの概要は、図4Aに示した「リソース解析情報」を元に作成されたジョブとそれを構成するプログラムとの概要を示すものである。実際には、本発明の実施形態の装置は、「リソース解析情報」を図4Aに示すような表形式でテーブルに格納しその情報を直接読み込むが、ここでは、後述する詳細な事例の説明のため、図4Bに示すような概要として示している。
図5はジョブを構成するプログラムの例を示す図である。図5(a)に示すプログラムPGM1は、ジョブJYUTYUが開始されたとき最初に実行されるプログラムであり、図4Aの処理概要412に示したように、受注データの入力を行い、HATYU−RECaあるいはHATYU−RECbの出力を行う処理を記述している。図5(b)に示すプログラムPGM2は、その次に実行されるプログラムであり、エラーの場合にサブプログラムERRPGMの呼び出しを行う処理を記述している。また、図5(c)に示すプログラムPGM3は、ジョブJYUTYUの最後に実行されるプログラムであり、INSATU−RECaあるいはINSATU−RECbの印刷を行う処理を記述している。
図6AはプログラムPGM1のプログラムテストのテストパターン一覧の例を示す図、図6BはプログラムPGM2のプログラムテストのテストパターン一覧の例を示す図、図6CはプログラムPGM3のプログラムテストのテストパターン一覧の例を示す図である。これらの図に示すテストパターン一覧は、前述した特許文献1に記載される「プログラムテストパターン自動生成システム」等の既存の技術によって、対象プログラムから自動生成され、図2に示すファイル205に格納されている。これらのプログラムテストパターン一覧は、プログラム単位でテストすべきデータに関する全ての処理について、その各処理を実行するために満たすべき条件パターンの全てを条件部として一覧にまとめたものである。
そして、これらの一覧において、処理が実行されている場合、実行状態情報613「E(Execute=実行)」と表し、条件を満たすことを真である場合と考え、情報614「T(Truth=真)」、条件を満たさないことを偽である場合と考え、情報615「F(False=偽)」で表している。
ここで、図6Aに示すプログラムPGM1のプログラムテストパターンを例として、その意味を説明する。この図6Aに示すプログラムテストパターンは、図5(a)に示すプログラムPGM1から生成されたものである。図5(a)に示す501の部分は、データの値を判断し、次に実行する処理を決める条件部分であり、502の部分は、プログラムで実行される処理部分である。条件部分501は、図6Aに示すプログラムテストパターンの「条件部」として、条件文503「SHOHIN−SU<=1000」である場合、左辺データ「SHOHIN−SU」、右辺データ「1000」、比較演算子「<=」という形式にして表される。処理部分502は、図6Aのプログラムテストパターンの「処理部」として表される。そして、条件部の内容に従って、対応する処理部がどれであるかが決定される。図6B、図6Cの場合も同様である。
図7はジョブの組み合わせテスト確認事項一覧の例を示す図である。図7に示す組み合わせテスト確認事項一覧は、顧客ヒアリングの結果等を元に組み合わせテストの際に確認すべき処理を一覧としてまとめたものであり、図2に示したファイル207に格納されている。
図8はプログラムPGM1における処理「WRITE INSATU RECa」にテストパターンIDを付与したテストパターン一覧の例を示す図、図9AはプログラムPGM2における処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU*1.05」のテストパターンIDを付与したテストパターン一覧の例を示す図、図9BはプログラムPGM2における処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU」にテストパターンIDを付与したテストパターン一覧の例を示す図、図10はプログラムPGM2における処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU*1.05」と処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU」とにテストパターンIDを付与したテストパターン一覧の例を示す図、図11AはプログラムPGM3における処理「SHOHIN−TANKA=A−TANKA」にテストパターンIDを付与したテストパターン一覧の例を示す図、図11BはプログラムPGM3における処理「SHOHIN−TANKA=B−TANKA」にテストパターンIDを付与したテストパターン一覧の例を示す図、図12はプログラムPGM3における処理「SHOHIN−TANKA=A−TANKA」と「SHOHIN−TANKA=B−TANKA」とにテストパターンIDを付与したテストパターン一覧の例を示す図、図13はテストパターンのバリエーションについて説明する図、図14は処理「WRITE INSATU−RECa」をジョブ単位で確認する組み合わせテストのテストパターン一覧の例を示す図である。
以下、これらの図を参照して、本発明の実施形態における処理の具体例として、図4Bに示して説明したジョブの組み合わせテストを行う際、図7の組み合わせテスト確認処理一覧701のうちの「WRITE INSATU−RECa」という処理が正常に行われるか否かを確認するための組み合わせテストパターンを生成する処理について説明する。
まず、組み合わせテスト対象のジョブの概要を図4Bを再度参照して説明する。ジョブ「JYUTYU」は、「受注データ」の入力から、「PGM1」→「PGM2」→「PGM3」の順に処理を実行し、「INSATU−RECa」あるいは「INSATU−RECb」を出力して終了する。途中の処理で、PGM1は、「HATYU−RECa」あるいは「HATYU−RECb」を出力し、PGM2は、エラーの判定があった場合、サブプログラム「ERRPGM」を呼び出して処理を行う。
次に、組み合わせテストパターン生成処理の手順を説明する。
まず、作業者は、本発明の実施形態によるテストパターン作成装置に「WRITE INSATU−RECa」を確認するテストパターンの生成指示を与える。この指示は、図2に示す表示部202に表示された図7に示して説明した「組み合わせテスト確認事項一覧」の中から、作業者がテストパターンを生成する処理、すなわち、「WRITE INSATU−RECa」を選択して、実行命令を入力部203から入力することにより行われる。
この命令を受けたテストパターン作成装置の組み合わせテスト確認抽出処理102は、「WRITE INSATU−RECa」と一致する処理を図6A〜図6Cに示したプログラムテストのテストパターン一覧から検索する。「WRITE INSATU−RECa」と一致するのは、図6Cに示すPGM3のプログラムテストパターンおける処理部に記述された処理631であり、これが抽出される。
次に、テストパターン作成装置のテストパターン作成処理103は、抽出されたPGM3の処理「WRITE INSATU−RECa」が実行される条件をプログラムテストパターンの条件部から抽出し実行条件のパターン毎に1つのテストパターンとしてテストパターンIDを付与し、図8に示すようなテストパターン一覧を作成する。
次に、テストパターン作成装置のデータ操作検索処理104は、作成された図8に示すテストパターン一覧の条件部にあるデータ項目801の「HATYU−CODE」、るデータ項目802の「SHOHIN−KIN」を操作する処理がプログラムテストパターンの処理部に存在するか検索する。データ項目801「HATYU−CODE」を操作する処理は、図6A、図6Bに示すPGM1、PGM2のプログラムテストパターン一覧の処理部には存在しない。データ項目802「SHOHIN−KIN」を操作する処理は、PGM2のプログラムテストパターンの処理部の処理621(「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU*1.05」)、処理622(「COMPUTE SHOHIN−KIN =SHOHIN−TANKA*SHOHIN−SU」)、処理623(「SHOHIN−KIN=0」)として存在する。
これらの処理のそれぞれが行う操作によって、図8に示すデータ項目802「SHOHIN−KIN」が条件803(「SHOHIN−KIN>=10000」)を満たす操作であるか否かをチェックする。処理621、622は、「SHOHIN−TANKA」、「SHOHIN−SU」の値によってデータ項目802が条件803を満たすかどうか決まる。この段階では条件を満たす可能性があるとして、処理621、622が抽出される。処理623は、「SHOHIN−KIN」に0を代入しており、条件632を満たしていない。このため、処理623の抽出は行わない。
テストパターン作成装置のテストパターン作成処理103は、抽出した処理621、622の実行条件をプログラムテストパターンから抽出・整理してテストパターンIDを付与する。すなわち、テストパターン作成処理103は、まず、処理621の実行条件のみをプログラムPGM2の条件部から抽出して、図9Aに示すようなテストパターン一覧を作成し、同様にして、処理622に対してず9Bに示すようなテストパターン一覧を作成する。ここで、それらのテストパターンの条件部が処理の実行に必要不可欠な条件のみで構成されているかをチェックする。処理の実行に必要不可欠でない条件が存在する場合、その条件を排除する。処理621、622のテストパターン一覧は、処理の実行に必要不可欠な条件のみで構成されているため、排除する条件はない。その後、テストパターン作成処理103は、処理621、622のテストパターン一覧について、それぞれテストパターンのバリエーション毎にテストパターンIDを付与し、まとめて図10に示すようなテストパターン一覧を作成する。
その後、データ操作検索処理104は、図10に示すテストパターン一覧の条件部のデータ項目1001「SHOHIN−CODE」、1002「SHOHIN−TANKA」を操作する処理が図6A〜図6Cに示すプログラムテストパターンの処理部に存在するか検索する。データ項目1001「SHOHIN−CODE」を操作する処理は、プログラムPGM1のプログラムテストパターンの処理部には存在しない。また、データ項目1002「SHOHIN−TANKA」を操作する処理は、プログラムPGM1のプログラムテストパターンの処理部の処理611「SHOHIN−TANKA=A−TANKA」、処理612「SHOHIN−TANKA=B−TANKA」として存在する。そして、これらの処理611、612が、データ項目1002「SHOHIN−TANKA」の条件1003「SHOHIN−TANKA<=100」を満たす操作であるかをチェックする。処理611、612は、それぞれ「A−TANKA」、「B−TANKA」の値によって条件を満たすかどうか決まる。この段階では条件を満たす可能性があるとして処理611、612が抽出される。
テストパターン作成処理103は、抽出された処理611、612の実行条件をプログラムテストパターンから抽出・整理してテストパターンIDを付与する。すなわち、テストパターン作成処理103は、まず、処理611の実行条件のみをプログラムPGM1の条件部から抽出して図11Aに示すテストパターン一覧を作成し、同様にして、図11Bに示すような処理612のテストパターン一覧を作成する。ここで、テストパターン作成処理103は、それらのテストパターンの条件部が処理の実行に必要不可欠な条件のみで構成されているかをチェックし、処理の実行に必要不可欠でない条件が存在する場合、その条件を排除する。
図11Aに示す処理611のテストパターン一覧において、条件1111の実行状態が“T”であっても“F”であっても条件1112の実行状態が“T”であれば処理が実行されることから、条件1111は必要不可欠でないと判断できる。よって、条件1111は排除される。また、図11Bに示す処理612のテストパターン一覧においても同様にして条件1121の実行状態が“T”であっても“F”であっても条件1122の実行状態が“T”であれば処理が実行されることから、条件1121は必要不可欠でないと判断できる。よって、条件1122は排除される。
テストパターン作成処理103は、前述したようにして整理した処理611、612のテストパターン一覧について、それぞれテストパターンのバリエーションごとにテストパターンIDを付与し、それらをまとめて図12に示すようなテストパターン一覧を作成する。
次に、データ操作検索処理104は、図12に示すテストパターン一覧の条件部のデータ項目1201「HATYU−CODE」を操作する処理が図6A〜図6Cに示すプログラムテストパターンの処理部に存在するかを検索する。データ項目1201を操作する処理はプログラムテストパターンに存在しない。
組み合わせテストパターン生成処理105は、前述までの処理で付与されたテストパターンIDを元に組み合わせテストのテストパターンのバリエーションを作成する。
前述までに説明したように、1番初めに付与したテストパターンIDが図8に示すテストパターン一覧のテストパターンID804「1001」であり、その条件を満たすためには、次に付与した図10に示すテストパターンID1004の「2101」、「2102」、「2201」、「2202」のいずれかのテストパターンの条件が満たされている必要がある。さらに、そのテストパターンID1004のテストパターンの条件を満たすためには。図12に示すテストパターンID1201の「3101」、「3102」のいずれかのテストパターンの条件が満たされている必要がある。
本発明の実施形態では、組み合わせテストパターン生成処理105が、前述したようなテストパターンの必要性を記憶し、テストパターンのバリエーションを作成する。このテストパターンのバリエーションの具体例をテストパターンIDで示すと図13に示すようなものとなる。
組み合わせテストパターン生成処理105は、図13に示すテストパターンのバリエーションに従って、テストパターンを付与した図8、図10、図12に示すテストパターン一覧からそれぞれの条件部をまとめ、処理「WRITE INSATU−RECa」をジョブ単位で確認する図14に示すようなテストパターン一覧を作成する。
図13に示すテストパターンのバリエーション1301の場合、テストパターンID「1001」のテストパターンの条件と、テストパターンID「2101」の条件と、テストパターンID「3101」の条件の全てを抽出しまとめて、図14に示す条件部1401が作成される。この場合の処理部には、組み合わせテスト確認処理701が記載される。他の各バリエーションに対しても同様の処理を行いテストパターン一覧としてまとめられ。
前述のようにして作成された組み合わせテストのテストパターン一覧を図14に示している。本発明の実施形態は、この組み合わせテストパターン一覧を作業者に表示する。表示された作業者は、この組み合わせテストのテストパターン一覧の条件部を満たすようなテストデータを作成すればよいということが判る。図14に示す例では、テストパターンの条件部のバリエーションが8個あるため、作業者は、8種のテストデータを作成する。例えば、そのうちの1種類、テストパターン1401を満たすテストデータは、条件部より、「HATYU−CODE=A∧SHOHIN−KIN<=1000∧SHOHIN−CODE=1∧SHOHIN−TANKA<=100∧HATYU−CODE=A」を満たすものであるということが判る。残りのテストパターンも同様にして、テストデータがとるべき値を条件部より読み取り、作業者が処理「WRITE INSATU−RECa」の実行を確認するためのテストデータを漏れなく作成することが可能になる。
前述した本発明の実施形態での各処理は、プログラムにより構成し、本発明が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
本発明は、本発明により作成された組み合わせテストのテストパターン一覧を元に、作業者がジョブ単位のテストを行う際、テストデータを作成する過程を支援することに利用できる。
本発明の一実施形態によるテストパターン作成装置の機能構成を示すブロック図である。 本発明の一実施形態によるテストパターン作成装置のハードウェア構成を示すブロック図である。 本発明の実施形態での組み合わせテストのテストパターン生成の全体の処理動作を説明するフローチャートである。 本発明の実施形態で取り上げるジョブとそれを構成するプログラムの解析情報とを説明する図である。 本発明の実施形態で取り上げるジョブとそれを構成するプログラムとの概要を説明する図である。 ジョブを構成するプログラムの例を示す図である。 プログラムPGM1のプログラムテストのテストパターン一覧の例を示す図である。 プログラムPGM2のプログラムテストのテストパターン一覧の例を示す図である。 プログラムPGM3のプログラムテストのテストパターン一覧の例を示す図である。 ジョブの組み合わせテスト確認事項一覧の例を示す図である。 プログラムPGM1における処理「WRITE INSATU RECa」にテストパターンIDを付与したテストパターン一覧の例を示す図である。 プログラムPGM2における処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU*1.05」のテストパターンIDを付与したテストパターン一覧の例を示す図である。 プログラムPGM2における処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU」にテストパターンIDを付与したテストパターン一覧の例を示す図である。 プログラムPGM2における処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU*1.05」と処理「COMPUTE SHOHIN−KIN=SHOHIN−TANKA*SHOHIN−SU」とにテストパターンIDを付与したテストパターン一覧の例を示す図である。 プログラムPGM3における処理「SHOHIN−TANKA=A−TANKA」にテストパターンIDを付与したテストパターン一覧の例を示す図である。 プログラムPGM3における処理「SHOHIN−TANKA=B−TANKA」にテストパターンIDを付与したテストパターン一覧の例を示す図である。 プログラムPGM3における処理「SHOHIN−TANKA=A−TANKA」と「SHOHIN−TANKA=B−TANKA」とにテストパターンIDを付与したテストパターン一覧の例を示す図である。 テストパターンのバリエーションについて説明する図である。 処理「WRITE INSATU−RECa」をジョブ単位で確認する組み合わせテストのテストパターン一覧の例を示す図である。
符号の説明
101 入力処理
102 組み合わせテスト確認抽出処理
103 テストパターン作成処理
104 データ操作検索処理
105 組み合わせテストパターン生成処理
106 ファイル
201 CPU
202 表示部
203 入力部
204 主メモリ
205 各プログラムのテストパターン一覧のファイル
206 リソース解析情報のファイル
207 組み合わせテスト確認事項一覧のファイル
208 記憶装置

Claims (10)

  1. 既存のシステム資産を活用するためのプログラムのテストに用いる組み合わせテストパターンを生成するテストパターン作成装置において、
    情報処理装置内に、組み合わせテスト確認抽出手段と、テストパターン作成手段と、データ操作検索手段と、組み合わせテストパターン生成手段とを構成し、
    前記組み合わせテスト確認抽出手段は、複数プログラムから構成されるジョブについて、そのジョブを構成するプログラムのプログラムテストに用いるテストパターン一覧から、入力された組み合わせテスト確認処理と一致する処理とその処理を実行する実行条件とを抽出し、
    前記テストパターン作成手段は、前記抽出された処理とその実行条件の1つ1つに対してテストパターンIDを付与したテストパターン一覧を作成し、
    前記データ操作検索手段は、テストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧に存在した場合で、かつ、その処理がテストパターン作成手段で作成されたテストパターン一覧の実行条件を満たすデータ操作であった場合にその処理を抽出し、
    前記組み合わせテストパターン生成手段は、テストパターン一覧のテストパターンIDを元に、前記テストパターン一覧の実行条件部をまとめて、組み合わせテストのテストパターン一覧を作成することを特徴とするテストパターン作成装置。
  2. 前記組み合わせテストパターン生成手段は、ジョブの処理の実行条件の全てを満たすジョブ単位の組み合わせテストのテストパターン一覧を作成することを特徴とする請求項1記載のテストパターン作成装置。
  3. 前記組み合わせテストパターン生成手段は、前記前記テストパターン一覧をまとめた実行条件部から、前記抽出されたデータ操作処理を受けるデータ項目を含む実行条件を排除して、組み合わせテストのテストパターン一覧を作成することを特徴とする請求項1記載のテストパターン作成装置。
  4. 前記組み合わせテストパターン生成手段は、テストパターン一覧からジョブ単位で確認すべき処理を実行するための実行条件を抽出する際に、その実行条件が処理を実行するために必要不可欠であるものを抽出して、ジョブ単位の組み合わせテストの条件部とした組み合わせテストのテストパターン一覧を生成することを特徴とする請求項1記載のテストパターン作成装置。
  5. 前記組み合わせテストパターン生成手段が作成する組み合わせテストのテストパターンは、ジョブ単位のテストで確認が必要な処理とその実行条件との組み合わせで構成されることを特徴とする請求項1記載のテストパターン作成装置。
  6. 既存のシステム資産を活用するためのプログラムのテストに用いる組み合わせテストパターンを生成するテストパターン作成方法において、
    情報処理装置内に、組み合わせテスト確認抽出手段と、テストパターン作成手段と、データ操作検索手段と、組み合わせテストパターン生成手段とを構成し、
    前記組み合わせテスト確認抽出手段は、複数プログラムから構成されるジョブについて、そのジョブを構成するプログラムのプログラムテストに用いるテストパターン一覧から、入力された組み合わせテスト確認処理と一致する処理とその処理を実行する実行条件とを抽出し、
    前記テストパターン作成手段は、前記抽出された処理とその実行条件の1つ1つに対してテストパターンIDを付与したテストパターン一覧を作成し、
    前記データ操作検索手段は、テストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧に存在した場合で、かつ、その処理がテストパターン作成手段で作成されたテストパターン一覧の実行条件を満たすデータ操作であった場合にその処理を抽出し、
    前記組み合わせテストパターン生成手段は、テストパターン一覧のテストパターンIDを元に、前記テストパターン一覧の実行条件部をまとめて、組み合わせテストのテストパターン一覧を作成することを特徴とするテストパターン作成方法。
  7. 前記組み合わせテストパターン生成手段は、ジョブの処理の実行条件の全てを満たすジョブ単位の組み合わせテストのテストパターン一覧を作成することを特徴とする請求項1記載のテストパターン作成方法。
  8. 前記組み合わせテストパターン生成手段は、前記前記テストパターン一覧をまとめた実行条件部から、前記抽出されたデータ操作処理を受けるデータ項目を含む実行条件を排除して、組み合わせテストのテストパターン一覧を作成することを特徴とする請求項1記載のテストパターン作成方法。
  9. 前記組み合わせテストパターン生成手段は、テストパターン一覧からジョブ単位で確認すべき処理を実行するための実行条件を抽出する際に、その実行条件が処理を実行するために必要不可欠であるものを抽出して、ジョブ単位の組み合わせテストの条件部とした組み合わせテストのテストパターン一覧を生成することを特徴とする請求項1記載のテストパターン作成方法。
  10. 前記組み合わせテストパターン生成手段が作成する組み合わせテストのテストパターンは、ジョブ単位のテストで確認が必要な処理とその実行条件との組み合わせで構成されることを特徴とする請求項1記載のテストパターン作成方法。
JP2007032272A 2007-02-13 2007-02-13 テストパターン作成装置及び作成方法 Pending JP2008197897A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007032272A JP2008197897A (ja) 2007-02-13 2007-02-13 テストパターン作成装置及び作成方法
US11/867,157 US20080195906A1 (en) 2007-02-13 2007-10-04 Test pattern generation apparatus and test pattern generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007032272A JP2008197897A (ja) 2007-02-13 2007-02-13 テストパターン作成装置及び作成方法

Publications (1)

Publication Number Publication Date
JP2008197897A true JP2008197897A (ja) 2008-08-28

Family

ID=39686903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007032272A Pending JP2008197897A (ja) 2007-02-13 2007-02-13 テストパターン作成装置及び作成方法

Country Status (2)

Country Link
US (1) US20080195906A1 (ja)
JP (1) JP2008197897A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101797484B1 (ko) * 2016-06-29 2017-12-13 주식회사 티맥스 소프트 리호스팅의 테스트를 수행하기 위한 방법 및 컴퓨팅 디바이스
JP2018036971A (ja) * 2016-09-01 2018-03-08 株式会社日立製作所 計算機システム及びテストケース管理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037357B2 (en) * 2009-03-24 2011-10-11 Visa U.S.A. Inc. System and method for generating test job control language files
CN107678935B (zh) * 2017-05-10 2020-07-14 平安科技(深圳)有限公司 数据生成方法、终端及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115695A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd プログラムテストパターン自動生成システム
JP2004118403A (ja) * 2002-09-25 2004-04-15 Fujitsu Ltd ソフトウェア機能テストデータ生成プログラムおよびソフトウェア機能テストデータ生成方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165074B2 (en) * 2002-05-08 2007-01-16 Sun Microsystems, Inc. Software development test case analyzer and optimizer
US20060179422A1 (en) * 2005-02-04 2006-08-10 Siemens Aktiengesellschaft Method and apparatus for automated execution of tests for computer programs
US7627843B2 (en) * 2005-03-23 2009-12-01 International Business Machines Corporation Dynamically interleaving randomly generated test-cases for functional verification
CN1955945A (zh) * 2005-10-25 2007-05-02 国际商业机器公司 为软件测试过程自动生成测试执行序列的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115695A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd プログラムテストパターン自動生成システム
JP2004118403A (ja) * 2002-09-25 2004-04-15 Fujitsu Ltd ソフトウェア機能テストデータ生成プログラムおよびソフトウェア機能テストデータ生成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101797484B1 (ko) * 2016-06-29 2017-12-13 주식회사 티맥스 소프트 리호스팅의 테스트를 수행하기 위한 방법 및 컴퓨팅 디바이스
US10061690B2 (en) 2016-06-29 2018-08-28 TmaxSoft Co., Ltd. Computing device and method for performing test of rehosting
JP2018036971A (ja) * 2016-09-01 2018-03-08 株式会社日立製作所 計算機システム及びテストケース管理方法

Also Published As

Publication number Publication date
US20080195906A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
US8010844B2 (en) File mutation method and system using file section information and mutation rules
JP5295269B2 (ja) コンポーネント・モデル基盤の仮想ソフトウェア・プラットホームを生成する方法、これを利用してソフトウェア・プラットホーム・アーキテクチャを検証する方法及びその装置
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US20110016452A1 (en) Method and system for identifying regression test cases for a software
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
JP6268029B2 (ja) テストケース生成装置及びテストケース生成方法
JP2009265810A (ja) 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法
JP2016115175A (ja) ソフトウェアテスト装置およびソフトウェアテストプログラム
JP2003178173A (ja) プロジェクト・リスク管理方法及び装置及びプログラム
US10884711B2 (en) Code management system and code management method using a visual programming tool
JP2008197897A (ja) テストパターン作成装置及び作成方法
JP7318704B2 (ja) テスト装置、テスト方法及びプログラム
CN109359042B (zh) 一种基于路径搜索算法的自动化测试方法
JP2005332098A (ja) テスト項目抽出システム、テスト項目抽出装置、及びそれに用いるテスト項目抽出方法並びにそのプログラム
JP6006577B2 (ja) デグレードテスト支援システム、デグレードテスト支援方法及びデグレードテスト支援プログラム
JP2014002565A (ja) アプリケーションプログラムの影響範囲抽出方法および影響範囲抽出プログラム
JP5595304B2 (ja) プログラム試験装置、プログラム試験装置のプログラム試験方法およびプログラム試験プログラム
JP4983027B2 (ja) チェックプログラム及びチェック方法
JP2008117029A (ja) 運用作業手順作成時の不正手順チェックアウト方法、障害発生防止のためのコマンド生成方法、および自動実行コマンド生成システム、ならびにそのプログラム
CN113220596B (zh) 应用的测试方法、装置、设备、存储介质及程序产品
JP6330490B2 (ja) テストケース生成プログラム、テストケース生成装置、及びテストケース生成方法
JP7328922B2 (ja) 設定装置、設定方法、及びプログラム
JP6603637B2 (ja) ユーザインタフェース接続装置、及びプログラム
JP2004280231A (ja) ソフトウエアの検証方法
CN113867737A (zh) 一种航天测控软件部署方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090805

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120131