メインメニューを開く

差分

単体テスト

342 バイト追加, 2015年8月20日 (木) 01:02
'''単体テスト'''([[英語]]:unit testing)とは、[[プログラミング]]において[[クラス]]や[[関数]]などのごく小さな単位(ユニット)で、その動作に誤りがないか行うテストのことである。などのごく小さな単位(ユニット)で、その動作に誤りがないか行う[[テスト]]のことである。
==概要==
単体テストは[[プログラミング]]において[[クラス]]や[[関数]]などのごく小さな単位(ユニット)で、その動作に誤りがないか行うテストのことである。これは各種[[プログラミング言語]]でよく行われるプリント分を挿入して[[デバッグ]]するという原始的な行為も含まれる。もう少し大きい視点では[[契約プログラミング]]と[[静的解析ツール]]の組み合わせに近い概念を、もう少し踏み込んで動的にテストしたい場合などに用いられる。またそもそも[[契約プログラム契約プログラミング]]を利用できない[[プログラミング言語]]や環境で似たようなことを行いたい場合にも用いられる。
今日日では[[xUnit]]といった[[テスト自動化ツール]]を用いて行われるのが主流となっており、「単体テスト」という言葉自体が「テスト自動化ツール」を指していることも多い。文脈から読み取る必要がある。本来の意味とは異なるがそんな細かいことを指摘しても無駄である。を用いて行われるのが主流となっており、「単体テスト」という言葉自体が「テスト自動化ツール」を使うことを指していることも多い。文脈から読み取る必要がある。本来の意味とは異なるがそんな細かいことを指摘しても無駄である。
昔ながら[[IT土方]]では[[エクセル]]で作った項目表を手作業で潰していくという手法をとっているところもある。これらはあらかじめ「変数◯◯の最小値」などのテンプレートになっており、それを元に実際の[[ソースコード]]に適合するように書き換えて使用するのが定番となっている。
また[[テスト自動化ツール]]の多くは[[GUI]]のテストには不向きであるため前述の手作業で行っていることも多い。のテストには不向きであるため、GUI周りの単体テストについては前述にあるような手作業で行っていることも多い。[[GUI]]で単体テストを行い易くする[[MVVM]]なる手法も考案されてはいるが、[[MVVM]]では[[ソースコード]]が肥大化するという理由で敬遠されていることが多い。が肥大化するという理由で敬遠されていることが多い。前述の[[エクセル]]で作った項目表を手作業で潰していくという手法では[[スクリーンショット]]を乗せることでGUIの動作確認とすることが多い。
==関連項目==
*[[テスト自動化ツール]]
*[[契約プログラミング]]
*[[ASP.NET Web API/NUnitでユニットテストを行う‎]]
==参考文献==
{{reflist}}
匿名利用者