【ISTQB /JSTQB FL 4.0解説】テストタイプとは?機能テストと非機能テストの違いをわかりやすく解説

JSTQB Fundation Level 4.0

ISTQB Foundation Level(CTFL)シラバスの第2章では、「ソフトウェア開発ライフサイクルにおけるテスト(Testing throughout the SDLC)」について学びます。

今回その中の 2.2.2「テストタイプ(Test Types)」 に焦点を当て、機能テスト(Functional Testing)非機能テスト(Non-Functional Testing) の違いを詳しく解説します。


🔹 テストレベルとテストタイプの違い

まず混同しやすいのが、「テストレベル(Test Levels)」と「テストタイプ(Test Types)」の違いです。

  • テストレベル:開発工程に応じて実施する段階的なテスト(例:単体テスト、結合テスト、システムテスト、受け入れテスト)

  • テストタイプ:テストの目的や観点によって分類される種類(例:機能テスト、非機能テスト、ホワイトボックステスト、ブラックボックステストなど)

両者は似ていますが、テストレベルが「いつ・どの段階で行うか」を示すのに対して、テストタイプは「何を目的に・どの観点から検証するか」を示します。


🔸 機能テスト(Functional Testing)とは?

機能テストとは、ソフトウェアが「何をするべきか(What the system does)」を検証するテストです。

つまり、システムが期待通りの機能を正しく実行できるかを確認します。

機能テストの例

  • Google Pay:お金の送金、QR決済、携帯のチャージなどが正しく行えるか

  • 旅行予約サイト(例:Booking.com):検索、予約、キャンセル、Webチェックインが機能しているか

これらの「ユーザーが利用する基本機能」をチェックするのが機能テストです。

機能テストに含まれる代表的なレベルは以下の通りです:

テストレベル

説明

ユニットテスト(単体テスト)

各モジュールや関数の機能を個別に確認

結合テスト

複数のモジュール間の連携を確認

システムテスト

システム全体としての動作を確認

受け入れテスト

ユーザー要求を満たしているかを確認

これらはいずれも「機能が正しく動作するか」を見るテストであり、ソフトウェアの“土台”を支える重要な工程です。


🔸 非機能テスト(Non-Functional Testing)とは?

一方、非機能テストは「システムがどのように動作するか(How the system works)」を検証します。

つまり、ソフトウェアの**品質特性(Quality Characteristics)**に焦点を当てたテストです。

非機能テストの代表例

テストタイプ

目的

パフォーマンステスト

同時アクセス時の応答速度や負荷耐性を確認

セキュリティテスト

情報漏えいや不正アクセス防止の確認

ユーザビリティテスト

操作性・使いやすさを評価

アクセシビリティテスト

色覚・視覚に配慮された設計を確認

移植性テスト(ポータビリティ)

異なる環境やOSで動作するかを検証

信頼性テスト

長時間稼働でも安定しているかを確認

これらは「必ずしも全てのシステムで必須」ではありませんが、品質を高める上で非常に重要な要素です。

非機能テストは別名 「品質特性テスト(Quality Characteristics Testing)」 とも呼ばれます。


💡 機能テストと非機能テストの違いまとめ

比較項目

機能テスト(Functional)

非機能テスト(Non-Functional)

目的

システムが“何をするか”

システムが“どのように動くか”

焦点

機能要件(仕様通り動作)

品質特性(性能・使いやすさなど)

実施例

単体・結合・システム・受け入れテスト

性能・セキュリティ・ユーザビリティなど

成果物

機能的に動作するシステム

高品質で信頼性の高いシステム

✅ まとめ

  • 機能テストは「基本機能が正しく動作するか」を検証するテスト。

  • 非機能テストは「動作の品質や性能を確認するテスト」。

  • 両方をバランスよく行うことで、ユーザー満足度の高い製品を実現できます。

ISTQB Foundation試験では、定義や違いの理解が問われることが多いので、

What(何をする)=機能テスト/How(どう動く)=非機能テスト

と覚えておくと整理しやすいでしょう。

コメント

タイトルとURLをコピーしました