Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WACATE2018 夏 原因結果グラフ解説

3,791 views

Published on

WACATE2018 夏 原因結果グラフについての解説(一部抜粋)

Published in: Engineering
  • Be the first to comment

WACATE2018 夏 原因結果グラフ解説

  1. 1. Jun 2018 TwoFive, Inc.
  2. 2. 1. 自己紹介とセッションの流れ 2. ワーク#1 3. 原因結果グラフの解説(描き方編) 4. コーヒーブレイク! 5. 解説の続き(制約編) 6. ワーク#2 2 l. 原因結果グラフ WACATE などそのほか (コーヒーブレイク程度)>
  3. 3. 3 l. A 原因結果グラフというツールを知ること B 原因結果グラフの描き方を知ること C 使いこなす第一歩目を経験すること
  4. 4. 原因結果グラフ(CEG)に慣れるための3つの課題 自分なりにテスト条件を考えてみてください 指定した結果ノードをもとに CEG を描いてく ださい CEG を描いてください 4 l. 理解度に合 わせて力試し ワーク1 ワーク2 ワーク3
  5. 5. <定義> 原因結果グラフ(Cause Effect Graph) 複雑な仕様を持つテスト対象に対して、入力・状態・イベ ント(原因)と出力(結果)の論理関係をグラフで表現して 、デシジョンテーブルに変換する組み合わせテスト技法 6 l. • 複雑な論理関係を整理できる • テスト条件を自動生成できる • 論理関係のテストを効率的に実施できる
  6. 6. 1 テスト対象を分析・変換・整理する 2 結果とその原因を見つけて論理関係を作る 3 CEG の制約を見つける 7 l. 4 CEG からデシジョンテーブルを作成する こ こ ま で
  7. 7. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 この仕様は何 を定めている のだろうか 条件によって 会社が負担す る参加費用が 変わる! 金額が間違い なく計算される かテストしたい 9 l.
  8. 8. 10 l. 原因 結果 ラルフ チャート ノイズ アクティブノイズ 内部変数 状態 入力 因子 出力 原因かも 原因 結果かも http://jasst.jp/symposium/jasst13tokyo/pdf/A2-2.pdf
  9. 9. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 仕様書を小さい単位(短文、小さなブロックなど)で整理する 11 l.
  10. 10. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 論理関係に関係しそうなキーワードをマークしておく 12 l. 他人に説明する 言い方を変える 英語で説明する
  11. 11. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 入力データやイベント(アクション)、状態に関係しそうなキーワードをチェック 13 l.
  12. 12. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 このテスト対象(仕様・プログラム)によって得られる出力結果をマークする 14 l.
  13. 13. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 同じことを指している表現は統一しておく 似たようなことを指している表現は統一しておく WACATE参加費用 2回目以降の参加費用 全額会社負担される 半額を自己負担とする 品質部門 開発部門 15 l. 同値クラスかも 同値クラスかも同値クラスかも
  14. 14. 17 l. 原因 結果 ラルフ チャート ノイズ アクティブノイズ 内部変数 状態 入力 因子 出力 原因かも 原因 結果かも
  15. 15. 原因から考えると 混乱するよ 18 l.
  16. 16. Yes か No かで 答えられるか 19 l. 「他にないか」 と問いかけよう 「どういう時に?」 と問いかけよう
  17. 17. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 Yes か No か で答えられるか (=命題) 20 l.
  18. 18. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 他にはないか 21 l.
  19. 19. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 どういう時に全額負担してくれるの? 何か条件があるの? 22 l.
  20. 20. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 ・・・に所属していれば、 報告書を提出すること Yes か No か で答えられるか (=命題) 23 l.
  21. 21. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 ・・・に所属していれば、 報告書を提出すること 他にはないか 24 l.
  22. 22. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 ・・・に所属していれば、 報告書を提出すること 2回目以降ではない 25 l.
  23. 23. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 どういう時に半額負担してくれるの? 何か条件があるの? 26 l.
  24. 24. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担2回目以降である Yes か No か で答えられるか (=命題) 27 l.
  25. 25. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担2回目以降である 他にはないか 28 l.
  26. 26. 全額負担 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担全額負担される 例外として、2回目以降である 29 l.
  27. 27. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担全額負担される 例外として、2回目以降である 全額負担 ・・・に所属していれば、 報告書を提出すること 2回目以降ではない 30 l.
  28. 28. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 ・・・に所属 報告書提出 2回目以降 でない 条件を全て 満たす場合に =AND条件 31 l.
  29. 29. 選挙権 がある 例) 選挙権は、日本国民で満18歳以上であることが条件 日本国民 満18歳 以上 IF “日本国民” AND “満18歳以上” THEN “選挙権がある” 32 l. ノード リンク 論理関係
  30. 30. 選挙権 がある 例) 欠格事由がある場合は選挙権はない 条件を 満たす 欠格事由 IF “条件を満たす” AND NOT “欠格事由” THEN “選挙権がある” 33 l. 否定記号
  31. 31. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 ・・・に所属 報告書提出 2回目以降 でない 34 l.
  32. 32. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 ・・・に所属 報告書提出 2回目以降 ノードの名前は 肯定文がベター 35 l.
  33. 33. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 ・・・に所属 報告書提出 2回目以降 具体的には ? 36 l.
  34. 34. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 ・・・に所属どういう時に「・・・に所属」なのか? 37 l.
  35. 35. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 ・・・に所属品質部門あるいは開発部門 38 l.
  36. 36. 身分確認 できる 例) 旅券、免許証またはマイナンバーカード提示で身分確認 旅券の 提示 免許証の 提示 IF “旅券の提示” OR “免許証の提示” OR “マイナンバーカードの提示” THEN “身分確認できる” マイナンバー カードの提示 39 l.
  37. 37. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 ・・・に所属 品質部門 開発部門 40 l.
  38. 38. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 部門条件 品質部門 開発部門 妥当な名前 41 l.
  39. 39. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 42 l. テストケースを 作る時に間違わない ことも大切
  40. 40. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 43 l. 全額負担 部門条件 報告書提出 2回目以降 品質部門 開発部門
  41. 41. 44 l. 全額負担 部門条件 報告書提出 2回目以降 品質部門 開発部門 右側にノードがない =結果ノード 左側にノードがない =原因ノード 左右どちらもノードがある =中間ノード 原因ノード テストをするときの条件 結果ノード テストをしたときの期待値
  42. 42. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担全額負担される 例外として、2回目以降である 45 l.
  43. 43. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 半額負担 46 l. 全額負担 を満たす 2回目以降 たぶん、こんなイメージ・・・
  44. 44. 47 l. 全額負担 部門条件 報告書提出 2回目以降 品質部門 開発部門 半額負担
  45. 45. 48 l. 全額負担 条件 部門条件 報告書提出 2回目以降 品質部門 開発部門 半額負担 全額負担 なんでそうなるの? ナニコレ?
  46. 46. 例) オフサイドというルールは、「オフサイドポジションにいる選手に対して、 パスを出す事を禁止する」というものである。 ここで「オフサイドポジション」とは 以下の条件を全て満たした位置の事を指す。 A. 相手陣内にいる B. ボールより前にいる C. 相手の2番目に後ろの選手よりゴールラインに近い位置にいる 49 l. オフサイド パスを出す A B C オフサイド パスを出す A B C オフサイド ポジション
  47. 47. 50 l. オフサイド パスを出す A B C オフサイド ポジション どういう場合に中間ノードを用意するか? わかりやすくするために(粒度を粗くする) オフサイドポジション でパスを出したら オフサイド
  48. 48. 51 l. オフサイド パスを出す A B C オフサイド ポジション どういう場合に中間ノードを用意するか? 中間ノードの真偽を知りたいとき(局所化) A も B も C も 当てはまるなら オフサイド ポジション
  49. 49. 52 l. オフサイド パスを出す A B C オフサイド ポジション どういう場合に中間ノードを用意するか? 例外や特別な追加条件と思われるとき イベントだ!
  50. 50. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 部門条件 報告書提出 2回目以降 53 l. ここは 例外条件!
  51. 51. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 条件 部門条件 報告書提出 2回目以降 54 l. 全額負担
  52. 52. 55 l. 全額負担 条件 部門条件 報告書提出 2回目以降 品質部門 開発部門 全額負担
  53. 53. 56 l. 全額負担 条件 部門条件 報告書提出 2回目以降 品質部門 開発部門 半額負担 全額負担
  54. 54. 1. 基本的な CEG の構成要素 2. 結果ノードの見つけ方 3. 原因ノードの見つけ方 4. 論理関係の見つけ方 5. 中間ノードの作り方 58 l.
  55. 55. 61 l. <定義> 制約(Constraint) 原因ノードや中間ノードに対して、取りうる組合せに制限 をかけること • ありえない組み合わせを排除できる • 論理関係のテスト網羅性を高める
  56. 56. 62 l. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 条件 部門条件 報告書提出 2回目以降 品質部門 開発部門 半額負担 全額負担
  57. 57. 63 l. クーラー 起動 例) スイッチを「強冷」「弱冷」「除湿」にするとクーラー起動 強冷 弱冷 除湿 EXCL いずれか一つのノードが真になる場合(高々一つ) 該当するノードに制約 EXCL をつける
  58. 58. 64 l. エアコン 起動 例) スイッチいずれかを押すとエアコン起動 強冷 弱冷 除湿 ONE いずれか一つのノードが必ず真になる場合(唯一) 該当するノードに制約 ONE をつける 暖房
  59. 59. 65 l. 品質部門あるいは開発部門に所属していれば、報告書を提出 することでWACATE参加費用の全額会社負担される。 ただし、2回目以降の参加費用は半額を自己負担とする。 全額負担 条件 部門条件 報告書提出 2回目以降 品質部門 開発部門 半額負担 全額負担 EXCL
  60. 60. 66 l. ONE EXCL(exclusive) INCL(inclusive) 唯一つが真(True) 【例】 {男性、女性} {Play、Stop、Pause} など 高々一つが真(True) 【例】 {6歳以下、65歳以上} {電車通勤、バス通勤} など 少なくとも一つが真(True) 【例】 チェックボックスなど 同値クラス (入力側)
  61. 61. 67 l. REQ(required) MASK(masked) Aが真になるためには、Bが真であることが必要 商品ボタンは、在庫があって、お金を投入するこ とで表示される。ボタンが表示されて初めて、「ボ タン押下」が可能になる。 REQ制約がないと商品ボタンが表示されないの にボタン押下をするテスト条件がでてきてしまう。 Aが真であれば、Bの真偽がわからない(M)である クリップボードにデータがなければ、右クリッ クメニューの「貼り付け(P)」はdisableになっ ている。 ただし、disableであることを確認したい場合 は、MASKをつけない
  62. 62. 69 l. #1 #2 #3 #4 原因 品質部門 T F T F 開発部門 F T F F 報告書提出 T F T T 2回目以降 F F T T 部門条件 T T T F 全額負担条件 T F T F 結果 全額負担 T F F F 半額負担 F F T F CEG を元にして 必要最低限の 論理テストを 確認する どうやって作ったのかわからない!
  63. 63. 1 全ての論理展開式を作成する 2 ありえない論理展開式を除外する 3 論理展開式を選択してテスト条件を作成する 70 l. 4 全ての論理展開式を網羅するまで繰り返す とりあえず覚えなくていいです
  64. 64. 71 l. 仕様を整理 テスト条件 作成 仕様を整理してテスト条件(デシジョンテーブル)を生成する 作業を支援するツールを活用してみてください
  65. 65. 72 l. 仕様を整理 複雑な仕様であればあるほど、すぐに論理関係(CEG)を作成 することはできません。 見直し・書き直し・ズームイン・ズームアウトが必要になります。
  66. 66. 73 l. CEG から TD を生成する手順は非常に手間です。 ある程度仕組みを理解した後は自動化が最適です。 テスト条件 作成
  67. 67. 74 l. https://softest.jp/tools/CEGTest/
  68. 68. https://softest.jp/tools/CEGTest/
  69. 69. 最後に
  70. 70. どんな方法でテストをするか検討する 2 結果と原因を見つけて論理関係を作る 3 CEG の制約を見つける 1 テスト対象を分析・変換・整理する 78 l. 4 CEG からデシジョンテーブルを作成する
  71. 71. 79 l. 詳説ラルフチャート http://www.hayst.com/Documents/RalphChart.pdf うどんは箸で パスタはフォークで 食べる
  72. 72. 80 l. CEG や CEGTest の使い方も 紹介されています 同値分割と 境界値分析

×