この記事は何か?
本記事では、ソフトウェアテストにおけるテストタイプの基本的な概念と、代表的なテストタイプについて解説する。
目次
テストタイプとは?
テストタイプは、テスト対象の特性や目的に基づいてテスト活動を分類したものである。
ISTQB(International Software Testing Qualifications Board)では、以下のように定義されている。
テストタイプ(test type)
コンポーネントやシステムのある特性に対応したテストの目的を基にテスト活動をまとめたもの。
(出典:ISTQB Glossary
テストタイプを理解することで、テスト計画の立案やテスト設計において、何をどのように検証すべきかを明確にすることができる。
テストタイプの例
テストタイプは、主に「何をテストするか」という観点から分類される。
代表的なものとして「機能テスト」、「非機能テスト」、「変更関連のテスト」があり、それぞれシステムの異なる側面を検証するために用いられる。
機能テスト
機能テストは、システムが仕様通りに「何をするか」を検証するテストである。
具体的には、ユーザーの要求や仕様書に記載された機能が正しく動作するかを確認する。
非機能テスト
非機能テストは、システムが「どのように動作するか」を検証するテストである。性能、セキュリティ、使いやすさなど、機能以外の品質特性を対象とする。
非機能テストは多岐にわたるため、以下に代表的なものを示す。
- 性能テスト: システムが要求される速度や負荷に耐えられるかを検証する。
- セキュリティテスト: システムの脆弱性の有無や、不正アクセス、情報漏洩のリスクを検証する。
- ユーザビリティテスト: ソフトウェアの操作性や使いやすさを検証する。
- 保守性テスト: システムの保守・変更の容易さを検証する。
- 移植性テスト: 異なる環境への移行の容易さを検証する。
- 信頼性テスト: システムの安定性や可用性を検証する。
変更関連のテスト
ソフトウェア開発では、バグ修正や機能追加などの変更が頻繁に発生する。
これらの変更が既存の機能に影響を与えていないかを確認することが重要である。
変更関連のテストは、主に以下の2つに分類される。
- 確認テスト: 修正したバグが意図通りに動作しているかを確認する。
- リグレッションテスト: バグ修正や機能追加などの変更によって、変更箇所以外に不具合が発生していないかを確認する。
テスト設計技法による分類
テストタイプとは別に、「どのようにテストを設計するか」という観点からの分類として、ブラックボックステストとホワイトボックステストがある。
これらはテスト設計技法の分類であり、各テストタイプと組み合わせて使用される。
ブラックボックステスト
ブラックボックステストは、システムの内部構造を意識せず、入力と出力に着目して検証を行うテストである。
テスト設計者は、仕様書やユーザーマニュアルに基づいてテストケースを作成する。
ホワイトボックステスト
ホワイトボックステストは、システムの内部構造やソースコードに着目して検証を行うテストである。
テスト設計者は、プログラムのロジックやコードの流れを理解した上でテストケースを作成する。
テストレベルとテストタイプの違い
テストレベルとテストタイプは混同されやすいが、異なる観点でテストを分類したものである。
| 項目 | テストレベル | テストタイプ |
|---|---|---|
| 説明 | 開発プロセスのどの段階でテストを実施するか | 何を検証するか |
| 具体例 | 単体テスト、結合テスト、システムテスト、受け入れテストなど | 機能テスト、非機能テスト、変更関連のテストなど |
実際のテスト活動では、これらを組み合わせて使用する。
例えば、「単体テストで機能テストを実施する」「システムテストで性能テストを実施する」といった形である。
関連記事
参考資料
- ISTQB Glossary (日本語版) https://glossary.istqb.org/ja_JP/home
- JSTQB Foundation Level シラバス Version 4.0(2023年版)https://jstqb.jp/syllabus.html#syllabus_foundation