10年位前に書いた、
テスト仕様書の書き方というか、手抜きのしかたというか。。(その1)
http://blog.goo.ne.jp/xmldtp/e/dbfaaff05b56b8bd0ef24099073bb104
と
テスト仕様書の書き方というか、手抜きのしかたというか。。(その2:テスト仕様書の自動作成)
http://blog.goo.ne.jp/xmldtp/e/50f9f85a9bbb363fff824df4ea7d213b
だけど、まだ需要があるみたいで、見る人がいる。
でも、内容的に(10年前ですから・・・)「甘い」ので、
ちょっと真面目に書き直してみる・・・
■テストには3種類あり、それぞれテスト項目の立て方が違う
テストには、単体テスト、結合テスト、総合テストの3種類ある。
上記の「テスト仕様書の書き方というか、手抜きのしかたというか」
では、この区別をつけていない。
たしかに、全てのテストにおいて
何が(対象)Xどうなっていれば良い(状態)
という形なのだが、このとき、各テストで対象の出し方、状態の出し方が異なる。
なお、以下、テスト項目は、どのテストにおいても
大分類・中分類・小分類
にわけるものとする。が、このわけ方は絶対ではないし、わけないこともある。
■単体テストのテスト項目の挙げ方
単体テストにおける、「何が」とは
大分類:対象クラス
中分類:対象メソッド
になる。
オブジェクト指向でない場合、ソースと関数など、まあ、適当に。
最小レベルが関数なり、メソッドになる。
そして「どうなっていれば良いか」は
小分類:(対象メソッドの結果の)同値分解
ということになる。
ここが、昨日の
JUnitのテスト項目をどうやって出すのか
http://blog.goo.ne.jp/xmldtp/e/abed7b7ee457574934562efc2235d2ad
の「JUnitとテスト仕様書の関係」に対する解答となる。
つまり、試験1項目が、同値分解の結果となる。
そのほかの項目については、
テスト項目(テスト内容)は、
~(=事前条件で、引数となるもの)を入れると、
XXX(=事後条件で、確認すること)になることを確認する
テスト条件は
事前条件中、文脈に関すること(前に行っておくべきこと、テーブルが空とか)
予想結果は
事後条件を書く(そのテスト項目において、とるべき値)
確認方法は
JUnitで、目視で、ログで・・など
となる。
■結合テスト
単体テストにおける、「何が」とは
大分類:対象リソース(画面、帳票など)
中分類:対象項目
になる。
そして「どうなっていれば良いか」は
小分類:テスト観点(の最小のもの)
ということになる。
つまり、「テスト対象」X「テスト観点」の
マトリックスの1つのセルがテスト項目となる。
テスト観点中、どの観点を使うかは、テスト項目の型によって、有る程度決まる
テキストが入るところなら、字種チェック、文字長チェック
数字が入るところなら、数字かどうかのチェックなど
そのほかの項目については、
テスト項目(テスト内容)は、
~(=操作)をすると、
XXX(=確認すること)になることを確認する
テスト条件は
事前条件中、文脈に関すること(前に行っておくべきこと、テーブルが空とか)
場合によっては、トリガー(実行ボタンをクリックするなど・・テスト内容の場合も)
予想結果は
事後条件を書く(そのテスト項目において、とるべき値)
確認方法は
目視で、ログで・・など
となる。
■総合テスト
非機能要件を満たしているかどうかのチェックと
機能要件を満たしているか(業務シナリオは回るか)のチェックで異なる。
非機能要件の場合は、
対象X非機能要件項目
業務シナリオの場合は
シナリオの場面
が試験項目となる。この場合は、どのように分類するかは、とりたてて決まっていない気が・・・
これは一つの例で、これ以外でも分解可能だし、
これ以外のケースで考えている機能仕様所もある。
テスト仕様書の書き方というか、手抜きのしかたというか。。(その1)
http://blog.goo.ne.jp/xmldtp/e/dbfaaff05b56b8bd0ef24099073bb104
と
テスト仕様書の書き方というか、手抜きのしかたというか。。(その2:テスト仕様書の自動作成)
http://blog.goo.ne.jp/xmldtp/e/50f9f85a9bbb363fff824df4ea7d213b
だけど、まだ需要があるみたいで、見る人がいる。
でも、内容的に(10年前ですから・・・)「甘い」ので、
ちょっと真面目に書き直してみる・・・
■テストには3種類あり、それぞれテスト項目の立て方が違う
テストには、単体テスト、結合テスト、総合テストの3種類ある。
上記の「テスト仕様書の書き方というか、手抜きのしかたというか」
では、この区別をつけていない。
たしかに、全てのテストにおいて
何が(対象)Xどうなっていれば良い(状態)
という形なのだが、このとき、各テストで対象の出し方、状態の出し方が異なる。
なお、以下、テスト項目は、どのテストにおいても
大分類・中分類・小分類
にわけるものとする。が、このわけ方は絶対ではないし、わけないこともある。
■単体テストのテスト項目の挙げ方
単体テストにおける、「何が」とは
大分類:対象クラス
中分類:対象メソッド
になる。
オブジェクト指向でない場合、ソースと関数など、まあ、適当に。
最小レベルが関数なり、メソッドになる。
そして「どうなっていれば良いか」は
小分類:(対象メソッドの結果の)同値分解
ということになる。
ここが、昨日の
JUnitのテスト項目をどうやって出すのか
http://blog.goo.ne.jp/xmldtp/e/abed7b7ee457574934562efc2235d2ad
の「JUnitとテスト仕様書の関係」に対する解答となる。
つまり、試験1項目が、同値分解の結果となる。
そのほかの項目については、
テスト項目(テスト内容)は、
~(=事前条件で、引数となるもの)を入れると、
XXX(=事後条件で、確認すること)になることを確認する
テスト条件は
事前条件中、文脈に関すること(前に行っておくべきこと、テーブルが空とか)
予想結果は
事後条件を書く(そのテスト項目において、とるべき値)
確認方法は
JUnitで、目視で、ログで・・など
となる。
■結合テスト
単体テストにおける、「何が」とは
大分類:対象リソース(画面、帳票など)
中分類:対象項目
になる。
そして「どうなっていれば良いか」は
小分類:テスト観点(の最小のもの)
ということになる。
つまり、「テスト対象」X「テスト観点」の
マトリックスの1つのセルがテスト項目となる。
テスト観点中、どの観点を使うかは、テスト項目の型によって、有る程度決まる
テキストが入るところなら、字種チェック、文字長チェック
数字が入るところなら、数字かどうかのチェックなど
そのほかの項目については、
テスト項目(テスト内容)は、
~(=操作)をすると、
XXX(=確認すること)になることを確認する
テスト条件は
事前条件中、文脈に関すること(前に行っておくべきこと、テーブルが空とか)
場合によっては、トリガー(実行ボタンをクリックするなど・・テスト内容の場合も)
予想結果は
事後条件を書く(そのテスト項目において、とるべき値)
確認方法は
目視で、ログで・・など
となる。
■総合テスト
非機能要件を満たしているかどうかのチェックと
機能要件を満たしているか(業務シナリオは回るか)のチェックで異なる。
非機能要件の場合は、
対象X非機能要件項目
業務シナリオの場合は
シナリオの場面
が試験項目となる。この場合は、どのように分類するかは、とりたてて決まっていない気が・・・
これは一つの例で、これ以外でも分解可能だし、
これ以外のケースで考えている機能仕様所もある。