インターポーズ処理は、測定項目を実行する前後で、変数の値を参照・変更できる機能です。 インターポーズ処理は、インターポーズ・アルゴリズムで処理手順を指定し、 インターポーズ条件で処理条件を指定することで作成します。
ここでは概要を述べます。
詳細は こちらのドキュメント を参照してください。
以下にインターポーズ処理の例を挙げます。
| インターポーズ処理 | インターポーズ・アルゴリズム | インターポーズ条件 |
|---|---|---|
| 測定前に2秒待つ | Wait Time before Measure Item | Wait Time: 2秒 |
| I/O1のピンの測定値を指定した変数に設定する | Store Pin Result Value | Pin: I/O1 |
基本的なインターポーズ・アルゴリズムは、CloudTesting Labに標準で用意されています。 また、Javaを使用して、お客様自身でインターポーズ・アルゴリズムの開発が可能です。
用意されているインターポーズ・アルゴリズムを利用する
CloudTesting Labでは、以下のインターポーズ・アルゴリズムが用意されています。
| 名前 | 処理 | Pre Interpose | Post Interpose |
|---|---|---|---|
| Set Variable | 演算式の結果を指定した変数に設定する。 | 実行可 | 実行可 |
| Wait Time before Measure Item | 指定時間だけ待つ。 | 実行可 | 実行不可 |
| Wait Time after Measure Item | 指定時間だけ待つ。 | 実行不可 | 実行可 |
| Store Pattern Result | ファンクション試験の実行結果を指定した変数に設定する。 | 実行不可 | 実行可 |
| Store Pin Measure Value | 指定したピンの測定値を変数に設定します。 | 実行不可 | 実行可 |
| Store Pin Result Value | 指定したピンの測定結果を変数に設定します。 | 実行不可 | 実行可 |
| Store Comment Measure Value | 指定したコメントの測定値を変数に設定します。 | 実行不可 | 実行可 |
| Store Comment Result Value | 指定したコメントの測定結果を変数に設定します。 | 実行不可 | 実行可 |
測定結果はInterger型の変数に設定できます。 設定される値と結果の関係を下表に示します。
| 値 | 結果 |
|---|---|
| 0 | Pass |
| 4 | Invalid |
| 5 | LowFail |
| 6 | HighFail |
| 7 | L_H_Fail |
| 8 | Overflow |
| 9 | Timeout |
お客様自身でインターポーズ・アルゴリズムを開発する
お客様自身でインターポーズ・アルゴリズムを開発するには、Javaを使用します。 インターポーズ・アルゴリズムは、以下の手順で開発します(コマンド プロンプトを使用)。
| 順序 | 作業 | 内容 |
| 1 | JDK 8をインストールする |
javaの開発を行うために、AdoptOpenJDK 8 (HotSpot) のWindows x64版をインストールします。 コマンドラインでJDKのコマンドを使用するために、パスにJDKのbinフォルダを追加します。 set Path=%Path%;Path\to\JDK\bin |
| 2 | ソースコードを作成する |
ソースコード(.java)を作成します。実行する順序に応じて、次のいずれかのクラスを継承します。
|
| 3 | コンパイルする |
JDKに含まれるjavacコマンドで、ソースコード(.java)をコンパイルします。 javac -classpath "%ProgramFiles%\CloudTesting\interpose\release\CTLab_Interpose.jar" -d . -encoding utf-8 Example.java コンパイルに成功すると、Javaクラスファイル(.class)が生成されます。 |
| 4 | アーカイブする |
JDKに含まれるjarコマンドで、Javaクラスファイル(.class)をアーカイブします。 jar cvf Example.jar com\* アーカイブに成功すると、Javaアーカイブファイル(.jar)が生成されます。 |
| 5 | フォルダに配置する |
生成したJavaアーカイブファイル(.jar)を、以下のパスに配置します。 %ProgramFiles%\CloudTesting\interpose\custom |
| 6 | CloudTesting Labで利用する | CloudTesting LabをExpertモードで起動します。 追加したインターポーズ・アルゴリズムは、インターポーズ処理一覧で確認できます。 |
インターポーズ・アルゴリズムで変数を参照・操作する
インターポーズ・アルゴリズムから、変数を参照・操作するには、InterposeVariableクラスを利用します。
変数の読み出しメソッドは、以下の通りです。
| 戻り値 | メソッド名 | 引数 | 説明 |
|---|---|---|---|
| Integer | getIntegerValue | - | Integer型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
| Long | getLongValue | - | Long型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
| Double | getDoubleValue | - | Double型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
| Boolean | getBooleanValue | - | Boolean型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
| String | getStringValue | - | String型の値を取得します。配列定義の変数では最初の要素の値が取得されます。 |
| Integer | getIntegerValue | Integer... indexes(*1) | Integer型の値を取得します。引数で指定した要素番号の値が取得されます。 |
| Long | getLongValue | Integer... indexes(*1) | Long型の値を取得します。引数で指定した要素番号の値が取得されます。 |
| Double | getDoubleValue | Integer... indexes(*1) | Double型の値を取得します。引数で指定した要素番号の値が取得されます。 |
| Boolean | getBooleanValue | Integer... indexes(*1) | Boolean型の値を取得します。引数で指定した要素番号の値が取得されます。 |
| String | getStringValue | Integer... indexes(*1) | String型の値を取得します。引数で指定した要素番号の値が取得されます。 |
| List | getIntegerValues | - | Integer型の値を取得します。 すべての要素をListで取得する事が出来ます |
| List | getLongValues | - | Long型の値を取得します。 すべての要素をListで取得する事が出来ます |
| List | getDoubleValues | - | Double型の値を取得します。 すべての要素をListで取得する事が出来ます |
| List | getBooleanValues | - | Boolean型の値を取得します。 すべての要素をListで取得する事が出来ます |
| List | getStringValues | - | String型の値を取得します。 すべての要素をListで取得する事が出来ます |
1 配列変数の要素を指定します。多次元配列ではその次元数分の引数が必要です。
変数への書き込みメソッドは、以下の通りです。
| 戻り値 | メソッド名 | 引数 | 説明 |
|---|---|---|---|
| void | setVariableExpression | String value | 引数で渡された表現値を評価した値を設定します。 |
| void | setIntegerValue | Integer value | 引数で渡されたInteger型の値を設定します。 |
| void | setLongValue | Long value | 引数で渡されたLong型の値を設定します。 |
| void | setDoubleValue | Double value | 引数で渡されたDouble型の値を設定します。 |
| void | setBooleanValue | Boolean value | 引数で渡されたBoolean型の値を設定します。 |
| void | setStringValue | String value | 引数で渡されたString型の値を設定します。 |
| void | setIntegerValue | Integer value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたInteger型の値を設定します。 |
| void | setLongValue | Long value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたLong型の値を設定します。 |
| void | setDoubleValue | Double value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたDouble型の値を設定します。 |
| void | setBooleanValue | Boolean value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたBoolean型の値を設定します。 |
| void | setStringValue | String value,Integer...indexes | 引数で指定した要素番号へ引数で渡されたString型の値を設定します。 |
| void | setIntegerValues | List values | 引数で渡されたInteger型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
| void | setLongValues | List values | 引数で渡されたLong型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
| void | setDoubleValues | List values | 引数で渡されたDouble型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
| void | setBooleanValues | List values | 引数で渡されたBoolean型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
| void | setStringValues | List values | 引数で渡されたString型の値を設定します。変数の要素数がListの要素数より小さい場合エラーになります。 |
インターポーズ・アルゴリズムのサンプルソースコード
インターポーズ・アルゴリズムの例として、サンプルソースコードを示します。 ソースコードは以下からダウンロードできます。
※ダウンロード時に会員認証が行われます。ユーザ登録がお済みでない方は、ご登録をお願いいたします。
このサンプルプログラムは、以下のソースコードを含んでいます。
| 内容 | ファイル名 |
|---|---|
| 文字列“Hello”を出力する | Hello.java |
| パラメータで与えられた文字列を出力する | PrintMessage.java |
| 測定後にダイアログ出してポーズ | Pause.java |
| フォーマットを指定して数値を出力する | Display.java |
| 配列変数で指定した被乗数とパラメータで指定した乗数の積を配列変数に格納する | Multiplier.java |
| 配列変数で指定した母集団の平均値を変数に格納する | Mean.java |
| 変数の値を配列変数へ格納する | setVariableToArrayPre(Post).java |