メトリクスとは
はじめまして。『システムテスト自動化 標準ガイド』第8章の翻訳を担当した井芹です。今回はテスト自動化を支えるメトリクスの計測について、『システムテスト自動化 標準ガイド』(以下、ギア本)を引用しつつ、概要やノウハウを解説します。
本題に入る前に、まず本稿での用語定義を確認しておきます。第8章のタイトルにもなっている用語「メトリクス」については、「“もの”の測定可能な特徴を属性と呼び, 属性を測定する方法と尺度を合わせた概念をメトリックと呼ぶ。その集合がメトリクスである」(SQuBOK v1.0)という、旧来の定義に従います[1]。
では本題のメトリクスについてですが、基本的に多種多様です。例として以下があります。
- プロダクトメトリクス(コードの複雑さ、システムのメモリ使用量、処理時間など)
- プロジェクトメトリクス(工程の使用工数、チームの生産性など)
- ビジネスメトリクス(組織の利益、市場規模など)
また、メトリクスの測定方法も様々です。「起動時間を測る」というようにものの属性を計測する方法もあれば、「印象についてのアンケートを集計する」といった人の判断を用いる方法もあります。
注
[1]: ISO/IEC 25000シリーズといった近年の標準では、Metrics(メトリクス)をMeasure(測定量)という用語に置き換える動きがあります。しかし、今回はギア本の言葉に合わせて、メトリクスという呼称を使用します。
メトリクス計測の目的
メトリクス計測は、テスト自動化に限らず、ソフトウェア開発ライフサイクルのあらゆる場面で活用されます。それは、定量的・客観的なアプローチを志向するならば、メトリクス計測による判断指標の確保が不可欠だからです。そのためメトリクス計測の目的も様々です。メトリクス計測の目的として、ギア本では以下を例に挙げています。
- 投資に対する利益を判断するため(テストプロセス改善、テストツール導入におけるROIの見積もりや結果評価)
- 選択肢の評価、代案との比較、改善のモニタのため
- 問題の早期発見や予測のため
- 標準や競合に対するベンチマークのため
もちろん、メトリクス計測の目的は上記だけに限りません。例えば、「指標の基準や尺度の共通定義としてメトリクスを定義して、組織間のコミュニケーションを支援する」といった目的でもメトリクスが利用されます。
なぜ、テスト自動化でメトリクス計測が重視されるか
メトリクスはテスト自動化を語る際の定番のテーマです。それは以下のような要因で、メトリクスの活用が求められることに起因しています。
自動化の対象になる(自動化できるように計測の工夫が求められる)
テストの実施・結果評価の手段として、メトリクスの計測を行う場合があります。例えば、「リソース使用量が一定以上になるまで操作する」といったテスト手順の実行、「ユーザビリティのアンケート結果が合格基準を達成していることを確認する」といった期待値比較を行う場合です。こうした場合、テスト自動化の直接的課題として、メトリクス計測の自動化が要求されます(例えば自動化可能なメトリクスを選択する、計測環境を整備するなど)。
テスト自動化の効果を増幅させる
テスト自動化の活用では、しばしば人間の管理能力の限界が自動化のネックとなります。メトリクス計測は、その人間の管理能力の限界を広げる力を持っています。
テストケースの自動生成を例に取ります。テストケースの自動生成は、例えばデータ駆動テストなどを導入した上で、テスト実行を自動化すると容易になります(テスト入力条件パターンのバリエーションを自動生成する)。ただ、自動生成ができるといっても、無駄なテストケースを生成したら無駄なテストの実施工数や管理工数が発生するばかりです。結局、自動生成の仕組みがあっても、人間が管理できなテストケース自動生成は避けられることになります。しかし、そこでコードカバレッジや仕様に対するカバレッジのメトリクスを計測する仕組みを構築すれば、生成したテストケースが妥当か効率的に認知・管理できるようになり、より大規模なテストケース自動生成を行えるようになります。
テスト自動化が行われている環境では、計測の効率化が容易
テスト自動化を実現した環境では、メトリクス計測の自動化も容易です。例えば、テストの期待値比較の自動化を実現すると、テスト集計結果の自動計測や、テスト結果の変化の推移の自動計測なども実現しやすくなります。 またテスト自動化ツールが、付属でメトリクス計測機能を提供していることも多いです。その場合、ツールの導入でメトリクス計測の環境も付帯的に整備されます。
テスト自動化ではどのようなメトリクスがあるか
次に、テスト自動化におけるメトリクスの具体例に触れていきます。テスト自動化では、大きく「テストのメトリクス」「自動テストのメトリクス」の2つが定番の計測対象とされます。次ページで、順に見ていきましょう。