Yasuo's Notebook

ソフトウェア開発の話題が中心の備忘録です。

Visual Studio Test Professionalで共通ステップを用いたテスト実装

ここでの「テスト実装」は「手動テストのテスト手順を作成すること」です。
テスト設計をしている中で、テスト条件、期待結果を構成するテスト観点を抽象化することにより、複数のテストケースでテスト条件、期待結果を共通化することが可能になります。

例えば、「画面が閉じている間も値が外部からの情報により更新されていることを確認する」というテストケースは、「画面」、「情報」、「外部」を具体化することによって、異なる画面のテストケースに展開することができます。テスト設計においてこのような抽象化の考え方を導入することで、テストケースの設計、実装が効率的に行えるだけではなく、テストケースの漏れを防ぐことにも役立ちます。

Visual Studio Test Professional(2010でしか試していません)のTest Managerでは、テストケースのテスト手順を作成する機能がありますが、「共通ステップ」という機能を用いることにより抽象化を実現することが可能です。
具体的には、「共通ステップ」の手順で以下のように手順を記載します。

・@画面を閉じる
・@外部より@情報を変化させる
・@画面を開く
・@情報が変化させた値になっていることを確認する。

派生先のテストケースで共通ステップを呼び出し、@画面、@外部、@情報のような具体的な値を定義します。そうするとテスト実行時に具体的な値が設定されたテストケースをTest Managerが表示してくれます。
このような共通ステップの使い方は、本体のこのツールの意図した使い方ではないようで、「操作を記録」の機能を使うと、同じ派生元(共通ステップ)を持つ別々のテストケースで共通ステップ部分の操作記録を共有してしまいます。
つまり、「共通ステップ」はその名の通り、共通部を複数のテストケースが包含するのがツール本来の使い方です。テストマネジメントツールには、包含だけではなく、テストケースの継承を意識した機能があれば、役立つと思います。(別のツールだと包含も継承もできるのかもしれませんが、未確認です)
テスト設計をツールを使ってどのように実装していくかという部分は、まだまだ議論の余地があると思うので、これからも色々と試してみようと思います。