ソフトウェアの検証の種類

ソフトウェアの検証

ソフトウェアの検証にはさまざまな種類があります。たとえば、ひとまとめにテストと言っても、開発工程によって単体テスト、結合テスト、システムテストなどの種類があります。

開発工程ごとに検証を実施していても、結合テストやシステムテストでコーディングミスが原因の不具合が発見されるなど、不具合が発生した(混入した)工程と不具合が発見された工程は、必ずしも一致していません。グラフからも、不具合が発生した(混入した)工程での検証では見逃してしまった不具合が多くあることが分かります。

ソフトウェアの検証

また、不具合は発見が後工程になるほど、その修正が困難になる場合が多く、修正にかかる工数、つまりコストが増加します。


ソフトウェアの検証

ソフトウェアの品質を高める一方でコストを抑制するには、開発の早い段階で網羅性の高い検証を実施して不具合を検出・修正することにより、後工程に不具合を持ちこさないことが重要です。

検証の種類

テストやその技法にはいくつもの種類がありますが、それぞれ利点と弱点があるため、どれか1つを実施すればよいというものではなく、さまざまな技法を組み合わせて総合的にテストすることが重要です。
ここでは、以下の検証技法を紹介します。

  • ソースコードの静的解析
    ソースコードを解析して特定のコーディングパターンに違反している箇所を指摘します。バグの発生しやすい実装や可読性、保守性を低下させる実装を防ぎます。

  • 単体テスト
    プログラムを構成する比較的小さな単位(ユニット)が個々の機能を正しく果たしているかどうかを検証するテストです。

  • フロー解析
    データの値の変化(データフロー)やプログラムの実行パス(制御フロー)の解析を行い、バグの可能性がある箇所を発見します。

  • カバレッジ(網羅率)
    テストでコードがどれだけ実行されたかを示すもので、テストの妥当性や信頼性の尺度となります。
カバレッジ(網羅率)

お問い合わせ

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

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

    03-4405-7853

メールでのお問い合わせ
se-info@techmatrix.co.jp
  • HOME
  • ソフトウェアの検証の種類