Failure Sharing

Bootup your energy with sharing failure.

テスト自動化って必要なんかな。

テスト自動化(Test Automation)

テスト自動化って、いつからかものすごく流行ってる感があります。 日本語にはこういう表現があるでしょう。

早い者勝ち

少し使われるケースが違うとは思いますが、テストって、時間との戦いになるところがあるので、 結局同じ意味になるんじゃないかなと思います。 テストから少しでも早めにバグの検出ができれば、リリースまでの品質や顧客信頼の向上にかなり貢献できるというのが自分の考えです。

バグのないプログラムというものが存在すれば、テストは要らない。

プログラムは絶対バグを持っているでしょう。自分の先輩はいつも、バグのないプログラムを実装するためには、何も実装しなかったらいいって言ってるほど、 プログラムにとってバグとは、必ず存在するものだと思います。必須不可欠って言いますかね。 どうせバグがあるのであれば、なるべく早い段階で検出し、そこに早いスピードで対応することができるんだったら、それが最高じゃないでしょうか。

でも我々デベロッパーは、テストってあんまり好きじゃない傾向があります。 頑張って作ったし、実装の段階で充分テストしてみたし、それをもう一度テストするって、結構時間もかかるので、 テストそのものが嬉しいデベロッパーは、あんまりみたことがないです。

テストが難しい理由

あと、デベロッパーには、テストするにあたって、致命的な弱点を持っています。 1. 実装する時、もう全て実装ができたと思っているので(勘違い)、テストの観点が深いところまでよく思いつかない。 2. 自分のプログラムに甘い。 3. いつも疲れてる。 4. 遅い。 5. 面倒臭い

ここから「テスト自動化」という観点が生じます。 なるべく早く、厳しく、ちっとの誤差も許さない誰かが必要になるのです。ここがまさに、機械に任せるべきなところ。自動化ツールの誕生背景になります。