wildcatsの日記 このページをアンテナに追加 RSSフィード

2005-02-17 Thursday

[] アレゲタワー  アレゲタワーを含むブックマーク

2Fに行ってきた

思ったより緊張した(汗)

というかテナントにソ○ト○ンクBBも入ってるんですね

[] ホワイトボックステスト  ホワイトボックステストを含むブックマーク

昨日の話しでさかたさんからコメントをもらったので

僕が思うことを書いておこうと思う。

そもそも僕はDbCを採用するか否かに関わらずに

ホワイトボックステストは不要だと思ってます。

理由はその下のエントリにも書いたんすけどブラックボックステスト

テストケースが全て満たされていれば問題ないと思うからです。

またホワイトボックステストカバレッジが100%だったとしても

仕様を満たさないコードが羅列されていれば意味が無いですから

テスト方針としてあまり採用したくありません。

[] 昨日のさかたさんのコメントにレスしてみる。  昨日のさかたさんのコメントにレスしてみる。を含むブックマーク

ただ,DbC〓の件ですが,たとえば,「入力の,あるint引数が8の倍数のときに限って,同じ処理なんだけどものすごく早いアルゴリズムがあり,分岐してそのアルゴリズムを使っている」とかいう場合は,8の倍数とそれ以外に分けるとかはDbCからは出てこないかもなあとか思っています.

これはブラックボックステストだと思います。

8の倍数を用いるとものすごく早いアルゴリズムを使うというのが要件であり

それを満たしているかをテストするのがブラックボックステストだと思うからです。

(JUnitで8の倍数での呼び出しと8の倍数以外での呼び出しを行ってみて実行時間が短いことを証明する。)

その結果分岐するor分岐しないのテストは不要だと思います。

# ただしブラックボックステストでのカバレッジは100%であるのが前提条件です。

[] じゃあDbCを採用するとなんでホワイトボックステストが不要だと書いたか?  じゃあDbCを採用するとなんでホワイトボックステストが不要だと書いたか?を含むブックマーク

これは僕が悪くてホワイトボックステストが不要になるのではなくて

限界値テストの一部が不要になると思ったからです。<それをホワイトボックスと書いたのが問題。

例えばあるメソッドがフラグを受け付けてそのフラグが0〓2しか受けつけない要件の場合で限界値テストを行う場合にはDbCの事前条件を定義しない場合には最低でもintの最小値及び最大値を引き渡したテストが必要だと思います。

ただそのフラグint引数は事前条件で最小値0以上及び最大値2以上が定義されている場合には

ブラックボックス的に0,1,2のフラグを引き渡したテストを行えば問題は無いと思ったからです。

確かにホワイトボックステストと書くと分岐のテストも必要ですから

DbCを採用したといえどもホワイトボックステストが不要だという根拠にはなりません。

よってDbCを採用することでホワイトボックステストが不要になるのではなく、

契約に基づくテストを行えば良いわけですからテスト範囲が減るという認識でした。

謹んで訂正させてください。

[] オブジェクト指向入門読書会  オブジェクト指向入門読書会を含むブックマーク

やべ。。。幹事なんだから場所の予約取らなきゃ(^^;;;;;;;;;

トラックバック - http://d.hatena.ne.jp/wildcats/20050217