まずは自己紹介をさせてください。gugusukeと申します。
IT業界はプログラミングだけやっている仕事だと思っていました。
単体テストで動作を保証
実際に仕事を始めてわかったことはプログラミングだけをすれば良いのではないということでした。
その1つに単体テストがあります。
単体テストはプログラミングをする時に必ず必要な工程であり、プログラミングがきちんと動作することを保証するためのものになります。
プログラミングはあくまでスタートからゴールまでの過程に1つに過ぎないということです。
単体テスト(UT)という工程
文系出身のわたしは入社して始めてプログラミングに出会いました。
IT業界に対するイメージは常にパソコンをカタカタさせてプログラミングをしていく仕事という認識でした。
研修中もプログラミングのことしかやっていませんでしたし、みんなパソコンに向かって黙々と仕事をしているのだと思っていました。
しかし、現場ではプログラミングはあくまで全行程のうちの1工程であり、実現するための手段にしか過ぎなかったのです。
システム開発という考え方
IT業界の仕事は、お客様からこういったものが作りたいという要望を受け、それを実現するという流れになります。
これを実現するための手法がいくつかあるのですが、わたしが配属された現場はウォーターフォール型の開発をしていました。
ウォーターフォール型の解説は詳しく説明されている方が多数いらっしゃると思うので、そちらをご覧いただければと思いますが、簡単に説明するといくつかある工程を順番に進めていく手法のことです。
単体テストはプログラミングとセット
いくつかある工程の中で、初心者が最初に行う工程がプログラミングと単体テストのセットになるかと思います。
プログラムを書くことを実装すると言いますが、実装しただけではそのプログラムが正しいのかがわかりません。
実際に動かして確認する作業が必要になり、それを確認する工程が単体テストになります。
例えば、aという箱にりんごを入れるというプログラムを実装した場合、本当にaという箱の中にりんごが入っているのかを確認する必要があります。
判定文の場合、aの箱にりんごが入っていたら画面にりんごと表示し、aの箱にりんご以外のものが入っていたらその他と表示といったように、プログラムで実装した内容が想定した結果になることを確認しなければならないのです。
この確認する工程を単体テストやUTと呼んでいます。
ちなみに、プログラムを書く、実装する工程をPGと呼んだりもしています。
単体テストはやることがいっぱい
単体テストには動作確認以外にもやらなければいけないことがあります。
自分で確認できたとしても本当にそれが正しいプログラムなのかを判断することができないので、有識者にレビューをしてもらう必要があります。
レビューのために、単体テストをする前に実際にどういう結果になるかを定義しておく単体テストケース、その結果が正しかったことを証明するために証拠としてかたちにしておくエビデンスを作成する必要があります。
そして、作成した単体テストケース、エビデンスをレビューしてもらうのです。
これらは実体験を中心に別の記事で紹介していますので御覧ください。
わたしは配属されて最初の単体テストケース作成にはとにかく時間がかかりましたし、理解するまで苦労しました。
まとめ
単体テストはプログラミングを動作確認するために必要な工程になります。
IT業界の仕事はプログラミングだけだと思っていましたが、それはあくまで業務を遂行するための過程の一部であることがわかりました。
初心者がはじめに取り組むであろうプログラミングと単体テストの工程も過程の一部であり、その前後にはそれぞれ重要な工程があることを知りました。
わたしは現場に出るまで単体テストは知りませんでしたので、IT業界で働きたい人がこの記事を読んで、少しでも参考になってもらえればと思います。
コメント