単体テスト
別名:モジュールテスト
【英】unit test
単体テストとは、プログラムを検証する作業の中でも、プログラムを手続きや関数といった個々の機能ごとに分割し、そのそれぞれについて動作検証を行う手法のことである。
単体テストでは、個々の機能を果たすためのプログラム部品(プログラムモジュール)がそれぞれしっかりと動作しているかを検証する。モジュールのインターフェースや処理手順が正しく動作するか、仕様書の通りに動作しているか、が単体テストによって確認される。単体テストで不備が発見された際には、コーディングの段階に戻ってプログラムの書き直しが行われる。そして再度単体テストが行われ、問題ないことが確認されたら、それらのモジュールどうしを組み合わせた場合にもうまく機能するかどうかを検証する「結合テスト」の段階に引き渡される。
結合テストが終了すれば、モジュールの連携によって構築されたシステムが全体として予定通りの機能を満たしているかどうかを確認する「システムテスト」が行われ、さらに顧客に試用してもらって顧客の要望がきちんと満たされているかどうかを確認する「承認テスト」が行われる。これら一連のテストを経て、システムは完成となる。
単体テスト
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/08/27 18:32 UTC 版)
コンピュータプログラミングにおいて単体テスト(たんたいテスト)あるいはユニットテスト(英語: unit test)とは、ソースコードの個々のユニット、すなわち、1つ以上のコンピュータプログラムモジュールが使用に適しているかどうかを決定するために、関連する制御データ、使用手順、操作手順とともにテストする手法である[1]。ユニットとはアプリケーションのテスト可能な最小の部品単位である、と直観的にとらえることができる。手続き型プログラミングでは、ユニットは、モジュール全体のこともあるが、より一般的には、個々の関数や手続きである。オブジェクト指向プログラミングでは、ユニットは、クラスなどのインタフェース全体だが、個々のメソッドであることもある[2]。単体テストは開発プロセス中にプログラマー、時にはホワイトボックステスターによって作成される。
- ^ a b Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. p. 75. ISBN 0-470-04212-5
- ^ Xie, Tao (unknown). “Towards a Framework for Differential Unit Testing of Object-Oriented Programs”. 2012年7月23日閲覧。
- ^ Fowler, Martin (2007年1月2日). “Mocks aren't Stubs”. 2008年4月1日閲覧。
- ^ “第9回 テストで重要なのは見極めること”. キーワードでわかるシステム開発の流れ. ITmedia (2008年5月15日). 2014年2月19日閲覧。
- ^ Cramblitt, Bob (2007年9月20日). “Alberto Savoia sings the praises of software testing”. 2007年11月29日閲覧。
- ^ Kolawa, Adam (2009年7月1日). “Unit Testing Best Practices”. 2012年7月23日閲覧。
- ^ daVeiga, Nada (2008年2月6日). “Change Code Without Fear: Utilize a regression safety net”. 2008年2月8日閲覧。
- ^ Kucharski, Marek (2011年11月23日). “Making Unit Testing Practical for Embedded Development”. 2012年5月8日閲覧。
- ^ “Agile Emergent Design”. Agile Sherpa (2010年8月3日). 2012年5月8日閲覧。
- ^ IEEE Standards Board, "IEEE Standard for Software Unit Testing: An American National Standard, ANSI/IEEE Std 1008-1987" in IEEE Standards: Software Engineering, Volume Two: Process Standards; 1999 Edition; published by The Institute of Electrical and Electronics Engineers, Inc. Software Engineering Technical Committee of the IEEE Computer Society.
- ^ Bullseye Testing Technology (2006-2008). “Intermediate Coverage Goals”. 2009年3月24日閲覧。
- ^ Python Documentation (1999–2012). “unittest -- Unit testing framework”. 2012年11月15日閲覧。
- 単体テストのページへのリンク