どんな単体テストをしますか?観点編
毒味させるって、一種のモデルベーステスト?
==
ホワイトボックステストで単体試験を設計するにはどうしたらいいのか、というコメントがあったので、いろいろ考えてみた。脈絡もなく。
単体試験でホワイトボックステストをするのには目的がある。実装した命令文が実行されるのか、条件文が仕様通りに分岐するか、期待する結果・復帰値を返答するか、期待する状態に変化するか、など。これらの検証はよりコードに近いほうが容易であり、実際にプログラムを実行したほうが確認しやすい。
単体試験でホワイトボックステストをするときには目標がある。それは、実装された命令文がどれだけ網羅されているか、分岐がどれだけ網羅されているか、条件式がどれだけ網羅されているか、状態がどれだけ仕様通り変化しているか、など。これらはカバレッジ率という指標で表現され、評価するときにわかりやすく、ある程度誰でも同じ評価を下せる。
単体試験でホワイトボックステストをするときには用途に注目する。サブルーチンがどこから呼ばれるのか、呼ばれる可能性があるのか。これは目標値であるカバレッジ基準をどこに設定すべきか、どのくらいに設定すべきかに関係してくる。何回呼ばれるのか、どの機能を実現するのか。これは、単体試験がどのリスクを回避するために実施されているのか、どれだけの規模のリスク可能性があるのかに関係してくる。ブラックボックステスト、静的テストなど、特徴の異なるテスト技法をどれだけ組み合わせるかにも関係してくる。
まとまりがないなあ。
| 固定リンク
| コメント (1)
| トラックバック (0)

最近のコメント