こんにちは、シマです。
ちょうど1か月前のOJT(On the Job Training)では、C言語を勉強していましたが無事終了し、
現在はJavaの研修を行っています。
Javaの研修ではOJT前に一度言語を勉強していたこともあり、より実務に近い内容で
プログラミングからテストまで行っています。
具体的には、架空の銀行の通信システムを作っており、現在システムのプログラム自体はを作り終え、
テスト段階に入っています。
そこで今回はみなさんに単体テストと結合テストの違いをお伝えできたらいいなと思います。
まず大前提ですが、私たちはシステムを作ってお客様に快適に問題なく使っていただくために、
プログラミングの工程のほかにもテストを行うことでバグやエラーを減らし、
本番環境(実際にお客様が使う環境)でシステム障害が出ることを防いでいます。
また、品質の担保という上でもテストは非常に重要です。
先述のとおりテストの中でも単体テストと結合テストがあるわけですが、
皆様はこれらの違いをご存じでしょうか。
まずは単体テストですが、作ったプログラムの中のクラスやメソッドなどの細かい単位で
なるべくすべてのコードを通ることを確認したり、様々なパターンをためしてエラーを無くしたりするという
工程です。また、ここでエラーをしっかりと減らしておくことで後に行う結合テストの手間が減ります。
そして、結合テストですがシステム全体を動かしたときの動きの確認をする工程で、
単体テストと似たようなテストもあれば、結合テストならではのテストもあります。
ちなみに私は単体テストを行った後、結合テストを行っている際に
エラーメッセージの内容を一部間違えていることに気づきました。
このように単体テストでは気づかなかったものも、全体の流れを見ると気づけるものがあるため
単体テストで問題ないからといって、結合テストをしないと納品時の品質に大きな影響を与えてしまう可能性があります。
だからといって結合テストのみにすると、エラー数が多くなり、かつ全体から原因の特定をするのに時間がかかることから、
単体テストも結合テストもどちらもテスト段階には欠かせない工程といえます。
ここまで説明してきましたが、それぞれのテストの中身やその重要性について伝わりましたでしょうか。
少しでも理解の助けになれていれば幸いです。
さて、ここ数日は関東で雨が続き、この後台風もやってくるということで
災害の心配がありますが、皆様の住んでいる地域は大丈夫でしょうか。
何かあったときのためにも防災用品を備蓄して安全にお過ごしくださいね。
私は最近防災用品の見直しをしたところ賞味期限が過ぎていたものが多く見つかり、食品を買い足しました笑
最後までご覧いただきありがとうございました。
次回のブログもよろしくお願いします。