LoginSignup
kotokona48
@kotokona48

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

試験マトリクスの作り方について

解決したいこと

職場で試験のマトリクスを作成するように求められました。
上司の成果物を参考にしているのですが、表に〇をつける場所や意味など初歩的な部分からよく分かっておりません。

適当なアプリを想像してマトリクスを作ってみました。
アプリ概要
・引数が必要で、ID、名前、年齢 3つ揃ってないとエラーになる。
・処理の中にSQL実行する部分が2か所ある。

image.png

具体的に質問したい部分は以下になります。

・項番1は「パラメーターのIDがあり」に黒丸が付いているので、期待値さえ合えば他のパラメーターは特に考慮しなくてもよいのでしょうか。他のパラメータに白丸を付けるのは不要ですか?

・基本的に黒丸は条件に合わせて1段ずつ右下に下がっていくのが正しいのでしょうか。

・項番1と項番3、項番5、項番7は黒丸の位置が違うだけで同じ試験内容ですが、実施する意味はありますか?
 もし不要な場合、マトリクスはどう書き直せばよいでしょうか

0

3Answer

試験マトリクスの作成について、従うべき統一的なルールはありません。
ここで聞いてもあなたの質問に対する明確な答えは存在しないため、職場の上司や先輩に聞きましょう。

1Like

逆質問ですみませんが、
黒丸を付けた意味を教えてください(白丸との役目の違い)。

0Like

Comments

  1. @kotokona48

    Questioner

    ありがとうございます。
    私の認識では、黒丸が観点として見ている箇所を分かりやすくするための黒丸
    白丸はその他で存在する条件として認識していました。

  2. 作り方に流儀があるのかも知れませんので、あくまで参考意見ですが・・・

    試験する条件は、縦に並んだ丸の箇所になるので(縦一列がテストケース)、
    提示された例ですと、項番1・3・5・7はどれも同じものであり重複(冗長)だと思いました。

    逆に、I D・名前・年齢の3つのパラメタのあり/なしの組み合わせは、全部で8通りあるはずですが、提示された例ではそれらが網羅されていません。

    また、2つのSQL関連が不明ですが、I D・名前・年齢のパラメタが全部「あり」の場合だけSQLを実行する場合で、2つのSQLに関連が無いと仮定すると、SQL1・SQL2の成功・失敗の組み合わせが全部で4通りあるはずです。
    もし、SQL1が成功したときのみSQL2を実行するならば、SQL1・SQL2の成功・失敗の組み合わは3通りになるはずです。いずれにしても、提示された例では網羅されていません。

    他には、I D・名前・年齢の3つのパラメタのあり/なしだけの条件となっていますが、「あり」の場合でも、例えば、年齢の範囲に条件があるなら、それら範囲の組み合わせも作るべきです。
    IDや名前に使えるの文字の種類や長さなどの条件も然り。

    テストカバレッジ(C0/C1/C2等)でどのレベルを目指しているのかにも拠ると思いますが、ホワイトボックス/ブラックボックテスト技法を勉強されるとよいかも知れません。

  3. @kotokona48

    Questioner

    ありがとうございます。
    想定しているテストレベルは製造後の単体テストレベルです。
    テストカバレッジ(C0/C1/C2等)は初めて知りました、おそらくC0かC1レベルを求めらていると思いますので参考にさせていただきます。

    パラメーターもおっしゃる通り組み合わせが足りていないですね...
    今回はパラメータが3つなので8通りですが、例えば10個パラメーターがあればどこまで単体テストで網羅すればよいのでしょうか?...
    個人的には処理の中で必須チェックや桁チェックしているものだけ挙げればよいかなと思いましたがいかがでしょうか。

  4. 例えば10個パラメーターがあればどこまで単体テストで網羅すればよいのでしょうか?...

    そもそもですが、パラメタの「なし」とは、どういう状態でしょうか?

    • コマンドに引数を付ける/付けない的な意味合いならば、すべての組み合わせを網羅すべきだと思います。あり/なしで結果が異なりますよね。
    • 関数やメソッドに渡す引数なら、デフォルトがない場合に「なし」だと、コンパイルエラーになるので、試験以前の話です。

    処理の中で必須チェックや桁チェックしているものだけ挙げればよい

    その根拠はなんでしょうか?

  5. @kotokona48

    Questioner

    今回作成したテストケースと実際に業務で作成しているテストケースの話が合わさってしまいました、失礼しました。
    業務の方では引数としてあってもなくてもいいパラメタがあるのであり/なしで表現しております。

パッと見た印象ですが、
(1) 項目1,3,5,7,9は正常系だと考えられるが
  何網羅のテストをしたいのか不明である。
  (黒丸の意味、白丸が欠けている理由も不明)

(2) 観点と項番1の間、若しくは他の箇所に
  「期待結果」項目が有り言語化されていればまだ良いと私は思います。

本筋は先の回答者の方が仰った通りだと思いますが、
私が気になった点を述べさせてもらいました。(重複している要素含む)

0Like

Comments

  1. @kotokona48

    Questioner

    ありがとうございます。

    13579は正常系です、見返すと網羅ではなく1パターンしかできていないのでこちら      は確かに不要だと思います。。。

    黒丸が観点として見ている箇所を分かりやすくするための黒丸、白丸はその他で存在する条件として書いていました。

    ・期待結果項目の言語化はすぐに取り入れたいと思います。

Your answer might help someone💌