ソフトウェアテストにはいくつかのレベル(スコープ別)とタイプ(目的別)があります。ユニットテスト、統合テスト、エンドツーエンドテスト、機能テスト対非機能テストなど、これらを理解することは、品質のさまざまな側面をカバーする完全なテストアプローチを構築するのに役立ちます。
テストレベル(スコープ別)
UNIT → individual functions/methods in isolation (smallest, fastest, most numerous)
INTEGRATION → multiple units/components working TOGETHER (e.g. code + database, services)
END-TO-END (E2E) → the WHOLE application from the user's perspective (full flows,
through the real UI/system) — broadest, slowest
SYSTEM → the complete integrated system; ACCEPTANCE → meets business requirements
機能テスト対非機能テスト
FUNCTIONAL → does it do the RIGHT thing? (correct behavior, features work)
→ unit, integration, e2e, smoke, regression, sanity tests
NON-FUNCTIONAL → HOW WELL does it work? (qualities beyond correctness):
PERFORMANCE (speed, load), SECURITY, USABILITY, RELIABILITY, COMPATIBILITY, etc.
