カバレッジアドバイザー

カバレッジアドバイザー(Coverage Advisor)で、単体テストを効率化

効率的にカバレッジを向上させるためのテストデータ作成を支援

ソースコードの任意の行に対するワンステップの操作で、その行のカバレッジを満たすのに必要なテストのパラメーターや事前条件を把握できます。事前条件を即座に把握できるため、ユーザーのテストに掛かる時間や労力を大幅に削減できます。

実行できていない行をエディタで確認

  • テストケースの自動生成では対応できない関数呼び出しによる分岐もサポートします。
  • 意味のあるテストケースと適切なスタブを作成する時間と労力を削減することができます。

複雑な条件分岐も瞬時に計算

  • 規模の大きい関数、条件分岐の多い関数において、特に効果を発揮します。
  • 該当行に至るまでのすべての分岐を考慮したテストデータのガイドを提供します。

単体テストにおいて以下のような悩みを抱えていないでしょうか?

カバレッジアドバイザーで解決!

カバレッジアドバイザーは、単体テストにおいて誰もが抱える 「中身が複雑なコードのカバレッジを満たすのが大変」 「テストケース作成に必要なパラメータ、事前条件が多くて洗い出すのが大変」 これらの悩みの解決へアプローチします。ソースコードの任意の行に対するワンステップの操作で、その行のカバレッジを満たすのに必要なテストのパラメータや事前条件を把握することができます。 主な使用用途は以下となります。

  1. 単体テストを実行した結果、網羅できていない行のカバレッジを満たすのに必要なパラメータと事前条件をチェックする
  2. テストケースを実装する前に、該当行に到達するために「どのようなパラメータが関係しているか」、「どのような条件を満たす必要があるか」をチェックする
この機能は複雑な関数ほど効果を発揮します。数十~数百行にもわたる複雑な関数において目視でテストに必要なパラメータを洗い出すのは至難の業です。なぜなら、複雑な関数ほど条件文も多く、1画面に収まりきらないためです。カバレッジアドバイザーなら、複雑な関数でも数秒から数十秒で必要なパラメータや事前条件を抽出します。

C++test:カバレッジアドバイザー

品質向上のための意味ある単体テストを

カバレッジアドバイザーはテストケースの条件を提案する機能であり、一般的なテストに必要なパラメータを自動生成する機能とは異なります。​ 自動生成機能はとても便利ですが、使い方を間違えると単体テストは意味をなさないものになります。なぜなら、ソースコードからリバースしてテストコードを自動で作成するためです。

自動生成したテストでカバレッジが向上するのは当たり前です。重要なのは「自動生成されたパラメータの値は関数仕様として起こりうるのか」、「自動生成されたアサーションは関数仕様に基づいた期待値であるのか」です。

自動生成は生成されたパラメータを精査・調整せずにそのままテストを実行しても品質の向上、バグの検出にはつながりません。​ カバレッジ向上・工数削減という開発現場の課題を解決するため、開発者は意図せずにこうした自動生成における罠に陥ってしまうことをC++testの開発元であるParasoft社はよく理解しています。そこで生まれたのがこのカバレッジアドバイザーです。

  1. 仕様に基づいたテストパターンを実行
  2. 不足部分に対してカバレッジアドバイザーによるテストケースの提案
  3. その中からユーザーが必要なものを確認・選択し、テストケースとして実装する
このような流れでテストケースを実装することを推奨します。
ツールによる自動生成の結果を過信しすぎず、カバレッジアドバイザーによる提案を活用することで、 カバレッジ向上ではなく品質向上のためのテストであるという本質を見失うことなく、テストにかかる工数を削減することができます。

静的解析ツール・単体テストツール C++testに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

CONTACT

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。