Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【S2】明日から使えるテスト技法勉強会_6_境界値分析&ドメイン分析

 【S2】明日から使えるテスト技法勉強会_6_境界値分析&ドメイン分析

こちらはConnpassで開催した「明日から使えるテスト技法勉強会」シーズン2で使用された資料となります。合計7部ありますので、テスト技法にご興味を持つ方は、ぜひご活用いただければ幸いです。

また、本資料中使用されたツールGIHOZ(ギホーズ)は、各種テスト技法を手軽に利用できるクラウド型ツールです。
GIHOZはアカウント登録のみで、すぐに利用が可能です。高品質なテストを効率よく作成するために、熟練のテストエンジニアが利用しているさまざまなテスト技法を手軽に体感してください。

GIHOZに登録されたテスト技法はすべて無償でご利用いただけます。
詳細はこちらまでご確認ください。👉https://www.veriserve.co.jp/gihoz/

GIHOZ SUPPORT TEAM

March 15, 2023
Tweet

More Decks by GIHOZ SUPPORT TEAM

Other Decks in Education

Transcript

  1. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 自己紹介 名前 所属 経歴 田上諭 (

    たのうえ さとし) 静的解析、セキュリティテスト、自動テスト1 年ほど 2019 年 ~ 現在 株式会社ベリサーブ 研究企画開発部 2018 年度に新卒で入社 ソリューション事業部 研究企画開発部で GIHOZ 開発
  2. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 境界値分析・ドメイン分析で使う用語 定義 On ポイント: 仕様で指定されている境界上の値 Off

    ポイント:On ポイントに隣接しつつ、境界の反対側の領域(同値パーティション)に属する値 テスト対象にOff ポイントの値を入力すると、On ポイントを入力したときとは異なる動作をする In ポイント:On ポイント/Off ポイント以外の、有効な値 ※ よくある間違い:On ポイントであっても、必ず有効同値パーティションではない
  3. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 境界値分析でのテストケースの作成方法 Beizer の方法とJorgensen の方法という2つの方法がある Jorgensen の方法では、On

    ポイントの前後を加えた3 つのポイントをテストケースとする Beizer の方法では、On ポイントとOff ポイントをテストケースにする >= を> の誤り、> を>= の誤り <= を< の誤り、< を<= の誤り を見つけることができる Beizer の方法に加えて、== に書き間違えていた方法を見つけ ることができる 間違えやすい 間違えにくい Jorgensen の方法 Beizer の方法 1 つのon ポイントごとに2つ選ぶ 見つけることのできるバグ テストデータの選択ミス 1 つのon ポイントごとに3つ選ぶ テストケース数 ※Beizer 氏は、「<= 」や「>= 」を「== 」に書き間違えたケースを見つけたい場合は、  in ポイントを1 つ追加しなさいと、言っている。
  4. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 境界値分析の注意点 以下のように個数1 つずつに対して条件判定を行っていた場合、0 、1 、2 、・・・と

    すべての値をテストする必要がある 2 値だけでは、「== 」となっている箇所を検出できない if ( 個数 == 0) { //0 個における処理 } else if ( 個数 == 1) { // 1個における処理 } else if ( 個数 == 2) { //2 個における処理 } ・ ・ ・ } else if ( 個数 == n) { //n 個における処理 }
  5. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ドメイン分析とは 複数の関連する変数に対する境界値を同時にテストする方法 通常の境界値分析は「一次元の境界値分析」、ドメイン分析は「多次元の境界値分析」というイメージ ISTQB や国際規格でのドメイン分析の取り扱い ドメイン分析が紹介されている書籍

    一次元= 直線 多次元= 平面や立体や、4 次元以上の領域 ISTQB: 用語集に記載なし ISO/IEC/IEEE29119-4: テスト技法として記載なし。 ただし、「ドメイン分析は同値分割と境界値分析の組み合わせとして分類される」という一文のみ記載がある 『実践的プログラムテスト入門』 ボーリス・バイザー著 『はじめて学ぶソフトウェアテストの技法』 リー・コープランド著 『ソフトウェアテスト技法ドリル』 秋山浩一著
  6. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ドメイン分析の例: 試験と実習の点数に応じた合否判定 テスト対象の仕様は以下の通りです 試験の点数は0~75 点、実習の点数は0~25 点の範囲で入力可能とし、それ以外は入力できない

    合計点が80 点以上の場合は「合格」、それ以外は「不合格」と判定結果を表示する 0<= 試験の点数 <= 75 0<= 実習の点数 <= 25 80 <= 合計点 合計点 = 試験の点数+ 実習の点数 On ポイント: 0, 75 Off ポイント: -1, 76 On ポイント: 0, 25 Off ポイント: -1, 26 On ポイント: 80 Off ポイント: 79 それぞれの条件式ごとに考慮する
  7. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 その他のドメイン分析のやり方 「境界の線の傾きが間違っている」などの不具合を検出できるように、On ポイントを複数選ぶという 考え方もある その場合、2 次元(2

    変数) では、境界の線1 本に対して2 個のOn ポイントと1 個のOff ポイントを選ぶ。 N 次元では、境界1 つに対してN 個のOn ポイントと1 個のOff ポイントを選ぶ → 「N×1 法」と呼ぶ
  8. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 GIHOZ の境界値分析の使い方 GIHOZ には「ドメイン分析」はありませんが、 境界値分析の画面でドメイン分析テストマトリクスと 同等のテストケースを作成できるので、

    この勉強会では境界値分析の使い方を紹介します 変数を追加する(数直線を作る) 数直線に境界値を配置する 同値パーティション名を入力する、有効・無効を設定する(任意) 同値パーティション一覧を生成する テストケースを生成する 1. 2. 3. 4. 5. GIHOZ での境界値分析のやり方
  9. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 問題 ②: ドメイン分析 テスト対象の仕様は以下の通りです 合計点に応じた判定結果が正しいか確認するためのテストケースを、Binder のドメイン分析テストマトリクスを

    用いて作成してください 試験の点数は0~75 点、実習の点数は0~25 点の範囲で入力可能とし、それ以外は入力できない 合計点が80 点以上の場合は「合格」、それ以外は「不合格」と判定結果を表示する ※GIHOZ にはドメイン分析テストマトリクスを作成する機能はありませんが、境界値分析の画面で同等のテストケースを作成することができます。 GIHOZ をどのように使ったらドメイン分析テストマトリクス相当のテストケースを作ることができるかも考えてみてください。
  10. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 【参考】GIHOZ の境界値分析における、代表値の自動生成ルール 同値パーティションに上限と下限が両方ある場合は、中間付近の値 ※ 下図の ①

    が該当 同値パーティションに上限・下限のどちらかしか存在しない場合は、 「下限値」 + 「値の増減幅の10 倍」 ※ 下図の ② が該当 または 「上限値」 - 「値の増減幅の10 倍」 ※ 下図の ③ が該当
  11. ©2023 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 まとめ 境界値分析・ドメイン分析について解説& ハンズオンを行いました GIHOZ を使って境界値分析・ドメイン分析の理解を深めてもらえると嬉しいです 境界値にはバグが潜んでいる可能性が高いので、境界値をきちんとテストする必要がある

    変数が1 次元の場合は境界値分析、2 次元以上の場合はドメイン分析を使う ドメイン分析を行う際は、Binder のドメインテストマトリクスを作る方法がある GIHOZ の境界値分析を使って、ドメインテストマトリクス相当のテストケースを作成することができる