Slide 1

Slide 1 text

テスト技法 おさらい WACATE実⾏委員 ⼭⼝ 1

Slide 2

Slide 2 text

みなさん! ワークはどうでしたか? 2

Slide 3

Slide 3 text

開発プロセス テスト計画 テスト分析 テスト設計 テスト実装 テスト実⾏ テスト完了 モニタリングとコントロール テスト設計では、テスト条件をハ イレベルテストケース、ハイレベ ルテストケースのセット、および その他のテストウェアへ落とし込 む。。 イマココ テスト分析では、テスト可能な フィーチャーを識別し、テスト条 件を決めるためにテストベースを 分析する。 JSTQB Foundation シラバス Version 2018V3.1.J03 3

Slide 4

Slide 4 text

テスト設計の前に・・・ § テスト設計 § 実際、どんな⾵にテストする? § 全数テストするのは⼤変 § 単なる勘と経験だけじゃ無理 § テスト設計技法を使おう! テスト設計では、テスト条件をハイレベルテストケース、ハイレベルテスト ケースのセット、およびその他のテストウェアへ落とし込む。。 JSTQB Foundation シラバス Version 2018V3.1.J03 4

Slide 5

Slide 5 text

テスト技法(テスト設計技法)とは § テスト設計技法 テストケースを作成したり選択するための技法 戦略的かつ合理的に、効率よくテストを設計するために使うもの 仕様に基づい た技法 同値分割法 境界値分析 デシジョンテーブル 原因結果グラフ法 状態遷移テスト ユースケーステスト ユーザーストーリーテスト ドメイン分析 ランダムテスト CFD技法 コードに基づ いた技法 制御フローテスト データフローテスト トランザクションフローテ スト 経験および直 感に基づいた 技法 アドホックテスト 探索的テスト フォールトに 基づいた技法 エラー推測テスト ミューテーションテスト リスクに基づ いた技法 テストマネジメントにおけ るリスクベースドテスト テスト設計におけるリスク ベースドテスト 利⽤に基づい た技法 運⽤プロファイルによるテ スト ローカライゼーションテス ト ユーザー環境シミュレー ションテスト 整合性確認テスト 組み合わせの 技法 直交表テスト ペアワイズテスト クラシフィケーションツ リー HAYST法 SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 5

Slide 6

Slide 6 text

テスト技法(テスト設計技法)とは § 本セッションではテスト設計ワークの前段として、仕様に基づいた 技法、とくにJSTQBのFLでも扱いのある以下5つを説明します。 仕様に基づ いた技法 同値分割法 境界値分析 デシジョンテーブル 原因結果グラフ法 状態遷移テスト ユースケーステスト ユーザーストーリーテスト ドメイン分析 ランダムテスト CFD技法 コードに基づ いた技法 制御フローテスト データフローテスト トランザクションフローテ スト 経験および直 感に基づいた 技法 アドホックテスト 探索的テスト フォールトに 基づいた技法 エラー推測テスト ミューテーションテスト リスクに基づ いた技法 テストマネジメントにおけ るリスクベースドテスト テスト設計におけるリスク ベースドテスト 利⽤に基づい た技法 運⽤プロファイルによるテ スト ローカライゼーションテス ト ユーザー環境シミュレー ションテスト 整合性確認テスト 組み合わせの 技法 直交表テスト ペアワイズテスト クラシフィケーションツ リー HAYST法 SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 6

Slide 7

Slide 7 text

仕様に基づいた技法 § ⽂字通りシステムの仕様からテストケースを創出 同値分割法 デシジョンテーブル テスト 状態遷移テスト ユースケーステスト 単項⽬から使える 条件・状態の組み合わせ 機能やシステム全体 境界値分析 7

Slide 8

Slide 8 text

テスト技法 おさらい WACATE実⾏委員 ⼭⼝ 8

Slide 9

Slide 9 text

⾃⼰紹介 § ⼭⼝ 寛⼦ § SNSではべにちどり (@scarletplover) § ⾦融系SIer § 派閥:猫派だけど本当 は狐派 きのこ派。 9

Slide 10

Slide 10 text

仮でインターネット公開してます 10

Slide 11

Slide 11 text

同値分割法と境界値分析 11

Slide 12

Slide 12 text

同値分割法と境界値分析 デシジョンテーブル テスト 状態遷移テスト ユースケーステスト 単項⽬から使える 条件・状態の組み合わせ 機能やシステム全体 同値分割法 境界値分析 12

Slide 13

Slide 13 text

同値分割法と境界値分析 § 同値分割法 テスト対象が同じ振る舞いをすると仮定できる⼊⼒や出⼒ などの値の集合や範囲を「同値パーティション(同値クラ スともよぶ)」としてまとめ、同値パーティション内の代 表値飲みをテストすることによりテストの数を削減する技 法である。 SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 13

Slide 14

Slide 14 text

同値分割法と境界値分析 § 境界値分析(境界値テスト) プログラムの誤りが同値パーティションの境界部分に存在 しやすいことに着⽬し、その境界上の値をしようしてテス トする技法である。 同値パーティションの上限、加減の値、および、その直前、 直後の値をテストすることにより、範囲間違いや不等号の 取り違えなどを検出する。 SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 14

Slide 15

Slide 15 text

同値分割法と境界値分析 § (例)オンラインショッピングサイト § 裁縫のための布を買うためのサイト § 布は10cm単位で指定して買うことができる。50cmから買うこ とができる。790cm以上は買うことができない。 • 購⼊した商品の送料は⼀律、沖縄は1,400円、北海道は1,000円、 それ以外の地域は650円である。ただし、沖縄以外の地域につ いてはお買い上げ合計⾦額3,980円以上で送料無料になる。 15

Slide 16

Slide 16 text

同値分割法と境界値分析 § 同値分割法 買える (50cm以上790cm未満) 買えない (50cm未満) 買えない (790cm以上) 100cm 20cm 1000cm 同じ振る舞いをする同値クラスを洗い出す 代表値を出す 布は10cm単位で指定して買うことができる。50cmから買うことが できる。790cm以上は買うことができない。 16

Slide 17

Slide 17 text

同値分割法と境界値分析 § 境界値分析 買える (50cm以上790cm未満) 買えない (50cm未満) 買えない (790cm以上) 40 50 790 780 50cm 790cm 同じ振る舞いをする同値クラスを洗い出す 同値クラスの境界値を出す 布は10cm単位で指定して買うことができる。50cmから買うことが できる。790cm以上は買うことができない。 17

Slide 18

Slide 18 text

同値分割法と境界値分析 § そのほかの同値分割法・境界値分析 ⽇本 以外 3980円未満 販売 上限 3980円〜 0円 配達地域 合計⾦額 それ 以外 北海道 沖縄 • 購⼊した商品の送料は⼀律、沖縄は1,400円、北海道は1,000円、 それ以外の地域は650円である。ただし、沖縄以外の地域につい てはお買い上げ合計⾦額3,980円以上で送料無料になる。 境界値はない同値クラス 書いてない 仕様 18

Slide 19

Slide 19 text

同値分割法と境界値分析 【同値分割法】 § メリット § 同じ振る舞いをするグループにつき1つの値等でテストを⾏う →テストケースを少なくまとめることができる。 § 使いどころ § ⼊⼒値、出⼒値、内部変数、時間に依存する値など § いつ使うか § あらゆるテスト(単体テスト〜受け⼊れテストまで) 19

Slide 20

Slide 20 text

同値分割法と境界値分析 【同値分割法】 § 注意 § プログラミング等で変な同値クラスができていないかを確認す る必要がある。 If(⻑さ==10cm){ check = false; } elseIf(⻑さ==20cm){ check = false; } elseIf(⻑さ==30cm){ check = false; } ・・・ 20

Slide 21

Slide 21 text

同値分割法と境界値分析 【同値分割法】 § 注意 § 何をテストしたいかで、同じ項⽬でも同値クラスの分け⽅ が変わります(ZOOM IN・ZOOM OUT) ⽇本 以外 配達地域 それ 以外 北海道 沖縄 ⽇本 以外 配達地域 ⽇本 OR 配達できるかできないか 送料 21

Slide 22

Slide 22 text

同値分割法と境界値分析 【境界値分析】 § メリット § 同値クラスの境界値では⼀般的に⽋陥が潜んでることが多い →効率的に⽋陥を⾒つけることができる。 § 使いどころ § ⼊⼒値、出⼒値、内部変数、時間に依存する値など § いつ使うか § あらゆるテスト(単体テスト〜受け⼊れテストまで) 22

Slide 23

Slide 23 text

同値分割法と境界値分析 【境界値分析】 § 注意 § プログラム等で別の同値クラス・境界値ができていないか確認 § 基準(単位)に気を付ける § (例)もし1cm単位で布が買えたとしたら・・・ 買える (50cm以上790cm未満) 買えない (50cm未満) 買えない (790cm以上) 49 50 790 789 50cm 790cm 23

Slide 24

Slide 24 text

デシジョンテーブルテスト 24

Slide 25

Slide 25 text

デシジョンテーブルテスト デシジョンテーブル テスト 状態遷移テスト ユースケーステスト 単項⽬から使える 条件・状態の組み合わせ 機能やシステム全体 同値分割法 境界値分析 25

Slide 26

Slide 26 text

デシジョンテーブルテスト § デシジョンテーブルテストとは テスト対象の仕様をデシジョンテーブルと呼ばれる表にまと め、これに基づいてテストケースを作成する技法である。 複数因⼦からなる条件をデシジョンテーブルで整理して、そこ にフォーカスしたテストケースを作成する技法 因⼦ ⽔準 #1 #2 #3 #4 #5 #6 配達地域 沖縄 Y N N Y N N 北海道 N Y N N Y N それ以外 N N Y N N Y 合計⾦額 3890円以上 Y Y Y N N N 3890円未満 N N N Y Y Y 結果 0円 ー X X ー ー ー 640円 ー ー ー ー ー X 1000円 ー ー ー ー X ー 1400円 X ー ー X ー ー *因⼦:テストの結果を変える要因となりうるもの SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 26

Slide 27

Slide 27 text

デシジョンテーブルテスト § デシジョンテーブルとは こんな表です。 因⼦ ⽔準 #1 #2 #3 #4 #5 #6 配達地域 沖縄 Y N N Y N N 北海道 N Y N N Y N それ以外 N N Y N N Y 合計⾦額 3890円以上 Y Y Y N N N 3890円未満 N N N Y Y Y 結果 0円 ー X X ー ー ー 640円 ー ー ー ー ー X 1000円 ー ー ー ー X ー 1400円 X ー ー X ー ー 27

Slide 28

Slide 28 text

因⼦ ⽔準 #1 #2 #3 #4 #5 #6 配達地域 沖縄 Y N N Y N N 北海道 N Y N N Y N それ以外 N N Y N N Y 合計⾦額 3890円以上 Y Y Y N N N 3890円未満 N N N Y Y Y 結果 0円 ー X X ー ー ー 640円 ー ー ー ー ー X 1000円 ー ー ー ー X ー 1400円 X ー ー X ー ー デシジョンテーブルテスト § デシジョンテーブルとは こんな表です。 条件記述部 (条件の⼀覧) 動作記述部 (結果の⼀覧) 条件指定部 (条件組み合わせ) 動作指定部 (組み合わせに対する結果) 28

Slide 29

Slide 29 text

デシジョンテーブルテスト § デシジョンテーブルテスト①条件記述部を書く ⽇本 以外 3980円 未満 販売 上限 3980円〜 0円 配達地域 合計⾦額 それ 以外 北海道 沖縄 • 購⼊した商品の送料は⼀律、沖縄は1,400円、北海道は1,000円、 それ以外の地域は650円である。ただし、沖縄以外の地域につい てはお買い上げ合計⾦額3,980円以上で送料無料になる。 29

Slide 30

Slide 30 text

デシジョンテーブルテスト § デシジョンテーブルテスト①条件記述部を書く § 今回はあくまで送料に関わる条件のテストをしたいので、送料 を出すのに考慮すべき有効なクラスを条件記述部に書く。 それ以外 北海道 沖縄 3980円未満 3980円〜 配達地域 合計⾦額 #2 #1 ⽔準 因⼦ N Y 沖縄 配達地域 Y N 北海道 N N それ以外 Y Y 3890円以上 合計⾦額 N N 3890円未満 結果 X ー 0円 *因⼦:テストの結果を変える要因となりうるもの ⽔準:因⼦がとりうる値 30

Slide 31

Slide 31 text

デシジョンテーブルテスト § デシジョンテーブルテスト②動作記述部を書く § 想定される動作や結果を動作記述部に書き出す。 • 購⼊した商品の送料は⼀律、沖縄は1,400円、北海道は1,000円、 それ以外の地域は650円である。ただし、沖縄以外の地域について はお買い上げ合計⾦額3,980円以上で送料無料になる。 #4 #3 #2 #1 ⽔準 因⼦ Y N N Y 沖縄 配達地域 N N Y N 北海道 N Y N N それ以外 N Y Y Y 3890円以上 合計⾦額 Y N N N 3890円未満 結果 ー X X ー 0円 ー ー ー ー 640円 ー ー ー ー 1000円 X ー ー X 1400円 31

Slide 32

Slide 32 text

§ デシジョンテーブルテスト③条件指定部を書く § それぞれの因⼦の条件の組み合わせを条件指定部に記載 ⼀般的には取りうる⽔準を全て条件記述部に書いて、Y,N (Yes,No)を条件指定部に書いた⽅が抜け漏れは⾒つけやすい。 #6 #5 #4 #3 #2 #1 ⽔準 因⼦ N N Y N N Y 沖縄 配達地域 N Y N N Y N 北海道 Y N N Y N N それ以外 N N N Y Y Y 3890円以上 合計⾦額 Y Y Y N N N 3890円未満 結果 ー ー ー X X ー 0円 デシジョンテーブルテスト 32

Slide 33

Slide 33 text

デシジョンテーブルテスト § デシジョンテーブルテスト④動作指定部を書く § 条件指定部の条件から想定 される結果を記⼊。 (ここでは当てはまる ものにXを⼊⼒) # #3 #2 #1 ⽔準 因⼦ Y N N Y 沖縄 配達地域 N N Y N 北海道 N Y N N それ以外 N Y Y Y 3890円以上 合計⾦額 Y N N N 3890円未満 結果 ー X X ー 0円 ー ー ー ー 640円 ー ー ー ー 1000円 X ー ー X 1400円 33

Slide 34

Slide 34 text

デシジョンテーブルテスト § デシジョンテーブルテスト④条件指定部を書く デシジョンテーブルの出来上がり! 因⼦ ⽔準 #1 #2 #3 #4 #5 #6 配達地域 沖縄 Y N N Y N N 北海道 N Y N N Y N それ以外 N N Y N N Y 合計⾦額 3890円以上 Y Y Y N N N 3890円未満 N N N Y Y Y 結果 0円 ー X X ー ー ー 640円 ー ー ー ー ー X 1000円 ー ー ー ー X ー 1400円 X ー ー X ー ー 34

Slide 35

Slide 35 text

デシジョンテーブルテスト § デシジョンテーブルテスト⑤テストケースにする ケース 配達地域 合計⾦額 期待される結果 (送料) 1 沖縄 3890円以上 1400円 2 北海道 3890円以上 0円 3 それ以外 3890円以上 0円 4 沖縄 3890円未満 1400円 5 北海道 3890円未満 1000円 6 それ以外 3890円未満 650円 35

Slide 36

Slide 36 text

デシジョンテーブルテスト § メリット § 複数因⼦の条件によって結果が分かれる時に、仕様を抜け 漏れなく整理してテストできる。 § 使いどころ § 複数の条件の組み合わせによって結果が分かれる場合 § いつ使うか § 統合テスト、システムテスト 36

Slide 37

Slide 37 text

デシジョンテーブルテスト § 注意 § 条件⾃体がもれていると効果がない。 § デシジョンテーブルとは複数因⼦からなる結果の条件を明らかにして、そこに フォーカスしてテストする技法。 条件が複雑な場合に効果を発揮するが、テストケース数が爆発することもある § 他の条件が存在しないか確認。 § 条件の粒度を定める。 § テストしたい条件、結果以外のテスト(境界値分析など) を含めて書かない 37

Slide 38

Slide 38 text

状態遷移テスト 38

Slide 39

Slide 39 text

状態遷移テスト デシジョンテーブル テスト 状態遷移テスト ユースケーステスト 単項⽬から使える 条件・状態の組み合わせ 機能やシステム全体 同値分割法 境界値分析 39

Slide 40

Slide 40 text

状態遷移テスト § 状態遷移図や状態遷移表を使ってテスト対象プログラ ムの仕様を整理し、これに基づいてテストケースを作 成する技法である。 網羅する遷移の数を表す「Nスイッチカバレッジ」によ り網羅基準を設定する。 SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 40

Slide 41

Slide 41 text

状態遷移テスト 以下の図表で、システムのイベントに対する状態の変 化を整理し、状態遷移にフォーカスしたテストを⾏う。 § 状態遷移図 状 態 イベント 停⽌ 中 起動 中 ONボタン押下 OFFボタン押下 状態/イベント ONボタン押下 OFFボタン押下 停⽌中 起動中 N/A 起動中 N/A 停⽌中 § 状態遷移表 イベント 状態 41

Slide 42

Slide 42 text

§ 布オンラインショップサイトの購⼊⼿続は以下の通り。 この購⼊状態のテストを⾏いたい。 § 商品⼀覧画⾯で購⼊する布と数量(⻑さ)を選択。 § 買い物かご画⾯で選択した商品と数量(⻑さ)を確認して購⼊⼿続き ボタン押下。 § 届け先、お届け⽇時、⽀払いカード情報を⼊⼒して⽀払いを実⾏し、クレジットカード の承認を待つ(クレジットカード会社の仕様によってはクレジットカード会社の認証画 ⾯が現れることがある)。 § クレジットカード会社で⽀払いが承認された場合は購⼊完了画⾯を表⽰。 § クレジットカード会社より⽀払が却下された場合、エラー画⾯を表⽰。 各画⾯の戻るボタンを押下した場合、前の画⾯に戻ることができる。 購⼊完了画⾯・エラー画⾯でOKボタンを押下すると、商品⼀覧画⾯に戻る。 状態遷移テスト 42

Slide 43

Slide 43 text

状態遷移テスト § 状態遷移テスト①状態を⾒つける § 商品⼀覧画⾯で購⼊する布と数量(⻑さ)を選択。 § 買い物かご画⾯で選択した商品と数量(⻑さ)を確認して購⼊⼿続き ボタン押下。 § 届け先、お届け⽇時、⽀払いカード情報を⼊⼒して⽀払いを実⾏し、ク レジットカードの承認を待つ(クレジットカード会社の仕様によっては クレジットカード会社の認証画⾯が現れることがある)。 § クレジットカード会社で⽀払いが承認された場合は購⼊完了画⾯を表⽰。 § クレジットカード会社より⽀払が却下された場合、エラー画⾯を表⽰。 各画⾯の戻るボタンを押下した場合、前の画⾯に戻ることができる。 購⼊完了画⾯・エラー画⾯でOKボタンを押下すると、商品⼀覧画⾯に戻る。 エラー 商品選択中 ⽀払情報⼊⼒中 ⽀払承認待ち 購⼊完了 43

Slide 44

Slide 44 text

§ 商品⼀覧画⾯で購⼊する布と数量(⻑さ)を選択。 § 買い物かご画⾯で選択した商品と数量(⻑さ)を確認して購⼊⼿続き ボタン押下。 § 届け先、お届け⽇時、⽀払いカード情報を⼊⼒して⽀払いを実⾏し、ク レジットカードの承認を待つ(クレジットカード会社の仕様によっては クレジットカード会社の認証画⾯が現れることがある)。 § クレジットカード会社で⽀払いが承認された場合は購⼊完了画⾯を表⽰。 § クレジットカード会社より⽀払が却下された場合、エラー画⾯を表⽰。 各画⾯の戻るボタンを押下した場合、前の画⾯に戻ることができる。 購⼊完了画⾯・エラー画⾯でOKボタンを押下すると、商品⼀覧画⾯に戻る。 状態遷移テスト § 状態遷移テスト②イベントを⾒つける 44

Slide 45

Slide 45 text

状態遷移テスト § 状態遷移テスト③状態遷移図・状態遷移表を作る 商品選 択中 ⽀払情 報⼊⼒ 中 エラー ⽀払承 認待ち 購⼊完 了 OK押下 OK押下 戻る押下 戻る押下 購⼊⼿続きボタン押下 ⽀払実⾏ ⽀払却下 ⽀払承認 あれ?あってるかな? 45

Slide 46

Slide 46 text

状態遷移テスト § 状態遷移テスト③状態遷移図・状態遷移表を作る 状態/イベント 購⼊⼿続きボタ ン押下 ⽀払実⾏ 戻る ⽀払承認 ⽀払却下 OKを押下 商品選択中 ⽀払情報⼊⼒中 N/A ????? N/A N/A N/A ⽀払情報⼊⼒中 N/A ⽀払承認待ち 商品選択中 N/A N/A N/A ⽀払承認待ち N/A N/A ⽀払情報⼊⼒中 購⼊完了 エラー N/A 購⼊完了 N/A N/A ????? N/A N/A 商品選択中 エラー N/A N/A ????? N/A N/A 商品選択中 46

Slide 47

Slide 47 text

状態遷移テスト § 状態遷移テスト③状態遷移図・状態遷移表を作る 状態/イベント 購⼊⼿続きボタ ン押下 ⽀払実⾏ 戻る ⽀払承認 ⽀払却下 OKを押下 商品選択中 ⽀払情報⼊⼒中 N/A ????? N/A N/A N/A ⽀払情報⼊⼒中 N/A ⽀払承認待ち 商品選択中 N/A N/A N/A ⽀払承認待ち N/A N/A ⽀払情報⼊⼒中 購⼊完了 エラー N/A 購⼊完了 N/A N/A ????? N/A N/A 商品選択中 エラー N/A N/A ????? N/A N/A 商品選択中 戻っていいの? 抜けてた・・・ 47

Slide 48

Slide 48 text

状態遷移テスト § 状態遷移テスト③状態遷移図・状態遷移表を作る 状態/イベント 購⼊⼿続きボタ ン押下 ⽀払実⾏ 戻る ⽀払承認 ⽀払却下 OKを押下 商品選択中 ⽀払情報⼊⼒中 N/A 商品選択中 N/A N/A N/A ⽀払情報⼊⼒中 N/A ⽀払承認待ち 商品選択中 N/A N/A N/A ⽀払承認待ち N/A N/A ⽀払情報⼊⼒中 購⼊完了 エラー N/A 購⼊完了 N/A N/A 購⼊完了 N/A N/A 商品選択中 エラー N/A N/A エラー N/A N/A 商品選択中 48

Slide 49

Slide 49 text

状態遷移テスト § 状態遷移テスト③状態遷移図・状態遷移表を作る 商品選 択中 ⽀払情 報⼊⼒ 中 エラー ⽀払承 認待ち 購⼊完 了 OK押下 OK押下 戻る押下 戻る押下 購⼊⼿続きボタン押下 ⽀払実⾏ ⽀払却下 ⽀払承認 戻る押下 戻る押下 戻る押下 49

Slide 50

Slide 50 text

状態遷移テスト § 状態遷移テスト④テストケースを作る(⼿作業) 経路 番号 状態 遷移 状態 遷移 状態 0 商品選択中 戻る押下 商品選択中 戻る押下 商品選択中 1 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 2 商品選択中 戻る押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 3 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち 4 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 戻る押下 商品選択中 5 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 6 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち 戻る押下 ⽀払情報⼊⼒ 中 7 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち ⽀払承認 購⼊完了 8 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち ⽀払却下 エラー 9 ⽀払承認待ち 戻る押下 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 10 ⽀払承認待ち ⽀払承認 購⼊完了 OKを押下 商品選択中 11 ⽀払承認待ち ⽀払却下 エラー OKを押下 商品選択中 経路 番号 状態 遷移 状態 遷移 状態 12 ⽀払承認待ち 戻る押下 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち 13 ⽀払承認待ち ⽀払承認 購⼊完了 戻る押下 購⼊完了 14 ⽀払承認待ち ⽀払却下 エラー 戻る押下 エラー 15 購⼊完了 OKを押下 商品選択中 戻る押下 商品選択中 16 購⼊完了 戻る押下 購⼊完了 OKを押下 商品選択中 17 購⼊完了 OKを押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 18 購⼊完了 戻る押下 購⼊完了 戻る押下 購⼊完了 19 エラー OKを押下 商品選択中 戻る押下 商品選択中 20 エラー 戻る押下 エラー OKを押下 商品選択中 21 エラー OKを押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 22 エラー 戻る押下 エラー 戻る押下 エラー 1スイッチ カバレッジ 50

Slide 51

Slide 51 text

状態遷移テスト § Nスイッチカバレッジは網羅の遷移の数 0スイッチカバレッジ (スタート状態→ゴール状態) Nスイッチカバレッジ(ここでは1スイッチ) (スタート状態→別のN個の状態を挟む→ゴール状態) 停⽌ 中 起動 中 ONボタン押下 OFFボタン押下 停⽌ 中 起動 中 ONボタン押下 OFFボタン押下 遷移前状態 イベント 期待結果 停⽌中 ON押下 起動中 起動中 OFF押下 停⽌中 遷移前状態 イベント 状態1 イベント 期待結果 停⽌中 ON押下 起動中 OFF押下 停⽌中 起動中 OFF押下 停⽌中 ON押下 起動中 51

Slide 52

Slide 52 text

状態遷移テスト § Nスイッチカバレッジを図から出すのは⼤変! 商品選 択中 ⽀払情 報⼊⼒ 中 エラー ⽀払承 認待ち 購⼊完 了 OK押下 OK押下 戻る押下 戻る押下 購⼊⼿続きボタン押下 ⽀払実⾏ ⽀払却下 ⽀払承認 戻る押下 戻る押下 戻る押下 52

Slide 53

Slide 53 text

状態遷移テスト § 状態遷移テスト④テストケースを作る(⼿作業) 商品選択中 ⽀払情報⼊⼒中 ⽀払承認待ち 購⼊完了 エラー ⅰ.全ての状態を書き出す 53

Slide 54

Slide 54 text

状態遷移テスト § 状態遷移テスト④テストケースを作る(⼿作業) 商品選択中 ⽀払情報⼊⼒中 ⽀払承認待ち 購⼊完了 エラー OKを押下 ⽀払却下 ⽀払承認 戻る ⽀払実⾏ 購⼊⼿続きボタ ン押下 状態/イベント N/A N/A N/A 商品選択中 N/A ⽀払情報⼊⼒中 商品選択中 N/A N/A N/A 商品選択中 ⽀払承認待ち N/A ⽀払情報⼊⼒中 N/A エラー 購⼊完了 ⽀払情報⼊⼒中 N/A N/A ⽀払承認待ち 商品選択中 ⽀払情報⼊⼒中 購⼊⼿続きボタン押下 戻る ⅱ.状態遷移表を⾒て 遷移先の状態をぶら下げる (⽊構造にする) 54

Slide 55

Slide 55 text

OKを押下 ⽀払却下 ⽀払承認 戻る ⽀払実⾏ 購⼊⼿続きボタ ン押下 状態/イベント N/A N/A N/A 商品選択中 N/A ⽀払情報⼊⼒中 商品選択中 N/A N/A N/A 商品選択中 ⽀払承認待ち N/A ⽀払情報⼊⼒中 N/A エラー 購⼊完了 ⽀払情報⼊⼒中 N/A N/A ⽀払承認待ち 状態遷移テスト § 状態遷移テスト④テストケースを作る(⼿作業) 商品選択中 ⽀払情報⼊⼒中 ⽀払承認待ち 購⼊完了 エラー 商品選択中 ⽀払情報⼊⼒中 購⼊⼿続きボタン押下 戻る ⽀払承認待ち 商品選択中 商品選択中 ⽀払情報⼊⼒中 戻る 戻る 購⼊⼿続きボタン押下 ⽀払実⾏ ⅲ.やりたい網羅基準(1スイッチ)に なるまでⅱを繰り返す 55

Slide 56

Slide 56 text

状態遷移テスト § 状態遷移テスト④テストケースを作る(⼿作業) 経路 番号 状態 遷移 状態 遷移 状態 0 商品選択中 戻る押下 商品選択中 戻る押下 商品選択中 1 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 2 商品選択中 戻る押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 3 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち 4 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 戻る押下 商品選択中 5 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 6 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち 戻る押下 ⽀払情報⼊⼒ 中 7 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち ⽀払承認 購⼊完了 8 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち ⽀払却下 エラー 9 ⽀払承認待ち 戻る押下 ⽀払情報⼊⼒ 中 戻る押下 商品選択中 10 ⽀払承認待ち ⽀払承認 購⼊完了 OKを押下 商品選択中 11 ⽀払承認待ち ⽀払却下 エラー OKを押下 商品選択中 経路 番号 状態 遷移 状態 遷移 状態 12 ⽀払承認待ち 戻る押下 ⽀払情報⼊⼒ 中 ⽀払実⾏ ⽀払承認待ち 13 ⽀払承認待ち ⽀払承認 購⼊完了 戻る押下 購⼊完了 14 ⽀払承認待ち ⽀払却下 エラー 戻る押下 エラー 15 購⼊完了 OKを押下 商品選択中 戻る押下 商品選択中 16 購⼊完了 戻る押下 購⼊完了 OKを押下 商品選択中 17 購⼊完了 OKを押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 18 購⼊完了 戻る押下 購⼊完了 戻る押下 購⼊完了 19 エラー OKを押下 商品選択中 戻る押下 商品選択中 20 エラー 戻る押下 エラー OKを押下 商品選択中 21 エラー OKを押下 商品選択中 購⼊⼿続きボ タン押下 ⽀払情報⼊⼒ 中 22 エラー 戻る押下 エラー 戻る押下 エラー 1スイッチ カバレッジ 56

Slide 57

Slide 57 text

状態遷移テスト § メリット § システムの状態の変化にフォーカスしたテストができる。 § 状態遷移の仕様誤りや設計誤りを⾒つけることが できる。 § 使いどころ § システムの状態遷移が複数の状態に変化する場合 § いつ使うか § 統合テスト、システムテスト 57

Slide 58

Slide 58 text

状態遷移テスト § 注意 § どこまでも複雑になるのでテストしたいのかは考えること (Nスイッチカバレッジ) § なんの状態をテストしたいか特定してテストする (購⼊状態がテストしたいのか? 画⾯遷移がテストしたいのか?) § 商品⼀覧画⾯で購⼊する布と数量(⻑さ)を選択。 § 買い物かご画⾯で選択した商品と数量(⻑さ)を確認して購⼊⼿続き ボタン押下。 商品選択中 58

Slide 59

Slide 59 text

ユースケーステスト 59

Slide 60

Slide 60 text

ユースケーステスト デシジョンテーブル テスト 状態遷移テスト ユースケーステスト 単項⽬から使える 条件・状態の組み合わせ 機能やシステム全体 同値分割法 境界値分析 60

Slide 61

Slide 61 text

ユースケーステスト § アクター(ユーザーや外部システム)とテスト対象システ ムとの相互作⽤を記述したユースケースに基づいてテスト ケースを作成する技法である。 § ユースケース アクターが、ある特定の⽬的を達成するためにシステムを どう使うかを⽰すシナリオ(脚本) § どのようなアクターが /どのような場⾯において /どのような⽬的 を達成するために /どのような活動を⾏うのか SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 61

Slide 62

Slide 62 text

ユースケーステスト § ユースケース ユースケースは通常、ユースケース図とユースケー ス記述によって成り⽴つ。 商品を選ぶ 商品を買う 注⽂状況を 確認する 注⽂履歴を 確認する 顧客 各カード会社⽀払システム 布ショッピングサイト ユースケース図 ユースケース記述 項⽬ 内容 ユースケース 商品を買う 概要 顧客は選んだ商品について購⼊する。 アクター 顧客 各カード会社⽀払システム 事前条件 顧客はオンラインショッピングサイトにログインしている 顧客は商品を既に選んでいる 事後条件 商品の購⼊が完了する 基本フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外フロー 2a.商品が売り切れていたら 2a-1.エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ 項⽬ 内容 ユースケース 商品を買う 概要 顧客は選んだ商品について購⼊する。 アクター 顧客 各カード会社⽀払システム 事前条件 顧客はオンラインショッピングサイトにログインしている 顧客は商品を既に選んでいる 事後条件 商品の購⼊が完了する 基本フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外フロー 2a.商品が売り切れていたら 2a-1.エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ 62

Slide 63

Slide 63 text

§ 布オンラインショップサイトの購⼊⼿続は以下の通り。 § 商品⼀覧画⾯で購⼊する布と数量(⻑さ)を選択。 § 買い物かご画⾯で選択した商品と数量(⻑さ)を確認して購⼊⼿続き ボタン押下。 § 届け先、お届け⽇時、⽀払いカード情報を⼊⼒して⽀払いを実⾏し、クレジッ トカードの承認を待つ(クレジットカード会社の仕様によってはクレジット カード会社の認証画⾯が現れることがある)。 § クレジットカード会社で⽀払いが承認された場合は購⼊完了画⾯を表⽰。 § クレジットカード会社より⽀払が却下された場合、エラー画⾯を表⽰。 各画⾯の戻るボタンを押下した場合、前の画⾯に戻ることができる。 購⼊完了画⾯・エラー画⾯でOKボタンを押下すると、商品⼀覧画⾯に戻る。 ユースケーステスト 63

Slide 64

Slide 64 text

ユースケーステスト § ユースケース図 § アクターの視点からシステムの機能や振る舞い、相互作⽤を 列挙したもの 商品を選ぶ 商品を買う 注⽂状況を 確認する 注⽂履歴を 確認する 顧客 各カード会社⽀払システム 布ショッピングサイト ユースケース アクター 64

Slide 65

Slide 65 text

ユースケーステスト § ユースケース記述 § アクターが、ある特定の ⽬的を達成するためにシ ステムをどう使うかを⽰ すシナリオ(脚本)をテ キストにしたもの § ユースケース図のユース ケース1つにつき1表が 基本 内容 項⽬ 商品を買う ユースケース 顧客は選んだ商品について購⼊する。 概要 顧客 各カード会社⽀払システム アクター 顧客はオンラインショッピングサイトにログインしている 顧客は商品を既に選んでいる 事前条件 商品の購⼊が完了する 事後条件 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 基本フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 代替フロー 2a.商品が売り切れていたら 2a-1.エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 例外フロー 65

Slide 66

Slide 66 text

ユースケーステスト § ユースケース記述 § アクターが、ある特定の ⽬的を達成するためにシ ステムをどう使うかを⽰ すシナリオ(脚本)をテ キストにしたもの § ユースケース図のユース ケース1つにつき1表が 基本 内容 項⽬ 商品を買う ユースケース 顧客は選んだ商品について購⼊する。 概要 顧客 各カード会社⽀払システム アクター 顧客はオンラインショッピングサイトにログインしている 顧客は商品を既に選んでいる 事前条件 商品の購⼊が完了する 事後条件 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 基本フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 代替フロー 2a.商品が売り切れていたら 2a-1.エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 例外フロー 66

Slide 67

Slide 67 text

ユースケーステスト § ユースケース記述/各フロー 基本フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外フロー 2a.商品が売り切れていたら 2a-1.システム:エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ アクター(ユーザーや外部システム)とテ スト対象システムとの相互作⽤を記述 主成功シナリオ 例外、エラーの シナリオ 頻度の低い シナリオ 67

Slide 68

Slide 68 text

ユースケーステスト § ユースケース記述/各フロー 基本 フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替 フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外 フロー 2a.商品が売り切れていたら 2a-1.システム:エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ 1 2 3 4 5 6 1a 4a 2a 5a ①商品購⼊完了 68

Slide 69

Slide 69 text

ユースケーステスト § ユースケース記述/各フロー 基本 フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替 フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外 フロー 2a.商品が売り切れていたら 2a-1.システム:エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ 1 2 3 4 5 6 1a 4a 2a 5a ②商品選び直し 69

Slide 70

Slide 70 text

ユースケーステスト § ユースケース記述/各フロー 基本 フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替 フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外 フロー 2a.商品が売り切れていたら 2a-1.システム:エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ 1 2 3 4 5 6 1a 4a 2a 5a ③商品売り切れ 70

Slide 71

Slide 71 text

ユースケーステスト § ユースケース記述/各フロー 基本 フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替 フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外 フロー 2a.商品が売り切れていたら 2a-1.システム:エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ 1 2 3 4 5 6 1a 4a 2a 5a ④⽀払情報NG 71

Slide 72

Slide 72 text

ユースケーステスト § ユースケース記述/各フロー 基本 フロー 1.顧客:買い物かご画⾯で購⼊する商品を確認して購⼊⼿続ボタン押下 2.システム:商品の在庫を確認し、⽀払情報⼊⼒画⾯を表⽰ 3.顧客:届出情報・⽀払情報を⼊⼒して⽀払を実⾏する 4.システム:届出情報・⽀払情報を確認し、各カード会社に⽀払情報を送信 5.各カード会社⽀払システム:⽀払を承認する 6.システム:各カード会社が⽀払を承認したのを確認し、購⼊完了画⾯を表⽰ 代替 フロー 1a.購⼊する商品が間違っていた場合 1a-1.顧客:商品を選び直す 例外 フロー 2a.商品が売り切れていたら 2a-1.システム:エラー画⾯を表⽰ 4a.⽀払情報の⼊⼒が間違っている場合 4a-1.システム:エラー画⾯を表⽰ 5a.各カード会社が⽀払を却下 5a-1.システム:各カード会社が⽀払を却下したのを確認し、エラー画⾯を表⽰ 1 2 3 4 5 6 1a 4a 2a 5a ⑤⽀払却下 72

Slide 73

Slide 73 text

ユースケーステスト § ユースケーステスト § 各ユースケースのフローごとにテストをする 商品を購⼊する ①商品購⼊完了するテスト:1→2→3→4→5→6 ②商品選び直しするテスト:1→1a ③商品が売り切れているときのテスト:1→2→2a ④⽀払情報の⼊⼒が間違っている場合のテスト:1→2→3→4→4a ⑤⽀払が却下された場合のテスト:1→2→3→4→5→5a 73

Slide 74

Slide 74 text

ユースケーステスト § メリット § システムの1機能をユーザーや外部システムの視点から、 最初から最後まで通して整理し、テストできる § 使いどころ § ユーザ・外部システムが複数、相互作⽤が複雑な場合 § 1機能を⼀気通貫でテストしたい時 § いつ使うか § システムテスト・受け⼊れテスト 74

Slide 75

Slide 75 text

ユースケーステスト § 注意 § ユーザーの視点からテストをする § 他のテスト条件(状態遷移など)と⼀緒にテストをしない。 75

Slide 76

Slide 76 text

まとめ 76

Slide 77

Slide 77 text

仕様に基づいた技法 § ⽂字通りシステムの仕様からテストケースを創出 デシジョンテーブル テスト 状態遷移テスト ユースケーステスト 単項⽬から使える 条件・状態の組み合わせ 機能やシステム全体 同値分割法 境界値分析 77

Slide 78

Slide 78 text

テスト技法について テスト技法 メリット 使いどころ ポイント・注意点 単項⽬から 使える 同値分割法 テストケースを少なく まとめることができる。 ⼊⼒値、出⼒値、内部変数、 時間に依存する値など 同値クラスを⾒極めること 境界値分析 効率的に⽋陥を⾒つけ ることができる。 ⼊⼒値、出⼒値、内部変数、 時間に依存する値など 同値クラスを⾒極めること 基準(単位)に気をつける 条件・状態の 組み合わせ デシジョンテー ブルテスト 複数条件による組み合 わせの結果を整理して テストできる。 複数の条件の組み合わせに よって結果が分かれる場合 条件の粒度を定めてもれなくだ す 状態遷移テスト システムの状態の変化 を整理してテストでき る。 システムの状態が複数の状 態に変化する場合 何の状態をテストしたいか曖昧 にしない 機能やシステ ム全体 ユースケーステ スト ユーザーや外部システ ムの視点から仕様を整 理してテストできる。 ユーザ・外部システムが複 数、相互作⽤が複雑な場合 1機能を⼀気通貫でテスト したい ユーザーや外部システムの視点 からテストをする 78

Slide 79

Slide 79 text

最後に § テスト設計で「もれなく」なんていう前に。。 § あなたがテストしたいのは「何」か決めましょう § どの項⽬?どの条件分岐?・どういう状態?・ユースケース? § テストケースの前にまず仕様を整理しましょう § 仕様に抜けはありませんか・・・? § どの程度まで網羅するのかを決めましょう § 0スイッチ、1スイッチ・・・ § どの粒度でテストする?(同値クラスの分け⽅など) 79

Slide 80

Slide 80 text

テスト技法について § 参考⽂献 § リー・コープランド著、宗 雅彦訳「はじめて学ぶソフトウェアのテスト技法」 ⽇経BP社、2005年 § SQuBOK策定部会編「ソフトウェア品質知識体系ガイド(第3版)」⽇経BP社、2020年 § 児⽟ 公信「UMLモデリングの本質 第2版」翔泳社、2016年 § 梅津正洋他「ソフトウェアテスト技法練習帳 ~知識を経験に変える40問」技術評論社、2020年 § NPO法⼈ASTER「ASTERセミナー標準テキスト」 https://www.aster.or.jp/business/seminar_text.html § テスト技術者資格制度 シラバス https://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2018V31.J03.pdf 80

Slide 81

Slide 81 text

ありがとうございました! 良いワークを! 81