(57)【要約】【課題】既存システムを他のシステム環境へ移行する際に、その業務が移行後のシステム環境で正しく動作することを確認するための組み合わせテストパターンを生成する。【解決手段】まず、組み合わせテスト確認抽出処理102は、入力された組み合わせテスト確認処理と一致する処理を、ファイル106内のプログラムテストパターンから検索・抽出する。テストパターン作成処理103は、処理102又はデータ操作検索処理104で抽出された処理の実行条件を、プログラムテストパターンの一覧から抽出・整理し、1つのテストパターンを作成し、IDを付与する。処理104は、処理103が作成したテストパターン一覧の条件部のデータ項目を操作する処理を検索し、テストパターン一覧の条件を満たすデータ操作の処理を抽出する。組み合わせテストパターン生成処理105は、テストパターンIDを元に組み合わせテストパターン一覧を作成し、作業者に表示する。【選択図】図１
2008197897.tif 000002
【特許請求の範囲】
【請求項１】
既存のシステム資産を活用するためのプログラムのテストに用いる組み合わせテストパターンを生成するテストパターン作成装置において、
情報処理装置内に、組み合わせテスト確認抽出手段と、テストパターン作成手段と、データ操作検索手段と、組み合わせテストパターン生成手段とを構成し、
前記組み合わせテスト確認抽出手段は、複数プログラムから構成されるジョブについて、そのジョブを構成するプログラムのプログラムテストに用いるテストパターン一覧から、入力された組み合わせテスト確認処理と一致する処理とその処理を実行する実行条件とを抽出し、
前記テストパターン作成手段は、前記抽出された処理とその実行条件の１つ１つに対してテストパターンＩＤを付与したテストパターン一覧を作成し、
前記データ操作検索手段は、テストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧に存在した場合で、かつ、その処理がテストパターン作成手段で作成されたテストパターン一覧の実行条件を満たすデータ操作であった場合にその処理を抽出し、
前記組み合わせテストパターン生成手段は、テストパターン一覧のテストパターンＩＤを元に、前記テストパターン一覧の実行条件部をまとめて、組み合わせテストのテストパターン一覧を作成することを特徴とするテストパターン作成装置。
【請求項２】
前記組み合わせテストパターン生成手段は、ジョブの処理の実行条件の全てを満たすジョブ単位の組み合わせテストのテストパターン一覧を作成することを特徴とする請求項１記載のテストパターン作成装置。
【請求項３】
前記組み合わせテストパターン生成手段は、前記前記テストパターン一覧をまとめた実行条件部から、前記抽出されたデータ操作処理を受けるデータ項目を含む実行条件を排除して、組み合わせテストのテストパターン一覧を作成することを特徴とする請求項１記載のテストパターン作成装置。
【請求項４】
前記組み合わせテストパターン生成手段は、テストパターン一覧からジョブ単位で確認すべき処理を実行するための実行条件を抽出する際に、その実行条件が処理を実行するために必要不可欠であるものを抽出して、ジョブ単位の組み合わせテストの条件部とした組み合わせテストのテストパターン一覧を生成することを特徴とする請求項１記載のテストパターン作成装置。
【請求項５】
前記組み合わせテストパターン生成手段が作成する組み合わせテストのテストパターンは、ジョブ単位のテストで確認が必要な処理とその実行条件との組み合わせで構成されることを特徴とする請求項１記載のテストパターン作成装置。
【請求項６】
既存のシステム資産を活用するためのプログラムのテストに用いる組み合わせテストパターンを生成するテストパターン作成方法において、
情報処理装置内に、組み合わせテスト確認抽出手段と、テストパターン作成手段と、データ操作検索手段と、組み合わせテストパターン生成手段とを構成し、
前記組み合わせテスト確認抽出手段は、複数プログラムから構成されるジョブについて、そのジョブを構成するプログラムのプログラムテストに用いるテストパターン一覧から、入力された組み合わせテスト確認処理と一致する処理とその処理を実行する実行条件とを抽出し、
前記テストパターン作成手段は、前記抽出された処理とその実行条件の１つ１つに対してテストパターンＩＤを付与したテストパターン一覧を作成し、
前記データ操作検索手段は、テストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧に存在した場合で、かつ、その処理がテストパターン作成手段で作成されたテストパターン一覧の実行条件を満たすデータ操作であった場合にその処理を抽出し、
前記組み合わせテストパターン生成手段は、テストパターン一覧のテストパターンＩＤを元に、前記テストパターン一覧の実行条件部をまとめて、組み合わせテストのテストパターン一覧を作成することを特徴とするテストパターン作成方法。
【請求項７】
前記組み合わせテストパターン生成手段は、ジョブの処理の実行条件の全てを満たすジョブ単位の組み合わせテストのテストパターン一覧を作成することを特徴とする請求項１記載のテストパターン作成方法。
【請求項８】
前記組み合わせテストパターン生成手段は、前記前記テストパターン一覧をまとめた実行条件部から、前記抽出されたデータ操作処理を受けるデータ項目を含む実行条件を排除して、組み合わせテストのテストパターン一覧を作成することを特徴とする請求項１記載のテストパターン作成方法。
【請求項９】
前記組み合わせテストパターン生成手段は、テストパターン一覧からジョブ単位で確認すべき処理を実行するための実行条件を抽出する際に、その実行条件が処理を実行するために必要不可欠であるものを抽出して、ジョブ単位の組み合わせテストの条件部とした組み合わせテストのテストパターン一覧を生成することを特徴とする請求項１記載のテストパターン作成方法。
【請求項１０】
前記組み合わせテストパターン生成手段が作成する組み合わせテストのテストパターンは、ジョブ単位のテストで確認が必要な処理とその実行条件との組み合わせで構成されることを特徴とする請求項１記載のテストパターン作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのテストを行うテストパターンを生成するテストパターン作成装置及び作成方法に係り、特に、既存のシステム資産を活用するためのプログラムのテストに用いて好適な組み合わせテストパターンを生成するテストパターン作成装置及び作成方法に関する。
【背景技術】
【０００２】
近年、既存のシステムをオープン環境へ移行して新たなシステムを構築することがしばしば行われている。この場合、移行後のシステムが現行のシステムと同様に稼動するか否かを検証するためのテストが行われる。このテストは、まず、移行したシステムを構成する各プログラムに対してプログラムテストを行い、次に、複数のプログラムにより構成された各ジョブに対してジョブ単位の組み合わせテストを行うものである。プログラムテストは、各プログラムの動作確認を行い、ジョブ単位の組み合わせテストは、各ジョブの処理結果の業務レベルでの検証を行う。
【０００３】
プログラムテストの方法としては、既存システムのプログラム情報を解析することにより、現行のプログラムがどのような動作を行っているのかチェックするためのテストパターンを作成し、そのプログラムによりテストを行う方法が知られている。このようなプログラムをテストするテストパターンの生成に関する従来技術として、例えば、特許文献１等に記載された技術が知られている。この従来技術は、プログラムのデータの操作を抽出し、その操作の実行条件を抽出・整理してテストパターンの生成を行うというものである。
【０００４】
また、ジョブ単位の組み合わせテストは、現状では、既存システムの運用者がテストデータを作成して行われている。既存システムの運用者がこのテストデータ作成の作業を行う理由は、ジョブ単位での組み合わせテストのテストパターン（確認すべき処理とその処理を実行するために必要な条件）を知っているのが、システムの業務仕様に詳しい運用者に限られているためである。そして、このテストデータ作成の作業は、非常に多くの工数を必要とするものである。さらに、作成されたテストパターンは、運用者が知っている業務仕様のみで作成されるため、確認したいジョブの処理の実行条件を全て満たす正しいものであるかどうかについては検証できていなかった。
【０００５】
そして、プログラムテストにより、個々のプログラムの動作が確認されていても、その後行うジョブ単位の組み合わせテストにおいて、ジョブを構成するプログラムとプログラムとの間でやり取りするデータの整合性がとれているか否かを確認することが必要であり、前述のジョブ単位のテストは、システムの稼動に向けて必ず実施しなければならないものである。
【特許文献１】特開平１１−１５６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述した従来技術は、業務仕様のみでは、ジョブ単位の組み合わせテストに使用するための正しいテストパターンまたはテストデータの作成を行うことができないという問題点を有している。
【０００７】
すなわち、前述したように、従来技術によるテストパターンの作成は、現状では、システムの業務仕様に詳しい運用者が行っているが、システムに詳しく業務に精通している担当者であっても、テストパターンの作成には限界がある。この理由は、単に属人的であるから不充分ということの他に、次に説明するような問題があるからである。
【０００８】
すなわち、既存のシステムで取り扱われるデータ形式は、オープン環境に移行した後に取り扱われるデータ形式とは異なる場合が多く、各プログラムは、正常に動作するように移行ができたとしても、複数のプログラムが連続して実行される場合には、既存システムからオープン環境で扱われるデータ形式を変換したときの変換誤差により、オープン環境での複数のプログラムの実行後（すなわち、ジョブの処理結果）には、無視できない値が誤差として生じてしまうという問題がある。その結果、各プログラム単位では、システム移行が完了したように見えたとしても、実際には、システムは、エラーなく動作するもののジョブ（１つのまとまりとしての業務処理）としては、誤った結果が出力されることになる。
【０００９】
これまでも、このような誤った結果を排除するために、システム運用者がジョブのテストパターンを作成してきたが、運用者が想定可能なテストパターンは、実業務に基づくテストパターンとなる。この理由は、既存のシステムを用いて、実際に実行したジョブパターンが移行後の環境でも正しく実行できれば充分と考えるからである。
【００１０】
しかし、移行後の環境において、既存の業務をこれまでと同じパターンで処理する保証はない。企業も成長し、業務が改善される中で、移行後の環境で新たな処理を行うことがあり得る。その新たな処理は、革新的な発想に基づく場合も多く、想定範囲のテストパターンではカバーできないこともある。よって、移行後のシステムとして、データの取り扱いという観点で、複数のプログラムから構成されるジョブ処理について、実行可能性のあるテストパターンの作成が重要課題となる。これと並んで、複数のジョブにより成立する業務を実行するジョブの組み合わせについても、これまでの業務において想定範囲外であるが、システム上実行可能性のあるジョブの組み合わせパターンの作成が重要課題となる。
【００１１】
従って、本発明の目的は、前述したような点に鑑み、既存システムを他のシステム環境へ移行する際に、複数プログラムで実現されるジョブを複数組み合わせた業務が現在及び将来に渡って、移行後のシステム環境で正しく動作することを確認、保証することのできるテストパターンを生成する組み合わせテストパターン作成装置及び作成方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明によれば前記目的は、既存のシステム資産を活用するためのプログラムのテストに用いる組み合わせテストパターンを生成するテストパターン作成装置において、情報処理装置内に、組み合わせテスト確認抽出手段と、テストパターン作成手段と、データ操作検索手段と、組み合わせテストパターン生成手段とを構成し、前記組み合わせテスト確認抽出手段が、複数プログラムから構成されるジョブについて、そのジョブを構成するプログラムのプログラムテストに用いるテストパターン一覧から、入力された組み合わせテスト確認処理と一致する処理とその処理を実行する実行条件とを抽出し、前記テストパターン作成手段が、前記抽出された処理とその実行条件の１つ１つに対してテストパターンＩＤを付与したテストパターン一覧を作成し、前記データ操作検索手段が、テストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧に存在した場合で、かつ、その処理がテストパターン作成手段で作成されたテストパターン一覧の実行条件を満たすデータ操作であった場合にその処理を抽出し、前記組み合わせテストパターン生成手段が、テストパターン一覧のテストパターンＩＤを元に、前記テストパターン一覧の実行条件部をまとめて、組み合わせテストのテストパターン一覧を作成することにより達成される。
【００１３】
前述したような構成を有する本発明によれば、ジョブ単位の組み合わせテストで確認が必要となる処理の実行条件が満たされるテストパターン全てを、プログラムテストパターンから自動生成することができる。また、本発明によって、ジョブを構成するプログラムのうちの１つで行われるデータの操作が同じジョブ内のどのプログラムのどんな処理にどのような影響をおよぼすかを考慮しジョブの処理の実行条件全てを満たす正しいテストパターンを作成することができ、テストデータの作成支援と運用者のみに限られていたテストデータの作成作業をシステムの業務仕様を知らない人間が行うことが可能になる。
【発明の効果】
【００１４】
本発明によれば、プログラムテストパターンから自動的にジョブ単位の組み合わせテストパターンを生成することができ、ジョブ単位の組み合わせテストパターンを生成に要する工数、費用の削減が可能となり、かつ、抜け、漏れのない高品質のテストを行うことが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明によるテストパターン作成装置及び作成方法の実施形態を図面により詳細に説明する。
【００１６】
図１は本発明の一実施形態によるテストパターン作成装置の機能構成を示すブロック図、図２は本発明の一実施形態によるテストパターン作成装置のハードウェア構成を示すブロック図である。
【００１７】
まず、図１を参照して、本発明の各処理機能とその動作を説明する。本発明の一実施形態によるテストパターン作成装置の機能は、入力処理１０１と、組み合わせテスト確認抽出処理１０２と、テストパターン作成処理１０３と、データ操作検索処理１０４と、組み合わせテストパターン生成処理１０５との各機能部により構成される。
【００１８】
図１に示すテストパターン作成装置において、入力処理１０１は、作業者が入力する図７により後述する組み合わせテスト確認処理７０１を取り込む。組み合わせテスト確認抽出処理１０２は、入力処理１０１で入力された組み合わせテスト確認処理と一致する処理を、ファイル１０６として格納されている図２により後述するプログラムテストパターン２０５から検索・抽出する。テストパターン作成処理１０３は、組み合わせテスト確認処理１０２またはデータ操作検索処理１０４で抽出された処理の実行条件を、その処理が属するプログラムテストパターン一覧から抽出・整理し、処理に対する実行条件の１つバリエーションを１つのテストパターンとして作成し、それにテストパターンＩＤを付与し、図８、図１０、図１２により後述するようなテストパターン一覧を作成する。データ操作検索処理１０４は、テストパターン作成処理１０３で作成されたテストパターン一覧の条件部のデータ項目を操作する処理を、プログラムテストパターン２０５から検索し、検索された処理がテストパターン作成処理１０３で作成されたテストパターン一覧の条件を満たすデータ操作であるか否かをチェックし、条件を満たす場合にその処理を抽出する。組み合わせテストパターン生成処理１０５は、テストパターンＩＤを元に組み合わせテストのテストパターンのバリエーションを生成し、図１４により後述するような組み合わせテストパターン一覧を作成する。この一覧は、ジョブ単位の組み合わせテストのための組み合わせテストパターン一覧として作業者に表示される。
【００１９】
次に、図２を参照して、本発明の実施形態によるテストパターン作成装置のハードウェア構成について説明する。
【００２０】
本発明の実施形態によるテストパターン作成装置は、よく知られているＰＣ等に代表される情報処理装置内に構成され、ＣＰＵ２０１、表示部２０２、キーボード、マウス等の入力部２０３、主メモリ２０４、ハードディスク装置等の記憶装置２０８により構成される。
【００２１】
そして、ＣＰＵ２０１は、本発明の実施形態での処理手順の実行を制御し、表示部２０２は、操作を行う作業者に対し、情報やプログラムの結果を表示し、入力部２０３は、作業者が指示を装置に入力するために用いられる。主メモリ２０４には、ＣＰＵが実行することにより、図１に示した各機能部を構築するプログラムが格納されている。すなわち、入力処理１０１は、入力処理プログラムの実行により、組み合わせテスト確認抽出処理１０２は、組み合わせテスト確認抽出処理プログラムの実行により、テストパターン作成処理１０３は、テストパターン作成処理プログラムの実行により、データ操作検索処理１０４は、データ操作検索処理プログラムの実行により、組み合わせテストパターン生成処理１０５は、組み合わせテストパターン生成処理プログラムの実行により、それぞれ構築される。また、組み合わせテストパターン一覧表示プログラムは、組み合わせテストパターン生成処理１０５で生成されたジョブ単位の組み合わせテストのテストパターン一覧を表示部２０２に表示する処理を行う。
【００２２】
なお、これらのプログラムは、記憶装置２０８内に格納されていて、記憶装置２０８から、あるいは、図示しない通信回線を介して、主メモリ２０４にロードされ、図示しないＯＳの下でＣＰＵ２０１により実行される。
【００２３】
記憶装置２０８には、本発明で使用するファイル１０６が格納されている。ファイル１０６としては、「各プログラムのテストパターン一覧」のファイル２０５、「リソース解析情報」のファイル２０６、「組み合わせテスト確認事項一覧」のファイル２０７が備えられる。ファイル２０５の「各プログラムのテストパターン一覧」は、テスト対象のジョブを構成するプログラムのテストパターン一覧（図６Ａ〜図６Ｃにより後述）が格納されており、ファイル２０６の「リソース解析情報」には、テスト対象のプログラム、ＪＣＬ等のリソースを解析した結果であるＪＣＬ−プログラム関連情報（図４Ａにより後述）が格納されており、また、ファイル２０７の「組み合わせテスト確認事項一覧」には、組み合わせテスト対象のジョブについて確認すべき処理事項を一覧化した表（図７により後述）が格納されている。
【００２４】
図３は本発明の実施形態での組み合わせテストのテストパターン生成の全体の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００２５】
（１）まず、組み合わせテスト確認抽出処理１０２は、作業者が入力した組み合わせテスト確認処理と一致するものをプログラムテストのテストパターン一覧のファイル２０５から抽出する（ステップ３０１）。
【００２６】
（２）次に、テストパターン作成処理１０３は、ステップ３０１または後述するステップ３０５の処理で抽出した処理の実行条件をその処理が属するプログラムテストパターン一覧のファイル２０５から抽出・整理し、処理に対する実行条件の１つのバリエーションを１つのテストパターンとして作成し、それにテストパターンＩＤを付与し、ステップ３０１またはステップ３０５の処理で抽出した処理に対するテストパターン一覧を作成する（ステップ３０２）。
【００２７】
（３）そして、データ操作検索処理１０４は、ステップ３０２の処理で作成したテストパターン一覧の条件部に含まれるデータ項目を操作する処理がプログラムテストパターン一覧のファイル２０５の処理に存在するか否か検索する（ステップ３０３）。
【００２８】
（４）ステップ３０３の処理で検索した処理が存在するか否かを判定し、存在した場合、データ操作検索処理１０４は、その処理がテストパターン作成処理１０３で作成されたテストパターン一覧の条件を満たすデータ操作であるかチェックする（ステップ３０４、３０５）。
【００２９】
（５）ステップ３０５のチェックで、ステップ３０３の処理で検索した処理がテストパターン作成処理１０３で作成されたテストパターン一覧の条件を満たすデータ操作であると判断された場合、その処理を抽出して、ステップ３０２からの処理に戻って処理を続ける（ステップ３０６）。
【００３０】
（６）ステップ３０４の判定で、ステップ３０３で検索した処理がプログラムテストパターンの処理に存在しないと判断した場合、あるいは、ステップ３０５の判定で、ステップ３０３で検索した処理がテストパターン作成処理１０３で作成されたテストパターン一覧の条件を満たすデータ操作でないと判断した場合、ステップ３０２で作成したテストパターン一覧の実行条件部のデータ項目の全てについて、ステップ３０３の作業を行っているか否かをチェックし、データ項目の全てについて、ステップ３０３の作業を行っておらず、行うべき項目が残っていた場合、ステップ３０３からの処理に戻って処理を続ける（ステップ３０７）。
【００３１】
（７）ステップ３０７のチェックで、ステップ３０２で作成したテストパターン一覧の実行条件部のデータ項目の全てについて、ステップ３０３の作業を行ったと判断した場合、組み合わせテストパターン生成処理１０５は、テストパターン一覧のテストパターンＩＤを元に、ステップ３０２の処理で作成したテストパターン一覧の条件部をまとめ、その条件部からステップ３０６の処理で抽出されたデータ操作処理を受けるデータ項目を含む条件を排除し、組み合わせテストのテストパターン一覧（図１４により後述）を作成する。ここで作成されたテーブルが最終的な組み合わせテストのテストパターン一覧となる（ステップ３０８）。
【００３２】
図４Ａは本発明の実施形態で取り上げるジョブとそれを構成するプログラムの解析情報とを説明する図、図４Ｂは本発明の実施形態で取り上げるジョブとそれを構成するプログラムとの概要を説明する図であり、次に、これらの図を説明する。
【００３３】
図４Ａに示すジョブとそれを構成するプログラムの解析情報との例は、図２に示すファイル２０６に格納されている「リソース解析情報」である。「リソース解析情報」とは、プログラム（図５により後述）、ＪＣＬ等のシステムリソースを解析し、ＪＣＬ−プログラム関連とプログラムの実行順序４１１と、各プログラムの処理概要４１２等の情報を、図４Ａに示すようなテーブルで示したものである。ここに示す例では、ジョブＪＹＵＴＹＵが、プログラムＰＧＭ１、ＰＧＭ２、ＰＧＭ３の３つのプログラムにより構成されて、この順序で実行されることを示すと共に、これらの各プログラムの処理概要を示している。
【００３４】
図４Ｂに示すジョブとそれを構成するプログラムとの概要は、図４Ａに示した「リソース解析情報」を元に作成されたジョブとそれを構成するプログラムとの概要を示すものである。実際には、本発明の実施形態の装置は、「リソース解析情報」を図４Ａに示すような表形式でテーブルに格納しその情報を直接読み込むが、ここでは、後述する詳細な事例の説明のため、図４Ｂに示すような概要として示している。
【００３５】
図５はジョブを構成するプログラムの例を示す図である。図５（ａ）に示すプログラムＰＧＭ１は、ジョブＪＹＵＴＹＵが開始されたとき最初に実行されるプログラムであり、図４Ａの処理概要４１２に示したように、受注データの入力を行い、ＨＡＴＹＵ−ＲＥＣａあるいはＨＡＴＹＵ−ＲＥＣｂの出力を行う処理を記述している。図５（ｂ）に示すプログラムＰＧＭ２は、その次に実行されるプログラムであり、エラーの場合にサブプログラムＥＲＲＰＧＭの呼び出しを行う処理を記述している。また、図５（ｃ）に示すプログラムＰＧＭ３は、ジョブＪＹＵＴＹＵの最後に実行されるプログラムであり、ＩＮＳＡＴＵ−ＲＥＣａあるいはＩＮＳＡＴＵ−ＲＥＣｂの印刷を行う処理を記述している。
【００３６】
図６ＡはプログラムＰＧＭ１のプログラムテストのテストパターン一覧の例を示す図、図６ＢはプログラムＰＧＭ２のプログラムテストのテストパターン一覧の例を示す図、図６ＣはプログラムＰＧＭ３のプログラムテストのテストパターン一覧の例を示す図である。これらの図に示すテストパターン一覧は、前述した特許文献１に記載される「プログラムテストパターン自動生成システム」等の既存の技術によって、対象プログラムから自動生成され、図２に示すファイル２０５に格納されている。これらのプログラムテストパターン一覧は、プログラム単位でテストすべきデータに関する全ての処理について、その各処理を実行するために満たすべき条件パターンの全てを条件部として一覧にまとめたものである。
【００３７】
そして、これらの一覧において、処理が実行されている場合、実行状態情報６１３「Ｅ（Ｅｘｅｃｕｔｅ＝実行）」と表し、条件を満たすことを真である場合と考え、情報６１４「Ｔ（Ｔｒｕｔｈ＝真）」、条件を満たさないことを偽である場合と考え、情報６１５「Ｆ（Ｆａｌｓｅ＝偽）」で表している。
【００３８】
ここで、図６Ａに示すプログラムＰＧＭ１のプログラムテストパターンを例として、その意味を説明する。この図６Ａに示すプログラムテストパターンは、図５（ａ）に示すプログラムＰＧＭ１から生成されたものである。図５（ａ）に示す５０１の部分は、データの値を判断し、次に実行する処理を決める条件部分であり、５０２の部分は、プログラムで実行される処理部分である。条件部分５０１は、図６Ａに示すプログラムテストパターンの「条件部」として、条件文５０３「ＳＨＯＨＩＮ−ＳＵ＜＝１０００」である場合、左辺データ「ＳＨＯＨＩＮ−ＳＵ」、右辺データ「１０００」、比較演算子「＜＝」という形式にして表される。処理部分５０２は、図６Ａのプログラムテストパターンの「処理部」として表される。そして、条件部の内容に従って、対応する処理部がどれであるかが決定される。図６Ｂ、図６Ｃの場合も同様である。
【００３９】
図７はジョブの組み合わせテスト確認事項一覧の例を示す図である。図７に示す組み合わせテスト確認事項一覧は、顧客ヒアリングの結果等を元に組み合わせテストの際に確認すべき処理を一覧としてまとめたものであり、図２に示したファイル２０７に格納されている。
【００４０】
図８はプログラムＰＧＭ１における処理「ＷＲＩＴＥ  ＩＮＳＡＴＵ  ＲＥＣａ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図、図９ＡはプログラムＰＧＭ２における処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ＊１．０５」のテストパターンＩＤを付与したテストパターン一覧の例を示す図、図９ＢはプログラムＰＧＭ２における処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図、図１０はプログラムＰＧＭ２における処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ＊１．０５」と処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ」とにテストパターンＩＤを付与したテストパターン一覧の例を示す図、図１１ＡはプログラムＰＧＭ３における処理「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ａ−ＴＡＮＫＡ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図、図１１ＢはプログラムＰＧＭ３における処理「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ｂ−ＴＡＮＫＡ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図、図１２はプログラムＰＧＭ３における処理「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ａ−ＴＡＮＫＡ」と「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ｂ−ＴＡＮＫＡ」とにテストパターンＩＤを付与したテストパターン一覧の例を示す図、図１３はテストパターンのバリエーションについて説明する図、図１４は処理「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」をジョブ単位で確認する組み合わせテストのテストパターン一覧の例を示す図である。
【００４１】
以下、これらの図を参照して、本発明の実施形態における処理の具体例として、図４Ｂに示して説明したジョブの組み合わせテストを行う際、図７の組み合わせテスト確認処理一覧７０１のうちの「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」という処理が正常に行われるか否かを確認するための組み合わせテストパターンを生成する処理について説明する。
【００４２】
まず、組み合わせテスト対象のジョブの概要を図４Ｂを再度参照して説明する。ジョブ「ＪＹＵＴＹＵ」は、「受注データ」の入力から、「ＰＧＭ１」→「ＰＧＭ２」→「ＰＧＭ３」の順に処理を実行し、「ＩＮＳＡＴＵ−ＲＥＣａ」あるいは「ＩＮＳＡＴＵ−ＲＥＣｂ」を出力して終了する。途中の処理で、ＰＧＭ１は、「ＨＡＴＹＵ−ＲＥＣａ」あるいは「ＨＡＴＹＵ−ＲＥＣｂ」を出力し、ＰＧＭ２は、エラーの判定があった場合、サブプログラム「ＥＲＲＰＧＭ」を呼び出して処理を行う。
【００４３】
次に、組み合わせテストパターン生成処理の手順を説明する。
【００４４】
まず、作業者は、本発明の実施形態によるテストパターン作成装置に「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」を確認するテストパターンの生成指示を与える。この指示は、図２に示す表示部２０２に表示された図７に示して説明した「組み合わせテスト確認事項一覧」の中から、作業者がテストパターンを生成する処理、すなわち、「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」を選択して、実行命令を入力部２０３から入力することにより行われる。
【００４５】
この命令を受けたテストパターン作成装置の組み合わせテスト確認抽出処理１０２は、「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」と一致する処理を図６Ａ〜図６Ｃに示したプログラムテストのテストパターン一覧から検索する。「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」と一致するのは、図６Ｃに示すＰＧＭ３のプログラムテストパターンおける処理部に記述された処理６３１であり、これが抽出される。
【００４６】
次に、テストパターン作成装置のテストパターン作成処理１０３は、抽出されたＰＧＭ３の処理「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」が実行される条件をプログラムテストパターンの条件部から抽出し実行条件のパターン毎に１つのテストパターンとしてテストパターンＩＤを付与し、図８に示すようなテストパターン一覧を作成する。
【００４７】
次に、テストパターン作成装置のデータ操作検索処理１０４は、作成された図８に示すテストパターン一覧の条件部にあるデータ項目８０１の「ＨＡＴＹＵ−ＣＯＤＥ」、るデータ項目８０２の「ＳＨＯＨＩＮ−ＫＩＮ」を操作する処理がプログラムテストパターンの処理部に存在するか検索する。データ項目８０１「ＨＡＴＹＵ−ＣＯＤＥ」を操作する処理は、図６Ａ、図６Ｂに示すＰＧＭ１、ＰＧＭ２のプログラムテストパターン一覧の処理部には存在しない。データ項目８０２「ＳＨＯＨＩＮ−ＫＩＮ」を操作する処理は、ＰＧＭ２のプログラムテストパターンの処理部の処理６２１（「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ＊１．０５」）、処理６２２（「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ  ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ」）、処理６２３（「ＳＨＯＨＩＮ−ＫＩＮ＝０」）として存在する。
【００４８】
これらの処理のそれぞれが行う操作によって、図８に示すデータ項目８０２「ＳＨＯＨＩＮ−ＫＩＮ」が条件８０３（「ＳＨＯＨＩＮ−ＫＩＮ＞＝１００００」）を満たす操作であるか否かをチェックする。処理６２１、６２２は、「ＳＨＯＨＩＮ−ＴＡＮＫＡ」、「ＳＨＯＨＩＮ−ＳＵ」の値によってデータ項目８０２が条件８０３を満たすかどうか決まる。この段階では条件を満たす可能性があるとして、処理６２１、６２２が抽出される。処理６２３は、「ＳＨＯＨＩＮ−ＫＩＮ」に０を代入しており、条件６３２を満たしていない。このため、処理６２３の抽出は行わない。
【００４９】
テストパターン作成装置のテストパターン作成処理１０３は、抽出した処理６２１、６２２の実行条件をプログラムテストパターンから抽出・整理してテストパターンＩＤを付与する。すなわち、テストパターン作成処理１０３は、まず、処理６２１の実行条件のみをプログラムＰＧＭ２の条件部から抽出して、図９Ａに示すようなテストパターン一覧を作成し、同様にして、処理６２２に対してず９Ｂに示すようなテストパターン一覧を作成する。ここで、それらのテストパターンの条件部が処理の実行に必要不可欠な条件のみで構成されているかをチェックする。処理の実行に必要不可欠でない条件が存在する場合、その条件を排除する。処理６２１、６２２のテストパターン一覧は、処理の実行に必要不可欠な条件のみで構成されているため、排除する条件はない。その後、テストパターン作成処理１０３は、処理６２１、６２２のテストパターン一覧について、それぞれテストパターンのバリエーション毎にテストパターンＩＤを付与し、まとめて図１０に示すようなテストパターン一覧を作成する。
【００５０】
その後、データ操作検索処理１０４は、図１０に示すテストパターン一覧の条件部のデータ項目１００１「ＳＨＯＨＩＮ−ＣＯＤＥ」、１００２「ＳＨＯＨＩＮ−ＴＡＮＫＡ」を操作する処理が図６Ａ〜図６Ｃに示すプログラムテストパターンの処理部に存在するか検索する。データ項目１００１「ＳＨＯＨＩＮ−ＣＯＤＥ」を操作する処理は、プログラムＰＧＭ１のプログラムテストパターンの処理部には存在しない。また、データ項目１００２「ＳＨＯＨＩＮ−ＴＡＮＫＡ」を操作する処理は、プログラムＰＧＭ１のプログラムテストパターンの処理部の処理６１１「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ａ−ＴＡＮＫＡ」、処理６１２「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ｂ−ＴＡＮＫＡ」として存在する。そして、これらの処理６１１、６１２が、データ項目１００２「ＳＨＯＨＩＮ−ＴＡＮＫＡ」の条件１００３「ＳＨＯＨＩＮ−ＴＡＮＫＡ＜＝１００」を満たす操作であるかをチェックする。処理６１１、６１２は、それぞれ「Ａ−ＴＡＮＫＡ」、「Ｂ−ＴＡＮＫＡ」の値によって条件を満たすかどうか決まる。この段階では条件を満たす可能性があるとして処理６１１、６１２が抽出される。
【００５１】
テストパターン作成処理１０３は、抽出された処理６１１、６１２の実行条件をプログラムテストパターンから抽出・整理してテストパターンＩＤを付与する。すなわち、テストパターン作成処理１０３は、まず、処理６１１の実行条件のみをプログラムＰＧＭ１の条件部から抽出して図１１Ａに示すテストパターン一覧を作成し、同様にして、図１１Ｂに示すような処理６１２のテストパターン一覧を作成する。ここで、テストパターン作成処理１０３は、それらのテストパターンの条件部が処理の実行に必要不可欠な条件のみで構成されているかをチェックし、処理の実行に必要不可欠でない条件が存在する場合、その条件を排除する。
【００５２】
図１１Ａに示す処理６１１のテストパターン一覧において、条件１１１１の実行状態が“Ｔ”であっても“Ｆ”であっても条件１１１２の実行状態が“Ｔ”であれば処理が実行されることから、条件１１１１は必要不可欠でないと判断できる。よって、条件１１１１は排除される。また、図１１Ｂに示す処理６１２のテストパターン一覧においても同様にして条件１１２１の実行状態が“Ｔ”であっても“Ｆ”であっても条件１１２２の実行状態が“Ｔ”であれば処理が実行されることから、条件１１２１は必要不可欠でないと判断できる。よって、条件１１２２は排除される。
【００５３】
テストパターン作成処理１０３は、前述したようにして整理した処理６１１、６１２のテストパターン一覧について、それぞれテストパターンのバリエーションごとにテストパターンＩＤを付与し、それらをまとめて図１２に示すようなテストパターン一覧を作成する。
【００５４】
次に、データ操作検索処理１０４は、図１２に示すテストパターン一覧の条件部のデータ項目１２０１「ＨＡＴＹＵ−ＣＯＤＥ」を操作する処理が図６Ａ〜図６Ｃに示すプログラムテストパターンの処理部に存在するかを検索する。データ項目１２０１を操作する処理はプログラムテストパターンに存在しない。
【００５５】
組み合わせテストパターン生成処理１０５は、前述までの処理で付与されたテストパターンＩＤを元に組み合わせテストのテストパターンのバリエーションを作成する。
【００５６】
前述までに説明したように、１番初めに付与したテストパターンＩＤが図８に示すテストパターン一覧のテストパターンＩＤ８０４「１００１」であり、その条件を満たすためには、次に付与した図１０に示すテストパターンＩＤ１００４の「２１０１」、「２１０２」、「２２０１」、「２２０２」のいずれかのテストパターンの条件が満たされている必要がある。さらに、そのテストパターンＩＤ１００４のテストパターンの条件を満たすためには。図１２に示すテストパターンＩＤ１２０１の「３１０１」、「３１０２」のいずれかのテストパターンの条件が満たされている必要がある。
【００５７】
本発明の実施形態では、組み合わせテストパターン生成処理１０５が、前述したようなテストパターンの必要性を記憶し、テストパターンのバリエーションを作成する。このテストパターンのバリエーションの具体例をテストパターンＩＤで示すと図１３に示すようなものとなる。
【００５８】
組み合わせテストパターン生成処理１０５は、図１３に示すテストパターンのバリエーションに従って、テストパターンを付与した図８、図１０、図１２に示すテストパターン一覧からそれぞれの条件部をまとめ、処理「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」をジョブ単位で確認する図１４に示すようなテストパターン一覧を作成する。
【００５９】
図１３に示すテストパターンのバリエーション１３０１の場合、テストパターンＩＤ「１００１」のテストパターンの条件と、テストパターンＩＤ「２１０１」の条件と、テストパターンＩＤ「３１０１」の条件の全てを抽出しまとめて、図１４に示す条件部１４０１が作成される。この場合の処理部には、組み合わせテスト確認処理７０１が記載される。他の各バリエーションに対しても同様の処理を行いテストパターン一覧としてまとめられ。
【００６０】
前述のようにして作成された組み合わせテストのテストパターン一覧を図１４に示している。本発明の実施形態は、この組み合わせテストパターン一覧を作業者に表示する。表示された作業者は、この組み合わせテストのテストパターン一覧の条件部を満たすようなテストデータを作成すればよいということが判る。図１４に示す例では、テストパターンの条件部のバリエーションが８個あるため、作業者は、８種のテストデータを作成する。例えば、そのうちの１種類、テストパターン１４０１を満たすテストデータは、条件部より、「ＨＡＴＹＵ−ＣＯＤＥ＝Ａ∧ＳＨＯＨＩＮ−ＫＩＮ＜＝１０００∧ＳＨＯＨＩＮ−ＣＯＤＥ＝１∧ＳＨＯＨＩＮ−ＴＡＮＫＡ＜＝１００∧ＨＡＴＹＵ−ＣＯＤＥ＝Ａ」を満たすものであるということが判る。残りのテストパターンも同様にして、テストデータがとるべき値を条件部より読み取り、作業者が処理「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」の実行を確認するためのテストデータを漏れなく作成することが可能になる。
【００６１】
前述した本発明の実施形態での各処理は、プログラムにより構成し、本発明が備えるＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
【産業上の利用可能性】
【００６２】
本発明は、本発明により作成された組み合わせテストのテストパターン一覧を元に、作業者がジョブ単位のテストを行う際、テストデータを作成する過程を支援することに利用できる。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態によるテストパターン作成装置の機能構成を示すブロック図である。
【図２】本発明の一実施形態によるテストパターン作成装置のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態での組み合わせテストのテストパターン生成の全体の処理動作を説明するフローチャートである。
【図４Ａ】本発明の実施形態で取り上げるジョブとそれを構成するプログラムの解析情報とを説明する図である。
【図４Ｂ】本発明の実施形態で取り上げるジョブとそれを構成するプログラムとの概要を説明する図である。
【図５】ジョブを構成するプログラムの例を示す図である。
【図６Ａ】プログラムＰＧＭ１のプログラムテストのテストパターン一覧の例を示す図である。
【図６Ｂ】プログラムＰＧＭ２のプログラムテストのテストパターン一覧の例を示す図である。
【図６Ｃ】プログラムＰＧＭ３のプログラムテストのテストパターン一覧の例を示す図である。
【図７】ジョブの組み合わせテスト確認事項一覧の例を示す図である。
【図８】プログラムＰＧＭ１における処理「ＷＲＩＴＥ  ＩＮＳＡＴＵ  ＲＥＣａ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図である。
【図９Ａ】プログラムＰＧＭ２における処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ＊１．０５」のテストパターンＩＤを付与したテストパターン一覧の例を示す図である。
【図９Ｂ】プログラムＰＧＭ２における処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図である。
【図１０】プログラムＰＧＭ２における処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ＊１．０５」と処理「ＣＯＭＰＵＴＥ  ＳＨＯＨＩＮ−ＫＩＮ＝ＳＨＯＨＩＮ−ＴＡＮＫＡ＊ＳＨＯＨＩＮ−ＳＵ」とにテストパターンＩＤを付与したテストパターン一覧の例を示す図である。
【図１１Ａ】プログラムＰＧＭ３における処理「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ａ−ＴＡＮＫＡ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図である。
【図１１Ｂ】プログラムＰＧＭ３における処理「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ｂ−ＴＡＮＫＡ」にテストパターンＩＤを付与したテストパターン一覧の例を示す図である。
【図１２】プログラムＰＧＭ３における処理「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ａ−ＴＡＮＫＡ」と「ＳＨＯＨＩＮ−ＴＡＮＫＡ＝Ｂ−ＴＡＮＫＡ」とにテストパターンＩＤを付与したテストパターン一覧の例を示す図である。
【図１３】テストパターンのバリエーションについて説明する図である。
【図１４】処理「ＷＲＩＴＥ  ＩＮＳＡＴＵ−ＲＥＣａ」をジョブ単位で確認する組み合わせテストのテストパターン一覧の例を示す図である。
【符号の説明】
【００６４】
１０１  入力処理
１０２  組み合わせテスト確認抽出処理
１０３  テストパターン作成処理
１０４  データ操作検索処理
１０５  組み合わせテストパターン生成処理
１０６  ファイル
２０１  ＣＰＵ
２０２  表示部
２０３  入力部
２０４  主メモリ
２０５  各プログラムのテストパターン一覧のファイル
２０６  リソース解析情報のファイル
２０７  組み合わせテスト確認事項一覧のファイル
２０８  記憶装置
【図１】
2008197897.tif 000003
【図２】
2008197897.tif 000004
【図３】
2008197897.tif 000005
【図４Ａ】
2008197897.tif 000006
【図４Ｂ】
2008197897.tif 000007
【図５】
2008197897.tif 000008
【図６Ａ】
2008197897.tif 000009
【図６Ｂ】
2008197897.tif 000010
【図６Ｃ】
2008197897.tif 000011
【図７】
2008197897.tif 000012
【図８】
2008197897.tif 000013
【図９Ａ】
2008197897.tif 000014
【図９Ｂ】
2008197897.tif 000015
【図１０】
2008197897.tif 000016
【図１１Ａ】
2008197897.tif 000017
【図１１Ｂ】
2008197897.tif 000018
【図１２】
2008197897.tif 000019
【図１３】
2008197897.tif 000020
【図１４】
2008197897.tif 000021