概要
MagicPodのテストステップを記述するときに気をつけていることをメモします。
以下のMagicPod機能に関することです
- 共通ステップのネスト
- コメント機能
- 一時無効化機能
- 失敗時の動作
- 共有変数
- ラベル
共通ステップのネスト
これは最近、解禁になった機能です。それまでは共通ステップの入れ子はできませんでした。ただ、調子に乗って入れ子にし過ぎると、可読性が悪くなって、メンテナンスで苦労することになります。解禁になったと言っても、3階層までなので、気をつけているのは、基本、2階層までにとどめておく。一言で言えば、そんな感じです。
テストが増えそうなところに、1階層使います。メインのテストステップに直接追加してしまうと、ステップ数が増えてしまうため、増えそうなテストを丸っと共有ステップにして、増えたテストは、2階層目の共有ステップに単独で追加し、1階層目の共有ステップから呼び出すようにしておくと、メインのテストステップは、影響をほぼ受けずに済みます。
コメント機能
テスト条件を書いたり、テスト概要を書いたり、テスト管理ツールのテストスィート名を書いたり、テスト設計のアウトプットと、テストステップが紐付いているかをアピールする感じです。
次の一時無効化機能とも連携させて使う場合もあります。
一時無効化機能
仕様変更により、一部のテストステップがスキップされるような場合に、削除はしないで、無効化しておく。後で、気が変わって、やっぱり、そのテストステップも必要だ となった時に、復活できるように、コメント機能で「以下は、***では、廃止」と書いておき、無効化します。
失敗時の動作
デフォルトでは、テスト停止ですが、継続を選べることもできるようになっていますので、特にテストステップ作成したばかりの頃は、安定しないことも多いので、最後までテストを走らせる目的で、継続を選んでおきます。
生SeleniumをJavaでゴリゴリテストコード書いていたときの、try{}catch{}みたいのが、これでできてしまう。
共有変数
開発環境、ステージング環境など、自動テストを走らせる環境のドメイン名を${baseURL}でテストステップ内に記述できるようにしておくと、テスト設定別にbaseURLを変えておけば、簡単に自動テストを走らせる環境を切替えることができます。
ラベル
こちらも、ゴミ箱機能が最近リリースされたので、有効性は薄れた感ありますが、「仕掛り中」「動作確認済み」「非現用」の3種類はラベル付けてテストケース一覧で判るようにしています。非現用が無いのが理想ですが、中には捨てがたいのもあったり。
総括
紹介したことは、既に、導入されている方も多いかと、また、MagicPodのヘルプでもとりあげていたかもしれません。
MagicPodも進化の途上ですので、また何か有効な機能がリリースされたら、使ってみたいと思います。