3K Views
December 10, 23
スライド概要
こちらのイベントで発表した資料になります。
「テスト分析とテスト設計勉強会」
https://connpass.com/event/47938/
テスコン優勝事例における テスト分析・設計の解説 テスト分析とテスト設計勉強会 2月3日(金) (第2部-3) 10:30-10:45 河野 哲也 (FB: tetsuya Kouno) 当日の発表資料から一部のスライドを削除しました。 1
本発表のサマリ • 何の集まりですか? – テスト分析とテスト設計の違いに関心のある人が 集まって考える会議 • どんな発表をしますか? – テスコンの経験を通して、 私なりのテスト分析・テスト設計の解釈をシェアする – ただし、いきなりテスコンの事例だと分かりにくいので、 先に2つの分かりやすい例で考え方を整理する 2
本プレゼンテーションの分析 • 分析の関心事 – – – – – 聴講者の特徴(年齢層/技術ドメイン/技術レベル(入門者/識者)) 聴講者の人数、会場の大きさ、投影スクリーンの数、持ち時間 何の集まり?、聴講者の期待や要求、有料か?無料か? スライドは事前配布か?、配布なしか?、フォーマル/インフォーマル 河野の持ちネタ • 分析結果 – 聴講者はテストエンジニアがメイン、 技術レベルはまちまちなので入門者に合わせる、年齢は? – 聴講者の人数は100名強、会場は大きいのでフォントサイズは大きめに – 持ち時間15分、LTなので早口OK?、無料でインフォーマル – 聴講者は、テスト分析とテスト設計の?をすっきりしたい – 河野の持ちネタはテスコンの事例 3
本プレゼンテーションの設計 4
分析と設計 • 考えて何かしらの成果物を生成するという行為 – つまり外から見ていると同じように見える • 行為としての知的変換の大きさが違う – 分析は小さい(変換前と後の世界が同じ) 設計は大きい(変換前と後の世界が違う) • 料理に例えると、分析は材料集め、設計は料理くらい違う • 河野の理解: 分析は世界の整理、設計は課題解決 – 設計課題という言葉もある、課題はまちまち 5
設計: 要求から解へ 吉川,一般設計学 - 知能システム分野 (http://www.robot.t.u-tokyo.ac.jp/asamalab/lectures/lecture6/files/20110112GeneralDesignTheory.pdf) から引用 6
発表の流れ • まず分かりやすい例で分析・設計を考える – お家を建てる:我が家の事例を通して (ただし、注文住宅の場合) • 次に分かりにくい例で分析・設計を考える – テストを開発する:テスコンの事例を通して 極力、テストの難しい専門用語を使わずに 分かりやすい言葉で説明したいと思います 7
お家を建てるときの分析 • 住む人の周りの世界を整理する 【営業の腕の見せ所】 – 住む人たちのビュー • 住む人たちの今後の計画 – 家族が増えるか、両親と同居の可能性があるか、 自宅で仕事をするか • 住む人たちの現在の生活パターン – 日中家にいるか、休日は何をしているか、 生活の導線がどうなっているか、趣味 • 家のテイストや求めているモノ/コト – 和風/洋風、リラックス/洗練されている感じ、 寒さや暑さの感度、趣味 – 制約のビュー • 場所(建物の制限)/予算/土地の特徴/(建築基準法) 8
お家を建てるときの設計 • 設計:お家の図面を書く【設計士の腕の見せ所】 – 上記分析結果を満たすようなお家の構造を設計する • 一言でいうと、図面を書く • 分析と設計の大きな違いは登場人物が違う – 分析:住む人、営業、設計士 – 設計:設計士、現場監督、大工、営業 • 住む人は、分析結果に基づき設計士の説明によって 設計結果を確認するのみ 9
わかりやすい例のまとめ • 分析と設計を理解しようと思ったら まずはテストで考えないほうが良さそう – 細かい作業で見ると、例えばデシジョンテーブルは 私個人は、設計ではなくて、分析している感覚 • 何かの例を考えて テストに置き換えて理解したほうが良さそう – ただし、ソフトウェア開発は外したほうが良いと思う – ただし、テストと相性の良い例があんまりない • 人間ドックで検査している項目の設計とかはどうかな? 10
発表の流れ • まず分かりやすい例で分析・設計を考える – お家を建てる:我が家の事例を通して • 次に分かりにくい例で分析・設計を考える – テストを開発する:テスコンの事例を通して 極力、テストの難しい専門用語を使わずに 分かりやすい言葉で説明したいと思います 11
はじめに • 2013年に出場したテスト設計コンテストの成果物を ベースにテスト分析・設計を考える • 使用するのは、次の資料 /http://www.hitachi.co.jp/Prod/comp/soft1/topics/jasst/ • トップダウンだとわかりにくいのでボトムアップで説明 12
説明の流れ • テスト要求分析 • テストアーキテクチャ設計 • テスト詳細設計 テストアーキテクチャ 設計書 テスト要求分析書 テスト 要求 テスト 要求 分析 テスト方針 テスト要求一覧 テストスコープ テスト アーキテ クチャ 設計 テストアーキテクチャ テスト要求仕様 テスト設計方針 テスト詳細設計書 テスト 詳細 設計 テスト設計モデル テスト項目 関心事 13
ボトムアップ? • テスト詳細設計 • テストアーキテクチャ設計 • テスト要求分析 テストアーキテクチャ 設計書 テスト要求分析書 テスト 要求 テスト 要求 分析 テスト方針 テスト要求一覧 テストスコープ テスト アーキテ クチャ 設計 テストアーキテクチャ テスト要求仕様 テスト設計方針 テスト詳細設計書 テスト 詳細 設計 テスト設計モデル テスト項目 関心事 分析と設計の必要性を確認しながら話を進めます (アーキテクチャ設計・テスト要求分析の必要性も) 14
2つのテスト分析・テスト設計 • プロセス/工程のビュー:大きな分析・設計 • 行為/作業のビュー:小さな分析・設計 – テスト開発プロセスを通して2つの分析・設計を概観する テスト アーキテ クチャ 設計 テスト 要求 分析 ・テスト 要求、 ・関心事 ・テストスコープ ・テスト要求一覧 テスト 詳細 設計 ・テストアーキテクチャ ・テスト要求仕様 ・テスト詳細 ・テスト設計方針 設計書 テスト方針 テスト 要求 分析 テスト要求 一覧 テスト 観点図 テスト 要求 関心事 テスト 対象 関心事 抽出 関心事 マップ テスト スコープ 策定 テスト要求仕様 +テスト設計方針 テスト 要素 分析 テスト 詳細 設計 テスト要素 (同値分割図) テスト設 計技法 テスト要求 一覧 テスト 方針 策定 テスト アーキテクチャ テスト 観点図 テスト設計仕様 (ハイレベルテストケース、 テストデザイン) テスト ベース テスト 対象 分析 DFDなど (モデル) テスト 対象 モデル DELTAM (モデル) テスト 要求 仕様化 テスト アーキテ クチャ 設計 テスト 要求 仕様 テスト アーキテクチャ テスト要求仕様 +テスト設計方針 テスト 設計方針 策定 15
ボトムアップ? • テスト詳細設計 • テストアーキテクチャ設計 • テスト要求分析 テストアーキテクチャ 設計書 テスト要求分析書 テスト 要求 テスト 要求 分析 テスト方針 テスト要求一覧 テストスコープ テスト アーキテ クチャ 設計 テストアーキテクチャ テスト要求仕様 テスト設計方針 テスト詳細設計書 テスト 詳細 設計 テスト設計モデル テスト項目 関心事 分析と設計の必要性を確認しながら話を進めます (アーキテクチャ設計・テスト要求分析の必要性も) 16
テスト詳細設計:給湯制御機能 テストベース テストケースを作った意図 がわからない テスト設計? テストケース No. 状態 イベント 状態 イベント 状態 1 ロック状態 給湯ボタン ロック状態 給湯ボタン ロック状態 2 ロック状態 給湯ボタン ロック状態 解除ボタン 給湯待ち状態 3 給湯待ち状態 解除ボタン ロック状態 給湯ボタン ロック状態 4 給湯待ち状態 解除ボタン ロック状態 解除ボタン 給湯待ち状態 5 ロック状態 解除ボタン 給湯待ち状態 解除ボタン ロック状態 6 ロック状態 解除ボタン 給湯待ち状態 給湯ボタンon 給湯状態 7 給湯状態 給湯ボタンoff 給湯待ち状態 解除ボタン ロック状態 8 給湯状態 給湯ボタンoff 給湯待ち状態 給湯ボタンon 給湯状態 9 給湯待ち状態 給湯ボタンon 給湯状態 給湯ボタンoff 給湯待ち状態 17
テスト詳細設計:給湯制御機能 テスト ベース いきなりモデルを書くとモデルの世 界に閉じてしまい状態やイベントが 漏れてしまいがちになる それと、設計しているときにその辺が 気になってきて不安になる テスト設計 テスト設計成果物 給湯 ボタンon 解除ボタン 給湯 ボタン 解除/ 給湯待 ち状態 ロック 状態 解除ボタン 解除 ボタン 給湯 状態 給湯 ボタンoff 0.1sec押下 (50msec) 給湯ボタン onの間 状態継続 テストケース No. 状態 イベント 状態 イベント 状態 1 ロック状態 給湯ボタン ロック状態 給湯ボタン ロック状態 2 ロック状態 給湯ボタン ロック状態 解除ボタン 給湯待ち状態 3 給湯待ち状態 解除ボタン ロック状態 給湯ボタン ロック状態 4 給湯待ち状態 解除ボタン ロック状態 解除ボタン 給湯待ち状態 5 ロック状態 解除ボタン 給湯待ち状態 解除ボタン ロック状態 6 ロック状態 解除ボタン 給湯待ち状態 給湯ボタンon 給湯状態 7 給湯状態 給湯ボタンoff 給湯待ち状態 解除ボタン ロック状態 8 給湯状態 給湯ボタンoff 給湯待ち状態 給湯ボタンon 給湯状態 9 給湯待ち状態 給湯ボタンon 給湯状態 給湯ボタンoff 給湯待ち状態 18
テスト詳細設計:給湯制御機能 テスト詳細設計 の単位と設計方 針をテストアー キテクチャ設計 で決めてあげる テスト ベース テスト対象分析 同値 分割図 解除ボタン 給湯ボタン ロック状態 給湯状態 ロックランプ 100msec≦ 押下 on ロック中 給湯中では ない on 100msec> 押下 off ロック 解除中 給湯中 off 給湯制御でテストにかかわ る要素をテストベースから 洗い出すことに集中する [給湯制御機能+テスト]の 世界を整理する テスト設計 給湯 ボタンon 解除ボタン 給湯 ボタン 解除/ 給湯待 ち状態 ロック 状態 解除ボタン 解除 ボタン テスト設計 成果物 給湯 状態 給湯 ボタンoff 0.1sec押下 (50msec) 給湯ボタン onの間 状態継続 テストケース No. 状態 イベント 状態 イベント 状態 1 ロック状態 給湯ボタン ロック状態 給湯ボタン ロック状態 2 ロック状態 給湯ボタン ロック状態 解除ボタン 給湯待ち状態 3 給湯待ち状態 解除ボタン ロック状態 給湯ボタン ロック状態 4 給湯待ち状態 解除ボタン ロック状態 解除ボタン 給湯待ち状態 5 ロック状態 解除ボタン 給湯待ち状態 解除ボタン ロック状態 6 ロック状態 解除ボタン 給湯待ち状態 給湯ボタンon 給湯状態 7 給湯状態 給湯ボタンoff 給湯待ち状態 解除ボタン ロック状態 8 給湯状態 給湯ボタンoff 給湯待ち状態 給湯ボタンon 給湯状態 9 給湯待ち状態 給湯ボタンon 給湯状態 給湯ボタンoff 給湯待ち状態 19
ボトムアップ? • テスト詳細設計 • テストアーキテクチャ設計 • テスト要求分析 テストアーキテクチャ 設計書 テスト要求分析書 テスト 要求 テスト 要求 分析 テスト方針 テスト要求一覧 テストスコープ テスト アーキテ クチャ 設計 テストアーキテクチャ テスト要求仕様 テスト設計方針 テスト詳細設計書 テスト 詳細 設計 テスト設計モデル テスト項目 関心事 分析と設計の必要性を確認しながら 話を進めます (アーキテクチャ設計・ テスト要求分析の必要性も) 20
テストアーキテクチャ設計 テスト ベース いきなり設計は たぶん無理 テストアーキテクチャ 設計 サ ー ビ ス レ イ ヤ 沸騰ポット ユーザビリティ評価 沸騰ポット 沸騰ポット 沸騰ポット 沸騰ポット ミスユース ケーステスト シナリオテスト 安全性確認 理解性評価 割込み確認 習熟性評価 温度制御 機能テスト タイマ 機 能 レ イ ヤ 給湯制御 機能テスト 機能テスト 保温機能 沸騰機能 アイドル 機能テスト 機能テスト 機能テスト 沸騰始動 ロック/ ロック解除 機能テスト レプ イラ ヤッ ト フ ォ ー ム デフォルト 設定・表示 機能テスト 給湯行為 機能テスト 沸騰始動 機能テスト 保温停止 機能テスト 節約 モード パフォーマンス 評価 機能テスト 沸騰行為 沸騰停止 機能テスト パフォーマン ス評価 カルキ抜き 性能評価 時間 性能評価 本テストのスコープ外 水位メータ 機能テスト 蓋 機能テスト 温度表示 電源部 ブザー サーミ スタ 動作 確認 音質 確認 変換 特性 確認 機能テスト ヒータ 制御 制御 方式 確認 エラー 検知 エラー パターン 確認 21
テストアーキテクチャ設計 テスト ベース テスト対象の構造を明らかにするために、 テスト対象の世界を整理する=テスト対象分析 テスト対象分析 タイマー ボタン 時間 情報 on on/off 給湯 ボタン 解除 ボタン on/off 蓋 給湯 制御 左下のテスト要求一覧をテスト対象の構造に合わせて 設計していく ポンプ ロック ランプ on on 電源 状態 水位 データ ブザー on on ヒーター 制御 状態 on/off 水位 センサー on on on on/off 蓋センサ タイマー 表示 タイマー 制御 エラー 情報 on テストアーキテクチャ設計 off on/off 給湯 状態 on/off 満水 センサー on/off 水位 メータ 水位 データ エラー 検知 エラー 情報 温度 情報 温度 制御 インジ ケータ on 保温 ランプ テスト要求 テスト要求番号 仕様番号 サーミスタ 温度 情報 on/off モード 情報 on 沸騰 ランプ モード 表示 温度 情報 温度 表示 on on 保温 設定 ボタン 沸騰 ボタン 説明 備考(テストフレーム、網羅観点(テスト条件)) 各種設定・表示の初期設定(デフォルト)の検証を行う 水位メータが提供している機能を検証する 蓋部が提供している機能の動作確認を行う 水温・湯温と温度表示が一致していることを検証する 設定・表示部-デフォルト確認 水位メータ部-機能テスト 蓋部-機能テスト 温度表示-機能テスト テスト要求 TRF01 タイマ機能が提供している機能を検証する タイマ機能-機能テスト テスト要求 TRF02 給湯機能が提供している機能を検証する 給湯機能-機能テスト テスト要求 TRF02-1 給湯行為の機能動作を検証する 給湯行為-機能テスト テスト要求 TRF02-2 ロック/ロック解除の機能動作を検証する 給湯停止-機能テスト テスト要求 TRF03 温度制御機能が提供している機能を検証する 温度制御機能-機能テスト テスト要求 TRF03-1 沸騰始動-停止の一連の機能動作を検証する 沸騰機能-機能テスト テスト要求 TRF03-1-1 沸騰始動(非始動)の機能動作を検証する 沸騰始動-機能テスト テスト要求 TRF03-1-2 沸騰停止の機能動作を検証する 沸騰停止-機能テスト テスト要求 TRF03-1-3 沸騰行為のパフォーマンスを評価する 沸騰行為-パフォーマンステスト テスト要求 TRF03-2 TRF03-1-3.1 沸騰行為の沸騰時間の性能を評価する TRF03-1-3.2 沸騰行為のカルキ抜きの性能を評価する 保温始動-停止の一連の機能動作を確認する 沸騰行為ー沸騰時間性能 沸騰行為ーカルキ抜き性能 保温機能-機能テスト テスト要求 TRF03-2-1 保温始動の機能動作を確認する 保温始動-機能テスト テスト要求 TRF03-2-2 保温停止の機能動作を検証する 保温停止-機能テスト テスト要求 TRF03-2-3 節約モードの節約パフォーマンスを評価する 節約モード-パフォーマンステスト テスト要求 TRF03-3 アイドルの機能動作を検証する アイドル-機能テスト テスト要求 TRS01 沸騰ポットに対して安全性観点で検証を行う 沸騰ポット-安全性テスト テスト要求 TRS02 沸騰ポットのユーザビリティ評価を行う 沸騰ポット-ユーザビリティ評価 テスト要求 TRS03 TRS02.1 沸騰ポットの理解性評価を行う TRS02.2 沸騰ポットの習熟性評価を行う ユースケースに従い沸騰ポットの動作確認を行う 使用性評価 習熟性評価 沸騰ポット-ユースケーステスト テスト要求 TRS04 ミスユースケースに従い沸騰ポットの動作確認を行う 沸騰ポット-ミスユースケース テスト要求 TRS05 沸騰ポットに対して割込みイベントのテストを行う 沸騰ポット-割込みテスト TRS05.1 TRS05.2 沸騰ポットー蓋開け割込み 沸騰ポット-電源OFF割込み テスト要求 TRP01 テスト要求 TRP02 テスト要求 TRP03 テスト要求 TRP04 テスト要求 テスト要求 テスト要求 テスト要求 テスト要求 テスト要求 沸騰ポットに対して蓋開けの割込みのテストを行う 沸騰ポットに対して電源OFFの割込みのテストを行う この一覧はテスト要求分析 で作成する サ ー ビ ス レ イ ヤ 沸騰ポット ユーザビリティ評価 沸騰ポット 沸騰ポット 安全性確認 沸騰ポット 沸騰ポット ミスユース ケーステスト シナリオテスト 理解性評価 習熟性評価 割込み確認 温度制御 機能テスト タイマ 機 能 レ イ ヤ 給湯制御 機能テスト 機能テスト 保温機能 沸騰機能 アイドル 機能テスト 機能テスト 機能テスト 沸騰始動 ロック/ ロック解除 機能テスト レプ イラ ヤッ ト フ ォ ー ム デフォルト 設定・表示 機能テスト 給湯行為 機能テスト 沸騰始動 機能テスト 保温停止 機能テスト 節約 モード パフォーマンス 評価 機能テスト 沸騰行為 沸騰停止 機能テスト パフォーマン ス評価 カルキ抜き 性能評価 時間 性能評価 本テストのスコープ外 水位メータ 機能テスト 蓋 機能テスト 温度表示 電源部 ブザー サーミ スタ 動作 確認 音質 確認 変換 特性 確認 機能テスト ヒータ 制御 制御 方式 確認 エラー 検知 エラー パターン 確認 22
テスト要求一覧 (テストアーキテクチャの材料に絞ったもの) テスト要求 テスト要求番号 仕様番号 説明 備考(テストフレーム、網羅観点(テスト条件)) 各種設定・表示の初期設定(デフォルト)の検証を行う 水位メータが提供している機能を検証する 蓋部が提供している機能の動作確認を行う 水温・湯温と温度表示が一致していることを検証する 設定・表示部-デフォルト確認 水位メータ部-機能テスト 蓋部-機能テスト 温度表示-機能テスト テスト要求 TRF01 タイマ機能が提供している機能を検証する タイマ機能-機能テスト テスト要求 TRF02 給湯機能が提供している機能を検証する 給湯機能-機能テスト テスト要求 TRF02-1 給湯行為の機能動作を検証する 給湯行為-機能テスト テスト要求 TRF02-2 ロック/ロック解除の機能動作を検証する 給湯停止-機能テスト テスト要求 TRF03 温度制御機能が提供している機能を検証する 温度制御機能-機能テスト テスト要求 TRF03-1 沸騰始動-停止の一連の機能動作を検証する 沸騰機能-機能テスト テスト要求 TRF03-1-1 沸騰始動(非始動)の機能動作を検証する 沸騰始動-機能テスト テスト要求 TRF03-1-2 沸騰停止の機能動作を検証する 沸騰停止-機能テスト テスト要求 TRF03-1-3 沸騰行為のパフォーマンスを評価する 沸騰行為-パフォーマンステスト テスト要求 TRF03-2 TRF03-1-3.1 沸騰行為の沸騰時間の性能を評価する TRF03-1-3.2 沸騰行為のカルキ抜きの性能を評価する 保温始動-停止の一連の機能動作を確認する 沸騰行為ー沸騰時間性能 沸騰行為ーカルキ抜き性能 保温機能-機能テスト テスト要求 TRF03-2-1 保温始動の機能動作を確認する 保温始動-機能テスト テスト要求 TRF03-2-2 保温停止の機能動作を検証する 保温停止-機能テスト テスト要求 TRF03-2-3 節約モードの節約パフォーマンスを評価する 節約モード-パフォーマンステスト テスト要求 TRF03-3 アイドルの機能動作を検証する アイドル-機能テスト テスト要求 TRS01 沸騰ポットに対して安全性観点で検証を行う 沸騰ポット-安全性テスト テスト要求 TRS02 沸騰ポットのユーザビリティ評価を行う 沸騰ポット-ユーザビリティ評価 テスト要求 TRS03 TRS02.1 沸騰ポットの理解性評価を行う TRS02.2 沸騰ポットの習熟性評価を行う ユースケースに従い沸騰ポットの動作確認を行う 使用性評価 習熟性評価 沸騰ポット-ユースケーステスト テスト要求 TRS04 ミスユースケースに従い沸騰ポットの動作確認を行う 沸騰ポット-ミスユースケース テスト要求 TRS05 沸騰ポットに対して割込みイベントのテストを行う 沸騰ポット-割込みテスト TRS05.1 TRS05.2 沸騰ポットー蓋開け割込み 沸騰ポット-電源OFF割込み テスト要求 TRP01 テスト要求 TRP02 テスト要求 TRP03 テスト要求 TRP04 テスト要求 テスト要求 テスト要求 テスト要求 テスト要求 テスト要求 沸騰ポットに対して蓋開けの割込みのテストを行う 沸騰ポットに対して電源OFFの割込みのテストを行う 23
ボトムアップ? • テスト詳細設計 • テストアーキテクチャ設計 • テスト要求分析 テストアーキテクチャ 設計書 テスト要求分析書 テスト 要求 テスト 要求 分析 テスト方針 テスト要求一覧 テストスコープ テスト アーキテ クチャ 設計 テストアーキテクチャ テスト要求仕様 テスト設計方針 テスト詳細設計書 テスト 詳細 設計 テスト設計モデル テスト項目 関心事 分析と設計の必要性を確認しながら 話を進めます (アーキテクチャ設計・ テスト要求分析の必要性も) 24
テスト要求分析 • テストアーキテクチャ設計のための材料を (主に)用意する – 実はテスト設計コンテストでは一番つらいプロセス – テスト要求の出所がないので仮定として進めるしかない • とはいえ、このようなつらさは開発企業のQAには当てはまると思う テスト 方針 策定 テスト方針 テスト 要求 分析 テスト要求 一覧 テスト 観点図 テスト 要求 関心事 テスト 対象 関心事 抽出 関心事 マップ テスト スコープ 策定 25
テスト要求分析 テスト ベース テスト 要求分析 テスト要求 テスト要求番号 仕様番号 説明 備考(テストフレーム、網羅観点(テスト条件)) 各種設定・表示の初期設定(デフォルト)の検証を行う 水位メータが提供している機能を検証する 蓋部が提供している機能の動作確認を行う 水温・湯温と温度表示が一致していることを検証する 設定・表示部-デフォルト確認 水位メータ部-機能テスト 蓋部-機能テスト 温度表示-機能テスト テスト要求 TRF01 タイマ機能が提供している機能を検証する タイマ機能-機能テスト テスト要求 TRF02 給湯機能が提供している機能を検証する 給湯機能-機能テスト テスト要求 TRF02-1 給湯行為の機能動作を検証する 給湯行為-機能テスト テスト要求 TRF02-2 ロック/ロック解除の機能動作を検証する 給湯停止-機能テスト テスト要求 TRF03 温度制御機能が提供している機能を検証する 温度制御機能-機能テスト テスト要求 TRF03-1 沸騰始動-停止の一連の機能動作を検証する 沸騰機能-機能テスト テスト要求 TRF03-1-1 沸騰始動(非始動)の機能動作を検証する 沸騰始動-機能テスト テスト要求 TRF03-1-2 沸騰停止の機能動作を検証する 沸騰停止-機能テスト テスト要求 TRF03-1-3 沸騰行為のパフォーマンスを評価する 沸騰行為-パフォーマンステスト テスト要求 TRF03-2 TRF03-1-3.1 沸騰行為の沸騰時間の性能を評価する TRF03-1-3.2 沸騰行為のカルキ抜きの性能を評価する 保温始動-停止の一連の機能動作を確認する 沸騰行為ー沸騰時間性能 沸騰行為ーカルキ抜き性能 保温機能-機能テスト テスト要求 TRF03-2-1 保温始動の機能動作を確認する 保温始動-機能テスト テスト要求 TRF03-2-2 保温停止の機能動作を検証する 保温停止-機能テスト テスト要求 TRF03-2-3 節約モードの節約パフォーマンスを評価する 節約モード-パフォーマンステスト テスト要求 TRF03-3 アイドルの機能動作を検証する アイドル-機能テスト テスト要求 TRS01 沸騰ポットに対して安全性観点で検証を行う 沸騰ポット-安全性テスト テスト要求 TRS02 沸騰ポットのユーザビリティ評価を行う 沸騰ポット-ユーザビリティ評価 テスト要求 TRS03 TRS02.1 沸騰ポットの理解性評価を行う TRS02.2 沸騰ポットの習熟性評価を行う ユースケースに従い沸騰ポットの動作確認を行う 使用性評価 習熟性評価 沸騰ポット-ユースケーステスト テスト要求 TRS04 ミスユースケースに従い沸騰ポットの動作確認を行う 沸騰ポット-ミスユースケース テスト要求 TRS05 沸騰ポットに対して割込みイベントのテストを行う 沸騰ポット-割込みテスト TRS05.1 TRS05.2 沸騰ポットー蓋開け割込み 沸騰ポット-電源OFF割込み テスト要求 TRP01 テスト要求 TRP02 テスト要求 TRP03 テスト要求 TRP04 テスト方針 (1)要求仕様書と実装 との検証を行う (2)安全性観点の確認 を実施する (3)ユーザ観点・性能観 点の評価を実施する テスト要求 テスト要求 テスト要求 テスト要求 テスト要求 テスト要求 沸騰ポットに対して蓋開けの割込みのテストを行う 沸騰ポットに対して電源OFFの割込みのテストを行う 26
テストスコープ策定 テスト ベース 関心事 テストの世界 の整理と範囲 の決定 話題沸騰ポット ユーザシーン観点 when:いつ、どんなとき 時間 早朝、朝、昼、夜、夜中、15時(おやつの時間) シーズン 春、夏、秋、冬 シーン ポットの側にいる、家に居る ポットの側にいない、勝手に動いている 家に居ない、停電して復旧したとき 非常時 地震、家事、大雨、雷、停電、洪水(漏電)、大雪 where:どこで 空間 暗い、明るい 寒い、暑い ジメジメ、乾燥 関東、関西 周波数の違い シーン 移動中 車中 振動、傾き 学校、会社、自宅、山小屋 お店:一般家庭と環境が異なる who:誰が 製品観点 ヘビーユーザ、初心者、他社製品からのユーザ 人属性観点 赤ちゃん、子供、老人、成人 一人暮らし、家族暮らし ハンディキャップ観点 目が見えない、鼻が利かない、耳が聞こえない、腕がない ミスユーザ クレーマー、いらずら好き、改造好き How use:どう使う ポットを掃除する こすって掃除、クエン酸、ポット洗浄剤 加熱、保温 液体形態 水、お湯 軟水、硬水、海水、炭酸水、お湯 想定使用形態 お湯供給 給湯ボタン⇒ポンプ じか注ぎ 時間計測 タイマー カルキ抜き 白湯を利用、お湯を利用 携帯性 運ぶ、すえ付け 使う頻度 たまに、時々、すごく 電源供給 コンセント、電池、バッテリー(車)、発電機 whom:誰のために(c of c) 自分のため 家族のため 赤ちゃん、寝たきりの人、ペット 口コミユーザ(口コミ見る人) 開発観点 why:要求 機能嗜好(機能要求) 時間を計りたい いつでもお湯を使いたい 湯温表示 安全に使いたい:安全嗜好 給湯を難しく、空焚き防止、漏電防止 エコ・節約嗜好 健康嗜好 カルキを除去したい 簡単嗜好:単純化 操作が簡単、掃除が簡単 使いやすさ嗜好 レスポンスが良い(早いor遅い) 水の補充がしやすい 持ち運びやすい わかりやすさ嗜好 沸かし中がわかりやすい 沸いたときがわかりやすい 聴覚、視覚 what:要求機能 給湯 容量状態確認 水位表示 時間計測 タイマ、タイマ時間表示 音声確認 音声アラーム 保温 高温、節約、ミルク 液体貯蔵 完全機能 空焚き防止、給湯ロック カルキ抜き 温度制御機能 温度表示、沸騰、アイドル 保温機能 保温状態表示 ミルク、高温、節約 沸騰保温状態表示 異常検知 傾き検知、エラー検知 How spec:仕様 機能仕様(下位レイヤー) 蓋センサー、サーミスタ、ヒータ、水位センサ、ブザー 給湯ポンプ、給湯ボタン、沸騰ボタン、給湯ランプ、保温ランプ 温度表示窓、モード表示窓、ロックランプ タイマ残り時間表示窓、インジケータセル How much:価格・量 水量 たくさんのお湯(水)、適量、少量のお湯 環境変動 電圧変動、気圧変動 How long ポットの使用期間 すぐ、結構使った ずーと保温、ずーとそのまま 27
わかりにくい例のまとめ • 大きなテスト分析・設計/小さなテスト分析・設計 – 人間が分析と設計の行為を行う場合は 頭の使い方が違うので分けたほうが良さそう • 頭が良い人はたぶん分けなくてもOK • 大きなテスト分析とテスト設計は ステークホルダが違うので工程として分けたほうがよい テストアーキテクチャ 設計書 テスト要求分析書 テスト 要求 テスト 要求 分析 テスト方針 テスト要求一覧 テストスコープ テスト アーキテ クチャ 設計 テストアーキテクチャ テスト要求仕様 テスト設計方針 テスト詳細設計書 テスト 詳細 設計 テスト設計モデル テスト項目 関心事 28
ご清聴ありがとうございました テスコン優勝事例におけるテスト分析・設計の解説 河野 哲也 (FB: Tetsuya Kouno) 29