ともにテストする手法である。ユニットとはアプリケーションのテスト可能な最小の部品単位である、と直観的にとらえることができる。手続き型プログラミングでは、ユニットは、モジュール全体のこともあるが、より一般的には、個々の関数や手続きである。オブジェクト指向プログラミングでは、ユニットは、クラスなどのインタフェース全体だが、個々のメソッドであることもある。単体テストは開発プロセス中にプログラマー、時にはホワイトボックステスターによって作成される。理想的には、各テストケースは他から独立しているべきである。メソッドスタブ、モックオブジェクト、フェイク、テストハーネスなどのような代替を、モジュールを分離した状態のテストを支援するために使用できる。一般的に単体テストは、コードが設計通りであることと、意図したとおりに動作することを確認するため、ソフトウェア開発者の手によって書かれ、実行される。その実装は手作業(鉛筆と紙)からビルド自動化の一環として定式化される場合まで、さまざまである。