Skip to content

Latest commit

 

History

History
132 lines (82 loc) · 6.26 KB

user_guide_jp.md

File metadata and controls

132 lines (82 loc) · 6.26 KB

ATestCov ユーザマニュアル

このドキュメントではatestcovの使用方法を解説します。

atestcovについて

atestcovはnワイズカバレッジを計測するテストツールです。オールペア法、直交表技法、nワイズテストが主な用途です。

ダウンロード

https://github.com/hiro-iseri/atestcov/releases

使い方

【実行方法】CUI環境で以下を引数指定して実行します。

  • --testcase(-t):テストケース記述ファイルのパス
  • --param(-p):パラメータ記述ファイルのパス

【実行結果】テストケース中にパラメータ組み合わせがどの程度出現するかをnワイズカバレッジで表示します。またオプションで組合わせテストのメトリクスを表示します。

実行コマンドの例

atestcov --testcase "テストケース記述ファイルパス" --param "パラメータ記述ファイルパス"

結果出力の例

*** atestcov(ver.0.02) ***

[coverage report]
number of test case: 1
number of parameter: 3
1wise coverage: 37.50%(3/8)
2wise coverage: 14.29%(3/21)
3wise coverage: 5.56%(1/18)

サンプルによるクイックスタート

クイックスタート用に、リリースファイルに入力ファイルと実行コマンドのサンプルを同梱しています。

CUI環境でリリースファイル内のsampleディレクトリに移動し、Windowsならwin.bat、MacOSXならmac.shを実行すると、atestcovが実行されます。

nワイズカバレッジのnの指定方法

nワイズカバレッジのn値は、実行時引数を使って、下限値、上限値で指定します。下限値~上限値の範囲内のnワイズカバレッジを計測します。指定方法は次の通りです;

  • n下限値は引数「--lower」(-l)のパラメータで指定します。引数指定がない場合、1に自動設定されます。
  • n上限値は引数「--upper」(-u)のパラメータで指定します。引数指定がない場合、パラメータ記述ファイルで入力したパラメータ個数に自動設定されます。

例:2ワイズカバレッジ、3ワイズカバレッジ、4ワイズカバレッジを計測(例中の「ファイルパス」はダミー文字列):

atestcov.exe --testcase ファイルパス --param ファイルパス --lower 2 --upper 4

入力ファイルの書き方

共通記法

atestcovにはテストケース記述ファイル、パラメータ記述ファイルを入力します。ファイルの共通記法ルールは次の通りです:

  • 「#」から始まる行、空行は無視されます。
  • パラメータ名、値名には「@mutex」「:」「,」を使用できません。使用すると異常結果が出力されます。
  • 名前に空文字を使用するとエラーとなります。
  • キーワードの前後のスペースは除去されます。連続したタブは一つのタブとして解釈されます。
  • 文字コードは実行環境の標準文字コード設定に準じます。

テストケース記述ファイルの記法

テストケース記述ファイルは、テストケースを列記したファイルです。記法は次の通りです。

  • 「,」かタブで区切って要素を記述します。
  • 先頭行が、テストケースのパラメータ名を記述したタイトル行になります。次行以降にテストケースの値を記述します。

例:「麺」と「スープ」のパラメータを組み合わせた3つのテストケース:

麺,スープ
細麺,豚骨
太麺,Miso
細麺,醤油

パラメータ記述ファイル

パラメータ記述ファイルは、組み合わせテストのテスト条件であるパラメータとその値を記述したファイルです。記法は次の通りです:

  • 「パラメータ:値1, 値2, ...」の形式で記述します(パラメータと値を「:」で区切る。値は「,」かタブで区切る)

例:細麺、太麺の値を持つパラメータ「麺」と、豚骨、Miso、醤油を値に持つパラメータ「スープ」のパラメータ記述ファイル:

麺:細麺,太麺
スープ:豚骨,醤油,Miso

パラメータ記述ファイルでは、特定の組み合わせを計測から除外する、排他制約を記述できます。 排他制約は「@mutex パラメータ名:値名, パラメータ名:値名 , ...」の形式で記述します(行頭に「@mutex」を記述。「パラメータ:値」の組を「,」で区切る)。

例:スープ:豚骨、麺:太麺の組み合わせを、計測から除外

@mutex スープ:豚骨, 麺:太麺

出力結果

「[coverage report]」以降にカバレッジ計測データを出力します。カバレッジの分母は、指定したn個のパラメータ組み合わせ総数、分子はテストケースで出現した組合わせ数です。

追加メトリクスの表示

「--addmetrics」(-a)の実行時引数を付与すると、組み合わせテストのメトリクスを追加表示します。追加されるメトリクスは現在次の通りです。

  • 組み合わせ重複率:テストケース中で存在するパラメータ組み合わせのうち、組み合わせ出現数を、組み合わせ種類数で割った値です。組み合わせの重複がなければ1になります。組み合わせの重複が多くなるほど大きくなります。テストケースの無駄や偏りの判定に用います。
  • 組み合わせ出現率の標準偏差:テストケース中で存在するパラメータ組み合わせの出現数の標準偏差です。組み合わせの出現数が均一ならば0になります。出現数の偏りが大きくなるほど、値が大きくなります。テストケースの偏りの判定に用います。

その他実行時引数

atestcovは次の引数を実行時に指定できます。

  • 「--help」(-h) :ヘルプを表示します
  • 「--info」(-i) :実行時の中間情報を表示します。例えば網羅できていない組み合わせ情報を表示します

用例情報

http://goyoki.hatenablog.com/entry/2018/08/18/032326

http://goyoki.hatenablog.com/entry/2018/07/18/004558