2012.01.10 独言

テスト漏れ

テストは重要ですよ。

テストを甘く見ているシステムは大抵トラブルが起きる。

テストにどのぐらい時間をかけるか。かけられるか。

テストを甘く見ているPL・SEのチームはトラブる。
経験上の話しです。

ホワイトボックステスト・ブラックボックステストは時間をかけてしましょう。

ブラックボックステスト【black box test】

システムの内部構造とは無関係に、外部から見た機能を検証するプログラムのテスト方法。

入力と出力だけに着目し、様々な入力に対して仕様書通りの出力が得られるかどうかを確認する。その間、システム内部でどういった処理が行われているかは一切問題としない。

限界値分析や同値分割などの方式があり、仕様と実際のプログラムとの差を調べることができるが、限定された状態でのみ起こるバグなどを完全に取り除くのは難しいとされる。

ホワイトボックステスト【white box test】

システム内部の構造を理解した上でそれら一つ一つが意図した通りに動作しているかを確認する、プログラムのテスト方法。

「命令網羅」「判定条件網羅」「条件網羅」「複数条件網羅」「経路組み合わせ網羅」などの方式があるが、基本的にはプログラム内の全ての命令、全てのルーチンが最低一回は実行され、検証されるようになっている。

つまり、プログラムの全ての部分が、プログラム記述者の意図通りに動作していることを確認するテストである。システムの機能よりも内部構造の整合性を重視したテストとも言える。

網羅的なテストであるため珍しい事態に対しても動作確認できるのが利点だが、あくまでプログラム記述者の意図との整合性を確認するだけなので、記述者自身に誤解があった場合は対処できないという欠点も持つ。