テストタイプ
テストタイプは、テストレベル(単体やシステムテストなど)に関わらず適用できる「テストの目的」による分類です。
1. 機能テスト (Functional Testing)
Section titled “1. 機能テスト (Functional Testing)”「システムが何をするか (What)」 を評価します。
- 内容: 仕様書やユーザーストーリーに基づき、期待通りの機能が動くかを確認します。
- 適用レベル: すべてのテストレベルで実施可能です(単体テストでの関数ロジック確認から、システムテストでの画面操作まで)。
- 主な技法: ブラックボックス技法(境界値分析など)。
2. 非機能テスト (Non-functional Testing)
Section titled “2. 非機能テスト (Non-functional Testing)”「システムがどのように動作するか (How well)」 を評価します。
- 内容: 性能(パフォーマンス)、ユーザビリティ、セキュリティ、信頼性、保守性などを確認します。
- 注意点: 「システムテストの最後」に後回しにされがちですが、アーキテクチャに関わるため早期に実施すべきです。
- 適用レベル: すべてのテストレベルで実施可能です。
3. ホワイトボックステスト (White-box Testing)
Section titled “3. ホワイトボックステスト (White-box Testing)”「システムの内部構造」 に基づくテストです。
- 内容: コードの構造、アーキテクチャ、ワークフローなどが網羅されているかを確認します。
- メトリクス: ステートメントカバレッジ(命令網羅)、ブランチカバレッジ(分岐網羅)などを用いて測定します。
- 適用レベル: すべてのテストレベルで実施可能です(単体テストだけでなく、システム統合時のAPI内部構造の確認などでも使われます)。
4. 変更に関連するテスト
Section titled “4. 変更に関連するテスト”何らかの修正を行った後に実施するテストです。
- 確認テスト (Confirmation Testing):
- 修正された欠陥が、本当に直ったかを確認するテスト(再テスト)。
- リグレッションテスト (Regression Testing):
- 修正によって、**「別の箇所」に予期せぬ副作用(デグレ)**が出ていないかを確認するテスト。
- 範囲が広くなりがちなため、自動化の最有力候補です。