静的テスト 【static testing】
概要
静的テスト(static testing)とは、コンピュータプログラムのテスト手法の分類の一つで、プログラムを実行せずに行なうもの。具体的な手法にはいくつかの種類がある。主に人間が行なう手法として、設計書やソースコードを作成者以外の人が読んで、誤りや不適切な個所がないか調べる「レビュー」(review)がある。複数の検証者が議論する「インスペクション」、本人と評価者が一堂に会して議論する「ウォークスルー」、成果物を評価者に送付・回覧して意見を求める「パスアラウンド」などがよく知られる。
主にコンピュータ(ソフトウェア)の力を借りて実施される手法は「静的解析」(static code analysis)と総称される。構文チェッカーによりコードがプログラミング言語の文法に適っているか検証したり、コードオーディタによりコーディング規約に則っているか調べたりといった手法がある。検証を支援する自動化ソフトウェアを「静的解析ツール」という。
これに対し、実際にプログラムを実行してみて行なうテストを「動的テスト」(dynamic testing)という。「テスト」という言葉自体に「実際に動かしてみる」という含意があるため、静的テストという区分を用いずに、テスト・レビュー・静的解析のように分類することもある。
動的テスト手法は実際に発生する問題や不具合の検出に向いており、静的テスト手法は不具合を引き起こすコード上の欠陥箇所を探し出すのに役立つとされ、互いに補完的な役割を担う。仕様の実装漏れなど、プログラムの挙動だけでは発見が難しい問題を解決するためにも静的な手法が必要となる。
(2022.8.9更新)