こんにちは、システムエンジニアの福冨です。
エンジニア歴は当記事作成時点で8年、まだまだ若輩者ですが日々邁進しております。
また3歳の娘を育てている状況下でもあるので、そういった家庭事情と仕事の両立方法やノウハウ、マインドといったところもお伝えしていければと思っています。
今回はこれまでの環境まわりの話とは変わって、エンジニアの技術的な面について記述しようと思います。
私事ですが、現在の案件で初めてテストコードというものに触れたため、初見の視点での学習記録をしたためようと思った次第です。
(エンジニア歴8年で初めて、という点がいささか恥ずかしくも感じますが…まぁ、これまではそういう案件だったということで笑)
今回はタイトルの通り、テストコードの概要のみ説明していきます。
前述の通り私も勉強中の段階ですので、もし内容に相違がありましたら是非ご指摘ください。
テストコードとは、その名の通り「プログラムのテストをするためのコード」です。
一般的にプログラムのテストというと、手動でテストデータを用意して、実際にプログラムを動かしてみる…といったものになりますが、
これをコード上で行なってくれるようになるのです。
例えば「渡された2つの引数(AとB)で足し算をして、計算結果を返すプログラム」があったとします。
これをテストするとした場合、以下のパターンが考えられます。
※0やマイナスなどの境界値も本当は必要ですが、あくまで例なので簡潔にしています。
これらのパターンに当てはまるようにプログラム上で入力したり、データを用意するとなると、以下のコストがかかります。
当たり前ではあるものの、なかなかに面倒で手間ですよね…。
そこでテストコードの出番です!
テストコードでは、任意のプログラムに対して、任意の引数や環境でテストができるようになります。
テストコードの記述をするという点では準備が必要であることに変わりはありませんが、一度記述さえしてしまえば、あとは実行するだけ。
使用するテストコードの種類にもよりますが、たいていはログ出力ができますので、それがそのままエビデンスになります。
よって、先ほどのコストについては…、
と、すべてを解決できるのです!
エンジニアは面倒を避けるために全力を尽くす生き物。使わない手はありません。
ですが一見便利に見えるテストコードにも弱点や注意点があります…。
これはまた次回、ご説明いたします。
ここまでお読みいただきありがとうございました。