(57)【特許請求の範囲】
【請求項１】
ラスターイメージプロセッサに対して自動的にテストを行う自動テスト方法であって、
全てのテストサンプルを与えるステップ（１）と、
リファレンスラスターイメージプロセッサにて、与えられた全てのテストサンプルを実行し、各テストサンプルのリファレンスビットマップを生成するステップ（２）と、
各テストサンプルのリファレンスビットマップエムディーコードを生成し、永続的エムディーコードリストに記録するステップ（３）と、
テストされるべきラスターイメージプロセッサにて、与えられた全てのテストサンプルを実行し、各テストサンプルのテスティングビットマップを生成するステップ（４）と、
各テストサンプルのテスティングビットマップエムディーコードを生成し、同一のテストサンプルについて、テスティングビットマップエムディーコードを、永続的エムディーコードリストに記録されたリファレンスビットマップエムディーコードと比較し、一致しない場合、該テスティングビットマップエムディーコードを一時的エムディーコードリストに記録するステップ（５）と
を備えることを特徴とする自動テスト方法。
【請求項２】
全てのテストサンプルを与えるステップ（１）は、
テストスクリプトを生成して与えるステップ１と、
テストスクリプトのタイプが許容できるか否かを分析し、許容できない場合、テストスクリプトのタイプがマッチングしないことを報告して終了するステップ２と、
テストスクリプトをトラバーサルし、テストスクリプトからテストサンプルを抽出して与えるステップ３と
を備えることを特徴とする請求項１に記載の自動テスト方法。
【請求項３】
ステップ２において、テストスクリプトのタイプは、「フォルダセット及びテンプレートセット」及び「ファイル及びテンプレート」セットを備えることを特徴とする請求項２に記載の自動テスト方法。
【請求項４】
テストサンプルを抽出するステップ３において、
テストスクリプトのタイプが「フォルダセット及びテンプレートセット」である場合、一つのファイル及び一つのテンプレートによって一つの「ファイル及びテンプレート」タイプのテストサンプルが構成されるように、フォルダセット内の全てのファイル及びテンプレートセット内の全てのテンプレートを組み合わせ、
テストスクリプトのタイプが「ファイル及びテンプレート」セットである場合、「ファイル及びテンプレート」タイプのテストサンプルを直接に抽出することを特徴とする請求項３に記載の自動テスト方法。
【請求項５】
テストスクリプトにテストファイル又はテンプレートが追加された場合、
ステップ（２）を実行する前に、
前記テストファイル又はテンプレートが追加されたテストスクリプトから新たに抽出して与えたテストサンプルが永続的エムディーコードリストに記録されているか否かを判断し、記録されていると判断される場合、当該テストサンプルの実行を省略するステップを更に備えることを特徴とする請求項２に記載の自動テスト方法。
【請求項６】
リファレンスラスターイメージプロセッサ又はテストされるべきラスターイメージプロセッサにてテストサンプルを実行する過程において、正常、エラー、異常という実行状態を実行状態記録リストに記録する操作が行われ、
テストサンプルの実行が正常に終了した場合は、当該テストサンプルの実行状態を正常とし、
テストサンプルの実行にエラーが生じた場合は、当該テストサンプルの実行状態をエラーとし、
テストサンプルの実行に異常が生じた場合は、当該テストサンプルの実行状態を異常とすることを特徴とする請求項１に記載の自動テスト方法。
【請求項７】
与えられた全てのテストサンプルをリファレンスラスターイメージプロセッサ又はテストされるべきラスターイメージプロセッサにて実行し、各テストサンプルのテスティングビットマップを生成するステップは、
実行状態記録リストを初期化して、データを全部削除するステップ１と、
与えられたテストサンプルが実行状態記録リストに記録されているか否かを判断し、記録されていると判断された場合は、テストサンプルの実行状態に基づいて、当該テストサンプルの実行状態が正常又は異常であるときに、ステップ５に移行し、当該テストサンプルの実行状態がエラーであるときに、当該テストサンプルの実行状態を異常に変更する処理を行い、記録されていないと判断された場合は、当該テストサンプルを前記実行状態記録リストに追加すると共に、当該テストサンプルの状態を異常に設置するステップ２と、
テストサンプルを解釈し、テストサンプルのリファレンスビットマップ又はテスティングビットマップを生成するステップ３と、
テストサンプルの解釈が正常に完了した場合は、実行状態記録リストにおいて当該テストサンプルの実行状態を正常に変更し、テストサンプルの解釈にエラーが生じた場合は、
当該テストサンプルの実行状態をエラーに変更し、異常が生じた場合は、テストサンプルの全てを新たに与えてステップ２に移行するステップ４と、
全てのテストサンプルの解釈が完了するまで、ステップ２〜４を繰り返して次のテストサンプルを解釈するステップ５と
を備えることを特徴とする請求項６に記載の自動テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動テスト方法に関するものであり、特に、ラスターイメージプロセッサに対して自動的にテストを行う自動テスト方法に関するものである。
【背景技術】
【０００２】
ラスターイメージプロセッサＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）はインタプリタの一種であり、ページ記述言語によるレイアウト情報を解釈し、出力装置で出力可能なデータ情報（普通はビットマップ）に変換することに使用される。
【０００３】
従来、ＲＩＰ製品のテスト方法としては、テストされるべきＲＩＰ製品とリファレンスＲＩＰ製品とへテストサンプルをテスターによる手動で与え、与えた各テストサンプルに対して、ＲＩＰにて解釈してビットマップを出力し、相違があるか否か、それぞれのビットマップを比較して判断する。肉眼では相違が発見されないと、このテストサンプルがテストされるべきＲＩＰ製品にて正確に解釈されたと判断する。テストされるべきＲＩＰ製品において、テストサンプルセットにおけるテストサンプルの全てが正確に解釈されていれば、当該ＲＩＰ製品はテスト通過したものであると考えられる。
【０００４】
前記ＲＩＰ製品のテスト方法は、たとえば、下記のような問題が存すると思われる。すなわち、
・テストサンプルが手動で与えられるため、煩雑な作業になること、
・手動により与える作業自体が任意的なものになりやすいため、回帰テストに不利であること、
・テスト結果の正確性は肉眼によるもので、信頼性が十分ではない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−０３８９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、従来の技術に存在する問題を解決するために、コンピュータを利用してテスト結果の正確性を検査し、信頼性が高く精度が高い、ラスターイメージプロセッサの自動テスト方法を提供することを目的とする。
【０００７】
また、本発明は、テストサンプルを自動的に与え、手動により与えるに必要な作業量を低減し任意性をなくす、ラスターイメージプロセッサの自動テスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記した目的を実現するため、本発明は、ラスターイメージプロセッサに対して自動的にテストを行う方法であって、
全てのテストサンプルを与えるステップ（１）と、
リファレンスラスターイメージプロセッサにて、ステップ（１）で与えられた全てのテストサンプルを実行し、各テストサンプルのリファレンスビットマップを生成するステップ（２）と、
各テストサンプルのリファレンスビットマップエムディーコードを生成し、永続的エムディーコードリストに記録するステップ（３）と、
テストされるべきラスターイメージプロセッサにて、ステップ（１）で与えられた全てのテストサンプルを実行し、各テストサンプルのテスティングビットマップを生成するステップ（４）と、
各テストサンプルのテスティングビットマップエムディーコードを生成し、同一のテストサンプルについて、テスティングビットマップエムディーコードを、永続的エムディーコードリストに記録されたリファレンスビットマップエムディーコードと比較し、一致しない場合、該テスティングビットマップエムディーコードを一時的エムディーコードリストに記録するステップ（５）と
を備えることを特徴とする自動テスト方法を提供する。
【発明の効果】
【００１０】
本発明は、ビットマップエムディーコードに対して比較を行うことによって、リファレンスラスターイメージプロセッサによりラスタライズされたビットマップと、テストされるべきラスターイメージプロセッサによりラスタライズされたビットマップとが一致するか否かを正確に判断できる。肉眼による判断の場合より、テストの精度が高くなる。また、テストサンプルを自動的に与えることが実現されるため、手動で与える場合と比較して見れば、労力を節約し、効率を向上することができる効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る自動テストシステムの構成を示す図である。
【図２】本発明に係る自動テスト方法のフローチャートを示す図である。
【図３】本発明の実施の形態におけるテストスクリプトの構成を模式的に示す図である。
【図４】本発明の実施の形態において、ＲＩＰでテストサンプルを実行するフローチャートを示す図である。
【発明を実施するための最良の形態】
【００１２】
次に、具体的な実施の形態と図面とを参照して本発明を詳細に説明する。
【００１３】
本発明の趣旨としては、コアアイデアとなるテストされるべきラスターイメージプロセッサ（ＲＩＰ）により生成されたビットマップのエムディーコードと、リファレンスＲＩＰ製品（即ち、性能が比較的に安定しているＲＩＰ製品）により生成されたビットマップのエムディーコードとが一致するか否かを比較して判断することにより、テストされるべきＲＩＰ製品から出力されるビットマップの正確性を確認し、テストされるべきＲＩＰ製品の正確性及び安定性を確認する。
【００１４】
図１は本発明に係るＲＩＰの自動テストシステムの構造を示す。このシステムは、ＲＩＰサブシステム１１とデータベースサブシステム１２とを備える。
【００１５】
ＲＩＰサブシステム１１は、リファレンスＲＩＰ１１０と、テストされるべきＲＩＰ１１１とエムディーコードプロセッサ１１２と、を備える。エムディーコードプロセッサ１１２は、リファレンスビットマップエムディーコード又はテスティングビットマップエムディーコードを生成し、同一のテストサンプルについてリファレンスエムディーコードとテスティングビットマップエムディーコードとが一致するか否かを判断する。リファレンスビットマップエムディーコードは、リファレンスＲＩＰ１１０にてテストサンプルを解釈して生成されたビットマップに対して、エムディーコードプロセッサ１１２が処理して生成するエムディーコードである。テスティングビットマップエムディーコードは、テストされるべきＲＩＰ１１１にてテストサンプルを解釈して生成されたビットマップに対して、エムディーコードプロセッサ１１２にて処理して生成するエムディーコードである。
【００１６】
データベースサブシステム１２は、データベースモジュール１２０と、データベースインターフェイスモジュール１２１と、データ表示モジュール１２２と、エクスポート／インポートモジュール１２３と、を備える。データベースモジュール１２０は、永続的エムディーコードリストと、一時的エムディーコードリストと、実行状態記録リストとを記憶するものである。永続的エムディーコードリストには、リファレンスビットマップエムディーコードが記録される。一時的エムディーコードリストには、同一のテストサンプルについて、リファレンスビットマップエムディーコードと一致しないテストサンプルのテスティングビットマップエムディーコードが記録される。実行状態記録リストには、リファレンスＲＩＰ１１０及びテストされるべきＲＩＰ１１１のそれぞれにおいて実行されたテストサンプルの実行状態が記録される。データベースインターフェイスモジュール１２１は、データベースモジュール１２０におけるデータ、例えば、永続的エムディーコードリストと、一時的エムディーコードリストと、実行状態記録リストとの記録に対して追加、変更、削除、検索などの操作を行うものである。データ表示モジュール１２２は、データベースモジュール１２０において記憶されているデータコンテンツ、例えば、永続的エムディーコードリストと、一時的エムディーコードリストと、実行状態記録リストとの記録を表示するものである。エクスポート／インポートモジュール１２３は、一時的エムディーコードリストの記録を、永続的エムディーコードリストへ選択的にインポートするものである。
【００１７】
本実施形態では、永続的エムディーコードリストの構造は一時的エムディーコードリストの構造と同じであり、下記のリストに示すようになる。
【００１８】
【表１】
0005552487.tif 000002
【００１９】
テストサンプルの実行状態記録リストの構造は下記のリストに示す。
【００２０】
【表２】
0005552487.tif 000003
【００２１】
ここでは、状態には、「ＤＯＮＥ」と、「ＵＮＤＯＮＥ」と、「ＥＸＣＥＰＴＩＯＮＡＬ」とがある。
「ＤＯＮＥ」とは、テストサンプルが正常に終了することを示す。
「ＵＮＤＯＮＥ」とは、テストサンプルは正常に終了していないこと、つまり、解釈中にエラーが生じたことを示す。このエラーはテストサンプル自身の問題による可能性がある。
「ＥＸＣＥＰＴＩＯＮＡＬ」とは、当該テストサンプルの解釈中に異常が出てシステムのイグジットになることを示す。このような場合、テストされるべきＲＩＰに重大な欠陥があると分かる。
【００２２】
本実施形態では、自動テストシステムは更に、テストサンプルを自動的に与えることを行うテストサンプル自動付与サブシステム１３を有してもよい。テストサンプル自動付与サブシステム１３は、スクリプト生成手段１３０と、スクリプト解析手段１３１と、タスク分析手段１３２とを備える。スクリプト生成手段１３０はテストスクリプトを生成するようにしてある。テストスクリプトは、実質的にタスクパッケージであり、大量のタスクが記録されている。スクリプト解析手段１３１は、スクリプト生成手段１３０により生成されたテストスクリプトを解析し、テストスクリプトからテストサンプルを抽出し、抽出されたテストサンプルをタスク分析手段１３２へ与えるようにしてある。タスク分析手段１３２は、現在の実行されるべきテストサンプルが実行状態記録リスト又は永続的エムディーコードリストに記録されているか否かを判断し、判断した結果に基づいてテストサンプルに対して相応な処理を行うようにしてある。
【００２３】
本実施形態では、システムの状態には、通常状態と、直接記録状態と、同期記録状態と、回帰テスト状態との４種類が含まれる。
【００２４】
通常状態では、システムは従来の方法に基づいて、ビットマップエムディーコードを生成せずに、ＲＩＰをテストする。このような状態は主として、従来のテスト方法にも適用できるように構成されている。
【００２５】
直接記録状態では、スクリプト解析手段１３１は、テストサンプルを抽出してタスク分析手段１３２へ与え、タスク分析手段１３２は、当該テストサンプルが実行状態記録リストに記録されているか否かを判断し、記録されている場合は、その状態に基づいて相応な処理を行う（具体的な処理過程は後で詳細に説明する）。リファレンスＲＩＰ１１０にて前記テストサンプルを解釈する必要がある場合、エムディーコードプロセッサ１１２は、解釈して得られたビットマップに基づいて当該テストサンプルのビットマップエムディーコードを生成して永続的エムディーコードリストに記録する。
【００２６】
同期記録状態では、スクリプト解析手段１３１は、テストサンプルを抽出してタスク分析手段１３２へ与え、タスク分析手段１３２は、当該テストサンプルが永続的エムディーコードリストに記録されているか否かを判断し、記録されている場合は、解釈せず、直接に次のテストサンプルの処理に移行するが、記録されていない場合は、直接記録状態の場合と同様な処理を行う。このような状態は、生成されたテストスクリプトにテストファイルが追加された後、テストファイルが追加されたテストスクリプトをリファレンスＲＩＰへ与えてテストサンプルのエムディーコードを生成する際に、永続的エムディーコードリストに記録されたテストサンプルを再び解釈してしまう事態を回避し、記録の効率を向上することができるように構成されている。
【００２７】
回帰テスト状態では、スクリプト解析手段１３１は、テストサンプルを抽出してタスク分析手段１３２へ与え、タスク分析手段１３２は、当該テストサンプルが実行状態記録リストに記録されているか否かを判断し、記録されている場合は、その状態に基づいて相応な処理を行う。テストされるべきＲＩＰ１１１にて当該テストサンプルを解釈する必要がある場合、エムディーコードプロセッサ１１２は、解釈して得られたビットマップに基づいて当該テストサンプルのビットマップエムディーコードを生成し、生成したビットマップエムディーコードを、永続的エムディーコードリストに記録された当該テストサンプルのエムディーコードと比較し、両者のエムディーコードが一致する場合、一致と出力し、一致しない場合、一致しないと出力すると共に、エムディーコードを一時的エムディーコードリストに記録する。
【００２８】
図２は、本発明に係るシステムでＲＩＰを自動的にテストする方法の流れを示すものである。この方法は、主に下記のステップを備える。
【００２９】
ここで、バージョン番号が３００１であるＲＩＰを本実施形態におけるリファレンスＲＩＰ１１０とする。このリファレンスＲＩＰ１１０はテストした結果、優れた信頼性を示した。また、バージョン番号が３００７であるＲＩＰをテストされるべきＲＩＰ１１１とする。
【００３０】
・全てのテストサンプルを与える（ステップＳ２０１）。
本実施形態では、テストサンプルを自動的に与える方法を採用する。この方法は下記のステップを備える。
【００３１】
１．スクリプト生成手段１３０にて、スクリプトを生成し、生成したテストスクリプトを、スクリプト解析手段１３１へ与えると共に、回帰テスト時に容易に使用できるようにテストスクリプトライブラリに記録する。
【００３２】
２．スクリプトア解析手段１３１は、テストスクリプトのタイプが許容できるか否かを分析し、許容できない場合、テストスクリプトタイプがマッチングしないことを報告して終了する。
【００３３】
テストスクリプトのタイプには、「フォルダセット及びテンプレートセット」と、「ファイル及びテンプレート」セットとが含まれる。詳しくは、
「フォルダセット及びテンプレートセット」：
[TestFileDoc]
Count=n;
DocPath0=           %フルパス
DocPath1=
……
[Template]
Count=n;
TPL0=               %テンプレート名
TPL1=
「ファイル及びテンプレート」セット：
[RecordCount]
Count=n;
[0]
FILENAME=            %フルパス
TEMPLATENAME=      %テンプレート名
[1]
FILENAME=… 
TEMPLATENAME=…  
……
【００３４】
図３は、本実施形態におけるテストスクリプトの構成を示す。ここで、テストスクリプトにはＴＥＳＴＤＯＣ１と、ＴＥＳＴＤＯＣ２と、ＴＥＳＴＤＯＣ３と三つのフォルダが含まれ、かつ、各フォルダに、ＰＤＦ、ＰＳなどのファイル、又は、ＳｕｂＤｏｃ１やＳｕｂＤｏｃ２等のサブフォルダが幾つか含まれ、テンプレートセットにはＴＰ１とＴＰ２が含まれるとする。
【００３５】
テストスクリプトを生成する際には、三つのフォルダからなるフォルダセットと、二つのテンプレートからなるテンプレートセットとを選出して、「フォルダセット及びテンプレートセット」タイプのテストスクリプトｓｃｒｉｐｔ１を生成してもよい。スクリプトの内容としては、下記のようになる。
[TestFileDoc]
Count=3;
DocPath0=\\TFS\TESTDOC1
DocPath1=\\TFS\TESTDOC2
DocPath2=\\TFS\TESTDOC3
[Template]
Count=2;
TPL0=TP1             
TPL1=TP2
【００３６】
３．スクリプト解析手段１３１はテストスクリプトをトラバーサルし、テストサンプルを抽出してタスク分析手段１３２へ与える。
【００３７】
テストスクリプトのタイプが「フォルダセット及びテンプレートセット」である場合は、テストスクリプトをトラバーサルし、一つのファイルと一つのテンプレートによって一つの「ファイルとテンプレート」タイプのテストサンプルが構成されるように、フォルダセット内の全てのファイルとテンプレートセット内の全てのテンプレートとを組み合わせる。テストスクリプトのタイプが「ファイル及びテンプレート」セットである場合は、テストスクリプトをトラバーサルし、「ファイル及びテンプレート」タイプのテストサンプルを直接に抽出する。
【００３８】
本実施形態では、スクリプト解析手段１３１は、まず、フォルダＴＥＳＴＤＯＣ１をトラバーサルする。当該トラバーサルの方法はディープトラバーサルに類似する。Ｔ１１．ｐｄｆを抽出して、Ｔ１１．ｐｄｆをＴＰ１、及びＴＰ２のそれぞれと組み合わせて、二つのテストサンプルを構成する。次に、Ｔ１２．ｐｓを抽出して、同様にＴＰ１及びＴＰ２のそれぞれと組み合わせて、二つのテストサンプルを構成する。サブフォルダＳｕｂＤｏｃ１をトラバーサルする場合、当該フォルダの下位階層におけるＴＳ１．ｐｄｆを抽出して、ＴＰ１及びＴＰ２のそれぞれと組み合わせて、二つのテストサンプルを構成する。次に、ＴＳ２．ｐｓを抽出して、ＴＰ１及びＴＰ２のそれぞれと組み合わせて、二つのテストサンプルを構成する。このようにして処理を行い、ＴＥＳＴＤＯＣ１に対するトラバーサルが完了すると、ＴＥＳＴＤＯＣ２、ＴＥＳＴＤＯＣ３の順にトラバーサルを行う。このように、これらのフォルダ内の全てのファイルを、全てのテンプレートと組み合わせることによって、テストサンプルを生成することが出来る。よって、テストサンプルの自動付与機能が実現される。
【００３９】
（２）システムを直接記録状態とし、ＲＩＰサブシステム１１のリファレンスＲＩＰを、バージョン番号が３００１であるＲＩＰとする。当該バージョンのＲＩＰにて、ステップ（１）で与えられた全てのテストサンプルを実行し、各テストサンプルのリファレンスビットマップを生成する（ステップＳ２０２）。次に、エムディーコードプロセッサ１１２は、各テストサンプルのリファレンスビットマップエムディーコードを生成し、生成したエムディーコードを、テストファイルＩＤ、テンプレートＩＤ、ページ、カラーフェースＩＤ、試験機ＩＤ、及びバージョン番号などとともに一つの記録として、永続的エムディーコードリストに記録する（ステップＳ２０３）。
【００４０】
各テストサンプルには、幾つかのページ及びカラーフェースが含まれる。テストサンプルのリファレンスビットマップ（即ち、ラスタービットマップ）が生成されるに際して、各ページ、各カラーフェースのラスタービットマップが生成される。本実施形態では、エムディーコードとして、ＭＤ５コードが採用される。エムディーコードプロセッサ１１２は、各ページ、各カラープレーンのラスタービットマップに対してＭＤ５による計算を行ってＭＤ５コードを生成し、生成したＭＤ５コードをエムディーコードとする。
【００４１】
ＭＤ５（Message-digest Algorithm 5、メッセージダイジェストアルゴリズム）は、入力される情報を、５１２バイトを一パケットとして処理を行う。ここで、各パケットは１６個のサブパケット（３２バイト）に分割される。一連の処理をして、４個のサブパケット（３２バイト）で構成された値を出力する。この４個のサブパケットを連接して１２８バイトのハッシュ値を生成する。ＭＤ５の代表的な応用例としては、あるメッセージのダイジェストを生成することにより当該メッセージの改ざんを防ぐということが挙げられる。
【００４２】
エムディーコードの生成は、例えば、輪郭特徴データなど他の方法を利用しても良い。エムディーコードの生成に用いられる方法は、求められるテスト精度によって決める。高いテスト精度が求められる場合は、ＭＤ５コードをエムディーコードとしてもよい。
【００４３】
テストスクリプトにおけるテストサンプルが全部記録された（即ち、全てのテストサンプルのリファレンスビットマップエムディーコードを生成して永続的エムディーコードリストに記録した）場合、暫くしてテストスクリプトにテストファイル又はテンプレートが追加されると、リファレンスＲＩＰにて、テストファイル又はテンプレートが追加されたテストスクリプトに含まれるテストサンプルの全てを実行し、新しいテストサンプルのリファレンスビットマップエムディーコードを永続的エムディーコードリストに記録する必要がある。新しいテストサンプルのビットマップエムディーの記録方法としては、新しいテストスクリプトを追加し、追加されたテストファイルに対してテストを行う方式と、同期記録方式とが挙げられる。実際には、新しいテストファイルの追加がテスターに知られない可能性があり、テストスクリプトライブラリが一旦決定されると、一般的に一定の期間に新たなテストスクリプトが追加されないため、同期記録方式が望ましい。
【００４４】
例えば、本実施形態において、図３に示すテストスクリプトのフォルダＳｕｂＤｏｃ１の下位階層において幾つかの新たなテストファイルが含まれるサブフォルダＳＳＤｏｃが追加される。同期記録方式を用いてＳＳＤｏｃ内のテストファイルとテンプレートとによって構成されるテストサンプルを記録する。具体的には、サブフォルダＳＳＤｏｃが追加されたテストスクリプトを与え、システムを同期記録状態とし、リファレンスＲＩＰ１１０がテストサンプルを実行する前に、当該テストサンプルが永続的エムディーコードリストに記録されているか否かを判断し、記録されていると、当該テストサンプルの実行を省略する操作を追加する。その他は直接記録方式の操作と同様である。
【００４５】
（３）システムを回帰テスト状態とし、ＲＩＰサブシステム１１のＲＩＰを、バージョン番号が３００７であるＲＩＰで取り替え、当該バージョンのＲＩＰにて、ステップ（１）で与えられた全てのテストサンプルを実行し、各テストサンプルのテスティングビットマップを生成する（ステップＳ２０４）。
【００４６】
リファレンスＲＩＰ１１０とテストされるべきＲＩＰ１１１とでテストサンプルを実行する過程において、正常（ＤＯＮＥ）と、エラー（ＵＮＤＯＮＥ）と、異常（ＥＸＣＥＰＴＩＯＮＡＬ）との実行状態を実行状態記録リストに記録する。テストサンプルの実行が正常に終了した場合は、当該テストサンプルの実行状態を正常とし、テストサンプルの実行にエラーが生じた場合は、当該テストサンプルの実行状態をエラーとし、テストサンプルの実行に異常が生じた場合は、当該テストサンプルの実行状態を異常とする。
【００４７】
テストサンプルの実行状態を記録する主な理由としては、リファレンスＲＩＰ１１０またはテストされるべきＲＩＰ１１１にてテストサンプルを実行する途中に異常が出ると、解釈プロセスが異常的に終了してしまう。テストスクリプトを新たに与えることにより、解釈されたテストサンプル、又は異常が生じたテストサンプルを直接にスキップすることができる。それによって、時間を節約するとともに、できるだけ手動的作業を減らすことができる。
【００４８】
図４は、リファレンスＲＩＰ１１０またはテストされるべきＲＩＰ１１１にて与えられたテストサンプルを実行し、当該テストサンプルのリファレンスビットマップ又はテスティングビットマップを生成するプロセスを示す。このプロセスには下記のステップが含まれる。
１．実行状態記録リストを初期化して、リストのデータを全部削除する（ステップＳ４０１）。
２．与えられたテストサンプルが実行状態記録リストに記録されているか否かを判断し（Ｓ４０２）、記録されている場合は、当該テストサンプルの実行状態に基づいて下記の処理を行う。即ち、実行状態が正常又は異常であるか否かを判断し（Ｓ４０３）、正常又は異常であると、ステップＳ４１２に移行し、実行状態がエラーであると、当該テストサンプルの実行状態を異常に変更する（Ｓ４０４）。記録されていない場合は、当該テストサンプルを実行状態記録リストに追加すると共に、当該テストサンプルの状態を異常にする（Ｓ４０５）。
３．テストサンプルに対して解釈を行い、テストサンプルのリファレンスビットマップ又はテスティングビットマップを生成する（ステップ４０６）。
４．テストサンプルの解釈が正常に完了したか否かを判断し（ステップＳ４０７）、正常に完了した場合は、実行状態記録リストにおいて、当該テストサンプルの実行状態を正常に変更し（Ｓ４０８）、次に、ステップＳ４１２を実行する。ステップＳ４０７においてテストサンプルの解釈が正常に完了していない場合には、当該テストサンプルの解釈途中にエラーが生じたか否かを判断し（ステップＳ４０９）、エラーが生じた場合は、実行状態記録リストにおいて当該テストサンプルの実行状態をエラーに変更し（ステップＳ４１０）、エラーではなく、異常が生じた場合は、全てのテストサンプルを新たに与え（ステップＳ４１１）、ステップＳ４０２に移行する。
５．テストサンプルの解釈が全部完了したか否かを判断し（ステップＳ４１２）、全部完了した場合、プロセスが終了する。完了していない場合は、全てのテストサンプルに対する解釈が完了するまで、ステップＳ４０２〜Ｓ４１２を繰り返して次のテストサンプルを解釈する。
【００４９】
（４）エムディーコードプロセッサ１１２は、各テストサンプルのテスティングビットマップエムディーコードを生成し（ステップＳ２０５）、同一のテストサンプルについて、テスティングビットマップエムディーコードを、永続的エムディーコードリストに記録されたリファレンスビットマップエムディーコードと比較して、両者が一致するか否かを判断し（ステップＳ２０６）、一致していると、プロセスが終了する。一致していないと、当該テスティングビットマップエムディーコードを、テストファイルＩＤ、テンプレートＩＤ、ページ番号、カラーフェースＩＤ、試験機ＩＤ、及びバージョン番号等とともに一つの記録として、一時的エムディーコードリストに記録する（ステップＳ２０７）。
【００５０】
（５）テストが完了した後、データベースサブシステム１２のデータ表示モジュール１２２によって実行状態記録リストが表示され、テスターは実行状態記録リストの表示に基づいてテストサンプルの実行状況を把握する。エラー及び／又は異常とされたテストサンプルがあれば、更にテストされるべきＲＩＰ１１１に対して修正を行う必要があると示される。
一時的エムディーコードリストは、データベースサブシステム１２のデータ表示モジュール１２２によって表示される。テスターは、その表示に基づいて一時的エムディーコードリストに記録されたエムディーコードに対応するテストサンプルのテスティングビットマップと、リファレンスビットマップとを検査し、どちらがエラーであるか判定する（ステップＳ２０８）。回帰テストバージョンに対応するビットマップにエラーが生じた場合、エラーの情報を開発者にフィードバックする（ステップＳ２０９）。リファレンスビットマップにエラーが生じた場合、エクスポート／インポートモジュール１２３によって一時的エムディーコードリストにおける記録を永続的エムディーコードリストへインポートし、永続的エムディーコードリストにおける、相応する記録を取り替える（ステップＳ２１０）。
【００５１】
同じバージョンのＲＩＰは、回帰テストがされる時に、一時的エムディーコードリストに記録が存在すれば、当該バージョンのＲＩＰが不安定であると示される。
【００５２】
発明の詳細な説明の項においてなされた具体的な実施形態または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、本発明はそのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と次に記載する特許請求の範囲内で、いろいろと変更して実施することができるものである。
【図１】
0005552487.tif 000004
【図２】
0005552487.tif 000005
【図３】
0005552487.tif 000006
【図４】
0005552487.tif 000007