Hitachi

Hitachi System Information Capture システム検証支援 テスト結果収集機能 


10.5 HSIC-ECDのエビデンスファイル

HSIC-ECDのエビデンスファイルについて説明します。

出力先

HSIC-ECDのエビデンスファイルは、次のディレクトリに出力します。

HSIC-ECDインストールディレクトリ\evidence

ファイル名

HSIC-ECDのエビデンスファイルは、次のファイルに出力します。

evidence_テストID.txt

出力契機

出力契機にディレクトリ、またはエビデンスファイルがない場合は、新たにディレクトリを作成して出力します。

エビデンスファイルがすでにある場合は、追加で書き込みます。

エビデンスファイルの出力契機を次に示します。

出力契機

出力内容

サーブレット/JSPでSQLを実行したとき

実行したSQL情報

サーブレット/JSPで実行したSQLがUPDATE文

DB更新前情報、またはDB更新後情報

サーブレット/JSPで実行したSQLがINSERT文

DB更新後情報

サーブレット/JSPで実行したSQLがDELETE文

DB更新前情報

サーブレット/JSPで実行したSQLがSELECT文

SQL参照情報

アプリケーション固有情報機能の対象としたクラスまたはメソッドの実行

プラグインで出力した情報

HSIC-ECD内でエラーが発生した場合

エラーメッセージ

出力形式

yyyy/mm/dd hh:mm:ss.zzz XX..XX
tt..tt
tt..tt
  :
yyyy/mm/dd

年月日

hh:mm:ss.zzz

時分秒ミリ秒(精度は、Linuxの場合は約1ミリ秒、Windowsの場合は約10ミリ秒)

XX..XX

出力契機を表すコード

tt..tt

出力契機ごとの出力内容

文字コードはUTF-8で出力します。

出力契機ごとの出力内容

実行したSQL情報

SQL実行前に、出力契機を表すコード「SQL START」、実行後に出力契機を表すコード「SQL END」を出力します。

「SQL START」と「SQL END」の間の行に、アプリケーションが実行したSQLを出力します。

アプリケーションが実行したSQL、「SQL END」の行の後ろには空行を出力します。

アプリケーションが実行するSQLで例外が発生した場合は、「SQL END」の行は出力しません。

アプリケーションが実行するSQLにバインド変数が使用されている場合は、次の規則でバインド変数を文字列に変換してから出力します。

  • setterで設定したバインド変数の値をtoString()で文字列に変換します。

  • setterがsetString()setTime()setDate()setTimestamp()の場合は、''で囲ってバインド変数を出力します。

  • setDate()などのjava.util.Calendarを引数とするsetterは、引数のCalendarオブジェクトに設定したタイムゾーンに合わせた日時を出力します。

  • 文字列化できない型や値は、<>で型や値を囲った文字列を出力します。

    null」の場合、「<null>」が出力されます。

    byte[]」の場合、「<byte[]>」が出力されます。

  • HSIC-ECDが対応していないsetterを使用した場合は、バインド変数の値に変換しないで、バインド変数名をそのまま出力します。

出力例を次に示します。

2015/04/19 18:37:52.590 SQL START
UPDATE "schema1"."table1" SET column1 = DEFAULT, column2 = 100 WHERE column3 = '商品1'

2015/04/19 18:37:52.590 SQL END
DB更新前情報

実行したSQL情報の前にDB更新前情報を出力します。

出力契機を表すコードに「before update」と出力します。

次の行にHSIC-ECDが更新前情報を取得するために実行したSQLを出力します。

その次の行からHSIC-ECDが取得した結果を出力します。

結果は、取得した列のデータ型が文字列で表現できる場合、toString()メソッドで文字列に変換して、要素を空白区切りで出力します。

データ型が、文字列型や時刻および日時を表す型の場合、''で囲って出力します。

結果がnull値の場合は、<null>を出力します。

文字列で表現できないデータ型は、<BLOB>のように、<>で型を囲って出力します。

最後の行の後ろには空行を出力します。

HSIC-ECDが制限事項とする構文が使用されていた場合は、KFSF50002-Wメッセージを出力します。

HSIC-ECDが更新前情報を取得するために実行したSQLでエラーが発生した場合は、KFSF50001-Eメッセージを出力します。

出力例を次に示します。

2015/04/19 18:37:52.550 before update
SELCT column1, column2 WHERE column3 = 'xxx'
AAA <null>
DB更新後情報

実行したSQL情報の後にDB更新情報を出力します。

出力契機を表すコードに「after update」と出力します。

次の行にHSIC-ECDが更新情報を取得するために実行したSQLを出力します。

その次の行からHSIC-ECDが取得した結果を出力します。

結果は、取得した列のデータ型が文字列で表現できる場合、toString()メソッドで文字列に変換して、要素を空白区切りで出力します。

データ型が、文字列型や時刻および日時を表す型の場合、''で囲って出力します。

結果がnull値の場合は、<null>を出力します。

文字列で表現できないデータ型は、<BLOB>のように、<>で型を囲って出力します。

最後の行の後ろには空行を出力します。

HSIC-ECDが制限事項とする構文が使用されていた場合は、KFSF50002-Wメッセージを出力します。

HSIC-ECDが更新後情報を取得するために実行したSQLで例外が発生した場合は、KFSF50001-Eメッセージを出力します。

HSIC-ECDがSQL更新前情報取得のために実行したSQLや、アプリケーションが実行するSQLで例外が発生した場合は、SQL更新情報は出力しません。

出力例を次に示します。

2015/04/19 18:37:53.020 after update
SELCT column1, column2 WHERE column3 = 'xxx'
BBB 100
SQL参照情報

SQL参照情報は、実行したSQL情報の後に出力します。

出力契機を表すコードに「result set」と出力します。

次の行にHSIC-ECDが参照情報を取得するために実行したSQLを出力します。

その次の行からHSIC-ECDが取得した結果を出力します。

結果は、取得した列のデータ型が文字列で表現できる場合、toString()メソッドで文字列に変換して、要素を空白区切りで出力します。

データ型が、文字列型や時刻および日時を表す型の場合、''で囲って出力します。

結果がnull値の場合は、<null>と出力します。

文字列で表現できないデータ型は、<BLOB>のように、<>で型を囲って出力します。

最後の行の後ろには空行を出力します。

HSIC-ECDが制限事項とする構文が使用されていた場合は、KFSF50002-Wメッセージを出力します。

HSIC-ECDがSQL参照情報を取得するために実行したSQLで例外が発生した場合は、KFSF50001-Eメッセージを出力します。

出力例を次に示します。

2015/04/19 18:37:49.370 result set
SELCT column1, column2 WHERE column3 = 'xxx'
AAA null
プラグインが出力した情報

HSIC-ECDプラグインがHSICEvidenceWriter.write()を使用して出力した情報です。

出力契機を示すコードに「plugin」と出力します。

次の行からHSICEvidenceWriter.write()で指定した文字列を出力します。

最後の行の後ろには空行を出力します。

出力例を次に示します。

2015/04/19 18:37:49.370 plugin
aaa.bbb(arg1=ccc)
エラーメッセージ

HSIC-ECDが実行したSQLで例外が発生した場合などに出力する情報です。

出力契機を示すコードに「HSIC msg」と出力します。

次の行からエラーメッセージテキストを出力します。

最後の行の後ろには空行を出力します。

出力例を次に示します。

2015/04/19 18:37:49.370 HSIC msg
KFSFxxxxx-E ‥
ヘッダ

HSIC-ECDが出力するエビデンスファイルには、次のヘッダ情報が出力されます。

/***** HSIC-ECD Evidence File *****/