ソフトウェアのテスト設計の役目って何だろうと思ったこと
そもそも設計書が完璧であれば、チェックシートだけでいいと思う今日この頃。
ただ、設計が100% になることは、そうそうないので、それを補完していくのがテスト設計の役目じゃないかなと思い、ここ最近は設計書の暗黙領域を可視化することに注力している。
そして、テストが複雑になるときは設計の説明を受けるが、この説明が長くなったり、難しくなったりするところは、おそらく何か欠陥が含まれている(ことが多い)。
実際のコードのバグじゃなくても、構造的なバグが含まれていたり再利用できない状態などがある。
これも発見していくのもテスト設計の役目の一つかなと思っている今日この頃でした。
大平さんとの対談記録
この記事にあるテストはユニットテストレベルじゃないか?という話で上がってきた。
まさしくその通りで通信やらメモリの使い方などをテスト設計しないと、結局ライブラリなどを利用したときの保証が取れないんじゃないかというのを話した。
それは、ユニットテストの設計をすることで、ソフトウェアの詳細設計書(もしくはアーキテクチャ)の暗黙知を可視化しているんじゃないかという、大平さんからのご意見。
たいへんすばらしい。おれの心の可視化ができたんじゃないか?