アドベントカレンダー9日目
こんにちは。WACATEの前に仕事がひと段落つきそうで、ホッとしているリリカルです。
テスト設計って何でしょうね?ということをこれから考えていきます。
テスト設計のイメージ
テスト設計のイメージってどんな感じでしょうか。私はこんな感じです。
- テスト技法を使うところ
- 頭を使うところ
- テスト観点を発想するところ
- テストの絞り込みをするところ
- テスト実装の前に実施する
- テスト分析とはセットにされることもある
わかっているような、そうでないような…
思うに、テスト実装は比較的理解しやすいです。というのも、後に来るプロセスがテスト実行なので、テストケースやらテストスクリプトやらを作ってテスト実行できる状態まで成果物を作り込んでやればいいのです。テスト実装まで行くとテスト条件の検討とかもすでに終わっているので、頭を使うというよりは手作業が多くなります。ある程度の成果物は自動生成してしまう人もいるかもしれません。
しかしテスト設計の場合、(一般的に)テスト分析の後に実施することになっていて、その次にテスト実装を実施することになっています。テスト設計では一体何をすればよいのでしょうか。
ここで、以前話した「高位レベルテストケース」の話が出てきます。
テスト分析・設計って何?今北産業 その5 - 自分、燃えてるんで。
ここでは、テスト計画で決めたテスト方針をより具体化させた、高位レベルテストケースがテスト設計のアウトプットであると述べています。なんというか、この高位レベルテストケースという概念がイマイチピンと来ません。
テスト設計をしないと何が困るの?
そこで、この質問をしてみましょう。
テスト設計がないということは、テストプロセスとしては以下のようになります。
テスト分析→テスト実装
これはちょっと無理がありますよね。というのも、テスト分析はあくまで、何をテストすべきか洗い出したに過ぎません。
イメージ的に言うと、テスト分析のアウトプットからそのままテストケースを実装するとイマイチなテストケースになる可能性があります。これに対し、テスト分析のアウトプットに対してテスト設計を実施することで、あとはテスト実装さえすれば済む程度に調整することができます。
つまりテスト分析のアウトプットに対して、うまいこといい感じに色々手を加えて最終的にテスト実装できるレベルまで持っていくのがテスト設計です。
なんともイメージ的な説明が先行してしまってすみません。正直自分も理解がまだまだなところはあります。次回も引き続き、テスト設計について考えていきたいと思います。
追記
意外と続くものですね。幸いいまは仕事が炎上しているわけでもないのと、大して内容の濃い記事書いていないからかもしれません(すみません…)
これからも頑張ります。