うさぎ組

kyon_mm with software

このエントリーをはてなブックマークに追加

ソフトウェアテストの金額について

Twitterでテストの金額についての感覚をいくつか述べられていたので、僕の感覚をまとめて書いておきます。

テストは医者のようなものである

テストは医者や獣医や生物学者による検査と変わらないというイメージです。例えばチーム全体が「医者」で、プロダクトが「対象の生き物」だとします。

チーム全体が勝手知ったるドメインに対するテストって「孤島から発見された知らない犬っぽいなにかですけど、病原菌などを持っていないか検査します。」で、チーム全体が知らないドメインに対するテストって「ジャングルから発見された動物ですが、まずどんな動物であるのかから検査する必要があります。」とか。これは、知らないドメインっていうだけじゃなくって、開発チームのスキルが足りないとかもあるわけですよね。

自動化された単体テストとかだと、開発チームが「トレーナー」で、プロダクトが「アスリート」だとします。「うちのチームのプロアスリートがシーズン中最高のパフォーマンスを出せるように我々トレーナーが生活指導や細かい検査を行います。」

いろんな言い方があるけど、「大きなリスクを防ぐ方面での検査とケア」もあるし、「継続的な改善によってしか変わらないようなもののための検査とケア」もあるわけです。まぁちょっとしたトレーニングに近い感じですね。

どんなチームが、どんなものに対して、どんな品質を求められているのか

上で比喩として医者やトレーナーを出したわけですけど、例えば、人間ドッグだって昔はなかったし、プロスポーツだって昔はトレーナーがいたわけじゃないですよね。

で、面白いのはそういう世界には「一流のトレーナー」とか「一流の医者」みたいな人たちがいて、引っ張りだこになっているわけですね。プレイヤーとしてではなくってです。 テストを行う人がソフトウェアの世界でまだこういった扱いになっていないのは、お金とかエンターテイメント性とか生命に関わるかどうかみたいないろいろあるとは思うんですが、草野球やっている感でちょっと寂しくも思います。(僕自身は会社で必要なテストアーキテクトとして認識されているので幸せだと思っていますが。)

そういったトレーナーとか医者が必要ない場面もたくさんあるわけで、公園でちょっと遊ぶテニスに毎回トレーナー必要になったりしないですし。 かといって、高熱と湿疹が出て医者に行かないっていう人もいないと思うんですよね。多くの人は定期検診もできるだけ受けるようにしていたり。

とあるトレーナーがこのサッカーチームに対してはまず日々の怪我を少なくすることを求められているのか、とある医者がある中年男性のガン検査を求められているのか。 いろいろありますよね。ソフトウェア開発でもいろいろあって、それに対していくら払うかって医療だと固定的だけど、トレーナーとかの世界だとある程度流動的だなぁとか。

そういう意味では僕達テストエンジニアに求められているのは「このバグは早期発見できてよかったですよ。」とかっていうのを毎回喜ぶような仕組みにしていったほうがいいのかもしれませんね。 あとやっぱり「大きな病気をしていない」ってとても大切なんですけど、普段の生活でもそういうの感じにくいですからね。多分大変な他人の苦労話を聞いて「あぁ、自分はそうじゃなくってよかった」くらいなのかも。 金額換算難しそうなので、僕は相対評価くらいはするようにしているけど、みなさんはどうなのかなぁって気になりました。

  うさみみより。