auの日記

プログラミング初心者の日記。(auはハンドルネームです)

ユニットテストとは

auです。

講義ではやったのですが、改めてユニットテストについて調べてみました。

ユニットテストとは

ユニットテストとは、プログラムを小さな単位で区切り、しっかりと機能しているのか確かめることです。単体テストとも呼ばれます。

ユニットの範囲

どれくらいの規模感で「ユニット」となるのか気になったので調べてみました。

Wikipediaでは

ユニットとはアプリケーションのテスト可能な最小の部品単位

とされていました。

ja.wikipedia.org

つまり
・関数(メソッド)
・モジュール
オブジェクト指向の場合クラス

くらいの細かさと言うわけですね。

ユニットテストの利点

・関数をいろいろなやり方でチェックするため、理解度が高まる
・テストしやすいコードを考えて書いていくことになるため、複雑化しにくい(シンプルでみやすくなる)
・問題の早期発見
・テスト内容の範囲なら正常に動くことが保証される
・テストコードを残すことで、他人が理解しやすくなる

ユニットテストのデメリット

・既にあるシステムでは導入が難しいこと
・テストをする分工数がかかる
・テストをするやり方を覚える学習コスト

まとめ

テストをすることを前提にコードを組めば、比較的みやすいコードになるんだなと、読んで理解することはできました。

また、実際にテストを考えずにコードを組み、テストコードを書こうとしましたがテスト用DBへの接続や、例外処理の対応など、ソースコードの変更が多くててんやわんやでした。

テストを意識してコードを組めるようになりたいです。