テストの妥当性

最近書いたスクリプトのテストをやっておりました。

テスト作る時って、すごく不安です。ホンマにこの項目でだいじょうぶなのだろうかと。俺の作り方はあっているのだろうかと。

大学時代、プログラミング方法論とかいう授業で、ブラックボックステストだとかホワイトボックステストだとか、限界値分析だとか、なんか聞いた記憶があるが、実際のプログラミングの授業ではテストやらせてなかった気がするなぁ。ソフトウェア実験のときは、テストみせていたんだっけか。

とりあえず、UTの段階で言うと、僕は条件網羅と限界値チェックは頭にいれてつくるようにしています。

ただ、ホントにそれでいいのか、不安になってしまいます。ホントはもっとちゃんとした作り方やノウハウがあるんじゃないかとか。この項目、考えて作れば無駄じゃないかとか。

(ここにいろいろ書いたんだけど、ちょっと自主規制)

最近思ってるんですけど、何故そのテストを行うかという理由って残せないかなぁと。コードには何故こんなことやっているか理由付けするのに、テストの項目表って操作と期待値しかのらないんだよなぁ。でも、テストもプログムでできるやつはテストコードに書けばいいか。項目表のフォーマットが悪いのか。

テストを自動化するための技術や道具はすこしながらしっているけど、テストの妥当性を保証するためのやりかただとか道具ってほとんど知らないなぁ。Javaのエクリプスでテストコードが通る道筋を色付けするやつぐらいしかしらないんだよなぁ。そういえば、以前ミラクルリナックスの吉岡さんがご紹介されていたBranch Tracer for Linuxなんていうのもあるか。つかえるアーキがintelx86系だけくさいんだけど、Xeonがあるから、x86_64もだいじょうぶなのかしらん。
どうしても、開発費とかコストとか普及率考えると、ia64サポートとかって、難しいんだろうね、OSSのプロジェクトって。