このあたりの記事を読みながら、少し久しぶりにテストについてつらつらと考えてみた。特に組み込みでのUnitTestのシステムは意外と導入に難がある感じで、悩んでいたところ。
そして、よく考えるまでも無かったんだけど、テストも技術なんだよね...。
どうしても周りを見ていると、「テスト=若手が体力勝負でやる作業」の様子をよく見ていたので、テストという作業があまり重要に思われないというイメージが出来上がってしまってた、私の中で。
私も大規模な組み込みの開発に関わっているので、テストパターンの膨大さとかテスト作業の大変さは分かっているつもり。
ただ、まだまだテストの現場に「テスト技術」が持ち込まれてないがために、人海戦術でランダムテストでしのいだり、とにかく手数と工数をかけてなんとかしようとする空気が連綿としてあるし、そういう現場のほうが多いんじゃないかと思う。
開発側も、コードに対するテストをどこまできちんとやれているか?と言われるとどうだろう。私のところは開発者がきちんとしたテストを行うまでのスケジュールが取れにくいほど時間制約が厳しい*1ので、どうしても作ってしまった後はテストチームにバグを出してもらう、というケースになることがある。
そうすると酷いときは、ちょっと開発者が自分で動作させれば見つかるようなバグですらテストチームに試験してもらうまで分からないということもある。
...こんな感じのプロジェクトがうまく行くはずも無く、ほとんどの場合はデスマ化しているのだけどね...。
開発側も本当はもっとコードの品質に注意を払わないといけないし、テストチームも力仕事からインテリジェントなテストを目指さないといけないと思っている。そのためにはテスト技術というのもプログラミング技術と同じように知識として持っておくべき、というのを今一度意識しておく必要があるだろうな。
そうすることで、「品質の良いコードを書けるプログラマ」「ツボを突いたテストを行えるテスター」というのができてデスマになる要因を一つ潰すことができるだろうし。
- *1: この時点ですでに何かがおかしいのだけど、現実。
コメント