単体テストの制限とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 単体テストの制限の意味・解説 

単体テストの制限

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/24 17:06 UTC 版)

単体テスト」の記事における「単体テストの制限」の解説

もっとも簡単なプログラムでさえも、すべての実行パス評価するわけではないので、テストプログラムエラー全てわかるわけではない。同じことは、単体テストにも当てはまる。さらに、単体テストは、その定義からユニットのみの機能自体テストする。したがって統合エラーや、より広範なシステムレベルのエラー例え性能など、複数ユニットまたがって実行される機能非機能テスト領域)を捉えることはできない単体テストは、特定のエラー存在不在を示すだけで、エラーが無いことの証明にはならないから、他のソフトウェアテスト活動合わせて実施しなければならない。 各実行パス正し挙動保証するため、エラー不在確認するため、他のテクニックが必要となる、すなわち、ソフトウェアコンポーネント期待されない挙動示さないことを証明する正式なメソッドアプリケーションが必要となる。 ソフトウェアテストは、組み合わせ問題である。たとえば、2分する判定ステートメント少なくとも2つテストが必要である。すなわち、結果が真となる場合と、偽となる場合である。結果として多く場合作成コードの1行あたり、プログラマは3から5行のテストコードを書かなければならない。これは明らかに時間がかかり、その手間を投資する価値はないかしれない例えば、非決定的あるいは複数スレッド関係する場合テスト容易ではないまた、単体テスト用のコードには、少なくともテスト対象コード同じくらいのバグ存在する可能性がある。フレッド・ブルックス著書人月の神話』で「船に乗るときは、クロノメーター2つ持って行ってならない。常に1個か3個を持っていけ。」と引用している。その意味は、2個のクロノメーター矛盾する場合、どちらが正しいのか分からないから、ということである。 単体テスト書くこと関連するもう一つ課題は、現実的かつ有用なテスト設定することの難しさである。テスト対象アプリケーション一部が、完全なシステム一部のように振る舞うように関連する初期条件作成する必要がある。これらの初期条件正しく設定されていない場合テストにおいて現実的なコンテキストコード実行されず、単体テスト結果価値正確性減少する単体テスト意図通り効果を得るためには、厳格な規律ソフトウェア開発プロセス全体で必要となる。実行済のテストだけでなく、ソースコードまたはソフトウェア内の他のユニット加えられすべての変更についての正確な記録保持することが不可欠である。バージョン管理システム使用不可欠である。より新しユニットバージョン以前合格したという特定のテスト失敗した場合バージョン管理ソフトウェアでは、(もしあれば)それ以降ユニット適用されソースコード変更リスト保持している可能性がある。 また、失敗したテストケース毎日検証され、すぐに対処されることを確実にするための、持続可能なプロセス実装することが不可欠である。このような処理が実装されず、チームワークフロー深く根付いてない場合アプリケーション進化単体テストスイートとの同期失い偽陽性増加しテストスイート有効性低下することになる。 組み込みシステムソフトウェア単体テストには、他にない課題がある。ソフトウェアは、最終的に実行されるものとは異なプラットフォーム上で開発されているので、デスクトッププログラムでテスト可能であっても実際デプロイ環境容易にテストプログラムを実行することはできない

※この「単体テストの制限」の解説は、「単体テスト」の解説の一部です。
「単体テストの制限」を含む「単体テスト」の記事については、「単体テスト」の概要を参照ください。

ウィキペディア小見出し辞書の「単体テストの制限」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「単体テストの制限」の関連用語

単体テストの制限のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



単体テストの制限のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの単体テスト (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS