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.

wacate2012w

1,335 views

Published on


WACATE2012冬のセッション資料。
http://wacate.jp/

「かいてみようCFD」(Let's draw CFD)と題して、テスト技法の1つであるCFDについてお話ししたセッションです。

Special Thanks to:
・私の拙い質問に答えてくださった方々
・資料を教えてくださった方々
・レビューしてくださった皆様

  • Be the first to comment

wacate2012w

  1. 1. かいてみようCFD ※公開用(一部、削除・更新しています) WACATE2012冬 近江 久美子(WACATE実行委員会)(ワークのサポート 上田 卓由(WACATE実行委員会)) Copyright (C) 2012 Kumiko Ohmi All rights reserved 1
  2. 2. こんなあなたに• 条件について考慮漏れがあった• 仕様の確認不足で欠陥を見逃した Copyright (C) 2012 Kumiko Ohmi All rights reserved 2
  3. 3. 準備OK?目次 1. まずは、基本2.復習がてら~関連が深い技法 3. 腕試し! 4. 踏み込んで、+α 5. 視野を広げて Copyright (C) 2012 Kumiko Ohmi All rights reserved 3
  4. 4. 準備OK?目次 1. まずは、基本 2.復習がてら~関連が深い技法 3. 腕試し! 4. 踏み込んで、+α 5. 視野を広げて Copyright (C) 2012 Kumiko Ohmi All rights reserved 4
  5. 5. CFDの特徴と生い立ち• CFD=Cause Flow Diagram – 複雑な論理に対するテストに – “Case Flow Diagram”(本「ソフトウェア 開発・検証技法」より)とされていた頃も Windows3.1、 NTより前• 松尾谷 徹氏が1980年代に開発 (1990年台) – 今も発展し続けている – WACATE2012冬「CFD++(仮)」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 5
  6. 6. CFDの特徴と生い立ち• 「テスト技法ポジショニングマップ」引用元: http://www.hayst.com/Pages/positioning.aspx Copyright (C) 2012 Kumiko Ohmi All rights reserved 6
  7. 7. CFDの特徴と生い立ち• 技法として CFD法(CFD技法)は、同値分割、CFD、デシジョ ンテーブルから構成される• 図として ユーザーID パスワード メールアドレス 登録 未登録 入力あり 入力あり 処理 登録済 入力なし 入力なし エラー • フリーで利用できるツール「 drawCFD(仮) 」 – http://softest.cocolog-nifty.com/labo/drawCFD/ – デシジョンテーブルへの変換も可能 Copyright (C) 2012 Kumiko Ohmi All rights reserved 7
  8. 8. 例題で考えみましょう• 例題 新規会員登録ボタンを押した時の 挙動  まず「ユーザーID」に未登録の値が入力さ れていることを確認する。  次に「パスワード」「メールアドレス」に、値が 入力されていることを確認する。  上記の条件を全て満たす場合は登録処 理へ、 それ以外の場合はエラーとする。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 8
  9. 9. 例題で考えみましょう• CFDの登場人物 –原因 –結果 –流れ(線) Copyright (C) 2012 Kumiko Ohmi All rights reserved 9
  10. 10. 例題で考えみましょう• 手順 – CFDをかく • 同値分割を使いテストすべき結果とその原因を見 つけ出し、図にする • 処理順に従って流れ線をかく – CFDを元にデシジョンテーブルをかく • CFD、デシジョンテーブルを照合して確認する Copyright (C) 2012 Kumiko Ohmi All rights reserved 10
  11. 11. 同値分割を使いテストすべき結果とその原因を見つけ出し、図にする Copyright (C) 2012 Kumiko Ohmi All rights reserved 11
  12. 12. 例題で考えみましょう• テストすべき結果と原因は? – 例題 新規会員登録ボタンを押した時の挙動  まず「ユーザーID」に未登録の値が入力さ れていることを確認する。  次に「パスワード」「メールアドレス」に、値が 入力されていることを確認する。  上記の条件を全て満たす場合は登録処 理へ、 それ以外の場合はエラーとする。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 12
  13. 13. 例題で考えみましょう• テストすべき結果は? – 例題 新規会員登録ボタンを押した時の挙動  まず「ユーザーID」に未登録の値が入力さ れていることを確認する。  次に「パスワード」「メールアドレス」に、値が 入力されていることを確認する。  上記の条件を全て満たす場合は登録処 理へ、 それ以外の場合はエラーとする。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 13
  14. 14. 例題で考えみましょう• 結果の原因は?  まず「ユーザーID」に未登録の値が入力され ていることを確認する。  次に「パスワード」「メールアドレス」に、値が入 力されていることを確認する。  上記の条件を全て満たす場合は登録処理 へ、 それ以外の場合はエラーとする。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 14
  15. 15. 例題で考えみましょう• 同値分割して、図にしましょう ~結果  上記の条件を全て満たす場合は登録処理へ、 それ以外の 場合はエラーとする。 • 三浦マグロさんの場合 – ユーザーIDmaguro, ****, magu@example.com” • 若手太郎さんの場合 – “wakate, ****, taro@example.com” ⇒ 値に関わらず、「登録処理」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 15
  16. 16. 例題で考えみましょう• 同値分割して、図にしましょう ~結果  上記の条件を全て満たす場合は登録処理へ、 それ以外の 場合はエラーとする。 – 有効系か無効系を判断しましょう • 目的の機能が動作する結果 – 有効系の結果 登録 処理 • 目的の機能が動作しない結果 – 無効系の結果 – 下のほうに横線か塗りつぶし エ – CFDでは、優先度は有効系より低い ラー Copyright (C) 2012 Kumiko Ohmi All rights reserved 16
  17. 17. 例題で考えみましょう• 同値分割して、図にしましょう ~原因  「パスワード」「メールアドレス」に、値が入力されていることを 確認する。 • 結果に対する影響を元に分割する • 「入力されていること」以外=「入力されていな いこと」 – 1文字、2文字、 …=「入力あり」 – 有効系か無効系を判断しましょう • どちらが有効系の結果につながりますか? Copyright (C) 2012 Kumiko Ohmi All rights reserved 17
  18. 18. 例題で考えみましょう• 同値分割して、図にしましょう ~原因  「パスワード」「メールアドレス」に、値が入力されていることを 確認する。 パスワード 入力あり 入力なし Copyright (C) 2012 Kumiko Ohmi All rights reserved 18
  19. 19. 例題で考えみましょう• 同値分割して、図にしましょう ~原因  「パスワード」「メールアドレス」に、値が入力されていることを 確認する。 パスワード 同値分割図 入力あり 有効系 → 小さい島 無効系 → 大きい島 入力なし – 図で表現した原因は処理の順に並べておきます Copyright (C) 2012 Kumiko Ohmi All rights reserved 19
  20. 20. 処理順に 従って 流れ線をかくCopyright (C) 2012 Kumiko Ohmi All rights reserved 20
  21. 21. 例題で考えみましょう• 流れ線をかきましょう  まず「ユーザーID」に未登録の値が入力されていることを確認する。  次に「パスワード」「メールアドレス」に、値が入力されていることを確認す る。  上記の条件を全て満たす場合は登録処理へ、 それ以外の場合はエ ラーとする。 ユーザーID パスワード メールアドレス 登録 未登録 入力あり 入力あり 処理 登録済 入力なし 入力なし 登録処理にたどりつくには エラー 原因のどこを通る? Copyright (C) 2012 Kumiko Ohmi All rights reserved 21
  22. 22. 例題で考えみましょう• 注意その1 流れ線は処理順通りに – CFDでは、より合理的なテストをめざし実装 の情報も利用 メールアドレス パスワード ユーザーID 登録 入力あり 入力あり 未登録 処理 入力なし 入力なし 登録済 ユーザーIDの確認でエラーなのに エラー メールアドレスとパスワードの処理が 行われる? Copyright (C) 2012 Kumiko Ohmi All rights reserved 22
  23. 23. 例題で考えみましょう• 注意その2 無効系は1つずつテストユーザーID パスワード メールアドレス 登録 未登録 入力あり 入力あり 処理 登録済 入力なし 入力なし エラーエラーはどの原因で起こった? Copyright (C) 2012 Kumiko Ohmi All rights reserved 23
  24. 24. 例題で考えみましょう• (図としてのCFDは)完成!ユーザーID パスワード メールアドレス 登録 未登録 入力あり 入力あり 処理 登録済 入力なし 入力なし エラー• ここからデシジョンテーブルをかきまし ょう Copyright (C) 2012 Kumiko Ohmi All rights reserved 24
  25. 25. CFDを元にデシジョンテーブルをかく Copyright (C) 2012 Kumiko Ohmi All rights reserved 25
  26. 26. 例題で考えみましょう• デシジョンテーブル作成 – CFDの原因→デシジョンテーブルの条件へ – CFDの結果→デシジョンテーブルの動作へ – CFDの流れ線を追って、デシジョンテーブル の列を埋める Copyright (C) 2012 Kumiko Ohmi All rights reserved 26
  27. 27. 例題で考えみましょう• デシジョンテーブル作成 ユーザーID パスワード メールアドレス 登録 未登録 入力あり 入力あり 確認 処理 登録済 入力なし 入力なし テスト項目番号 1原因 ユーザーID 未登録 1 エラー 登録済 0 パスワード 入力あり 1 入力なし 0 メールアドレス 入力あり 1 入力なし 0結果 登録処理 1 エラー Copyright (C) 2012 Kumiko Ohmi All rights reserved 27
  28. 28. 例題で考えみましょう• デシジョンテーブル作成 テスト項目番号 1 2 3 4 原因 ユーザーID 未登録 1 0 1 1 登録済 0 1 0 0 パスワード 入力あり 1 ― 1 0 入力なし 0 ― 0 1 メールアドレス 入力あり 1 ―― 0 入力なし 0 ―― 1 結果 登録処理 1 エラー 1 1 1 Copyright (C) 2012 Kumiko Ohmi All rights reserved 28
  29. 29. 例題で考えみましょう• 照合してチェック ユーザーID パスワード メールアドレス 登録 未登録 入力あり 入力あり 処理 登録済 入力なし 入力なし エラー テスト項目番号 1 2 3 4原因 ユーザーID 未登録 1 0 1 1 登録済 0 1 0 0 パスワード 入力あり 1 ― 1 0 入力なし 0 ― 0 1 メールアドレス 入力あり 1 ―― 0 入力なし 0 ―― 1結果 登録処理 1 エラー 1 1 1 Copyright (C) 2012 Kumiko Ohmi All rights reserved 29
  30. 30. 例題で考えみましょう• 手順 – CFDをかく • 同値分割を使いテストすべき結果とその原因を洗 い出す • 結果、原因を図にする • 処理順に従って流れ線をかく – CFDを元にデシジョンテーブルをかく • CFD、デシジョンテーブルを照合して確認する Copyright (C) 2012 Kumiko Ohmi All rights reserved 30
  31. 31. 準備OK?目次 1. まずは、基本 2. 復習がてら ~関連が深い技法 3. 腕試し! 4. 踏み込んで、+α 5. 視野を広げて Copyright (C) 2012 Kumiko Ohmi All rights reserved 31
  32. 32. 関連が深い技法:同値分割 Copyright (C) 2012 Kumiko Ohmi All rights reserved 32
  33. 33. 関連が深い技法:同値分割• 全部はテストできない – 同じ欠陥が出るであろうもの同士、グループに – 例 1月の日付が入力されていたら、… • 1/1-1/31 • 上記以外12/ 1/ 1/ 1/1 1/2 … 2/1 2/2 31 30 31 if (mmdd >= 20120101 and mmdd <=20120131){ … Copyright (C) 2012 Kumiko Ohmi All rights reserved 33
  34. 34. 関連が深い技法:同値分割• 全部はテストできない – 同じ欠陥が出るであろうもの同士、グループに – 例 1月の日付が入力されていたら、…12/ 1/ 1/ 1/1 1/2 … 2/1 2/2 31 30 31 日付 1/1-1/31 2/1-12/31 Copyright (C) 2012 Kumiko Ohmi All rights reserved 34
  35. 35. 関連が深い技法:同値分割• 同値分割図、何かに似ていませんか? パスワード ML申込み 入力あり する 日付 入力なし しない 1/1-1/31 2/1-12/31 Copyright (C) 2012 Kumiko Ohmi All rights reserved
  36. 36. 関連が深い技法:同値分割• 同値分割図、何かに似ていませんか? ML申込み ML申込み する する しない しない Copyright (C) 2012 Kumiko Ohmi All rights reserved 36
  37. 37. 関連が深い技法:同値分割• CFDの場合 – 図にして考えると、他にないか?を考えやすい • 例 ML申込み「する」の場合は、… ML申込み する • しない Copyright (C) 2012 Kumiko Ohmi All rights reserved 37
  38. 38. 関連が深い技法:同値分割• CFDの場合 – 図にして考えると、他にないか?を考えやすい • 例 ML申込み「する」の場合は次の処理を行う ML申込み • しない する • 申込み済 • 過去に申し込んでいたことがある 仕様、設計に抜け漏れはないか? 考えましょう Copyright (C) 2012 Kumiko Ohmi All rights reserved 38
  39. 39. 関連が深い技法:デシジョンテーブル Copyright (C) 2012 Kumiko Ohmi All rights reserved 39
  40. 40. 関連が深い技法:デシジョンテーブル• デシジョンテーブル – 複数の変数や条件の論理的な関係を扱うとき に活用できる Copyright (C) 2012 Kumiko Ohmi All rights reserved 40
  41. 41. 関連が深い技法:デシジョンテーブル ※フォーマットや1、0、―の表記は 異なることもある テスト項目番号 1 2 3 4 原因 ユーザーID 未登録 1 0 1 1 登録済 0 1 0 0 パスワード 入力あり 1 ― 1 0 入力なし 0 ― 0 1 メールアドレス 入力あり 1 ―― 0 入力なし 0 ―― 1 結果 登録処理 1 エラー 1 1 1 Copyright (C) 2012 Kumiko Ohmi All rights reserved 41
  42. 42. 関連が深い技法:デシジョンテーブル ※フォーマットや1、0、―の表記は条件を、判定順に列挙する 異なることもある (CFDでは「原因」) テスト項目番号 1 2 3 4 原因 ユーザーID 未登録 1 0 1 1 登録済 0 1 0 0 パスワード 入力あり ― 1 0 1 入力なし 0 ― 0 1 メールアドレス 入力あり 1 ―― 動作(処理)を、実行順に列挙する 0 (CFDでは「結果」) 入力なし 0 ―― 1 結果 登録処理 1 エラー 1 1 1 Copyright (C) 2012 Kumiko Ohmi All rights reserved 42
  43. 43. 関連が深い技法:デシジョンテーブル ※フォーマットや1、0、―の表記は 異なることもある テスト項目番号 1 2 3 4 原因 ユーザーID 未登録 1 0 1 1 登録済 0 1 0 0 条件(原因)の組合せとそれに パスワード 入力あり 対応する動作(結果)が書かれている 1 ― 1 0 規則(各列) 入力なし 0 ― 0 1 メールアドレス タテに読む 入力あり 1 ―― 0 入力なし 0 ―― 1 結果 登録処理 1 エラー 1 1 1 Copyright (C) 2012 Kumiko Ohmi All rights reserved 43
  44. 44. 関連が深い技法:デシジョンテーブル• デシジョンテーブル – 原因と結果(条件と動作)の関係を表で表現 • テストを実行するときに扱いやすい • 異なる視点からの二重チェックができる – 原因と結果が全てテストされるか? – 組合せ、流れ線に抜けはないか? Copyright (C) 2012 Kumiko Ohmi All rights reserved 44
  45. 45. 関連が深い技法:デシジョンテーブル• CFDの場合 – CFD(図)で洗い出した原因、結果の同値を全て書く • デシジョンテーブルの条件はCFDの原因へ – デシジョンテーブルの条件(原因)の並びとCFDの原因並びは同じ • デシジョンテーブルの動作はCFDの結果へ • CFDの流れ線はデシジョンテーブルの列(条件と結果の組合せ) へ – 1で表現すると、同値クラスの登場回数が判り、Excelの 関数等を使ってチェックしやすくなる テスト項目番号 1 2 3 4 原因 ユーザーID 未登録 1 0 1 1 登録済 0 1 0 0 パスワード 入力あり 1 ― 1 0 入力なし 0 ― 0 1 メールアドレス 入力あり 1 ―― 0 入力なし 0 ―― 1 結果 登録処理 1 エラー 1 1 1 Copyright (C) 2012 Kumiko Ohmi All rights reserved 45
  46. 46. 準備OK?目次 1. まずは、基本 2.復習がてら~関連が深い技法 3. 腕試し! 4. 踏み込んで、+α 5. 視野を広げて Copyright (C) 2012 Kumiko Ohmi All rights reserved 46
  47. 47. ワーク1• 個人ワークで考えて頂きます• 回答時間は10分 – 足りない人はその後の休憩10分もどうぞ• 時間が余ったら… – デシジョンテーブル作成 – CFDとの照合• 迷ったところはメモ! – ワーク2の共有時間や休憩時間に Copyright (C) 2012 Kumiko Ohmi All rights reserved 47
  48. 48. ワーク1※問題は別紙で配布。 別紙は本「公開用」のプレゼン資料には 掲載しないが、 後の「4. 踏み込んで、+α 」内にて 問題文の一部を掲載している。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 48
  49. 49. ワーク1• この例題でお伝えしたかったこと – 「どちらのやり方でかこうかな」迷ったひと はいますか? Copyright (C) 2012 Kumiko Ohmi All rights reserved 49
  50. 50. 準備OK?ズームイン、ズームアウト Copyright (C) 2012 Kumiko Ohmi All rights reserved 50
  51. 51. ズームイン、ズームアウト• 同値分割の粒度を変えてズームイン、ズ ームアウト – 必要なテストを絞り込む – 例 ※出力Wの有効/無効は別途テストする 出力W 200W 出力W 500W 有効なW 600W 無効なW 1000W 無効なW Copyright (C) 2012 Kumiko Ohmi All rights reserved 51
  52. 52. ワーク2• 個人ワークで考えて頂いたあとで、グル ープ内で共有して頂きます – 考え方を説明できるようにしてください • 例 原因と結果の洗い出しから図示までに考えた こと • 例 流れ線をかくときに考えたこと – 時間が余ったら… • デシジョンテーブル作成 • CFDとの照合 Copyright (C) 2012 Kumiko Ohmi All rights reserved 52
  53. 53. ワーク2※問題は別紙で配布。 問題に関するプレゼン資料および別紙は、 本「公開用」のスライドには掲載なし。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 53
  54. 54. ワーク2• 回答時間:15分間 – 時間が余ったら… • デシジョンテーブル作成 • CFDとの照合• 終了後、20分程度かけて考え方を班内で 共有して頂きます Copyright (C) 2012 Kumiko Ohmi All rights reserved 54
  55. 55. ワーク2• 共有の時間:20分間• 班内で考え方を共有しましょう – 目的は、他のひとの回答と同じところ、違う ところから学ぶことです – 考え方まで踏み込んで聞いてみましょう• 考え方、置いた前提、疑問点 – ワーク1で疑問があれば、この機会に• 何班かに、出た話を発表して頂きます – 共有しましょう。2、3まとめてください Copyright (C) 2012 Kumiko Ohmi All rights reserved 55
  56. 56. 準備OK?目次 1. まずは、基本 2.復習がてら~関連が深い技法 3. 腕試し! 4. 踏み込んで、+α 5. 視野を広げて Copyright (C) 2012 Kumiko Ohmi All rights reserved 56
  57. 57. ?• ワーク1の問題がこうだったら? ①重量センサがONであることを確認する。 ②出力Wが以下のいずれかであることを確認する。 200W / 500W / 600W / 1000W ③あたため時間を確認する。 20秒~1800秒(30分)が有効な値である。 整数で指定し、20秒単位で設定することができる。 ④扉センサがONであることを確認する。 ⑤上記①~③全てを満たす場合はあたためを開始 する。満たさない場合は、通常エラーとする。④を満 たさない場合は、扉開放エラーとする。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 57
  58. 58. ? エラーの出し分けも 確認したいときは? (略) ④扉センサがONであることを確認する。 ⑤上記①~③全てを満たす場合はあたためを開始す る。満たさない場合は、通常エラーとする。④を満たさ ない場合は、扉開放エラーとする。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 58
  59. 59. 準備OK? 有効系? 無効系? Copyright (C) 2012 Kumiko Ohmi All rights reserved 59
  60. 60. 有効系? 無効系?• 優先的にテストしたいものは、有効系に – ユーザ(お客様)にとって重要なものは? 優先的にテストすべきものは? – 絶対的な区別ではない• 例 扉センサがOFFの場合は別処理が続く• 例 エラーやワーニングのメッセージの 出し分けを確認したい Copyright (C) 2012 Kumiko Ohmi All rights reserved 60
  61. 61. 有効系? 無効系?• ワーク1 回答例 扉センサ 出力W あたため時間 ON 有効なW 有効な時間 OFF 無効なW 無効な時間重量センサ あたた ON め開 始 OFF 扉開 通常 放エ エラー ラー Copyright (C) 2012 Kumiko Ohmi All rights reserved 61
  62. 62. ?• 最初の例題がこうだったら? – 例題 新規会員登録ボタンを押した時の挙動  ログイン状態でないことを確認する。  「ユーザーID」に有効な値が入力されていることを確認す る。  次に「パスワード」「メールアドレス」に、値が入力されてい ることを確認する。  上記の条件を全て満たす場合は登録処理へ、 それ以 外の場合はエラーとする。  登録処理と同時にログイン処理も行われる。 Copyright (C) 2012 Kumiko Ohmi All rights reserved 62
  63. 63. 状態を扱うCopyright (C) 2012 Kumiko Ohmi All rights reserved 63
  64. 64. 状態を扱う 最初は未済でも、• 何か足りない… 結果的には済になる…ログイン状態 ユーザーID パスワード メールアドレス 未済 未登録 入力あり 入力あり 登録 処理 済 登録済 入力なし 入力なし エラー Copyright (C) 2012 Kumiko Ohmi All rights reserved 64
  65. 65. 状態を扱う• 状態=自分自身も変わることがある – 原因と結果の両方に登場ログイン状態 ユーザーID パスワード メールアドレス 未済 未登録 入力あり 入力あり 登録 処理 済 登録済 入力なし 入力なし ログイン状態の変化 済へ エラー 未済へ Copyright (C) 2012 Kumiko Ohmi All rights reserved 65
  66. 66. ここまでの話• CFDの特徴と生い立ち• CFDの書き方• 同値分割、デシジョンテーブルとの関係• トピック – ズームイン、ズームアウト – 有効系? 無効系? – 状態を扱う Copyright (C) 2012 Kumiko Ohmi All rights reserved 66
  67. 67. 準備OK?目次 1. まずは、基本 2.復習がてら~関連が深い技法 3. 腕試し! 4. 踏み込んで、+α 5. 視野を広げて Copyright (C) 2012 Kumiko Ohmi All rights reserved 67
  68. 68. なぜCFD?ー見落とし防止、コミュニケーション 促進の仕掛け Copyright (C) 2012 Kumiko Ohmi All rights reserved 68
  69. 69. 視野を広げて• インシデント、欠陥(バグ、不具合、…) – 見落とし • 例 条件の考慮漏れが、リリース後の問題に • 例 うるう年の場合を想定していなかった – コミュニケーション不足 • 例 仕様の確認不足でバグに気づけなかった • 例 入力がない場合は、処理は終了? 続行? Copyright (C) 2012 Kumiko Ohmi All rights reserved 69
  70. 70. 視野を広げて• インシデント、欠陥(バグ、不具合、…) – 見落とし • 例 条件の考慮漏れが、リリース後の問題に • 例 うるう年の場合を想定していなかった – コミュニケーション不足 • 例 仕様の確認不足でバグに気づけなかった • 例 入力がない場合は、処理は終了? 続行? Copyright (C) 2012 Kumiko Ohmi All rights reserved 70
  71. 71. 視野を広げて• CFD – 処理順を意識する • 設計の検討に使い早期から見落とし防止に • 必要なテストを絞込み、優先度の高い部分の テストを練る時間を増やす – 図なので全体を意識、俯瞰しやすい – 「今見ているものの外側」に目を向けや すい – 一人でも使える Copyright (C) 2012 Kumiko Ohmi All rights reserved 71
  72. 72. 5. 視野を広げて• インシデント、欠陥(バグ、不具合、…) – 見落とし • 例 条件の考慮漏れが、リリース後の問題に • 例 うるう年の場合を想定していなかった – コミュニケーション不足 • 例 仕様の確認不足でバグに気づけなかった • 例 入力がない場合は、処理は終了? 続行? Copyright (C) 2012 Kumiko Ohmi All rights reserved 72
  73. 73. 視野を広げて• CFD –設計段階で使うと早期にテストに意識を向けや すくなる • 設計でCFDをつくりテストでそこから生成し たデシジョンテーブルを使う – 直感的に理解しやすい – テストエンジニアでなくても読める • ステークホルダー同士の情報共有や説明にも Copyright (C) 2012 Kumiko Ohmi All rights reserved 73
  74. 74. 参考文献• 2012年度 秋山浩一のソフトウェアテスト技法ドリルセミナー テキスト – 一般財団法人 日本科学技術連盟, 2012年• ソフトウェアテスト技法ドリル―テスト設計の考え方と実際 – 秋山 浩一 (著) ,日科技連出版社, 2010年• ソフトウェア・テスト PRESS 総集編 – ソフトウェア・テストPRESS編集部 編 (著), ソフトウェア・テストPRESS編集部 (編集) , 技術評論社, 2011年 – 付属CD内 ソフトウェア・テスト PRESS Vol.9 • ソフトウェアテストの未来を知るヒント 続・ソフトウェアテスト・ヒストリー(日 本編), 辰巳敬三 – 付属CD内 ソフトウェア・テストPRESS Vol.8 • 難しいテストを簡単にCFD法の極意【前編】, 松尾谷徹• ソフトウェア開発・検証技法 – 松本 正雄 (著), 小山田 正史 (著), 松尾谷 徹 (著), 電子情報通信学会, 1997年 Copyright (C) 2012 Kumiko Ohmi All rights reserved 74
  75. 75. 参考文献• 第4回ソフトウェアテスト技法ドリル勉強会講義資料 – http://www.slideshare.net/oota_ken/4• CFD 技法の評価と事例に基づくガイドの作成 – http://www.juse.or.jp/software/pdf/20_spc/8/7_d_report.pdf• 原因流れ図によるテストケース抽出技法 – http://ci.nii.ac.jp/naid/110002874854• 三賢者、テストを語る – http://www.jasst.jp/archives/jasst07e/pdf/A5.pdf• ソフトウェアテストの勉強室 – アーカイブス CFD法 • http://softest.cocolog-nifty.com/blog/cfd/index.html – drawCFD(仮) • http://softest.cocolog-nifty.com/labo/drawCFD/• ソフトウェアテストの本質を振り返る – http://jasst.jp/symposium/jasst12kansai/pdf/A2-3.pdf• テスト技法ポジショニングマップ – http://www.hayst.com/Pages/positioning.aspx – ※サイト「HAYST法」(http://www.hayst.com/Pages/default.aspx)内• テストケース抽出の一方式 : 「原因流れ図」 – http://ci.nii.ac.jp/naid/110002870800• テストケース抽出の一方式「順序回路を含む場合」 – http://ci.nii.ac.jp/naid/110002880001 Copyright (C) 2012 Kumiko Ohmi All rights reserved 75

×