Java
unittest

ユニットテストの存在意義(自論)

こんにちは。

エンジニアやってるとユニットテスト書く人多いと思います。

過去の経験上だと8割くらいのプロジェクトで自分も書いてきました。

でも、なんで書かなきゃいけないんでしょうか?


ユニットテストをやる理由

自分なりに分析したところだいたいこんな意見にまとまります。

①やれって言われた

②個人目標の指標数字に使うため

③品質向上のため

①についてはきっと上司とかに言われたのでしょう。でもなぜやるかを理解していない上司の考えもだいたい②か③に集約されます。

②は数字を作る上では手っ取り早い手段なんでしょう。

しかし、こんなコードにもテストを書かなきゃいけなかったりするので無意味な数字です。


sample.java

public int returnZero(){

return 0;
}

③に関しても品質はコード以外にも性能や仕様面での品質があるのでユニットテストを書いたからといって品質向上になるわけではありません。


なぜやるの?

こういう風にまとめてみるとやる価値はないなぁと感じますね。

では最初に戻って、なぜやるのか?

自分なりの答えは「自分が自信と安心を得るため」です。

ソースコードを書いていて、実行結果が期待されるものがちゃんと帰ってくるよね?という不安はよく抱くと思いますが、ユニットテストを書くことで結果を確認することができます。

また、将来的に結果は同じだが処理内容が別になる実装があった場合にもユニットテストを書いておけば結果をすぐに確認することができます。

そこまでやって得た実行結果ならば自信を持ってこうなります!って言えますね。

ということで、俺はスペシャルだからテストなんかいらないぜ!っていう人は別に書く必要はないですし、そのままの君でいてください。

そうではない人は心に余裕を持つためにユニットテストを書いてみてはどうでしょうか。