Nスイッチカバレッジ計測ツールを公開

状態遷移テストの補助用に、Nスイッチカバレッジを計測するツールnswitchcov_aを公開しました。

https://github.com/hiro-iseri/nswitchcov_a

使い方の例

CUIツールです。状態遷移定義ファイルと実行フローファイルの2つを入力に実行します。

具体例として、以下の状態遷移を扱います:

f:id:goyoki:20200210002948p:plain

この状態遷移を、以下のテストケースで網羅します:

  • テストケース1 :初期状態→状態1→状態4
  • テストケース2 :初期状態→状態1→状態2→状態3→初期状態
  • テストケース3 :初期状態→状態1→状態3

このケースの2スイッチカバレッジを計測します。

作成するファイル

状態遷移定義ファイル(stateflow.txt)は例えば以下のようになります

初期状態 - イベント1 > 状態1
状態1 - イベント2 > 状態2
状態1 - イベント4 > 状態3
状態1 - イベント5 > 状態4
状態2 - イベント3 > 状態3
状態3 - イベント5 > 初期状態

実行フローファイル(exepath.txt)は例えば以下のようになります

#テストケース1
初期状態 - イベント1 > 状態1 - イベント5 > 状態4
#テストケース2
初期状態 - イベント1 > 状態1 - イベント2 > 状態2 - イベント3 > 状態3 - イベント5 > 初期状態
#テストケース3
初期状態 - イベント1 > 状態1 - イベント4 > 状態3

これらを入力としてコマンドラインで実行すると、2スイッチカバレッジ25.00%の結果が得られます。

nswitchcov_a.exe --exepath=exepath.txt --stateflow=stateflow.txt --n=2
nswitchcov_a(ver:1.01)
number of execution path:3
number of n-switch path:8
n-switch coverage:25.00%(2/8)