スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

テストの網羅性

SQLでテストデータを作る時にどこまでテストデータを作るかの検討。

SQL文
select
    *
from
    table
where
    column1 > 5
    and column2 < 10;

データ
1. column1 = 7, column2 = 5
2. column1 = 2, columnl2 = 5
3. column1 = 7, column2 = 12
4. column1 = 2, column2 = 12

4をテストデータに入れるかどうかは判断に悩む。
一つでもfalseの条件があれば、条件が成り立たないので複数falseの条件を用意する必要が無い。
しかし、where句の条件式が自明で無い場合はすべての条件を用意すべきか?
しかし、where句はandで結合する条件を並べて書くのが普通なので自明で無い場合は考慮する必要はなさそう。

さて、上の1,2,3をテストデータとして本当にいいのか疑問。実は境界値のチェックになっていない。
そこで境界値になるようにデータを書き換えてみる。

データ2
1. column1 = 6, column2 = 9
2. column1 = 5, columnl2 = 9
3. column1 = 6, column2 = 10

このSQLでは、この3つのデータを用意して1だけ検索できればテスト完了で良いだろう。
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。