単体テスト

提供: MonoBook
2015年8月20日 (木) 01:02時点における124.87.114.212 (トーク)による版 (→‎概要)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

単体テスト英語:unit testing)とは、プログラミングにおいてクラス関数などのごく小さな単位(ユニット)で、その動作に誤りがないか行うテストのことである。

概要[編集 | ソースを編集]

単体テストはプログラミングにおいてクラス関数などのごく小さな単位(ユニット)で、その動作に誤りがないか行うテストのことである。これは各種プログラミング言語でよく行われるプリント分を挿入してデバッグするという原始的な行為も含まれる。もう少し大きい視点では契約プログラミング静的解析ツールの組み合わせに近い概念を、もう少し踏み込んで動的にテストしたい場合などに用いられる。またそもそも契約プログラミングを利用できないプログラミング言語や環境で似たようなことを行いたい場合にも用いられる。

今日日ではxUnitといったテスト自動化ツールを用いて行われるのが主流となっており、「単体テスト」という言葉自体が「テスト自動化ツール」を使うことを指していることも多い。文脈から読み取る必要がある。本来の意味とは異なるがそんな細かいことを指摘しても無駄である。

昔ながらIT土方ではエクセルで作った項目表を手作業で潰していくという手法をとっているところもある。これらはあらかじめ「変数◯◯の最小値」などのテンプレートになっており、それを元に実際のソースコードに適合するように書き換えて使用するのが定番となっている。

またテスト自動化ツールの多くはGUIのテストには不向きであるため、GUI周りの単体テストについては前述にあるような手作業で行っていることも多い。GUIで単体テストを行い易くするMVVMなる手法も考案されてはいるが、MVVMではソースコードが肥大化するという理由で敬遠されていることが多い。前述のエクセルで作った項目表を手作業で潰していくという手法ではスクリーンショットを乗せることでGUIの動作確認とすることが多い。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]