【動的テストと静的テスト】について
動的テスト、静的テストの特徴についてご説明致します。
動的テストと静的テスト
1. 動的テストとは
ソースコードを実行して動作確認を行うテスト方法です。開発者がデバッガ等で作成したプログラムが正しく動作することを確認します。また評価者が製品を動作させて、仕様通りに動作することを確認します。
動作確認ができるので、下記のメリットがあります。
・製品仕様を確認することができる。
・仕様に問題ないことを確認することができる。
・タイミングにより不具合が発生しないことを確認することができる。
2. 静的テストとは
ドキュメントやソースコードなどをチェックして誤りを検出するテスト手法です。作成した仕様書やコードを別の人がレビューして、間違いがないことを確認します。
また静的解析ツールを使用して、ソースコードを解析し、ソースコード上に存在する問題を発見することができます。
下記のメリットがあります。
・静的解析ツールを使用して、機械的にコードのチェックができる。
・早期段階で内部構造に関する間違いを発見することができる。
一般的に実施されている内容についての詳細を記載します。
(ⅰ)コーディング規約に従ってコーディングする。 (ⅱ)静的解析ツールによるチェックを行う。 (ⅲ)ソースコードレビューを行う。
(ⅰ)コーディング規約に従ってコーディングする
ソースコードの書き方に対する規則を作ることで、誰が見ても統一性を持ち保守できる様にします。 単体テスト以降での不具合発見、修正、メンテナンスに影響する為大切です。もしなければ、コーディング規約を作成しましょう。他プロジェクトから流用することをお勧めします。
(ⅱ)静的解析ツールによるチェックを行う。
コーディング規約に従っているかどうかを確認するために、ツールを使用して自動的にチェックしてもらいます。
■対応ツール ・プログラム構造解析ツール 構造化プログラミングのチェックを行う。 ・ソースコード解析ツール コーディング規約通りか、モジュール間インターフェースが正しいかをチェックする。
(ⅲ)ソースコードレビューを行う。
有識者を交えたソースコードレビューを実施しましょう。一番重点を置くべき項目だと思っています。トラブルプロジェクトの多くが、レビュー不足が原因です。重点機能、新規機能、影響範囲が大きい機能については、時間をかけて実施しましょう。
プロジェクトによっては、ソースコードレビュー時間の基準値を満たさないと、次ステップに進めないプロジェクトもあります。
早期の不具合発見に一番有効的な方法と知っているからこその対策だと思います。
3. まとめ
動的テスト、静的テストを組み合わせて確認することが良い方法だと思います。プロジェクト毎に基準値があると思いますので、基準値を満たす様に対策を取ることで、品質がさらに良くなることを望みます。
#動的テストと静的テスト
Comments