hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

テストの重要性を知る


スポンサーリンク


まったく間抜けなことなんだが、今更テストの重要性を知ることになった。ちまたでは、xUnitなどが使われており、テストファーストの考え方も広まっている。
しかし、自分が扱ってるプログラムはPCの中で閉じたものではなく、非常にハードに近いところで動作する。どうしても、テストを行うには実機を用いなければならないときがある。


というわけで、自分の周りにはあまりテストファーストという考えは広まっていなくて、どちらかというとがっちり仕様を決めないと試験のことなんか考えられないという風潮がある。別に批難するわけじゃなくて、仕様が決まってから開発が始まるのが、本当なんだ。それに、仕様変更にハードに関するところが含まれると、実現不可能になったりもする。そうでなくても基板の作り直しといったら数ヶ月はかかってしまう。


でも、間違っている。
仕様変更は現実に頻発しているのだから。それに対応しなくては。


というわけで、やっぱり道具がそろわないと何もできないというのはやめよう。あるもので始めるしかない。どうやってテストを実現させるのかというのは重要な問題だが、それより仕様をテストとして落とし込むことが重要なんだ。その仕様を満たしたら、何をすると、どうなるのか?
開発の仕方としては、仕様がひとつ決まったらそれに対するテストを作る。これは必ず失敗する。なぜならまだ仕様段階のものでありプログラムではないからだ。また、作られたテストケースは仕様変更された場合でも無駄にはならない。それは記録として残る。


ちなみに、テストといっても完全自動化する必要はない。もちろん実現できれば一番いいけど。それより、仕様をテストとして記録することが重要なんだ。


というわけで、時間があるときにどうやってテストするのか考える癖をつけましょうねってそういう話。どうすれば、どうなるか?日常でも使える考えかもね。