CHでテスト戦略を立てるのに利用している d-caseについて、Webページを改めて調べたら、最近手ごろな小冊子にまとめたらしいので、そのエッセンスを下にまとめます。
D-caseとは?
安全性に関する国際規格おいての要求項目となっているセーフティーケースの記法の一つであるGSN(Goal Structuring Notiation)をシステムのディペンダビリティ(Dependability)に適用したもの。
Dependability caseを略して d-caseという
すなわち、システムの安全性などをトップゴールにおいて「どうすればいいのか」の議論するための書き方がもともと。
ではシステムのディペンダビリティとは?
ちなみにシステムとは?
テスト戦略とD-case
テスト戦略とは?
JSTQB用語集の定義によると、テストレベル(ユニットテスト、統合テスト、システムテストなどのテストのまとまり)とその内容を説明したもの。
すなわち、多くの開発現場では、どの役割の人が何を目的として開発物の検証を行うのかを定めるものになります
開発物とシステムのディペンダビリティ
多くの開発物で問題になってくるのは、ユニットテストではなく、システムテストをどこまでやるのか。ということです。ユニットテストは実装したものがその通りに動くのかの確認なので、「やる・やらない」の問題で解決することが多いかなと。
システムテストって「開発の影響範囲をすべてチェックする」というのが目的になります。とはいうものの、「影響範囲」「すべて」といったときに、それを断定できるのは、記載されたプログラムコードとそれが動く環境と外部要因のすべてを把握している、神がかった存在の人だけが可能ではないでしょうか?
ということで、開発物の依存性とその重要度を関係者で合意するというのが必要で、そのツールとしてディペンダビリティが可視化されるD-caseって議論をする際に有効ではないかと考えているわけです。
派生開発でのD-caseテンプレート
で、D-case協会のほうで提唱する派生開発のテンプレートというのが以下。