ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

上司の頭の中にある、テスト方法の考え方1 単体のホワイトボックステスト:今もこの考え、使えるかも

2005-07-02 17:57:15 | 開発ネタ

 20代後半、30代前半の人の中には、上司のいう話が、「何考えてるの?」という人たちがいるのではないだろうか?
 全部コーディングが終わってからテストしろとか、すぐに修正するなとか。。。
 で、「昔はよかった」といいだす。。。

 たぶん、宇宙人に近い?発想に聞こえるかもしれない。しかし、実は、現場の大きな流れは、その時代の考え方で流れている。なので、その時代の考え方を理解しないと、上の人間との溝ができて永遠に埋まらないだけでなく、開発の中に矛盾を生じる(やりたくない仕事ばかりしている)。。。のだが、それについて、語る人はいない。。。ので、ウィリアムのいたずらが語ってあげよう!というこの企画。その第一回目は、テストについて。




 上司の時代、今の50台、40台の人、COBOL文化の人は、だいたい80年代後半、90年代初頭に完成した考え方が中心だと思う。この考え方に基づき、まとまられたのが、IPAのCAIT(中央情報教育研究所)が出した、情報処理試験のテキストだろう。
 テストに関しては、プロダクションエンジニアテキスト(上)にまとめられている(そんな試験区分が当時あった。今はない。ちなみにウィリアムのいたずらは、プロダクションエンジニアに受かっている)。

 テスト区分としては、
・総合テスト
・結合テスト
・単体テスト
があり、単体の場合は、ホワイトボックステストが中心となる(とまで、テキストには書いていないが、たいてい、当時はそう思っていた。いまも、上司の本音は、そうだと思ったほうがいい。モジュールテストで単体完了なんて、ありえねーだろーと思ってるのが本音。ただし、そのホワイトボックステストを省略して、モジュールの呼び出しのテストで済ませることには、反対しない。なぜなら、本気で単体やる時間はないから)。




 で、単体のホワイトボックスの実施手順は、以下のとおり(上述「プロダクションエンジニアテキスト(上)」P526ページからP531をまとめたもの)

(1)プログラムリストから、制御グラフを作成する
(2)選択基準をもとに、エッジまたはパスの選択をする
  選択基準は、以下のとおり
   ・エッジによる選択(エッジ網羅法)
     命令網羅
     判定条件網羅
     条件網羅
     複数条件網羅
   ・パスを網羅する(パス網羅法)
(3)(2)で得られた経路をもとに、その経路をとおる、テストケース
   (テスト入力データ)を作成する。

単体でホワイトボックスをやるのなら、この考えは、今も使えるかも。。。




 現在において、

 実際には、ブラックボックステストをおこなって、デバッガで確認する時間はない。

 そこで、現場的には、代表的なエッジに対して、見たい値をログ出力するようにしておき、テスト入力データを工夫して、ユニットテストを行うだけで、エッジ通過のエビデンスをとる方法をとる。
 こうすれば、流しだけで、単体テストと同じ効果が得られる。

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 本家ブログのアクセス数が1... | トップ | 上司の頭の中にあるテスト方... »
最新の画像もっと見る

開発ネタ」カテゴリの最新記事