読者です 読者をやめる 読者になる 読者になる

テスター業務こそ上流であるべきだ

「経験者が語る、プログラマがテストエンジニアになるということ」
http://el.jibun.atmarkit.co.jp/obbligato/2009/08/post-6e93.html

テスター業務を上流とか下流とかの言葉でカテゴライズするのであれば、下流であるケースが大半だと思います。今のところスペシャルなテスターの方にお目にかかったことはありません。色々プロジェクトを経験してきましたが、大体は業界1年目の新人や、最低限PCを触れるようなアルバイトをテスターとしてアサインしています。単価は安いのでテストフェーズ時に大量動員して、バグを見つけてもらうってやつですね。

この手法は「下手な鉄砲数撃ちゃ当たる的」ですが、本当に効果的かどうかについて疑念があります。

見た目上の最低限の機能を満たしていなかったり、Exceptionで落ちるようなレベルのバグであれば彼らにも十分に発見できます。十分なリソースがあって、オペレーションを網羅できればこのレベルは全て潰すことが可能です。

もう1つ上のレベルは、見た目上問題なさそうな動きをしているが内部ロジックの問題によるバグ。仕様であったり、計算方式をある程度頭に入れておかないと気づかないバグ。ある程度プログラムがわかっていないと辛い。

さらに上のレベルに行くと、セキュリティホールとなりかねない潜在的なバグであったり脆弱性を見つけること。ここまでいっちゃうと、普通のテスターにはとても太刀打ちできず、結局開発者頼みになっちゃいますね。

レベルが上がるにつれクリティカルです。低レベルなバグは全て潰すのは当たり前ですが、高レベルバグに対してのケアがもっとあっても良いと思う。コストが上がるじゃないかという問いに対しては、製造段階で低レベルバグを減らすことで対応する。「テスターさん、バグ一杯出してね」的な丸投げ思想を持つプログラマは考えを改めるべきです。ただ、開発上仕様変更はつきもの(ない方が当然好ましい)なので、修正時のデグレを防ぐためにもユニットテストを軽視すべきではないと考えます。プログラマの意識次第でコストは下がられるし、品質も上げられる。

なのでバリバリ開発で腕をならしてきたような人材がテスターにジョブチェンジするのは全然ありだと思います。当然ただのテスターではなくスペシャルなテスターなので、決してキャリアダウンではないはず。もの凄く貴重な存在になりますよね。テストが下流という意識があるとなかなかこの構造は変わらないのかなと思います。