ブラックボックステストとホワイトボックステスト
すっかりこれを説明するのを忘れていました…完全にこの業界用語ですな…
まぁ、テストの考え方なので、いわゆる工業製品とかでも一部当てはまるかと思います。
直訳すると黒い箱と白い箱。黒い箱の中身は見えないのは当たり前。白い箱も全部閉まってたら見えないんじゃないかとかは言わないでください…
中身を知らずにテストするのが黒、知っててテストをするのが白。
白の方は主にプログラマー自身がするテスト。ソースのコードをすべて網羅するようにテスト項目を設け実施するのです。で、これが合格したら黒に進みます。
何故ソースコードに問題ないのにさらにテストするか?これはプログラマーが本来入れなければならない機能を忘れているケースを想定しています。
ソフトウェアやシステムは何らかの目的があって作られます。その目的を達成するためにどんな機能が必要かをまとめられたものがある…はず…本来は…無いと…駄目…
これの事を仕様書といい複雑なソフトウェアやシステムの場合、複数の階層に分けて詳細化していく…筈なんだけど…
…無いこと多いんだよ…酷い話…だからプログラマーが実装し忘れるんだよ…
で、本来黒テストもこの仕様書に基づいてテストを作成する筈なんですが…無いんですよ…やっぱり…
何で無いかって、前のシステムのバージョンアップだからそのソースコード見て、とか、前の時の仕様書見て、とか、このソフトと同じ動きになるようにお願いとか…
…ぶっちゃけ設計をサボる人が居るからです。設計は仕様書を作るのが重要な仕事の一つなんですが…そして大元の設計と実装するプログラマーはまず別人なので、無茶振りにも程があるんですよ…
本当にこんなんでよく成り立つよな…そして仕様書ろくに作らないプロジェクトは大抵スケジュール通りに進まず、プログラマーが過労状態に…碌でもない世界だ…
黒のテスト項目も仕様書無いと作るの大変。まぁバクを直すのは別の人なのですが…