Successfully reported this slideshow.
Your SlideShare is downloading. ×

JaSST'11 Kyushu 配布資料(スライド)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 33 Ad
Advertisement

More Related Content

Advertisement

JaSST'11 Kyushu 配布資料(スライド)

  1. 1. JaSST’11 Kyushu チュートリアル 実践!CEGTestで原因結果グラフを 作ってみよう 加瀬 正樹(ニフティ株式会社)
  2. 2. 自己紹介 名前 加瀬 正樹(@softest) 所属 ニフティ株式会社 http://www.nifty.co.jp/ メールサービスのシステム開発・運用 迷惑メール対策への取り組み 主な活動 WACATE http://wacate.jp/ 若手テストエンジニアをターゲットにしたソフトウェア テストワークショップ TEF勉強会 http://www.swtest.jp/wiki/index.php 主にテスト技法をテーマにしたオフライン勉強会を不定 期開催 JaSST JaSST’10 四国 『原因結果グラフ技法を学んでみよう!使ってみよう!』 2 JaSST’11 Kyushu
  3. 3. 本日のタイムテーブル 20分 原因結果グラフを解説 技法の特徴と説明 CEGTestの紹介、描き方 30分 CEGTestを動かしてみる ツールに触れて、使い方を覚えよう デモもします 60分 演習問題に挑戦 3問用意しています 10分 おさらい 今日のまとめ・振り返り 3 JaSST’11 Kyushu
  4. 4. CEG はじめの一歩 原因結果グラフの解説 4 JaSST’11 Kyushu
  5. 5. 原因結果グラフとは  Cause-Effect Graph(CEG)  複雑な仕様を持つテスト対象の入力やイベント(=原因)の 組合せと、出力(=結果)との論理関係をグラフ化し、デシ ジョンテーブルを作成する組合せテスト設計技法 直交表系 デシジョンテーブル系 技法の 直交表 デシジョンテーブル 種類 HAYST法® 原因結果グラフ技法 All-Pair法 CFD法 効用 入力条件がそれぞれ無 入力条件が複雑な関係性を 関係と思われるテスト 持つテスト対象に適用し、 対象に適用し、関係が 論理関係が正しいことを確 ないことを確認する 認する 5 JaSST’11 Kyushu
  6. 6. 原因結果グラフの特徴  長所  図式化・整理し、網羅的なテスト条件を作成できる  仕様の矛盾を見つけたり、設計の単純化をしやすくする  短所  仕様からグラフを作成する難しさ(分析・制約)  グラフからデシジョンテーブルへ変換する難しさ 見直し 6 JaSST’11 Kyushu
  7. 7. CEGTestとは  ブラウザで操作可能な原因結果グラフ描画ツール  グラフをサクサク作成することができます  グラフからデシジョンテーブルを自動生成します デシジョン テーブル 原因結果 カバレッジ グラフ 表 http://softest.cocolog-nifty.com/labo/CEGTest/ 7 JaSST’11 Kyushu
  8. 8. CEGTestのきほん  基本要素(ノード,リンク)  論理関係(AND, OR)  否定(NOT)  制約(ONE, EXCL, INCL)  その他の制約(REQ, MASK) http://softest.cocolog-nifty.com/labo/CEGTest/ 8 JaSST’11 Kyushu
  9. 9. 原因結果グラフの描き方(1)  仕様をノードとリンクと論理関係で表現する  【例】 「この車両は通勤時間帯、女性専用車両です」 リンク 原因 結果 ノード ノード 論理演算子 ノードは…左側に原因、右側に結果を配置する ノードは…命題形式(Yes か No )で表現する ノードは…リンクと論理演算子で結ばれる ノードは…結果ノードから見つけるとよい 9 JaSST’11 Kyushu
  10. 10. 原因結果グラフの描き方(2)  論理演算子はAND(∧)とOR(∨)の2種類 論理演算子 グラフの例 キーワード AND XかつY (かつ) Xであり、Y XとYすべて … OR XまたはY (または) Xあるいは、Y XとYのいずれ か … 10 JaSST’11 Kyushu
  11. 11. 原因結果グラフの描き方(3)  グラフは多段の階層化で描ける  【例】 「女性専用車両は車いすの方も乗車可能です」 「女性・車いす」は 女性または車いすの方 女性・車いすの方は、 通勤時間帯のときは 乗車可能 一番左は原因ノード、一番右は結果ノード 間にあるノードは中間ノード 11 JaSST’11 Kyushu
  12. 12. 原因結果グラフの描き方(4)  リンクを否定(NOT)で表現する  【例】 「7時~9時、土日・祝日以外が通勤時間帯」 通勤時間帯は、 午前7時~9時かつ 土日・祝日ではない 否定記号(NOT) 否定は…リンクに波線(Nの文字)を重ねて表現 一般的に、ノード名は肯定文がわかりやすい 否定は…例外条件を表すノードにつくことが多い 12 JaSST’11 Kyushu
  13. 13. 原因結果グラフの描き方(5)  制約をつける  原因ノードや中間ノードのありえない組合せを 見つけて、原因結果グラフに記載する 集合系の制約 順序系の制約 ONE制約 REQ制約 EXCL制約 MASK制約 INCL制約 制約は、複雑な論理関係を簡単に表現したもの 制約がないとテストできない組合せがでてきてしまう 順序系の制約(REQ、MASK)はちょっと難しい 13 JaSST’11 Kyushu
  14. 14. 原因結果グラフの描き方(6) ONE EXCL(exclusive) INCL(inclusive) 唯一つが真(True) 高々一つが真(True) 少なくとも一つが真(True) 【例】 【例】 【例】 {男性、女性} {6歳以下、65歳以上} チェックボックスなど {Play、Stop、Pause} {電車通勤、バス通勤} など など ONEとEXCLの違いは、全て偽が成立するかどうか テストの目的によって ONE か EXCL を選択する 14 JaSST’11 Kyushu
  15. 15. 参考:REQとMASK REQ(required) MASK(masked) Aが真になるためには、Bが真であることが必要 Aが真であれば、Bの真偽がわからない(M)で 商品ボタンは、在庫があって、お金を投入す ある ることで表示される。ボタンが表示されて初 クリップボードにデータがなければ、右 めて、「ボタン押下」が可能になる。 クリックメニューの「貼り付け(P)」は disableになっている。 REQ制約がないと商品ボタンが表示されない のにボタン押下をするテスト条件がでてきて ただし、disableであることを確認したい しまう。 場合は、MASKをつけない 15 JaSST’11 Kyushu
  16. 16. 講師と一緒に 使ってみよう CEGTestを動かしてみる 16 JaSST’11 Kyushu
  17. 17. CEGTestの基本操作  ノードを配置・編集する  リンクを作成・編集する  制約を作成・編集する 練習問題  位置を移動する  エクスポート  インポート デモ  編集操作(クリア、リンクの削除) http://softest.cocolog-nifty.com/labo/CEGTest/ 17 JaSST’11 Kyushu
  18. 18. 練習1 ここまでに登場したグラフをCEGTestで作ってみよう 例  ノードを配置・編集する  リンクを作成・編集する  位置を移動する 18 JaSST’11 Kyushu
  19. 19. 練習2 以下の原因結果グラフを描いてみよう 例  制約を作成・編集する  位置を移動する 19 JaSST’11 Kyushu
  20. 20. デモ  エクスポート  インポート  編集操作(クリア、リンクの削除) 20 JaSST’11 Kyushu
  21. 21. できる問題に 挑戦しよう 演習問題に挑戦 21 JaSST’11 Kyushu
  22. 22. 演習1(難易度★☆☆) この入園料の仕様を原因結果グラフに表現せよ。 動物園の入園料は、以下の条件で割引となる。 ・6歳以下で地元住民 ・65歳以上 22 JaSST’11 Kyushu
  23. 23. 演習2(難易度★★☆) 以下の仕様について原因結果グラフを作成せよ。 映画館の入場料金について 大人 1,800円 大学生・高校生 1,500円 中学生以下 1,000円 シニア(60歳以上) 1,000円 ※レイトショーは、1,000円 ※障がい者割引は、1,000円 ユナイテッド・シネマ キャナルシティ13(改変) 23 JaSST’11 Kyushu
  24. 24. 演習3(難易度★★★) 会員費が請求されるかどうかの原因結果グラフを作成せよ。 プレミアム会員は月額料金のサービスです。 会員費は、登録月は無料ですが、登録した月の途中で解除 した場合は1か月分の会員費が請求されます。 また、解除した日付にかかわらず、その月1か月分の会員 費が請求されます(日割り計算はしません)。 引用 http://help.yahoo.co.jp/help/jp/premium/premium-03.html 24 JaSST’11 Kyushu
  25. 25. 演習問題の解答 25 JaSST’11 Kyushu
  26. 26. 演習1(難易度★☆☆) この入園料の仕様を原因結果グラフに表現せよ。 動物園の入園料は、以下の条件で割引となる。 ・6歳以下で地元住民 「どちらか」っぽい ・65歳以上 で→かつ 制約は? 26 JaSST’11 Kyushu
  27. 27. 演習2(難易度★★☆) 以下の仕様について原因結果グラフを作成せよ。 映画館の入場料金について 大人 1,800円 大学生・高校生 1,500円 これが結果 中学生以下 1,000円 原因っぽい シニア(60歳以上) 1,000円 ※レイトショーは、1,000円 ※障がい者割引は、1,000円 ユナイテッド・シネマ キャナルシティ13(改変) 27 JaSST’11 Kyushu
  28. 28. 演習3(難易度★★★) 会員費が請求されるかどうかの原因結果グラフを作成せよ。 テストしたい目的はここ プレミアム会員は月額料金のサービスです。 会員費は、登録月は無料ですが、登録した月の途中で解除した場合は1か月分の会員費が請求されます。 また、解除した日付にかかわらず、その月1か月分の会員費が請求されます(日割り計算はしません)。 引用 http://help.yahoo.co.jp/help/jp/premium/premium-03.html 6月、7月、8月に会員費請求 ☆ ☆ ☆ 7月、8月に会員費請求 ☆ ▼ 7月、8月に会員費請求 ☆ ▼ 6月に会員費請求 ▼ 7月に会員費請求 ▼ ▼ 8月に会員費請求 会員費請求は ☆(利用している月) ▼(解約した月)のいずれか 28 JaSST’11 Kyushu
  29. 29. 演習3(難易度★★★) 会員費が請求されるかどうかの原因結果グラフを作成せよ。 テストしたい目的はここ プレミアム会員は月額料金のサービスです。 会員費は、登録月は無料ですが、登録した月の途中で解除した場合は1か月分の会員費が請求されます。 また、解除した日付にかかわらず、その月1か月分の会員費が請求されます(日割り計算はしません)。 引用 http://help.yahoo.co.jp/help/jp/premium/premium-03.html プレミアム会員ならば、解除日が今月かどうかは不明 29 JaSST’11 Kyushu
  30. 30. まとめ 30 JaSST’11 Kyushu
  31. 31. 今日のチュートリアルのまとめ  原因結果グラフは論理関係のテスト技法のひとつ  DTやCFDよりも難しいのでツールが必要  CEGTestはグラフ作成の無償ツール  テスト技法でもあり、仕様・設計の整理も可能  CEGTestを使った個人演習  グラフ(ノード・リンク・制約)の基本的な描き方  仕様・設計を読み解いて、整理する思考  グラフの修正、追記、見直し  目の前のドキュメントの論理関係が見えてきます  テスト技法も有効な場面で使わないと効果がでません  CEG以外のテスト技法の使い方も振り返ってみよう 31 JaSST’11 Kyushu
  32. 32. 参考情報  「ソフトウェアテスト技法ドリル」,秋山 浩一著  http://www.amazon.co.jp/dp/4817193603/  原因結果グラフによるテスト設計支援ツール – CEGTest  http://softest.cocolog-nifty.com/blog/cegtest.html  連絡先 softest@nifty.com  TEF主催勉強会資料(2011年2月7日)  http://www.swtest.jp/wiki/index.php?TEF%2FStudyMeetin g%2F20110207  http://togetter.com/li/98166 32 JaSST’11 Kyushu
  33. 33. 2時間お疲れ様でした 33 JaSST’11 Kyushu

×