作成したアプリケーションのテスト方法を、以下の内容で説明します。
サーバアプリケーションのテスト方法
クライアントアプリケーションのテスト方法
スナップショットによるテスト支援
運用環境への移行
運用環境におけるテスト
サーバアプリケーションのテスト方法
サーバアプリケーションのテストを行う場合、実際にクライアントアプリケーションと結合して行います。このとき、サーバアプリケーションをデバッガ配下で動作させることで、サーバアプリケーションが正しく作成されているか確認できます。
COBOLデバッガと連携するときの動作の概要と、サーバアプリケーションをデバッガ配下でテストする場合の手順を、以下に示します。
テストを行うサーバアプリケーションを、TESTオプションを指定してコンパイルします。リンクする場合は、リンクオプション“/DEBUG”、および“/DEBUGTYPE:COFF”を指定します。コンパイル方法の詳細についてはCOBOLのマニュアルを参照してください。
テストを行うサーバアプリケーションを、TESTオプションを指定してコンパイルします。コンパイル方法の詳細についてはCOBOLのマニュアルを参照してください。
テスト用モジュールの作成例を以下に示します。
%CORBA=/opt/FSUNod/include/COBOL %export CORBA %cobol -WC,"TEST" -c tdsample1_s.cbl %cobol -WC,"TEST" -c TD_TDSAMPLE1_INTF_skel.cbl %cobol -G -dy -o libtdsample1.so -lthread -L/opt/FSUNtd/lib -ltdalcapi -L/opt/FSUNextp/lib -lextpapiskl -L/opt/FJSVCOBop/lib -lrcobol tdsample1_s.o TD_TDSAMPLE1_INTF_skel.o |
テストを行うサーバアプリケーションのワークユニット定義を作成し、tdstartwuコマンドでデバッグオプション-dを指定してワークユニットを起動します。-dオプションを指定してワークユニットを起動した場合、ワークユニットの動作環境まで作成し、APMプロセスを起動せずにコマンドは復帰します。tdstartwuコマンドの詳細については“リファレンスマニュアル(コマンド編)”を参照してください。
デバッグ用のワークユニットの起動例を、以下に示します。
>tdstartwu -d TDSAMPLE1 |
%tdstartwu -d TDSAMPLE1 |
コマンドプロンプトからwinsvdコマンドでCOBOLデバッガを起動し、APMプロセスをCOBOLデバッガ配下で起動します。APMプロセスをCOBOLデバッガ配下で起動する際のwinsvdコマンドのパラメタのうち、基本的なパラメタの指定方法を以下に示します。
> winsvd /G開始プログラム名 /Sソースファイル格納フォルダ名 /Dデバッグ情報格納フォルダ名 APMモジュール名 業務システム名 ワークユニット名 オブジェクト名 動作システム種別 |
デバッグを開始する外部プログラム名を指定します。
COBOLソースプログラムの格納フォルダを指定します。
デバッグ情報ファイルの格納フォルダを指定します。デバッグ情報ファイルはコンパイル時に生成される拡張子が“.svd”のファイルです。
“C:\INTERSTAGE\extp\bin\extp_apmXXX”を指定します。
XXX : ワークユニット定義で指定したAPM名を指定します。
“td001”を指定します。
本APMが動作するワークユニット名を指定します。
ワークユニット定義で指定した本APMのオブジェクト名を指定します。
“T”を指定します。
端末から、テスト対象のCOBOLプログラムを指定したsvdコマンドにより、COBOLデバッガを起動し、APMプロセスをそのデバッガ配下で起動します。APMプロセスを起動する際のsvdコマンドのパラメタのうち、基本的なパラメタの指定方法を、以下に示します。
% svd -p 開始プログラム名 -s ソースファイル格納ディレクトリ名 -k デバッグ情報格納ディレクトリ名 ファイル名 APMモジュール名 業務システム名 ワークユニット名 オブジェクト名 動作システム種別 |
デバッグを開始する外部プログラム名を指定します。
COBOLソースプログラムの格納ディレクトリを指定します。
デバッグ情報ファイルの格納ディレクトリを指定します。デバッグ情報ファイルはコンパイル時に生成される拡張子が".svd"のファイルです。
"EXTPのインストールディレクトリ/FSUNextp/bin/extp_apmenv"を指定します。
"EXTPのインストールディレクトリ/FSUNextp/bin/extp_apmXXX"を指定します。
XXX : ワークユニット定義で指定したAPM名を指定します。
また、拡張システムの場合は、以下のように設定します。
XXX : “APM名_拡張システム名”を設定します。
デフォルトシステムの場合は、"td001"を指定します。拡張システムの場合は、システム名を設定します。
本APMが動作するワークユニット名を指定します。
ワークユニット定義で指定した本APMのオブジェクト名を指定します。
"T"を指定します。
APMプロセスの起動例を以下に示します。
% PATH=/opt/FJSVCOBop/bin:${PATH}; export PATH % LD_LIBRARY_PATH=/opt/FJSVCOBop/lib:/usr/dt/lib:/usr/openwin/lib:${LD_LIBRARY _PATH};export LD_LIBRARY_PATH % MANPATH=/opt/FJSVCOBop/man/%L:/opt/FJSVCOBop/man:${MANPATH}; export MANPATH % NLSPATH=/opt/FJSVCOBop/lib/nls/%1/%c/%N.cat:/opt/FJSVCOBop/lib/nls/C/%N.cat; export NLSPATH % XUSERFILESEARCHPATH=/opt/FJSVCOBop/lib/app-defaults/%L/%N:/opt/FJSVCOBop/lib /app-defaults/%N; export XUSERFILESEARCHPATH % % svd -p TDSAMPLE1 -s /opt/FSUNtd/sample/SERVER -k /opt/FSUNtd/sample/SERVER /opt/FSUNextp/bin/extp_apmenv /opt/FSUNextp/bin/extp_apmTDNORM td001 TDSAMPLE1 TDSAMPLE1/INTF T |
COBOLデバッガの詳細については、COBOLのマニュアルを参照してください。
クライアントアプリケーションのテスト方法
クライアントアプリケーションのテスト方法は、クライアントアプリケーションを動作させるオペレーティングシステムやミドルウェアによって異なります。お使いのオペレーティングシステムやミドルウェアごとに推奨される方法でテストを行ってください。
スナップショットを使用して、クライアントからの要求に対する入出力情報をワークユニット単位に取得することにより、アプリケーションのデバッグを行うことができます。
詳細は、“第7章 スナップショット機能”を参照してください。
実行時のエラーメッセージ情報の取得によるデバッグ
COBOLサーバアプリケーション開発時に、ワークユニット定義に以下を追加することで、COBOLランタイムからのメッセージが標準エラー出力に出力されデバッグが容易になります。
Environment Variable:NLSPATH=COBOL_HM/lib/nls/%L/%N.cat:COBOL_HM/lib/nls/C/%N.cat
注)
COBOL_HM:COBOLコンパイラのインストールディレクトリを指定します。
運用環境への移行
開発環境でテストした資材を運用環境へ移行するための作業手順と、運用環境でのテスト方法について説明します。
クライアント資材は、サーバ資材を移行してサーバアプリケーションがコンパイルされるまでに移行してください。
サーバ資材を運用環境に移行する手順について、以下に示します。
開発環境のInterstageシステムを停止します。
開発環境からサーバアプリケーションのプログラムソースを運用環境に複写します。
開発環境からIDLファイル、ワークユニット定義ファイルを運用環境に複写します。
3.で複写したIDLファイルをもとに、tdcコマンドを実行し、スタブファイル、スケルトンファイルを作成します。
運用環境のInterstageシステムの停止
2.で複写したサーバアプリケーションプログラムソースと4.で作成したスケルトンファイルにより、サーバアプリケーションを作成します。
ワークユニット定義の“ネーミングサービスの登録形態”が“MANUAL”の場合、オブジェクトリファレンスを登録します。
3.で複写したワークユニット定義を登録します。
運用環境のInterstageシステムを起動します。
運用環境のワークユニットを起動します。
運用環境におけるテスト
開発環境では各モジュールの単体テストを行いますが、運用環境ではシステム全体として以下に示すテストが必要です。
システム負荷テスト
業務に沿った運用テスト
業務に則した性能テスト
それぞれのテスト方法について、以下に示します。
システム負荷テストは業務を遂行するために、システム上のすべてのコンポーネントを含めたテストを実施します。システムの負荷をあげるためには、システムへのデータ入力の頻度(呼量と呼びます)をあげると、実施できます。たとえば、多数のCORBAクライアントからの入力の場合、CORBAクライアントを高速なマシン上で動作させると、呼量が増加し、負荷があげられます。また、Web連携の負荷をあげるときは、WebStoneなどをUNIXサーバに設定し、同様に呼量を増加させることができます。
業務に沿った運用テストは、実際の業務を想定したテストを実施し、システムとして運用に問題がないかを確認します。したがって、システムで利用する製品および業務アプリケーションすべてを動作させます。たとえば、受注業務の運用テストを実施する場合、受注業務で利用する全製品とアプリケーションを動作させて、受注業務の開始/終了、データ入力とその処理などを実施します。
性能テストは、業務運用中の性能について測定し、問題がないかを確認するテストです。