Hitachi

COBOL2002 Professional Tool Kit 単体テスト支援ガイド


8.6.4 リグレッションテストなどのために繰り返しテスト実行する

繰り返しテスト実行する場合は,実行するコマンドをバッチファイル(.bat)にして実行すれば作業の手間が省けます。

また,実行結果か正しいどうかの判定もバッチファイルに追加しておけば,繰り返しテスト実行するたびに,正しい結果かどうか自動で判定することができます。

実行結果を自動で判定する方法としては,例えば次の方法があります。

作成するバッチファイルをtest.batとして,次に手順を示します。

作業の手順

  1. バッチファイル(test.bat)を作成します。

    バッチファイルの例を次に示します。findなどのDOSコマンドについては,使用するWindowsのヘルプを参照してください。

    実行結果のサマリ情報に,NGやエラーがないことを確認する場合

    スクリプトの例を次に示します。この例では,テスト実行の結果を testresult.txtに出力します。出力した内容に「NG[0]」と「エラー[0]」があるか検索し,どちらかが見つからない場合にエラーとしています。

    rem テスト実行して,結果をtestresult.txtに出力する。

    cbluts -Test -Run -Project c:\work\sample.utsproj > testresult.txt

    rem testresult.txtの内容を確認する。

    find "NG[0]" testresult.txt | find "エラー[0]"

    if ERRORLEVEL 1 goto ERROR

    rem 正常時

    rem ここに正常時の処理を追加

    goto :FINALLY

    rem エラー処理

    :ERROR

    rem ここにエラー時の処理を追加

    :FINALLY

    rem 最後に出力したtestresult.txtを削除する。

    del testresult.txt

    事前に出力しておいた正しい結果と,リグレッションテストの結果を比較する場合

    スクリプトの例を次に示します。この例では,テスト実行の結果を testresult.txtに出力します。出力したファイルと,事前に作成しておいたc:¥work¥correct_result.txtを比較し,差分がある場合にエラーとしています。

    rem テスト実行して,結果をtestresult.txtに出力する。

    cbluts -Test -Run -Project c:\work\sample.utsproj > testresult.txt

    rem 2つのファイルを比較する。

    fc testresult.txt c:\work\correct_result.txt

    if ERRORLEVEL 1 goto ERROR

    rem 正常時

    rem ここに正常時の処理を追加

    goto :FINALLY

    rem エラー処理

    :ERROR

    rem ここにエラー時の処理を追加

    :FINALLY

    rem 最後に出力したtestresult.txtを削除する。

    del testresult.txt

    この方法で判定する場合は,次のコマンドで,事前に正常終了した結果を保存しておく必要があります。

    cbluts -Test -Run -Project c:\work\sample.utsproj > c:\work\correct_result.txt

  2. バッチファイル(test.bat)を実行します。

    次のどちらかの方法で,test.batを実行します。

    • test.batファイルをダブルクリックする

    • Windowsのコマンドプロンプト上,またはほかのバッチファイルからtest.batを呼び出す

      call test.bat

      注意事項
      • 各コマンドにファイルを指定するときは,「指定するファイルがあるフォルダ」と「バッチファイルを実行するフォルダ」が同一であるかどうかを注意する必要があります。

        フォルダが同一の場合はファイル名だけで指定することもできます。同一ではない場合は,絶対パスか相対パスで指定する必要があります。

      • テストプロジェクト内に登録された実行結果の数が上限に達すると,テスト実行できなくなります。

        この場合は,いちばん古い実行結果を自動で削除するように単体テスト支援のGUI画面で設定しておくことで回避できます。詳細は,「9.5 テスト実行の設定を変更する」を参照してください。

        なお,この設定をしても,実行結果の登録数が上限に達していないときは,実行結果は削除されません。また,この設定をすると,ほかのテストプロジェクトのテスト実行でも有効になります。

関連項目