ソフトウェア技術者のためのバグ百科事典(8)バグを見つけるテストがバグってる:山浦恒央の“くみこみ”な話(129)(2/4 ページ)
ソフトウェア技術者に向けて、バグに関する基礎知識をまとめていく新シリーズ「バグ百科事典」。第7回は、プログラムのバグを見つける作業である「テスト」がテーマです。テストの作業次第では逆にバグを作り込むこともあり、「テストのテストのテスト」のように無限ループに陥りかねません。
3.テストのバグ、4つのパターン
今回取り上げるテストのバグのパターンを以下に示します。
- テストの入力値を間違える
- 使用するバージョンを間違える
- テスト判定の良否を間違える
- 機器のセットアップを間違える
3.1 テストの入力値を間違える
バグを検出するための入力値を間違えることがあります。例えば、担当者の入力・操作ミス、テスト項目の転記ミスなどが原因です。
テストの入力値を間違えると、出力結果と期待値が異なるため、悩むことになります。面倒なのは、プログラムを見ても、不一致の原因が分からないことですね。もう一度、よく入力値を見ないと、テストの入力値自体が間違えていることに気が付きません。
難しいのは、タイミングなどの関係上、テスト項目の手順を実施するのが難しい場合です。例えば、「レバーを引いた直後に開始ボタンを押す」というテスト項目があったとします。実際にその通りやってもうまくいかず、よくよく担当者に確認すると、「あまり早くレバーを引くと、うまく実行できません」という場合があります。
このタイプのバグは、テストの入力値が異なれば期待値も異なりますので、出力結果をよく見ていると気付くことが多いと思います。
3.2 テスト対象のバージョンを間違える
テストでよくある失敗が、テストするプログラムのバージョンを間違えることです。その場合、大半のテスト項目はパスするのですが、特定のテスト項目の期待値が異なるという「不可解な現象」が発生し、大いに悩みます。プログラムを見直してもバグはなく、散々チェックした揚げ句、プログラムのバージョンが違うことに気付き、脱力することも少なくありません。
バージョンの間違いは、非常にクリティカルな問題で、今までのテストの信頼性が保てなくなり、全件再テストとなりかねないので注意が必要です。
3.3 テスト判定の良否を間違える
テストを実施する際、テスト値を入力し、出力結果を見て期待値通りか確認しますね。期待値通りでなければ、プログラムを見るか、開発担当に報告をします。大半の結果は問題ないでしょうが、たまにテストを黙々と実施していると、本来、正しくない出力結果でも「良」としてしまうことがあります。
原因は、作業担当者の疲労やモチベーションの低下です。また、評価方法を間違えて判断を誤ることがあります。このバグは、作業中にはなかなか気付きませんので、注意したいですね。
3.4 機器のセットアップを間違える
テストを実施する場合、正しくテスト準備をしなければなりせん。たまに、機器のセットアップを間違えたりします。例えば、ゲーム機をテストする場合、本体に電源とHDMIケーブル、LANケーブル、コントローラーが接続してあるか確認する必要があります。
このバグは早く気付きますが、今までに見たことがない未知の現象が発生し、頭を悩ませます。
Copyright © ITmedia, Inc. All Rights Reserved.