CodeZine(コードジン)

特集ページ一覧

ソフトウェアの「バグをなくせ」と言われたら? テストプロセス改善でバグを削減しよう【方法論を解説】

「テストプロセス改善」をしてバグを削減しよう 第1回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

分析的アプローチ (Analytical Approaches)

 モデルベースドアプローチがモデルとの比較によってテストプロセスを改善したのに対して、分析的アプローチは組織内で実際に発生した問題を分析・改善することでテストプロセスを改善します。そのため、分析的アプローチでは、データ分析が特に重要になってきます。

 また、問題の特定およびプロジェクト固有のゴールの設定も分析的アプローチに含まれます。なお、分析的アプローチは単独で適用されることもありますが、モデルベースドアプローチと組み合わせて適用されることもあります。

原因分析 (Causal Analysis)

 ISTQB Syllabusでは、分析的アプローチの方法論の説明の前に、共通的に使える原因分析(Causal Analysis)の方法および問題の特定方法を紹介しています。

 分析方法としては、原因結果ダイヤグラム(Cause-Effect Diagrams)として、フィッシュボーンチャート(Ishikawa fishbone diagrams)、インスペクションプロセス中の原因分析(Causal Analysis during an Inspection Process)、標準例外分類 (Use of Standard Anomaly Classifications)の3つを紹介しています。

 筆者は、トヨタ自動車が開発した「なぜなぜ分析」もここに含まれると考えています。どの分析方法でも良いのですが、メジャーな手法を選択すると情報が多くて楽だと思います。筆者が車載系企業のコンサルテーションをしていたこともありなじみ深いということもありますが、日本では「なぜなぜ分析」に関する参考文献や情報が非常に多いので、追加でご紹介しました。ただ、フィッシュボーンチャート(要因特性図)も、製造業の品質管理(QC:Quality Control)で使用されている「QC7つ道具」の1つのため、情報が多いです。

 問題の特定方法に関しては、パレート分析(Pareto Analysis)、統計の外れ値 (Outliers in statistics)、プロジェクトの振り返り (Project retrospectives)、バグの重要度 (Use of defect severity categories)の4つを紹介しています。パレート分析および統計の外れ値も「QC7つ道具」になります。「QC7つ道具」は、問題の見える化の代表的な手法なので、原因分析をするときは押さえておきたい知識になります。

 それでは、分析的アプローチの方法論の説明に移ります。ISTQB Syllabusでは、主要な分析的アプローチとして「GQMアプローチ」と「測定、メトリクス、指標による分析」の2つを紹介しています。それぞれについて、詳しく見ていきましょう。

GQMアプローチ (The GQM Approach)

 GQMアプローチは、Goal(ゴール)、Question(質問)、Metric(メトリクス)の3つの要素からなります。GQMアプローチでは、まず初めに具体的なゴールを設定します。次に、どのような状態になったらゴールに達成したと言えるかを考えます。最後に、ゴールが達成したかどうかを測定するためのメトリクスを設定します。

 GQMアプローチには、以下の3つのレベルがあります。

  1. 概念レベル (Conceptual level)
  2. 運営レベル (Operational level)
  3. 定量レベル (Quantitative level)
測定、メトリクス、指標による分析 (Analysis using Measures, Metrics and Indicators)

 測定、メトリクス、指標による分析では、メトリクスまたは指標を測定し、問題を特定、分析することによりテストプロセス改善を進めます。

 ISTQB Syllabusでは、メトリクスまたは指標値としてテスト有効性メトリクス(Test Effectivenes Metrics)、テスト効率性/コストメトリクス(Test Efficiency/Cost Metrics)、リードタイムメトリクス(Lead-time Metrics)、予測性メトリクス(Predictability metrics)、製品品質メトリクス(Product Quality Metrics)、テスト成熟度メトリクス(Test Maturity Metrics)の6つを紹介しています。それぞれの具体的なメトリクスを以下にまとめます。

 【テスト有効性メトリクス(Test Effectivenes Metrics)】

  • 不具合摘出率(Defect Detection Percentage (DDP))
  • 市場不具合率(Post-release Defect Rate)

 【テスト効率性/コストメトリクス(Test Efficiency/Cost Metrics)】

  • 組織の品質コスト(Organizational Cost of Quality)
  • 品質のコスト比 (Cost of Quality Ratio)
  • 早期不具合発見率 (Early Defect Detection)
  • 相対テスト工数 (Relative Test Effort)
  • テスト効率性 (Test Efficiency)
  • 自動化レベル (Automation Level)
  • テスト生産性 (Test Productivity)

 【リードタイムメトリクス(Lead-time Metrics)】

  • テストのリードタイム (特にテスト実行までのリードタイム)

 【予測性メトリクス(Predictability metrics)】

  • テスト実行リードタイム予実 (Test Execution Lead-time Slippage)
  • 工数(コスト)予実(Effort Slip (or cost))
  • テストケース予実 (Test Case Slip)

 【製品品質メトリクス(Product Quality Metrics)】

  • 品質特性メトリクス (Metrics for Quality Attributes)
  • 網羅指標 (Coverage Indicators)

 【テスト成熟度メトリクス(Test Maturity Metrics)】

  • TMMi
  • TPI Next

まとめ

 テストプロセス改善の第1回では、テストプロセス改善がなぜバグの削減につながるのかを考察した後、テストプロセス改善の方法論をISTQB Syllabusの分類方法に沿って説明しました。今回説明したテストプロセス改善の方法論をまとめると、図5のようになります。このように図にしてみると、ISTQB Syllabusがテストプロセス改善の方法論をきれいに整理していることが、改めて実感できます。

図5:テストプロセス改善の分類 (ISTQB Syllabusをもとに筆者が独自に作成・追加)
図5:テストプロセス改善の分類 (ISTQB Syllabusをもとに筆者が独自に作成・追加)

 これでテストプロセスの基礎知識の解説は終わりです。第2回では、テストプロセス改善のメリットと課題に言及し、その課題を低減するためのヒントを紹介します。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:「テストプロセス改善」をしてバグを削減しよう

著者プロフィール

  • 高木 陽平(VALTES ADVANCED TECHNOLOGY INC.)(タカギ ヨウヘイ)

      東京理科大学大学院 技術経営修士(MOT)卒業。バルテスのフィリピン子会社であるVALTES ADVANCED TECHNOLOGY INC.の取締役。今まで、多数のソフトウェアテストやテストプロセス改善の業務に従事。大学でソフトウェア工学の研究室に入り、プロセス改善を研究。そのこともあり、CM...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5