ユニットテストと機能テスト
ちょっと前になるけど、TL見てたら、@kyon_mm さんがこんなこと言ってるのを見つけた。
ユニットテスト、機能テストって書いている人の機能テストってなに。。。?
周りではあんまり機能テストって言葉を聞かないんだけど、気になったので調べてみた。
- 機能テスト(functional testing)
- コンポーネントやシステムの機能仕様を分析して実施するテスト。
- ユニットテスト(unit testing)
- component testing参照のこと。
- コンポーネントテスト(component testing)
- 個々のソフトウェアコンポーネントのテスト。
機能テストの説明に"コンポーネントやシステムの"とあって、ユニットテストの説明に"コンポーネントテストのこと"とあるので、少なくとも同列の概念ではなさそう。
同じ資料に"非機能テスト"というものもあったので、それとの対比で考えると、機能テストは"機能"について担保するという観点でのテストと理解。
ユニットテストは、説明のとおり"コンポーネント"という単位(範囲?)でのテストかな。
その後のツイートでテストレベルとテストタイプというキーワードが出てたのでこちらも調べる。
- テストレベル(test level)
- テストタイプ(test type)
ユニットテストはテストレベルの一つで、機能テストはテストタイプの一つで良さそう。
"テストタイプはひとつまたは複数のテストレベルまたはテストフェーズで行われる"とあるから、ユニットテストかつ機能テストというのもあり得るってことだな。