【ISTQB /JSTQB ALTM 3.0解説】リスクベースドテストにおけるテクニック徹底解説

JSTQB Advanced Level Test Management 3.0

**リスクベースドテスト(Risk-Based Testing, RBT)**とは、プロジェクトにおけるリスクの大きさに応じて、テストの優先度やテスト量を決定する手法です。

本記事では、ISTQB Test Management v3.0「Tutorial 16」で紹介されている「1.3.5 Techniques for Risk-Based Testing(リスクベースドテストのテクニック)」を、わかりやすくまとめます。


🔍 リスクベースドテストにおける“テクニック”とは?

一般的なテスト設計テクニックには、同値分割(Equivalence Partitioning)や境界値分析(Boundary Value Analysis)などがあります。

同様に、リスクを評価・軽減するための分析テクニックも存在します。

これらの手法は以下の目的で使われます:

  • 各リスクの**発生確率(Likelihood)影響度(Impact)**を定量的に把握する

  • どのリスクにどの程度のテスト effort(工数)を割くべきかを判断する

  • 必要に応じて「リスクを受け入れる(Accept)」か「対処する(Mitigate)」かを決定する


⚖️ テクニックの分類:「Heavyweight」と「Lightweight」

リスク分析の手法は、大きく2種類に分かれます。

種類

特徴

適用シーン

Heavyweight Techniques(ヘビーウェイト)

詳細な分析・多数の関係者・文書化を伴う

安全性が重要なシステム(医療、航空、車載など)

Lightweight Techniques(ライトウェイト)

簡易的な分析・少人数での実施

Webアプリやモバイルアプリなど非安全系

🧩 Heavyweight Techniques(詳細分析向けテクニック)

① Hazard Analysis(ハザード分析)

「Hazard(危険源)」を特定し、リスクが引き起こす**最悪の結果(影響)**を明確にします。

これは、安全性や人命に関わるシステムで特に重要です。

例:

  • 医療機器ソフトウェアのバグにより誤投薬が起こる可能性

  • 自動車のブレーキ制御ソフトでの故障による事故発生

こうしたリスクは、「ブランドイメージ低下」では済まされないため、詳細なハザード分析が求められます。


② Cost of Exposure(損失コスト分析)

各リスク項目について、以下を比較します。

  • 障害が起きた場合の損失コスト(Cost of Failure)

  • そのリスクを防ぐためのテストコスト(Cost of Testing)

もし「テストコスト > 障害コスト」であれば、そのリスクは**受け入れる(Accept)**判断も可能です。

例:

ECサイトの決済で「American Expressが使えない」という制限がある場合、

Amex利用者(顧客の10%)を失う損失と、Amex対応の開発コストを比較。

テストや開発コストの方が高ければ、現段階では受け入れ可能と判断する。


③ FMEA(Failure Mode and Effects Analysis:故障モード影響解析)

各リスクについて、「どのように故障が起こり(Failure Mode)」「どんな影響を与えるか(Effect)」を洗い出します。

さらに、「重大度(Severity)」「発生確率(Occurrence)」「検出容易性(Detection)」を数値化します。

例:

  • 自動車のセンサー誤動作 → 警告ランプ未点灯 → 重大事故

  • それぞれにスコアをつけて「優先度(RPN: Risk Priority Number)」を算出し、対策順位を決定


④ Fault Tree Analysis(FTA:フォールトツリー分析)

問題(Failure)から原因をツリー構造でさかのぼる分析法です。

各原因を階層的に分解して、根本原因(Root Cause)を特定します。

例:

  • 「テスト失敗」→「データ欠落」→「DB通信異常」→「ネットワーク設定不備」

    このように原因を“枝”として掘り下げ、1つずつ対処していくのがFTAの特徴です。


🌿 Lightweight Techniques(簡易分析向けテクニック)

安全性がそれほど重視されないソフトウェアでは、より軽量な手法を用います。

これらは迅速なリスク分析とテスト優先度設定に役立ちます。

主な手法:

  • SST(Systematic Software Testing)

    → 要件仕様が明確な場合に、リスクに基づいて体系的にテスト設計を行う。

  • PRISMA(Product Risk Management)

    → 「製品リスク」を定量化して、どの領域を重点的にテストすべきか決める。

  • PRIME(Pragmatic Risk Analysis and Management)

    → 実務的・現場志向のリスク分析手法で、ステークホルダーの意見を重視。

例:

新しいモバイルアプリのリリース前に、

「決済」「ログイン」「プッシュ通知」などの機能をリスクごとに評価し、

重要度の高い領域から優先的にテストを行う。


🧠 テクニック選択のポイント

どの手法を使うかは、以下の要素で決まります。

  • 製品の重要性(Safety-Criticalか否か)

  • 開発プロセス(Agile, Vモデル, Waterfallなど)

  • リソースとコストの制約

  • 関係者の関与度

たとえば医療・航空・自動車のように「人命」に関わる製品ではHeavyweight手法を採用し、

一般的なWebサービスではLightweight手法で十分です。


✅ まとめ

分類

主な手法

特徴

Heavyweight

Hazard Analysis, Cost of Exposure, FMEA, FTA

高精度・高コスト・安全重視

Lightweight

SST, PRISMA, PRIME

シンプル・スピーディ・柔軟対応

リスクベースドテストの真価は、限られたリソースを最もリスクの高い箇所に集中させることにあります。

そのためには、各テクニックを理解し、プロジェクトの性質に合った方法を選ぶ判断力が求められます。


💡 まとめの一言

「全てをテストすることは不可能。
だからこそ、“何をどこまでテストするか”を科学的に決めるのがリスクベースドテストの真髄です。」

コメント

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