$30 off During Our Annual Pro Sale. View Details »

公開用 テストカタマリーワークショップ(説明のみ)

公開用 テストカタマリーワークショップ(説明のみ)

テストを表現することができるらしい謎の記法である「テストカタマリー」を学ぶためのワークショップの資料ですが、説明のみのバージョンとして公開しておきます。

みずのり

April 28, 2024
Tweet

More Decks by みずのり

Other Decks in Technology

Transcript

  1. 10 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景 まー、このへんは 別資料あるから 読んでくれや 関連情報: InSTA2017: “Test

    Conglomeration” - Proposal for Test Design Notation Like Class Diagram(論文) http://ieeexplore.ieee.org/document/7899074/ OSC2017 in Hokkaido : 「もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?」 https://www.slideshare.net/tef-do/tefdo-osc2017-in-hokkaido-07152017
  2. 11 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:規模の拡大と複雑化 1.テスト規模の拡大と複雑化 システム システム System Appli- cation

    Appli- cation Application Process Process Process Function Function Function Class Class Func Class Method Method ・・・ テスト技法 テストプロセス テスト方針 テスト設計 システムテスト 回帰テスト モンキー テスト 探索的テスト 性能テスト 機能テスト 負荷テスト 巨大で複雑
  3. 12 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:規模の拡大と複雑化 1.テスト規模の拡大と複雑化 ⇒異なる「スキル」を持つ多くのテストエンジニアがテスト設計へ テスト 設計 テスト 設計

    テスト 設計 Test Case Test Case Test Case Test Case Test Case Test Case Test CaseTest Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case A B C ばらつきが 発生する
  4. 13 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:規模の拡大と複雑化 1.テスト規模の拡大と複雑化 ⇒異なる「スキル」を持つ多くのテストエンジニアがテスト設計へ テスト 設計 テスト 設計

    テスト 設計 Test Case Test Case Test Case Test Case Test Case Test Case Test CaseTest Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case A B C ≠ 異なるテスト設計 再検討することは 非常に困難 テスト 設計 テスト 設計
  5. 16 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:文書表現の偏り 2.文書表現の偏り ⇒大きなシステムには多くの文書があるが… 書くのも面倒で、読むのも退屈… システム システム Real

    System ドキュメント ドキュメント 無効な ドキュメント ドキュメント ドキュメント ドキュメント XXX は XXX で、 XXX は XXX を含み, XXX, XXX, XXX かつ XXX XXX は XXX で … ドキュメント 参考書は こちら
  6. 18 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:継続的な変更への対応 3.継続的な変更 ⇒変更が発生すると複雑なものが… システム システム Real System

    ドキュメント ドキュメント 無効な ドキュメント ドキュメント ドキュメント ドキュメント XXX は XXX で、 XXX は XXX を含み, XXX, XXX, XXX かつ XXX XXX は XXX で … ドキュメント Large Middle Small push button release button ・・・ lock lid open ・・・ TestCase 2.6 hot water supply supply not supply テスト仕様 大 中 小
  7. 19 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:継続的な変更への対応 3.継続的な変更 ⇒変更が発生すると複雑なものが… システム システム Real System

    ドキュメント ドキュメント 無効な ドキュメント ドキュメント ドキュメント ドキュメント ドキュメント 機能 追加 仕様 変更 仕様 変更 機能 追加
  8. 20 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:継続的な変更への対応 3.継続的な変更 ⇒変更が発生すると複雑なものが…さらに複雑に!! システム システム Real System

    ドキュメント ドキュメント 無効な ドキュメント ドキュメント ドキュメント ドキュメント ドキュメント 機能 追加 仕様 変更 仕様 変更 機能 追加 ドキュメント ドキュメント ドキュメント
  9. 21 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:結果として 結果として… System System Real System Document

    Document Document Document Document Document Document Additional Feature Additional Feature Additional Feature Additional Feature Document Document Document Test Design Test Design Test Design Test Case Test Case Test Case Test Case Test Case Test Case Test CaseTest Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case A B C システム テスト テストケース テストケース テストケース テストケース テストケース テストケース ドキュメントレビューで 漏れの検出は難しい ばらつきによって テストケースが漏れる テストケースが 漏れてしまう
  10. 22 2017/09公開用 テストカタマリーワークショップβ版 モデルが必要な背景:結果として 結果として… System System Real System Document

    Document Document Document Document Document Document Additional Feature Additional Feature Additional Feature Additional Feature Document Document Document Test Design Test Design Test Design Test Case Test Case Test Case Test Case Test Case Test Case Test CaseTest Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case A B C システム テスト テストケース テストケース テストケース テストケース テストケース テストケース ドキュメントレビューで 漏れの検出は難しい ばらつきによって テストケースが漏れる レビューで漏れを 見つけにくい 製品不具合
  11. 23 2017/09公開用 テストカタマリーワークショップβ版 モデルで解決したい問題 2点の問題を取り上げる… System System Real System Document

    Document Document Document Document Document Document Additional Feature Additional Feature Additional Feature Additional Feature Document Document Document Test Design Test Design Test Design Test Case Test Case Test Case Test Case Test Case Test Case Test CaseTest Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case A B C テストケースまたは テスト設計のばらつき ソフトウェアテストの概要を 文書で表現するのは難しい
  12. 24 2017/09公開用 テストカタマリーワークショップβ版 モデルで解決したい問題の解決へ… 問題の解決として… System System Real System Document

    Document Document Document Document Document Document Additional Feature Additional Feature Additional Feature Additional Feature Document Document Document Test Design Test Design Test Design Test Case Test Case Test Case Test Case Test Case Test Case Test CaseTest Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case A B C Quality Attributes + Guideline Suitability : Userbility Userbility + Other OS : Compatibility Compatibility Feature/UI ~ Alert in the background : Compatibility + Confirm each function : FunctionalSuitability <<Alert>> Timer + Unfavorable Stress : PerformanceEfficiency + Number of data : PerformanceEfficiency + Confirm each function : FunctionalSuitability Stopwatch 1.グラフィカルな 表現 2. モデルを使うことで メンテナンスが向上
  13. 25 2017/09公開用 テストカタマリーワークショップβ版 モデルで解決したい問題の解決へ… 問題の解決として… モデルを使おう! System System Real System

    Document Document Document Document Document Document Document Additional Feature Additional Feature Additional Feature Additional Feature Document Document Document Test Design Test Design Test Design Test Case Test Case Test Case Test Case Test Case Test Case Test CaseTest Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case Test Case A B C Quality Attributes + Guideline Suitability : Userbility Userbility + Other OS : Compatibility Compatibility Feature/UI ~ Alert in the background : Compatibility + Confirm each function : FunctionalSuitability <<Alert>> Timer + Unfavorable Stress : PerformanceEfficiency + Number of data : PerformanceEfficiency + Confirm each function : FunctionalSuitability Stopwatch 1.グラフィカルな 表現 2. モデルを使うことで メンテナンスが向上 + XXXX() + XXXX Timer + XXXX() + XXXX Timer TimerBehabior SelectMusic 「Timer」テストの詳細とテストケースの関連 Concrete Test Case Concrete Test Case Concrete Test Case Concrete Test Case Concrete Test Case Concrete Test Case 3.一貫した表記を使用した 段階的なデザイン
  14. 27 2017/09公開用 テストカタマリーワークショップβ版 参考:表とモデル(図)の比較 比較観点 表 モデル(図) 巨大化、複雑化 への対処 (デメリット)

    単純につくると 巨大化しやすい (メリット) まとめ方により階層的に わかりやすい表現がしやすい (デメリット) 複雑になる程工夫が必要 (メリット) 複雑な関連性を整理しやすい 作業の やりやすさ (メリット?) 単純な組合せ検討を 作業化して空白を 埋める作業にできる (デメリット?) 読み書きに対して ある程度の知識が必要で、 教育が必要となる 網羅しやすさ 抜けの 確認しやすさ (デメリット) 巨大化すると全体確認、 抜けがわかりづらい (メリット) 全体を見やすいため、 大きな抜けを確認しやすい (メリット) 組合せの抜けがないか 網羅的に確認しやすい (デメリット) 何らかの詳細な組合せは 確認がしづらく、抜けるかも。 …表、便利 だよね ※記載は思いつき レベルです
  15. 29 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーを支える知見 テストカタマリーを支える知見は次があります。 ・テスト技法(テスト技法ドリル) ・ゆもつよメソッド ・VSTeP ・JSTQB FL/AL

    ・UMLモデリング、astah*ツール ・DDD(ドメインモデリング) ・RDRA ・デマルコ構造化設計 ※追加中 ・UML Testing Profile 2.0 「巨人の肩の上に立って」 (Standing on the shoulders of Giants) ※Goldratt氏の論文名 各種手法を参考に 構築しております。 ひとまずテスト技法 を知っていればOK
  16. 30 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーの直接関連情報 Blog情報: その他情報: テストカタマリーの紹介:まとめ http://blog.amateur-factory.jp/?eid=1444276 テストカタマリーを活用したテスト設計プロセス案:まとめ http://blog.amateur-factory.jp/?eid=1444278

    Test Conglomeration - Proposal for Test Design Notation Like Class Diagram(論文) http://ieeexplore.ieee.org/document/7899074/ OSC2017 in Hokkaido 「もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?」 https://www.slideshare.net/tef-do/tefdo-osc2017-in-hokkaido-07152017 テスト設計コンテスト'17 OPENクラス 決勝戦レポート http://aster.or.jp/business/contest/contest2017.html あんがい 情報ある
  17. 31 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーの概要 テストカタマリーとは • STUDIO IBURIという謎の団体が打ち上げた記法 • テストカタマリー:テストの塊

    • テスト観点とテストカテゴリ、抽象的なテストケースを クラス図を利用して表現する記法 特徴 • UTPとVSTePの中間くらいのモデリング • テストの概要の整理がメイン • UMLモデリングツールが使えればそれでお手軽に描ける
  18. 38 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーの概要 ・テストケース1 ・テストケース2 … テストスコープの一部 =テストカタマリー テストケース

    詳細 塊 UMLクラス図の流用 アラーム登録 +各機能 : 機能特性 ~登録数 : 性能効率性 … +アラーム登録 : 各機能 +アラーム解除 : 各機能 ~最大登録数検証 : 登録数 … iOS時計アプリ アラーム登録
  19. 39 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーの概要 ・テストケース1 ・テストケース2 … テストスコープの一部 =テストカタマリー テストケース

    詳細 塊 アラーム登録 +各機能 : 機能特性 ~登録数 : 性能効率性 … +アラーム登録 : 各機能 +アラーム解除 : 各機能 ~最大登録数検証 : 登録数 … 抽象テストケース ロジカルテストケース
  20. 40 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーの概要 ・テストケース1 ・テストケース2 … テストスコープの一部 =テストカタマリー テストケース

    詳細 塊 アラーム登録 +各機能 : 機能特性 ~登録数 : 性能効率性 … +アラーム登録 : 各機能 +アラーム解除 : 各機能 ~最大登録数検証 : 登録数 … 各ロジカルテストケースから 具体的なテストケースを作成 ※テスト詳細設計で実施 アラーム解除 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 複数の具体的テストケース
  21. 41 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーの概要 ・テストケース1 ・テストケース2 … テストスコープの一部 =テストカタマリー テストケース

    詳細 塊 Divided Test Scope 全体的なテスト範囲が、 1枚の絵で描ける Quality Attributes + Guideline Suitability : Userbility Userbility + Other OS : Compatibility Compatibility Feature/UI ~ Alert in the background : Compatibility + Confirm each function : FunctionalSuitability <<Alert>> Timer + Unfavorable Stress : PerformanceEfficiency + Number of data : PerformanceEfficiency + Confirm each function : FunctionalSuitability Stopwatch
  22. 42 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーの概要 テストの俯瞰表現から詳細の表現を行うことができる。 Quality Attriutes + Other OS

    : Compatibility App Compatibility + Navigation : Usability + Guideline Suitability : Usability App Userbility + Memory Leak : Performance efficiency + Long Run Process : Reliability Long Run + Process Multiple App : Compatibility + Multiple process in an App : Compatibility Co-Existence Feature/UI + Cooperate with other Apps : Compatibility ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility + Correctness of analysis : Functional suitability + Confirm each function : Functional suitability <<Alert>> Bedtime ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability <<Resister/Edit/Delete Data>> World Clock + Cooperate with other Apps : Compatibility ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Performance efficiency ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability <<Alert>> <<Resister/Edit/Delete Data>> Alarm ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency <<pattern>> Resister/Edit/Delete Data ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility <<pattern>> Alert ~ Alert in the background : Compatibility + Confirm each function : Functional suitability <<Alert>> Timer + Unfavorable Stress : Performance efficiency + Number of data : Performance efficiency + Confirm each function : Functional suitability Stopwatch <全体俯瞰:カタマリー全体図> ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency <<pattern>> Resister/Edit/Delete Data + Cooperate with other Apps : Compatibility ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Performance efficiency ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability <<Alert>> <<Resister/Edit/Delete Data>> Alarm ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility <<pattern>> Alert + Check with Stress() : Unfavorable Stress + Check with other Apps() : Alert in the background + Confirm Snooze() : Confirm each function ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility + Confirm each function : Functional suitability + Confirm Alerm() : Confirm each function Notify Alarm + Operate from Siri() : Cooperate with other Apps + Check max registration data() : Operation Responce + Delete Alarm() : Confirm each function + Edit Alarm() : Confirm each function + Register Alarm() : Confirm each function + Cooperate with other Apps : Compatibility ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability Register/Display Alarm <詳細確認:カタマリー詳細図>
  23. 43 2017/09公開用 テストカタマリーワークショップβ版 ~ Operation Response : Performance efficiency ~

    Number of data : Performance efficiency <<pattern>> Resister/Edit/Delete Data + Cooperate with other Apps : Compatibility ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Performance efficiency ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability <<Alert>> <<Resister/Edit/Delete Data>> Alarm ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility <<pattern>> Alert + Check with Stress() : Unfavorable Stress + Check with other Apps() : Alert in the background + Confirm Snooze() : Confirm each function ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility + Confirm each function : Functional suitability + Confirm Alerm() : Confirm each function Notify Alarm + Operate from Siri() : Cooperate with other Apps + Check max registration data() : Operation Responce + Delete Alarm() : Confirm each function + Edit Alarm() : Confirm each function + Register Alarm() : Confirm each function + Cooperate with other Apps : Compatibility ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability Register/Display Alarm テストカタマリー:超簡単まとめ ざっくりと次の内容くらいです。 Quality Attriutes + Other OS : Compatibility App Compatibility + Navigation : Usability + Guideline Suitability : Usability App Userbility + Memory Leak : Performance efficiency + Long Run Process : Reliability Long Run + Process Multiple App : Compatibility + Multiple process in an App : Compatibility Co-Existence Feature/UI + Cooperate with other Apps : Compatibility ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility + Correctness of analysis : Functional suitability + Confirm each function : Functional suitability <<Alert>> Bedtime ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability <<Resister/Edit/Delete Data>> World Clock + Cooperate with other Apps : Compatibility ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Performance efficiency ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency + Confirm each function : Functional suitability <<Alert>> <<Resister/Edit/Delete Data>> Alarm ~ Operation Response : Performance efficiency ~ Number of data : Performance efficiency <<pattern>> Resister/Edit/Delete Data ~ Unfavorable Stress : Performance efficiency ~ Alert in the background : Compatibility <<pattern>> Alert ~ Alert in the background : Compatibility + Confirm each function : Functional suitability <<Alert>> Timer + Unfavorable Stress : Performance efficiency + Number of data : Performance efficiency + Confirm each function : Functional suitability Stopwatch 全体を俯瞰して 表現ができる 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 複数のテストケースに対応 全体俯瞰内の 1つのカタマリーを 詳細に表現できる 最下層に抽象 (ロジカル)テスト ケースを並べる 1つのロジカル テストケースは 複数の具体的 テストケースに対応
  24. 48 2017/09公開用 テストカタマリーワークショップβ版 ワーク①:テストカタマリーを作ってみよう! テストベース&テストケースがある場合に、 テストカタマリーを作ってみるとして… テストケース テストケース テストケース テストケース

    参加申込みチケット +通常参加時に論文採録Noが グレイアウトで入力できないこと +論文採録者時に論文採録No が入力できること +チケット種別の選択可能な・・・ +・・・ +・・・ +・・・ +・・・ +・・・ +・・・ +・・・ +・・・ +・・・ … テストケースを 単純にカタマリーに 展開すると大変に! ※自由に使えるので全ケース 埋め込みも否定はしません
  25. 49 2017/09公開用 テストカタマリーワークショップβ版 参加申込みチケット +通常参加時に論文採録Noがグレイアウト で入力できないこと +論文採録者時に論文採録Noが 入力できること +チケット種別の選択可能な・・・ +・・・

    +・・・ +・・・ +・・・ +・・・ +・・・ +・・・ … ワーク①:テストカタマリーを作ってみよう! 大量のテストケースを単純にカタマるのではなく… テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース 大量のテストケース
  26. 50 2017/09公開用 テストカタマリーワークショップβ版 ワーク①:テストカタマリーを作ってみよう! グルーピング&整理してカタマりましょう。 テストケース テストケース テストケース テストケース テストケース

    テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース 大量のテストケース テストケース テストケース テストケース テストケース テストケース テストケース グループA グループB グループC 参加申込みチケット +グループA +グループB +グループC … グルーピング&整理 参加申込みチケット +通常参加時に論文採録Noがグレイアウト で入力できないこと +論文採録者時に論文採録Noが 入力できること +チケット種別の選択可能な・・・ +・・・ +・・・ +・・・ +・・・ +・・・ +・・・ +・・・ …
  27. 51 2017/09公開用 テストカタマリーワークショップβ版 ワーク①:テストケースをグルーピングしよう まずはテストケースを「目的」か「技法」で グルーピングします。 そしてグループに適当な「名前」を付けてみます。 テストケース テストケース テストケース

    テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース テストケース 大量のテストケース テストケース テストケース テストケース グループA:名前 ※同値分割でグループ 目的or技法で グルーピング &整理 テストケース テストケース テストケース グループB:名前 ※DTでグループ グループC:名前 ※性能XX確認でグループ グルーピングがうまい場合には 不足のテスト、重複なども 確認することができます。
  28. 52 2017/09公開用 テストカタマリーワークショップβ版 ワーク①:グループをカタマリーへ展開 グループ化したテストケースをカタマリーへ展開します。 テストケース テストケース テストケース グループA:名前 ※同値分割でグループ

    テストケース テストケース テストケース グループB:名前 ※DTでグループ グループC:名前 ※性能XX確認でグループ 参加申込みチケット … グループの右側の↑辺は ある程度空けといてください グループA:名前XXX グループB:名前XXX
  29. 54 2017/09公開用 テストカタマリーワークショップβ版 テストケースの粒度:別テストベースで紹介 一旦、別の仕様でテストケースの粒度を紹介します。 現在時間:17:00:15 おとな こども 計算 料金表

    おとな(15才以上)1000円 こども(14才以下)500円 10:00-17:59入場 通常料金 18:00-19:59入場 +300円 ※上記時間以外は購入不可 計算結果: 時間: 17:00:16 おとな: 1枚 支払いは 1000円です 購入計算画面 購入画面 ・通常料金チケットは18:05まで使用(入場)可能です ・計算ボタンを押したタイミングで時間が決定します ・購入者の妥当性チェックはシステム上はありません ・ユーザビリティは(あえて)考慮してませんので テストからも外していただいてOKです ・妥当性はあまり気にせず+深読みしなくてよいです 購入種別(選択式)
  30. 55 2017/09公開用 テストカタマリーワークショップβ版 テストケースの粒度:仮に4つの段階を紹介 比較的抽象的なテストケース粒度では…? 参考:レベル3 テストケース 入場時間 購入種別(通常料金) こども

    おとな 1000 円 購入 不可 購入不可時間 20:00:00- 23:59:59 購入不可時間 00:00:00- 09:59:59 夜間料金 18:00:00- 19:59:59 通常料金 10:00:00- 17:59:59 購入種別(夜間料金) こども おとな 500 円 1300 円 800 円 レベル1:処理だけを特定したテストケース (例)購入計算処理のロジック/入出力を確認する レベル2:入出力のパラメータ項目まで表現したテストケース (例)購入種別と入場時間から計算結果を確認する 購入計算 処理 ? ? 購入計算 処理 計算結果 購入種別 入場時間 具体化 抽象化
  31. 56 2017/09公開用 テストカタマリーワークショップβ版 テストケースの粒度:仮に4つの段階を紹介 より詳細なテストケースでは… レベル3:同値クラスを用いて組合せ論理条件(ルール)まで表現したテストケース (例)購入種別:おとな、入場時間:通常料金時間 で結果1000円 入場時間 購入種別(通常料金)

    こども おとな 1000 円 購入 不可 購入不可時間 20:00:00- 23:59:59 購入不可時間 00:00:00- 09:59:59 夜間料金 18:00:00- 19:59:59 通常料金 10:00:00- 17:59:59 購入種別(夜間料金) こども おとな 500 円 1300 円 800 円 (例) CFDとDTで 関係性を図示 レベル4:実際の値まで具体化したテストケース (例)購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:15:00:00 で結果1000円 ・#4-1 購入種別:おとな、入場時間:19:00:00 で結果1300円 … 具体的な 値を設定 #1 #2 #3 #4 #5 #6 1 購入種別 1 おとな - - ◦ ◦ - - 2 こども - - - - ◦ ◦ 2 入場時間 1 購入不可時間 00:00:00-09:59:59 ◦ - - - - - 2 通常料金時間 10:00:00-17:59:59 - - ◦ - ◦ - 3 夜間料金時間 18:00:00-19:59:59 - - - ◦ - ◦ 4 購入不可時間 20:00:00-23:59:59 - ◦ - - - - #1 #2 #3 #4 #5 #6 1 購入不可 ◦ ◦ - - - - 2 1300円 - - - ◦ - - 3 1000円 - - ◦ - - - 4 800円 - - - - - ◦ 5 500円 - - - - ◦ - 入力条件 期待結果
  32. 57 2017/09公開用 テストカタマリーワークショップβ版 テストケースの粒度:仮に4つの段階を紹介 全体を示すとこの通りになります。 レベル1:処理だけを特定したテストケース (例)購入計算処理を確認する レベル2:入出力のパラメータ項目まで表現したテストケース (例)購入種別と時間から計算結果を確認する 購入計算

    処理 ? ? 購入計算 処理 計算結果 購入種別 入場時間 レベル3:同値クラスを用いて組合せ論理条件(ルール)まで表現したテストケース (例)購入種別:おとな、入場時間:通常料金時間 で結果1000円 入場時間 購入種別(通常料金) こども おとな 1000 円 購入 不可 購入不可時間 20:00:00- 23:59:59 購入不可時間 00:00:00- 09:59:59 夜間料金 18:00:00- 19:59:59 通常料金 10:00:00- 17:59:59 購入種別(夜間料金) こども おとな 500 円 1300 円 800 円 (例) CFDで関係性を図示して デシジョンテーブルで 表現することができる レベル4:実際の値まで具体化したテストケース (例)購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:15:00:00 で結果1000円 ・#4-1 購入種別:おとな、入場時間:19:00:00 で結果1300円 … 具体的な 値を設定 具体化 抽象化 #1 #2 #3 #4 #5 #6 1 購入種別 1 おとな - - ◦ ◦ - - 2 こども - - - - ◦ ◦ 2 入場時間 1 購入不可時間 00:00:00-09:59:59 ◦ - - - - - 2 通常料金時間 10:00:00-17:59:59 - - ◦ - ◦ - 3 夜間料金時間 18:00:00-19:59:59 - - - ◦ - ◦ 4 購入不可時間 20:00:00-23:59:59 - ◦ - - - - #1 #2 #3 #4 #5 #6 1 購入不可 ◦ ◦ - - - - 2 1300円 - - - ◦ - - 3 1000円 - - ◦ - - - 4 800円 - - - - - ◦ 5 500円 - - - - ◦ - 入力条件 期待結果 各レベルの例 レベル1:購入計算処理のロジック/ 入出力を確認する レベル2:購入種別と時間から 計算結果を確認する レベル3:購入種別:おとな、 入場時間:通常料金時間 で結果1000円 レベル4:購入種別:おとな、 入場時間:10:00:00 で結果1000円
  33. 58 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーに配置する粒度 テストカタマリーに配置するテストケース粒度は… レベル1:処理だけを特定したテストケース (例)購入計算処理を確認する レベル2:入出力のパラメータ項目まで表現したテストケース (例)購入種別と時間から計算結果を確認する 購入計算

    処理 ? ? 購入計算 処理 計算結果 購入種別 入場時間 レベル3:同値クラスを用いて組合せ論理条件(ルール)まで表現したテストケース (例)購入種別:おとな、入場時間:通常料金時間 で結果1000円 入場時間 購入種別(通常料金) こども おとな 1000 円 購入 不可 購入不可時間 20:00:00- 23:59:59 購入不可時間 00:00:00- 09:59:59 夜間料金 18:00:00- 19:59:59 通常料金 10:00:00- 17:59:59 購入種別(夜間料金) こども おとな 500 円 1300 円 800 円 (例) CFDで関係性を図示して デシジョンテーブルで 表現することができる レベル4:実際の値まで具体化したテストケース (例)購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:15:00:00 で結果1000円 ・#4-1 購入種別:おとな、入場時間:19:00:00 で結果1300円 … 具体的な 値を設定 具体化 抽象化 #1 #2 #3 #4 #5 #6 1 購入種別 1 おとな - - ◦ ◦ - - 2 こども - - - - ◦ ◦ 2 入場時間 1 購入不可時間 00:00:00-09:59:59 ◦ - - - - - 2 通常料金時間 10:00:00-17:59:59 - - ◦ - ◦ - 3 夜間料金時間 18:00:00-19:59:59 - - - ◦ - ◦ 4 購入不可時間 20:00:00-23:59:59 - ◦ - - - - #1 #2 #3 #4 #5 #6 1 購入不可 ◦ ◦ - - - - 2 1300円 - - - ◦ - - 3 1000円 - - ◦ - - - 4 800円 - - - - - ◦ 5 500円 - - - - ◦ - 入力条件 期待結果 テストカタマリーに記述する テストケースの粒度は ここでの「レベル1~2」を推奨 ※「ロジカルテストケース」相当 テストケースの詳細化は テスト詳細設計で実施 各レベルの例 レベル1:購入計算処理のロジック/ 入出力を確認する レベル2:購入種別と時間から 計算結果を確認する レベル3:購入種別:おとな、 入場時間:通常料金時間 で結果1000円 レベル4:購入種別:おとな、 入場時間:10:00:00 で結果1000円
  34. 59 2017/09公開用 テストカタマリーワークショップβ版 参考:テストケースの粒度と呼び名@ISTQB ISTQB/JSTQBでの呼び名を整理したものです。 レベル1:処理だけを特定したテストケース (例)購入計算処理を確認する レベル2:入出力のパラメータ項目まで表現したテストケース (例)購入種別と時間から計算結果を確認する 購入計算

    処理 ? ? 購入計算 処理 計算結果 購入種別 入場時間 レベル3:同値クラスを用いて組合せ論理条件(ルール)まで表現したテストケース (例)購入種別:おとな、入場時間:通常料金時間 で結果1000円 入場時間 購入種別(通常料金) こども おとな 1000 円 購入 不可 購入不可時間 20:00:00- 23:59:59 購入不可時間 00:00:00- 09:59:59 夜間料金 18:00:00- 19:59:59 通常料金 10:00:00- 17:59:59 購入種別(夜間料金) こども おとな 500 円 1300 円 800 円 (例) CFDで関係性を図示して デシジョンテーブルで 表現することができる レベル4:実際の値まで具体化したテストケース (例)購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:10:00:00 で結果1000円 ・#3-1 購入種別:おとな、入場時間:15:00:00 で結果1000円 ・#4-1 購入種別:おとな、入場時間:19:00:00 で結果1300円 … 具体的な 値を設定 具体化 抽象化 #1 #2 #3 #4 #5 #6 1 購入種別 1 おとな - - ◦ ◦ - - 2 こども - - - - ◦ ◦ 2 入場時間 1 購入不可時間 00:00:00-09:59:59 ◦ - - - - - 2 通常料金時間 10:00:00-17:59:59 - - ◦ - ◦ - 3 夜間料金時間 18:00:00-19:59:59 - - - ◦ - ◦ 4 購入不可時間 20:00:00-23:59:59 - ◦ - - - - #1 #2 #3 #4 #5 #6 1 購入不可 ◦ ◦ - - - - 2 1300円 - - - ◦ - - 3 1000円 - - ◦ - - - 4 800円 - - - - - ◦ 5 500円 - - - - ◦ - 入力条件 期待結果 低位 レベル テスト ケース 具体的 テスト ケース 高位 レベル テスト ケース 論理的 テスト ケース ハイレベル テストケースは こちら ロジカル テストケースは こちら ※用語集では ハイレベル=ロジカル ですが、 AL TAの説明を考慮
  35. 60 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリー推奨のテスト粒度 テストカタマリーは「ロジカルテストケース」※特にレベル1~2 相当の抽象度のテストケースを持つことを推奨します。 テストケース テストケース テストケース ロジカルTC-A:名前

    ※同値分割でグループ テストケース テストケース テストケース ロジカルTC-B:名前 ※DTでグループ ロジカルTC-C:名前 ※性能XX確認でグループ 参加申込みチケット +ロジカルテストケースA +ロジカルテストケースB +ロジカルテストケースC … ※各ロジカルテストケースは デシジョンテーブル1~2つくらい相当 さらなる詳細化は後のプロセスで実施 目的が異なると分けることを推奨
  36. 61 2017/09公開用 テストカタマリーワークショップβ版 ワーク①:カタマリーの例 例を載せておきます。 参加申込みチケット +論文採録No入力可否 … No1-2に対応 +論文採録No異常入力

    … No3-5に対応 +チケット種類の数 対 チケット種別 … No6-8に対応 +チケット名文字数 対 チケット種別 … No9-11に対応 +チケット種類の数 対 価格確認表 … No12-14に対応 +チケット名文字数 対 価格確認表 … No15-17に対応 +価格確認表操作レスポンス … No18に対応 +レスポンシブでのチケット名表示 … No19-21に対応 +参加者種別の入力判定・価格反映 … No22-25に対応 +参加者種別・チケット種別価格反映 … No26-27に対応
  37. 62 2017/09公開用 テストカタマリーワークショップβ版 ワーク①:カタマリーの例、その2 同じ内容がこうなるような人もいるかも? 参加申込みチケット +論文採録Noの入力確認 … No1-5に対応 +チケット登録に対するふるまい確認

    … No6-17に対応 +価格確認表操作レスポンス … No18に対応 +レスポンシブでのチケット名表示 … No19-21に対応 +参加者種別入力組合せ確認 … No22-27に対応
  38. 63 2017/09公開用 テストカタマリーワークショップβ版 テスト詳細設計 0 1 10 11 ※0と10超過は 設定できない

    チケット種類の数 参考:ロジカルテストケースとテストケース 上位から考える場合には、ロジカルテストケースまで一度考えた 後に、テスト詳細設計で具体的テストケースをつくります。 参加申込みチケット +論文採録No入力可否 +論文採録No異常入力 +チケット種類の数 対 チケット種別 +チケット名文字数 対 チケット種別 +チケット種類の数 対 価格確認表 +チケット名文字数 対 価格確認表 +価格確認表操作レスポンス +レスポンシブでのチケット名表示 +参加者種別の入力判定・価格反映 +参加者種別・チケット種別価格反映 テストケース チケット種類1個 テストケース チケット種類2個 テストケース チケット種類10個 テスト詳細設計 参加者種別 通常参加 論文採録者 論文採録No システム登録なし 入力無し 通常参加 費用 画面遷移 負荷 有効 論文採録 者費用
  39. 64 2017/09公開用 テストカタマリーワークショップβ版 参加申込みチケット +論文採録No入力可否 +論文採録No異常入力 +チケット種類の数 対 チケット種別 +チケット名文字数

    対 チケット種別 +チケット種類の数 対 価格確認表 +チケット名文字数 対 価格確認表 +価格確認表操作レスポンス +レスポンシブでのチケット名表示 +参加者種別の入力判定・価格反映 +参加者種別・チケット種別価格反映 参考:テストケース仕様書を作る場合 テストケース仕様書を作成する場合や、テスト管理ツールにて テストケースを管理する場合に階層構造はシンプルです。 No テスト名 No テストケース BusST申し込みシステム 参加申込みチケット 論文採録No入力可否 1 参加者種別->通常参加 選択時に論文採録Noがグレイアウトで入力不可 2 参加者種別->論文採録者 選択時に論文採録Noが入力できること チケット種類の数 対 チケット種別 3 チケット種別の選択可能なドロップダウンリスト数(チケット種類の数)が1個の 場合、表示されるドロップダウンリストが1つしかないこと 4 チケット種別の選択可能なドロップダウンリスト数(チケット種類の数)が2個の 場合、表示されるドロップダウンリストが2つあること 5 チケット種別の選択可能なドロップダウンリスト数(チケット種類の数)が10個 の場合、表示されるドロップダウンリストが10個あること チケット名文字数 対 チケット種別 ・・・ 各入力説明 試験カテゴリ テストカタマリーのもつ テストケースは青点線範囲 ロジカルテストケースの テストケース範囲は赤点線
  40. 69 2017/09公開用 テストカタマリーワークショップβ版 カタマリー、ロジカルテストケースとキガカリー テストカタマリーでは、該当部分にキガカリーを 入れることを推奨しております。 参加申込みチケット +ロジカルテストケースA: キガカリー +ロジカルテストケースB:

    ふるまい +ロジカルテストケースC: 異常値 … キガカリー(仮名) テスコン@Studio Iburiでは KQF(Key Quality Factor) と呼ぶ 人によっては テストカテゴリ テスト観点、かも ※キガカリーの例 ふるまい、レスポンス、ボリューム、 処理中異常、同時入力、データ互換、 入力値異常、異常操作… 命名は めんどいので ここでは キガカリー と呼びます
  41. 71 2017/09公開用 テストカタマリーワークショップβ版 キガカリーについてざっくり説明 ・テストケースの持つ目的(意図)を明示する。 ・テストの範囲を決めるため、抜けの確認に役立つ。 ・知識の蓄積やパターン化もできる。 ・「テスト観点(の、とある抽象度範囲)」 もしくは 「テストカテゴリ」と同等と考えてよい。

    キガカリー 予約 +ふるまい:機能適合性 +レスポンス:性能効率性 … +曲Noで予約登録をする: ふるまい +予約TAT確認 : レスポンス … ・テストカタマリーは複数のキガカリーを持つ ・ロジカルテストケースは1つのキガカリーと対応 ロジカル テストケース with キガカリー
  42. 73 2017/09公開用 テストカタマリーワークショップβ版 なぜキガカリー?:作った背景より 参考:ゆもつよメソッド(マトリクス)の構造 より ※ソフトウェアテストPress Vol10. 今こそ聞きたいテストの上流設計 より引用

    機能名 機能小分類 データ操作 音声操作 … 検索 キュー 1件 1件 データ送り 2件 - 再生 1件再生 1件 5件 ・・・ データ送り× データ操作 1件再生 × データ操作 1件再生 × 音声操作 テストカテゴリ つくったメンバーがゆもつよメソッドファン テスト手法としてキガカリー設定が役立つと判断した。 ※テスト手法次第で設定する必然性はない。
  43. 74 2017/09公開用 テストカタマリーワークショップβ版 なぜキガカリー?:作った背景より 参考:ゆもつよメソッド(マトリクス)の構造 より ※ソフトウェアテストPress Vol10. 今こそ聞きたいテストの上流設計 より引用

    機能名 機能小分類 データ操作 音声操作 … 検索 キュー 1件 1件 データ送り 2件 - 再生 1件再生 1件 5件 ・・・ データ送り× データ操作 1件再生 × データ操作 1件再生 × 音声操作 キガカリーに相当 テストカテゴリ つくったメンバーがゆもつよメソッドファン テスト手法としてキガカリー設定が役立つと判断した。 ※テスト手法次第で設定する必然性はない。
  44. 75 2017/09公開用 テストカタマリーワークショップβ版 なぜキガカリー?:他手法との関連 ゆもつよメソッド 機能名 機能小分類 データ操作 音声操作 …

    検索 キュー 1件 1件 データ送り 2件 - 再生 1件再生 1件 5件 ・・・ データ送り× データ操作 1件再生 × データ操作 1件再生 × 音声操作 キガカリーに相当 テストカテゴリ VSTeP / NGT ※テスト観点に基づくテスト開発方法論VSTePの概要 より引用 三角形 具体 抽象 直線 不成立 成立 二等辺△ 不等辺△ 正三角形 … ・・・ 動作環境 ネットワーク プラットフォーム ハードウェア OS … ・・・
  45. 76 2017/09公開用 テストカタマリーワークショップβ版 なぜキガカリー?:他手法との関連 ゆもつよメソッド 機能名 機能小分類 データ操作 音声操作 …

    検索 キュー 1件 1件 データ送り 2件 - 再生 1件再生 1件 5件 ・・・ データ送り× データ操作 1件再生 × データ操作 1件再生 × 音声操作 キガカリーに相当 テストカテゴリ VSTeP / NGT ※テスト観点に基づくテスト開発方法論VSTePの概要 より引用 三角形 ※どのテストケースでテスト観点を カバーしているか関連付けたい ⇒対応する観点が「キガカリー」相当 具体 抽象 直線 不成立 成立 二等辺△ 不等辺△ 正三角形 … ・・・ 動作環境 ネットワーク プラットフォーム ハードウェア OS … ・・・ テストケース テストケース テストケース
  46. 77 2017/09公開用 テストカタマリーワークショップβ版 なぜキガカリー?:技法との対応 紹介したように、ロジカルテストケースから、 テスト技法を用いて具体的テストケースに落とし込みますが、 この「テスト技法」との対応もできていると便利です。 (例)購入種別と入場時間から計算結果を確認する(ロジカルテストケース) キガカリー「ふるまい」では、主にCFD、DTを使いテストケースをつくる。 購入計算

    処理 計算結果 購入種別 入場時間 入場時間 購入種別(通常料金) こども おとな 1000 円 購入 不可 購入不可時間 20:00:00- 23:59:59 購入不可時間 00:00:00- 09:59:59 夜間料金 18:00:00- 19:59:59 通常料金 10:00:00- 17:59:59 購入種別(夜間料金) こども おとな 500 円 1300 円 800 円 #1 #2 #3 #4 #5 #6 1 購入種別 1 おとな - - ◦ ◦ - - 2 こども - - - - ◦ ◦ 2 入場時間 1 購入不可時間 00:00:00-09:59:59 ◦ - - - - - 2 通常料金時間 10:00:00-17:59:59 - - ◦ - ◦ - 3 夜間料金時間 18:00:00-19:59:59 - - - ◦ - ◦ 4 購入不可時間 20:00:00-23:59:59 - ◦ - - - - #1 #2 #3 #4 #5 #6 1 購入不可 ◦ ◦ - - - - 2 1300円 - - - ◦ - - 3 1000円 - - ◦ - - - 4 800円 - - - - - ◦ 5 500円 - - - - ◦ - 入力条件 期待結果 「ふるまい」確認のため、 CFD/DTを用いて検討する
  47. 78 2017/09公開用 テストカタマリーワークショップβ版 参考:テスト観点の範囲に対する概念MAP 三角形 具体 抽象 直線 不成立 成立

    二等辺△ 不等辺△ 正三角形 … ・・・ 動作環境 ネットワーク プラットフォーム ハードウェア OS … 品質特性など ・機能適合性 ・性能効率性 etc 具体的な パラメータ 同値クラス 単位の項目 テスト観点 (テストカテゴリ) キガカリー ブンルイー 感覚的な範囲の想定なので もう少し具体的な事例や 表現方法の整理が必要 データ操作 音声操作
  48. 81 2017/09公開用 テストカタマリーワークショップβ版 キガカリーとは?:他手法との関連 ※把握・理解している内容で説明 ・ゆもつよメソッド: テストケースはいずれかの テストカテゴリに属する。 テストカテゴリが、 そのテストケースの目的(意図)を示す。

    ・VSTeP:テストケースの目的(意図)をモデリングしている。 ただし、テストケースに割り当てる方法を明示はしていない。 機能名 機能小分類 データ操作 音声操作 … 検索 キュー 1件 1件 データ送り 2件 - 再生 1件再生 1件 5件 ・・・ テストカテゴリ 三角形 具体 抽象 直線 不成立 成立 二等辺△ 不等辺△ 正三角形 … ・・・ 動作環境 ネットワーク プラットフォーム ハードウェア OS … ・・・
  49. 82 2017/09公開用 テストカタマリーワークショップβ版 キガカリーとは?:キガカリーの役立つ点と例 ざっくりと体感的に役立つ点を記載しておきます。 ・テストの範囲を決めることができる、 ざっくり特定するのに役立つ(例:予約×ふるまい) ・説明する際に役に立つ ・抜けている部分を確認しやすい ・知見の蓄積ができる

    ・パターン風の「キガカリーセット」を使うと考えやすく役に立つ ・抽象的な表現を活用すると、全体を考えやすい 予約 +ふるまい:機能適合性 +レスポンス:性能効率性 … +曲Noで予約登録をする: ふるまい +予約TAT確認 : レスポンス … 予約×ふるまい 予約×レスポンス ざっくり範囲がわかる ユーザ操作パターン +ふるまい:機能適合性 +レスポンス:性能効率性 … 機能適合性 - 結果網羅 ふるまい - 結果網羅 機能排他 状態遷移 - 性能評価 性能効率性 ボリューム ストレス レスポンス 「テスト条件」とも 呼んでよいかも
  50. 86 2017/09公開用 テストカタマリーワークショップβ版 ワーク②:キガカリーの例 作成したカタマリーの各ロジカルテストケースに キガカリーを追加することを考えてみます。 参加申込みチケット +ロジカルテストケースA: +ロジカルテストケースB: +ロジカルテストケースC:

    … キガカリーの例 テストケースの分類 を意識している 人ならやりやすい キガカリーの例 ※↓にこだわる必要はありません ・ふるまい/論理性 ・異常操作 ・レスポンス/応答速度 …
  51. 87 2017/09公開用 テストカタマリーワークショップβ版 ワーク②:回答例 キガカリーを追加したカタマリーの例。 参加申込みチケット +論文採録No入力可否 : 単体パラメータ確認/ふるまい +論文採録No異常入力

    : 入力値異常 +チケット種類の数 対 チケット種別 : 単体パラメータ確認/ふるまい +チケット名文字数 対 チケット種別 : 単体パラメータ確認/ふるまい +チケット種類の数 対 価格確認表 : 単体パラメータ確認/ふるまい +チケット名文字数 対 価格確認表 : 単体パラメータ確認/ふるまい +価格確認表操作レスポンス : レスポンス +レスポンシブでのチケット名表示 : 表示くずれ有無 +参加者種別の入力判定・価格反映 : 単体パラメータ確認/ふるまい +参加者種別・チケット種別価格反映 : 有則組合せ確認/ふるまい
  52. 88 2017/09公開用 テストカタマリーワークショップβ版 キガカリーを属性部にも記載します。 メソッド引数部分に網羅基準(Done基準の明確化等に使う) を記述します。 これで、astah*の機能を フルに活用してますw ※使えばいいってもんじゃない さらに詳細なカタマリーの記法では…

    キガカリーを表示 ※対象キガカリー:上位分類 という構成で記述してます ロジカルテストケース名 (網羅基準) :対象のキガカリー …という記述です。 + 論文採録No異常入力(異常時処理確認) : 入力値異常 + 入力値異常 : 異常値 + 参加者種別・チケット種別価格反映(結果網羅) : 有則組合せ確認 + 参加者種別の入力判定・価格反映(結果網羅) : 単体パラメータ確認 + レスポンシブでのチケット名表示(表示確認) : 表示くずれ有無 + 価格確認表操作レスポンス(性能評価) : レスポンス + チケット名文字数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット名文字数 対 チケット種別(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 チケット種別(結果網羅) : 単体パラメータ確認 + 論文採録No入力可否(結果網羅) : 単体パラメータ確認 + 表示くずれ有無 : 使用性 + レスポンス : 性能効率性 + 有則組合せ確認 : 機能適合性 + 単体パラメータ確認 : 機能適合性 参加申込みチケット
  53. 89 2017/09公開用 テストカタマリーワークショップβ版 正式に記述したカタマリーの例@astah* 全部書くと ちょっと メンドイので、 効果を感じない 部分は外してOK ワーク②:回答例(astah*使用時の正式記述)

    + 論文採録No異常入力(異常時処理確認) : 入力値異常 + 入力値異常 : 異常値 + 参加者種別・チケット種別価格反映(結果網羅) : 有則組合せ確認 + 参加者種別の入力判定・価格反映(結果網羅) : 単体パラメータ確認 + レスポンシブでのチケット名表示(表示確認) : 表示くずれ有無 + 価格確認表操作レスポンス(性能評価) : レスポンス + チケット名文字数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット名文字数 対 チケット種別(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 チケット種別(結果網羅) : 単体パラメータ確認 + 論文採録No入力可否(結果網羅) : 単体パラメータ確認 + 表示くずれ有無 : 使用性 + レスポンス : 性能効率性 + 有則組合せ確認 : 機能適合性 + 単体パラメータ確認 : 機能適合性 参加申込みチケット
  54. 90 2017/09公開用 テストカタマリーワークショップβ版 キガカリーの参考:現場の言葉を使おう ほぼ同じ概念に対して複数の表現ができる場合が… ⇒ふるまい?論理性?ロジック?有則組合せ? 困った時には「現場にあわせた(しっくりくる)言葉」 を選んでおきましょう。 例: ・ふるまい

    / 論理性確認 / ロジック 単体パラメータ確認 & 有則組合せ確認 ・レスポンス / 応答速度 操作レスポンス & 通信速度 & 処理レスポンス ・ボリューム / サイズ大データ処理 … 現場でよく使っている言葉 を用いることで意見交換が やりやすくなります。
  55. 91 2017/09公開用 テストカタマリーワークショップβ版 キガカリーの参考:キガカリーシリーズ キガカリーは蓄積することで役立つ情報となります。 ※整理して全体を示したものを「ブンルイー」と呼ぶ  仕様書出図後の仕様変更、ユーザ固有の環境、MWとのIF  メモリがあふれた時、ハード的なエラー  想定外、数値、起動、終了、割り込み、タイミング 抜けやすい観点

    無し、増加、減少、他に、一部、 逆、異なる、早い、遅い、前、後 詳細 参考:HAZOP リトライ(成功)、再接続(成功)、 規制、 再送、未接続でHHH、 未契約でGGG、 契約外、無応答 リカバリ エラー、異常、NG、例外、XX失敗、 リトライオーバー、 タイムアウト、不正、Reject、 状態不一致、障害、 同期はずれ、 想定外/未知 異常系 信頼性、異常系 ガイドワード 外側、例外、間、対象、類推 そ、れ、あ、た、る 狙いどころ パステスト 構造テスト 競合 状態 カバレッジ 構造 両立性テスト 構成テスト データ互換性テスト 拡張性テスト ストレステスト ロードテスト ユーザビリティテスト 信頼性テスト 回復性テスト ロバストネステスト セキュリティテスト シナリオテスト 機能組合せテスト 機能テスト ※ゆもつよメソッドより 移植性 保守性 効率性 使用性 信頼性 機能性 置換製 共存力 インストールのしやすさ 順応性 テストのしやすさ 安定性 変更のしやすさ 分析のしやすさ 資源の活用度 時間挙動 魅力 操作のしやすさ 学習のしやすさ 理解のしやすさ 復元力 フォールトレランス 成熟度 セキュリティ 相互運用性 正確性 適切さ 手続きテスト ドキュメンテーションテスト サービスアビリティテスト リカバリーテスト 信頼性テスト インストーラビリティテスト 互換性/コンパチビリティテスト 設定/コンフィグレーションテスト ストレージテスト 性能/パフォーマンステスト セキュリティテスト ユーザビリティテスト ストレステスト ボリュームテスト 機能テストを意味する(テストレベルのFunction Testと分けている) Procedure Testing Documentation Testing Serviceability Testing Recovery Testing Reliability Testing Installability Testing Compatibility/conversion Testing Configuration Testing Storage Testing Performance Testing Security Testing Usability Testing Stress Testing Volume Testing Facility Testing 開発プロセス改善の指標となる(改善、予防) リリース後の品質リスクを見積もる(リスク) 要件を満たすことを保証する(保障) 欠陥やバグを検出する(検出) 「バグゼロ」の落とし穴 テストは条件次第 殺虫剤のパラドックス 欠陥の偏在 初期テスト 完全なテストは不可能 テストは欠陥があることしか示せない 一般的なテストの必要性 テストの原則 移植性 保守性 効率性 使用性 信頼性 機能性 テストタイプ一覧 Myersの システムテストカテゴリ 品質特性(ISO9126) 汎用観点 (追加予定) 負荷時使用 シナリオ(シーン) 要求 物理特性 仕様/機能 水温変化の規定 起動、アップデート 競合 状態遷移 ロジック 仕様適合 外観検査 特性/精度 タイミング変化 H/W ポットのシステム ロジック 高温層を用いた加速確認 シナリオ(シーン) 環境 ユースケース 要求 負荷時仕様 連続 振る舞い 水質 負荷時性能 分かりやすさ H/W 要求 シナリオ(シーン) 仕様/機能 H/W性能 レスポンス 状態遷移 シナリオ(シーン) ロジック 環境(電圧、温度、振動・衝撃) 意地悪 タイミング変化 競合 仕様適合(当たり前品質) 量産における品質安定性 長期使用可能な耐久性 ユーザにとっての使用性 安全性 テスコン'12@東京 タイミング、状態信頼性テスト 機能、状態、環境組合せ(無側の確認) 連続テスト 取説・シナリオテスト ユーザビリティテスト 機器性能評価/スペック評価 構造テスト/ユーザ提供の状態確認 機能テスト 安全性テスト 参考:テストタイプ一覧 ノイズのタイミングへの影響 アクティブノイズ 割込み操作、タイミング 動的分析 時系列での検討 ワンプレートスタイルで分析 シナリオベース メモ タイミング、状態信頼性テスト 割込み 操作 ノイズ 静的分析(内部構成) アクティブノイズ 外部環境 使用環境 静的分析(外部構成) ワンプレートスタイルで分析 システム、構成ベース メモ 機能、状態、環境組合せ(無側の確認) CPU メモリ 確認項目 タイマも使用する 沸騰、保温の繰り返し 水を補充しながら連続操作 連続操作 夜沸騰して朝まで保温 連続稼動 家庭環境 コンビニ環境 繰り返しで使用される環境を活用 想定シーン 連続テスト 状態網羅 テストシナリオ タイマ ロックON時 ロックOFF時 構造テスト/ユーザ提供の状態確認 音声、ブザー通知 LED表示 液晶表示 表示 カルキ抜き 節電タイマ機能 タイマ機能 便利機能 エラー検知 ロック機能 安全機能 吐水量 容量 沸騰機能 保温機能 基本機能 機器性能評価/スペック評価 想定ユーザテスト エキスパートレビュー 方法 満足度 分かりやすさ 操作学習 操作認識 主観評価、アンケート 企業イメージへの配慮 ユーザと環境に合せる 操作のしやすさ 理解のしやすさ 見つけやすさ、見易さ 評価基準 温度異常を知る 水位センサ異常を知る 水が満水を知る 水が空になったことを知る 温度を見る 水位を確認する タイマ使用を止める 時間を計る 給湯ロックを解除する 給湯ロックを行う カルキ抜きを行う 沸騰させる モード切替 60℃ 90℃ 98℃ 保温する 給湯する 操作 ユーザビリティテスト 各テストフレーム (システム/ユーザ) 競合表に従った状態、ボタン組合せパターン 競合表 チャタリング想定 状態網羅(遷移表ベース、2スイッチ) タイマボタン エラーの割込みパターン想定 状態網羅(遷移表ベース、2スイッチ) 沸騰行為 状態網羅(遷移表ベース、2スイッチ) 温度制御 状態網羅(遷移表ベース、2スイッチ) 水位メータ チャタリング想定 状態網羅(遷移表ベース、2スイッチ) 解除ボタン チャタリング想定 状態網羅(遷移表ベース、2スイッチ) 保温ボタン チャタリング想定 状態網羅(遷移表ベース、2スイッチ) 沸騰ボタン 状態遷移 構造テスト モード遷移時間 保温制御精度 精度 範囲 サーミスタ水温検出 温度推移 保温時間 保温性能 温度制御 吐水量の確認 給湯量 給湯口 給湯 機器性能評価/スペック評価 条件網羅 ブザー 条件網羅 ポンプ デバイス:出力 条件網羅 サーミスタ 条件網羅 第n水位センサ 条件網羅 満水センサ 条件網羅 蓋センサ デバイス:入力 条件網羅 水位メータ 条件網羅 温度/モード表示窓 条件網羅 保温ランプ 条件網羅 沸騰ランプ 条件網羅 ロックランプ 条件網羅 タイマ残り時間表示枠 操作パネル:出力 条件網羅 給湯ボタン 条件網羅 保温設定ボタン 条件網羅 沸騰ボタン 条件網羅 解除ボタン 条件網羅 タイマボタン 操作パネル:入力 デバイス機能 ヒータへの制御出力の妥当性確認 ヒータ制御 温度判定のロジック確認、パターンによる妥当性検証 温度判定 水位判定の論理組合せ条件網羅 水位判定 エラー発生条件の条件網羅 エラー判定 状態遷移×構造テストで確認 状態網羅 ボタン入力の論理判定条件網羅 保温モード 状態遷移×構造テストで確認 状態網羅 ボタン入力の論理判定条件網羅 ロック/解除 サブ機能 状態遷移×構造テストで確認 状態網羅 タイマ 状態遷移×構造テストで確認 状態網羅 給湯停止 給湯する ふるまいが目的に適合していること ボタン押下時の有則組合せ 給湯 状態遷移×構造テストで確認 状態網羅 ミルク 節約 高温 各モード保温 カルキ抜き 沸騰 アイドル ふるまいが目的に適合していること ボタン押下時の有則組合せ 温度制御 メイン機能 メイン機能、サブ/サポート機能、デバイス機能の3層で検討 仕様->保温モード×機能テスト 仕様->ロック/解除×機能テスト 仕様->温度制御×機能テスト 仕様->給湯×機能テスト 仕様->タイマ×機能テスト 詳細分割(メモ) 機能テスト 蓋状態が獲得できない時の起動時処理確認 状態×ボタンを押しっぱなしにした場合の振る舞い確認(All Pair) 沸騰中に蓋を開けた場合の加熱停止 水が無い、少ない場合の沸騰ボタン押下 温度が上がらないエラー 温度上がりすぎのケース ノイズ、環境 HW故障 HWの異常、故障による要因 無意識 わざと、意地悪 人による要因 検討方法(メモ) 安全性テスト(機器及びユーザ) 各テストフレーム (ソフトウェア/機器) テスコン'13 テストタイプベース おまえは 今まで設計した テストの種類を 覚えているのか? ※マインドマップ 蓄積の例 詳細はヒミツ
  56. 92 2017/09公開用 テストカタマリーワークショップβ版 キガカリーの参考:キガカリーシリーズ キガカリーは蓄積することで役立つ情報となります。 ※整理して全体を示したものを「ブンルイー」と呼んでおります。 品質特性 製品 利用時 リスク回避性

    利用状況網羅性 利用時有効性 満足性 利用時効率性 機能適合性 性能効率性 互換性 使用性 信頼性 セキュリティ 保守性 移植性 欠陥検出戦略/ガイドP(っぽい)ワード ガイドP 異常値 並行処理 不具合確認 通信費 処理重ね タイミング 機能組合せ 機器組合せ フェールソフト 機能適合性 使用性 - 使いやすさ - 分かりやすさ ナビゲーション - 異常時処理確認 異常値 入力値異常 異常操作 登録キュー超過入力 - 性能評価 性能効率性 - 正常動作確認 - 信頼性評価 信頼性 ボリューム 同時入力・処理 途中取消 - 正常動作確認 不具合確認 - 2因子網羅 機能組合せ - 性能評価 - 正常動作確認 処理重ね - 正常動作確認 タイミング - 結果網羅 ふるまい 操作レスポンス - 正常復旧確認 復旧処理 処理中異常 - 正常動作確認 互換性 周辺機器 割込み処理 - 結果網羅 機能排他 HWリソース CPU量 メモリ量 ディスク 大きなデータ (ファイル 等)を扱う ストレス 瞬間的な負荷 状態遷移 - 因子網羅 - 2因子網羅 機器組合せ 因子組合せ キューデータへの同時処理 ファイル異常 信頼性や性能効率性の一部だが、 ドメインで特に気にする部分を明示 機器対応 規格・プロトコル対応 セキュリティ 不正利用 データ互換 コンテンツ互換 レスポンス 通信速度 長時間使用 - 学習性 : int 見やすさ 不定値入力 Ver.170125 - 正常動作確認 フェールソフト 縮退運転 片肺運転 - 通信費評価 通信費 音声処理重ね 負荷時のタイミング 映像処理重ね 最大処理時の負荷 制御時タイミング ジャンプタイミング 歌いやすさ コンテンツ処理重ね ※某テスコン における キガカリー の分類例 =ブンルイー
  57. 95 2017/09公開用 テストカタマリーワークショップβ版 投稿論文情報設定 +・・・ +・・・ … 参考:テストカタマリーの流用方法 カタマリーをそのまま流用は難しいかもですが… ふるまい

    レスポンス 異常XX ・・・ 参加申込みチケット +ロジカルテストケースA:ゾクセー +ロジカルテストケースB:ゾクセー +ロジカルテストケースC:ゾクセー +ロジカルテストケースX:ゾクセー +ロジカルテストケースY:ゾクセー +ロジカルテストケースZ:ゾクセー キガカリーを用いることで テストを考えやすくできます。 流用
  58. 97 2017/09公開用 テストカタマリーワークショップβ版 投稿論文情報設定 +・・・ +・・・ … 参考:キガカリーのパターン化 例えば、ユーザの入力に対応する機能という共通点で キガカリーは似たものになるかもしれません。

    ⇒共通キガカリーをパターンとして表現できます。 参加申込みチケット +・・・ +・・・ … ユーザ入力パターン ~ ふるまい ~ 入力値異常 ~ レスポンス … パターンが定義する キガカリーを 使用することで 検討がやりやすい
  59. 98 2017/09公開用 テストカタマリーワークショップβ版 参考:キガカリーパターンの例 某コンテストで使用したパターンの例 ~ 信頼性 ~ 使用性 ~

    性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 ~ 信頼性 ~ 相互運用 ~ 性能効率 ~ 並行処理 ~ 異常値 ~ 機能適合 IF接点機能 ~ 信頼性 ~ 機能適合 機能共通 ~ 信頼性 ~ 性能効率 ~ 機能適合 制約有機能 ~ 相互運用 ~ 信頼性 ~ 性能効率 ~ 並行処理 ~ 機能適合 ストレージアクセス ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 + 予約登録因子組合せ(2因子網羅) : 因子組合せ + 機能組合せ : 機能組合せ + タイミング : タイミング ~ 信頼性 : 信頼性 ~ 使用性 : 使用性 ~ 性能効率 : 性能効率性 ~ 異常値 : 異常値 ~ 機能適合性 : 機能適合性 <<ユーザ接点機能>> 予約をする 全体を見たいときには (スペースの都合上) ステレオタイプで パターンを表してます + 機能組合せ + タイミング <<ユーザ接点機能>> 予約をする + フェールソフト <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする + 使用性 + 処理重ね + タイミング <<制約有機能>> 歌う
  60. 101 2017/09公開用 テストカタマリーワークショップβ版 参考:カタマリーが大きすぎる場合 1つのカタマリーが大きすぎる場合、分割を推奨。 「has-a」を用いて分割を明示。 + 参加者種別・チケット種別価格反映(結果網羅) : 有則組合せ確認

    + 参加者種別の入力判定・価格反映(結果網羅) : 単体パラメータ確認 + レスポンシブでのチケット名表示(表示確認) : 表示くずれ有無 + 価格確認表操作レスポンス(性能評価) : レスポンス + チケット名文字数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット名文字数 対 チケット種別(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 チケット種別(結果網羅) : 単体パラメータ確認 + 論文採録No異常入力(異常時処理確認) : 入力値異常 + 論文採録No入力可否(結果網羅) : 単体パラメータ確認 + 表示くずれ有無 : 使用性 + レスポンス : 性能効率性 + 入力値異常 : 異常値 + 有則組合せ確認 : 機能適合性 + 単体パラメータ確認 : 機能適合性 参加申込みチケット + 表示くずれ有無 : 使用性 + レスポンス : 性能効率性 + 入力値異常 : 異常値 + 有則組合せ確認 : 機能適合性 + 単体パラメータ確認 : 機能適合性 参加申込みチケット + 参加者種別の入力判定・価格反映(結果網羅) : 単体パラメータ確認 + チケット名文字数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 価格確認表(結果網羅) : 単体パラメータ確認 + チケット名文字数 対 チケット種別(結果網羅) : 単体パラメータ確認 + チケット種類の数 対 チケット種別(結果網羅) : 単体パラメータ確認 + 論文採録No異常入力(異常時処理確認) : 入力値異常 + 論文採録No入力可否(結果網羅) : 単体パラメータ確認 + 入力値異常 : 異常値 + 単体パラメータ確認 : 機能適合性 参加申込みチケット:単体パラメータ + 参加者種別・チケット種別価格反映(結果網羅) : 有則組合せ確認 + レスポンシブでのチケット名表示(表示確認) : 表示くずれ有無 + 価格確認表操作レスポンス(性能評価) : レスポンス + 表示くずれ有無 : 使用性 + レスポンス : 性能効率性 + 有則組合せ確認 : 機能適合性 参加申込みチケット:組合せ・品質特性 参加申込み登録画面 他要素
  61. 102 2017/09公開用 テストカタマリーワークショップβ版 参考:分割の例 例えば、DFDの階層と対応して分割を行うなど。 1-6 予約 をする リモコン  (LAN/赤外線)

    パネル モニタ 予約入力 検索入力 1-6* 検索 をする 予約 表示 スピーカ 検索結果 予約キュー 1-6_1 予約 登録をする 登録予約曲、   削除、順番変更 予約曲入力 予約操作 予約時表示   (割込み有無) 営業開始、 営業停止 2-3_1 予約 表示をする 予約時表示 割り込み曲、 後回し曲 1-6*_1 予約 系操作をする 予約入力 オーナー設定保存データ 予約表示 マスク 検索結果  帳票データ 本体モニタ 1-6-4 予約確 認表示をする 予約一覧 予約確認表示 予約確認操作 楽曲履歴データ + 機能組合せ + タイミング <<ユーザ接点機能>> 予約をする ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 + 予約同時入力(正常動作確認) : 同時入力・処理 + 予約TAT確認(性能評価) : 操作レスポンス + 操作手順の確認(分かりやすさ) : ナビゲーション + 予約オプション設定を確認する(結果網羅) : ふるまい + 検索結果から予約登録をする(結果網羅) : ふるまい + 曲Noで予約登録をする(結果網羅) : ふるまい ~ 同時入力・処理 : 信頼性 ~ 操作レスポンス : 性能効率性 ~ ナビゲーション : 使用性 ~ 異常値入力 : 異常値 ~ ふるまい : 機能適合性 予約系操作をする + キュー同時操作を確認する(正常動作確認) : キューデータへの同時処理 + キュー登録、操作、削除時入力(正常動作確認) : 同時入力・処理 + 予約途中、処理中取り消し(正常動作確認) : 途中取消 + キュー最大個数時処理(異常時処理確認) : 登録キュー超過入力 + 予約をキューから削除する(結果網羅) : ふるまい + キューの順番変更を行う(結果網羅) : ふるまい + 後回し登録を確認する(結果網羅) : ふるまい + 割込み登録を確認する(結果網羅) : ふるまい + キューへの追加と順番を確認する(結果網羅) : ふるまい + キューデータへの同時処理 : タイミング ~ 同時入力・処理 : 信頼性 ~ 途中取消 : 信頼性 ~ 登録キュー超過入力 : 異常値 ~ ふるまい : 機能適合性 予約登録をする 予約キュー処理検討 >OPモデル + 予約確認(キュー)表示を確認する(結果網羅) : ふるまい ~ ふるまい : 機能適合性 予約確認表示をする + 予約時表示を確認する(結果網羅) : ふるまい ~ ふるまい : 機能適合性 予約表示をする + 予約削除時の動作確認(正常動作確認) : 途中取消 + データの多い場合(性能評価) : ボリューム + 楽曲履歴登録を確認する(結果網羅) : ふるまい ~ 途中取消 : 信頼性 ~ ボリューム : 信頼性 ~ ふるまい : 機能適合性 楽曲履歴登録をする + 予約登録因子組合せ(2因子網羅) : 因子組合せ + 機能組合せ : 機能組合せ + タイミング : タイミング ~ 信頼性 : 信頼性 ~ 使用性 : 使用性 ~ 性能効率 : 性能効率性 ~ 異常値 : 異常値 ~ 機能適合性 : 機能適合性 <<ユーザ接点機能>> 予約をする
  62. 108 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーのバリエーション テストカタマリーの各図バリエーションを紹介してみます。 画面以外:品質特性ベース + UI準拠 : ユーザビリティ

    ユーザビリティ + 別アプリ同時動作 : 互換性 + アプリ内複数機能動作 : 互換性 + OS通知同時表示 : 互換性 共存(互換性) + OS互換 : 移植性 OS互換 各画面対応 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> 世界時計 - メモリリーク : 性能効率性 - 連続時動作 : 信頼性 連続動作(信頼性) + 想定以上の負荷 : 性能効率性 + リソース連携 : 互換性->相互運用性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム ~ バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 タイマー + 分析の正確さ : 機能適合性 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 ~ 操作レスポンス : 性能効率性 + 各機能確認 : 機能適合性 ベッドタイム ~ 登録データ数 : 性能効率性 + 想定以上の負荷 : 性能効率性 + 各機能確認 : 機能適合性 ストップウオッチ ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 ~ 想定以上の負荷 : 性能効率性 ~ バックグラウンド通知 : 互換性 <<pattern>> アラート通知 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 + 他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム + Siriからの操作(結果網羅) : リソース連携 + 操作応答確認(性能評価) : 操作レスポンス + データ登録最大確認(性能評価) : 登録データ数 + アラーム削除(結果網羅) : ふるまい + アラーム編集(結果網羅) : ふるまい + アラーム登録(結果網羅) : ふるまい + リソース連携 : 互換性->相互運用性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 アラーム登録・表示 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 + 他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 + 曲データ選択(結果網羅) : リソース連携 - リソース連携 : 互換性->相互運用性 ライブラリ曲選択 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 具体的テストケース テストカタマリー 全体図 テストカタマリー 詳細図 テストカタマリー エンティティ(塊) 1つに着目して テストケースを具体化へ 全体の1つを 詳細で示す
  63. 109 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーのバリエーション テストカタマリーの各図バリエーションを紹介してみます。 画面以外:品質特性ベース + UI準拠 : ユーザビリティ

    ユーザビリティ + 別アプリ同時動作 : 互換性 + アプリ内複数機能動作 : 互換性 + OS通知同時表示 : 互換性 共存(互換性) + OS互換 : 移植性 OS互換 各画面対応 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> 世界時計 - メモリリーク : 性能効率性 - 連続時動作 : 信頼性 連続動作(信頼性) + 想定以上の負荷 : 性能効率性 + リソース連携 : 互換性->相互運用性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム ~ バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 タイマー + 分析の正確さ : 機能適合性 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 ~ 操作レスポンス : 性能効率性 + 各機能確認 : 機能適合性 ベッドタイム ~ 登録データ数 : 性能効率性 + 想定以上の負荷 : 性能効率性 + 各機能確認 : 機能適合性 ストップウオッチ ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 ~ 想定以上の負荷 : 性能効率性 ~ バックグラウンド通知 : 互換性 <<pattern>> アラート通知 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 + 他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム + Siriからの操作(結果網羅) : リソース連携 + 操作応答確認(性能評価) : 操作レスポンス + データ登録最大確認(性能評価) : 登録データ数 + アラーム削除(結果網羅) : ふるまい + アラーム編集(結果網羅) : ふるまい + アラーム登録(結果網羅) : ふるまい + リソース連携 : 互換性->相互運用性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 アラーム登録・表示 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 + 他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 + 曲データ選択(結果網羅) : リソース連携 - リソース連携 : 互換性->相互運用性 ライブラリ曲選択 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 具体的テストケース テストカタマリー 全体図 テストカタマリー 詳細図 テストカタマリー エンティティ(塊) 1つに着目して テストケースを具体化へ ロジカルテストケース の塊を表現 具体的テストケースへ 全体の1つを 詳細で示す 全体とエンティティを つなぐ、1つの 単位の詳細構造を示す 全体を俯瞰して表現 大きな抜けの検出や 全体の合意に使う
  64. 112 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリー全体図と記法 テストカタマリー全体図で使用することの多い記法を紹介。 画面以外:品質特性ベース + UI準拠 : ユーザビリティ

    ユーザビリティ + 別アプリ同時動作 : 互換性 + アプリ内複数機能動作 : 互換性 + OS通知同時表示 : 互換性 共存(互換性) + OS互換 : 移植性 OS互換 各画面対応 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> 世界時計 - メモリリーク : 性能効率性 - 連続時動作 : 信頼性 連続動作(信頼性) + 想定以上の負荷 : 性能効率性 + リソース連携 : 互換性->相互運用性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム ~ バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 タイマー + 分析の正確さ : 機能適合性 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 ~ 操作レスポンス : 性能効率性 + 各機能確認 : 機能適合性 ベッドタイム ~ 登録データ数 : 性能効率性 + 想定以上の負荷 : 性能効率性 + 各機能確認 : 機能適合性 ストップウオッチ ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 ~ 想定以上の負荷 : 性能効率性 ~ バックグラウンド通知 : 互換性 <<pattern>> アラート通知 テストカタマリー 全体図 全体を俯瞰して表現 大きな抜けの検出や 全体の合意に使う ▪共通キガカリーの適用 ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 + 予約登録因子組合せ(2因子網羅) : 因子組合せ + 機能組合せ : 機能組合せ + タイミング : タイミング ~ 信頼性 : 信頼性 ~ 使用性 : 使用性 ~ 性能効率 : 性能効率性 ~ 異常値 : 異常値 ~ 機能適合性 : 機能適合性 <<ユーザ接点機能>> 予約をする + 機能組合せ + タイミング <<ユーザ接点機能>> 予約をする = 汎化表現 ステレオタイプ表現 ▪パッケージ ▪ロジカルテストケース の省略 共通キガカリー以外を 見えるようにすることも 画面以外:品質特性ベース + UI準拠 : ユーザビリティ ユーザビリティ + 別アプリ同時動作 : 互換性 + アプリ内複数機能動作 : 互換性 + OS通知同時表示 : 互換性 共存(互換性) + 機能組合せ + タイミング <<ユーザ接点機能>> 予約をする 記述せず省略 全体を考える時には キガカリーまででOK
  65. 113 2017/09公開用 テストカタマリーワークショップβ版 + リソース連携 + 想定以上の負荷 + バックグラウンド通知 ~

    操作レスポンス ~ 登録データ数 + 各機能確認 <<データ登録・編集・削除>> アラーム + Siriからの操作() + 操作応答確認() + データ登録最大確認() + アラーム削除() + アラーム編集() + アラーム登録() + リソース連携 ~ 操作レスポンス ~ 登録データ数 + 各機能確認 アラーム登録・表示 + 負荷時確認() + 他アプリ動作時() + スヌーズ処理確認() + アラーム動作確認() + 負荷時バックグラウンド動作 + バックグラウンド通知 + 各機能確認 アラーム通知 + 曲データ選択(結果網羅) : リソース連携 - リソース連携 : 互換性->相互運用性 ライブラリ曲選択 テストカタマリー詳細図と記法 テストカタマリー詳細図で使用することの多い記法を紹介。 ▪共通キガカリーの適用 ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 + 予約登録因子組合せ(2因子網羅) : 因子組合せ + 機能組合せ : 機能組合せ + タイミング : タイミング ~ 信頼性 : 信頼性 ~ 使用性 : 使用性 ~ 性能効率 : 性能効率性 ~ 異常値 : 異常値 ~ 機能適合性 : 機能適合性 <<ユーザ接点機能>> 予約をする ▪共通使用カタマリー (使用機会は少ない) ▪has-aでの分割 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム + Siriからの操作(結果網羅) : リソース連携 + 操作応答確認(性能評価) : 操作レスポンス + データ登録最大確認(性能評価) : 登録データ数 + アラーム削除(結果網羅) : ふるまい + アラーム編集(結果網羅) : ふるまい + アラーム登録(結果網羅) : ふるまい + リソース連携 : 互換性->相互運用性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 アラーム登録・表示 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 + 他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 + 曲データ選択(結果網羅) : リソース連携 - リソース連携 : 互換性->相互運用性 ライブラリ曲選択 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 テストカタマリー 詳細図 全体とエンティティを つなぐ、1つの 単位の詳細構造を示す
  66. 114 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーエンティティと記法 テストカタマリーエンティティは1部を参照。 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 +

    他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 具体的テストケース テストカタマリー エンティティ(塊) ロジカルテストケース の塊を表現 具体的テストケースへ
  67. 115 2017/09公開用 テストカタマリーワークショップβ版 全体を俯瞰して表現 全体俯瞰における1つの カタマリーを詳細に表現 最下層に抽象 (ロジカル)テスト ケースを並べる 1つのロジカルテストケースは

    複数の具体的テストケースに対応 画面以外:品質特性ベース + UI準拠 : ユーザビリティ ユーザビリティ + 別アプリ同時動作 : 互換性 + アプリ内複数機能動作 : 互換性 + OS通知同時表示 : 互換性 共存(互換性) + OS互換 : 移植性 OS互換 各画面対応 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> 世界時計 - メモリリーク : 性能効率性 - 連続時動作 : 信頼性 連続動作(信頼性) + 想定以上の負荷 : 性能効率性 + リソース連携 : 互換性->相互運用性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム ~ バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 タイマー + 分析の正確さ : 機能適合性 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 ~ 操作レスポンス : 性能効率性 + 各機能確認 : 機能適合性 ベッドタイム ~ 登録データ数 : 性能効率性 + 想定以上の負荷 : 性能効率性 + 各機能確認 : 機能適合性 ストップウオッチ ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 ~ 想定以上の負荷 : 性能効率性 ~ バックグラウンド通知 : 互換性 <<pattern>> アラート通知 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 + 他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム + Siriからの操作(結果網羅) : リソース連携 + 操作応答確認(性能評価) : 操作レスポンス + データ登録最大確認(性能評価) : 登録データ数 + アラーム削除(結果網羅) : ふるまい + アラーム編集(結果網羅) : ふるまい + アラーム登録(結果網羅) : ふるまい + リソース連携 : 互換性->相互運用性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 アラーム登録・表示 + 負荷時確認(性能評価) : 負荷時バックグラウンド動作 + 他アプリ動作時(通常動作) : バックグラウンド通知 + スヌーズ処理確認(結果網羅) : ふるまい + アラーム動作確認(結果網羅) : ふるまい + 負荷時バックグラウンド動作 : 性能効率性 + バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 アラーム通知 + 曲データ選択(結果網羅) : リソース連携 - リソース連携 : 互換性->相互運用性 ライブラリ曲選択 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 編集画面にて登録解除 アラーム画面にて登録解除 未登録のときに登録解除 具体的テストケース テストカタマリー 全体図 テストカタマリー 詳細図 テストカタマリー エンティティ(塊) 1つに着目して テストケースを具体化へ 全体の1つを 詳細で示す テストカタマリー:超簡単まとめ
  68. 116 2017/09公開用 テストカタマリーワークショップβ版 参考:テストカタマリー全体図、詳細図の例 全体図と詳細図を分割して示した例。 ~ 信頼性 ~ 機能適合 機能共通

    ~ 相互運用 ~ 信頼性 ~ 性能効率 ~ 並行処理 ~ 機能適合 ストレージアクセス テストベース:機能⇒ DFD参照モデル <<ユーザ接点機能>> 演奏系操作をする + 異常値 <<機能共通>> 演奏準備をする <<ユーザ接点機能>> SE操作をする + 機能組合せ <<ユーザ接点機能>> 検索をする + 機能組合せ + タイミング <<ユーザ接点機能>> 予約をする <<ユーザ接点機能>> オーナー設定をする + 機能組合せ + 異常値 + セキュリティ <<機能共通>> 課金判定をする + 機能組合せ + 異常値 + 互換性 + 性能効率性 <<機能共通>> 曲間表示をする + フェールソフト <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする + フェールソフト <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする + フェールソフト + 使用性 + セキュリティ + 機器組合せ <<IF接点機能>> 営業状態判定をする 営業状態状態遷移>状態遷移 <機能グループ>コンテンツを使う + セキュリティ + 互換性 <<IF接点機能>> 録音、録画をする + 機能組合せ + 不具合確認 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする 引下げ不具合分析>シーケンス図 <機能グループ>歌う <<制約有機能>> 映像再生する <<ユーザ接点機能>> 設置時設定をする <<制約有機能>> 演奏をする 演奏状態遷移>状態遷移 <<IF接点機能>> 採点をする ~ 信頼性 ~ 性能効率 ~ 機能適合 制約有機能 <<IF接点機能>> HDD障害の通知をする + 異常値 <<機能共通>> カロリー表示をする <<制約有機能>> 楽曲演奏する + 不具合確認 + 信頼性 <<IF接点機能>> プログラムを更新する プログラム更新処理>アクティビティ図 + 処理重ね : 処理重ね + タイミング : タイミング <<制約有機能>> コンテンツを使う + 使用性 + 処理重ね + タイミング <<制約有機能>> 歌う ~ 信頼性 ~ 互換性 ~ 性能効率 ~ 並行処理 ~ 異常値 ~ 機能適合 IF接点機能 ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 テストベース:機能外要求、記述されている気がかり事項 + 機器組合せ + 互換性 外部機器互換 + 移植性 新採点移植確認 + セキュリティ セキュリティ + 通信費 通信費確認 提案ベース + 信頼性 + 性能効率性 エイジング + フェールソフト + 機能組合せ + 信頼性 シナリオ + セキュリティ + 並行処理 + 異常値 + 信頼性 + 性能効率 + 機能適合 センター間インタフェース 想定通信シーケンス>シーケンス図 ユーザ機能 オーナー機能 サプライヤ機能 機能外要求、気がかり 機能組合せ 特殊機能 色の凡例 提案ベース (参考) テスト要求 パターン 「+」項目はパターン以外 で追加した品質要素となる ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 + 予約同時入力(正常動作確認) : 同時入力・処理 + 予約TAT確認(性能評価) : 操作レスポンス + 操作手順の確認(分かりやすさ) : ナビゲーション + 予約オプション設定を確認する(結果網羅) : ふるまい + 検索結果から予約登録をする(結果網羅) : ふるまい + 曲Noで予約登録をする(結果網羅) : ふるまい ~ 同時入力・処理 : 信頼性 ~ 操作レスポンス : 性能効率性 ~ ナビゲーション : 使用性 ~ 異常値入力 : 異常値 ~ ふるまい : 機能適合性 予約系操作をする + キュー同時操作を確認する(正常動作確認) : キューデータへの同時処理 + キュー登録、操作、削除時入力(正常動作確認) : 同時入力・処理 + 予約途中、処理中取り消し(正常動作確認) : 途中取消 + キュー最大個数時処理(異常時処理確認) : 登録キュー超過入力 + 予約をキューから削除する(結果網羅) : ふるまい + キューの順番変更を行う(結果網羅) : ふるまい + 後回し登録を確認する(結果網羅) : ふるまい + 割込み登録を確認する(結果網羅) : ふるまい + キューへの追加と順番を確認する(結果網羅) : ふるまい + キューデータへの同時処理 : タイミング ~ 同時入力・処理 : 信頼性 ~ 途中取消 : 信頼性 ~ 登録キュー超過入力 : 異常値 ~ ふるまい : 機能適合性 予約登録をする 予約キュー処理検討 >OPモデル + 予約確認(キュー)表示を確認する(結果網羅) : ふるまい ~ ふるまい : 機能適合性 予約確認表示をする + 予約削除時の動作確認(信頼性評価) : 途中取消 + データの多い場合(性能評価) : ボリューム + ランキング順位更新を確認する(結果網羅) : ふるまい + 店舗予約ランキング登録を確認する(結果網羅) : ふるまい ~ 途中取消 : 信頼性 ~ ボリューム : 信頼性 ~ ふるまい : 機能適合性 ランキングを決める + 予約時表示を確認する(結果網羅) : ふるまい ~ ふるまい : 機能適合性 予約表示をする 異常値入力の確認は機能適合 のテストに含まれる + 予約削除時の動作確認(正常動作確認) : 途中取消 + データの多い場合(性能評価) : ボリューム + 楽曲履歴登録を確認する(結果網羅) : ふるまい ~ 途中取消 : 信頼性 ~ ボリューム : 信頼性 ~ ふるまい : 機能適合性 楽曲履歴登録をする + 予約登録因子組合せ(2因子網羅) : 因子組合せ + 機能組合せ : 機能組合せ + タイミング : タイミング ~ 信頼性 : 信頼性 ~ 使用性 : 使用性 ~ 性能効率 : 性能効率性 ~ 異常値 : 異常値 ~ 機能適合性 : 機能適合性 <<ユーザ接点機能>> 予約をする 「予約をする」 詳細図 「カロリー表示をする」 詳細図
  69. 117 2017/09公開用 テストカタマリーワークショップβ版 ブンルイーの紹介 テストカタマリーの各図バリエーションを紹介してみます。 単体 パラメータ 入力 異常値 参加申込みチケット

    + 単体パラメータ確認 + 入力値異常 … + 論文採録No異常入力:単体パラメータ確認 + 論文採録No異常入力:入力値異常 … <ロジカルテストケース> 論文採録No入力可否 論文採録No異常入力 <キガカリー> 対応 対応 <テストカタマリー> 単体 パラメータ 入力 異常値 レスポンス 有則 組合せ確認 ・・・ <キガカリー一式> <テストカタマリー全体図> <ブンルイー> 各画面対応 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> 世界時計 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム ~ バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 タイマー + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 ~ 操作レスポンス : 性能効率性 + 分析の正確さ : 機能適合性 + 各機能確認 : 機能適合性 ベッドタイム + 想定以上の負荷 : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 ストップウオッチ ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 ~ 想定以上の負荷 : 性能効率性 ~ バックグラウンド通知 : 互換性 <<pattern>> アラート通知 対応 機能適合性 - 結果網羅 ふるまい - 結果網羅 機能排他 状態遷移 単体パラメータ確認 有則組合せ確認 - 異常時処理確認 異常値 入力値異常 異常操作 不定値入力 より 「全体」へ Copyright ポケットモンスター
  70. 118 2017/09公開用 テストカタマリーワークショップβ版 ブンルイーの紹介 ブンルイーは自由に作ることができます。 <品質特性ベース> <FURPS+ベース> <VSTeP形式> ※ボトムアップに構築になるかも 機能適合性

    - 結果網羅 ふるまい - 結果網羅 機能排他 状態遷移 - 正常動作確認 互換性 周辺機器 データ互換 コンテンツ互換 - 性能評価 性能効率性 ボリューム HWリソース ストレス レスポンス - 正常動作確認 - 信頼性評価 信頼性 同時入力・処理 途中取消 - 正常復旧確認 復旧処理 処理中異常 機能性 ユーザビリティ 実行性能 - 正常動作確認 - 信頼性評価 信頼性 同時入力・処理 途中取消 - 正常復旧確認 復旧処理 処理中異常 保守性/サポート性 制約 - 使いやすさ - 分かりやすさ ナビゲーション - 学習性 : int 見やすさ 表示くずれ有無 - 結果網羅 ふるまい - 結果網羅 機能排他 状態遷移 ボリューム 操作レスポンス レスポンス 通信速度 機能 動作環境 データ プラットフォーム確認 ネットワーク確認 OS種類 ハードウェア種類 参考
  71. 119 2017/09公開用 テストカタマリーワークショップβ版 参考:ブンルイーの例 ブンルイーは全体検討時と個々のテスト設計時にも アップデートされることが多いです。 品質特性 製品 利用時 リスク回避性

    利用状況網羅性 利用時有効性 満足性 利用時効率性 機能適合性 性能効率性 互換性 使用性 信頼性 セキュリティ 保守性 移植性 欠陥検出戦略/ガイドP(っぽい)ワード ガイドP 異常値 並行処理 不具合確認 通信費 処理重ね タイミング 機能組合せ 機器組合せ フェールソフト 機能適合性 使用性 - 使いやすさ - 分かりやすさ ナビゲーション - 異常時処理確認 異常値 入力値異常 異常操作 登録キュー超過入力 - 性能評価 性能効率性 - 正常動作確認 - 信頼性評価 信頼性 ボリューム 同時入力・処理 途中取消 - 正常動作確認 不具合確認 - 2因子網羅 機能組合せ - 性能評価 - 正常動作確認 処理重ね - 正常動作確認 タイミング - 結果網羅 ふるまい 操作レスポンス - 正常復旧確認 復旧処理 処理中異常 - 正常動作確認 互換性 周辺機器 割込み処理 - 結果網羅 機能排他 HWリソース CPU量 メモリ量 ディスク 大きなデータ (ファイル 等)を扱う ストレス 瞬間的な負荷 状態遷移 - 因子網羅 - 2因子網羅 機器組合せ 因子組合せ キューデータへの同時処理 ファイル異常 信頼性や性能効率性の一部だが、 ドメインで特に気にする部分を明示 機器対応 規格・プロトコル対応 セキュリティ 不正利用 データ互換 コンテンツ互換 レスポンス 通信速度 長時間使用 - 学習性 : int 見やすさ 不定値入力 Ver.170125 - 正常動作確認 フェールソフト 縮退運転 片肺運転 - 通信費評価 通信費 音声処理重ね 負荷時のタイミング 映像処理重ね 最大処理時の負荷 制御時タイミング ジャンプタイミング 歌いやすさ コンテンツ処理重ね
  72. 120 2017/09公開用 テストカタマリーワークショップβ版 参考:ブンルイーの例(プロセス) ブンルイーのアップデートプロセスの例。 1つを抜粋 し詳細化 品質特性 製品 利用時

    リスク回避性 利用状況網羅性 利用時有効性 満足性 利用時効率性 機能適合性 性能効率性 互換性 使用性 信頼性 セキュリティ 保守性 移植性 欠陥検出戦略/ガイドP(っぽい)ワード ガイドP 異常値 並行処理 不具合確認 通信費 処理重ね タイミング 機能組合せ 機器組合せ フェールソフト 機能適合性 使用性 - 使いやすさ - 分かりやすさ ナビゲーション - 異常時処理確認 異常値 入力値異常 異常操作 登録キュー超過入力 - 性能評価 性能効率性 - 正常動作確認 - 信頼性評価 信頼性 ボリューム 同時入力・処理 途中取消 - 正常動作確認 不具合確認 - 2因子網羅 機能組合せ - 性能評価 - 正常動作確認 処理重ね - 正常動作確認 タイミング - 結果網羅 ふるまい 操作レスポンス - 正常復旧確認 復旧処理 処理中異常 - 正常動作確認 互換性 周辺機器 割込み処理 - 結果網羅 機能排他 HWリソース CPU量 メモリ量 ディスク 大きなデータ (ファイル 等)を扱う ストレス 瞬間的な負荷 状態遷移 - 因子網羅 - 2因子網羅 機器組合せ 因子組合せ キューデータへの同時処理 ファイル異常 信頼性や性能効率性の一部だが、 ドメインで特に気にする部分を明示 機器対応 規格・プロトコル対応 セキュリティ 不正利用 データ互換 コンテンツ互換 レスポンス 通信速度 長時間使用 - 学習性 : int 見やすさ 不定値入力 - 正常動作確認 フェールソフト 縮退運転 片肺運転 - 通信費評価 通信費 音声処理重ね 負荷時のタイミング 映像処理重ね 最大処理時の負荷 制御時タイミング ジャンプタイミング 歌いやすさ コンテンツ処理重ね ~ 信頼性 ~ 機能適合 機能共通 ~ 相互運用 ~ 信頼性 ~ 性能効率 ~ 並行処理 ~ 機能適合 ストレージアクセス テストベース:機能⇒ DFD参照モデル <<ユーザ接点機能>> 演奏系操作をする + 異常値 <<機能共通>> 演奏準備をする <<ユーザ接点機能>> SE操作をする + 機能組合せ <<ユーザ接点機能>> 検索をする + 機能組合せ + タイミング <<ユーザ接点機能>> 予約をする <<ユーザ接点機能>> オーナー設定をする + 機能組合せ + 異常値 + セキュリティ <<機能共通>> 課金判定をする + 機能組合せ + 異常値 + 互換性 + 性能効率性 <<機能共通>> 曲間表示をする + フェールソフト <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする + フェールソフト <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする + フェールソフト + 使用性 + セキュリティ + 機器組合せ <<IF接点機能>> 営業状態判定をする 営業状態状態遷移>状態遷移 <機能グループ>コンテンツを使う + セキュリティ + 互換性 <<IF接点機能>> 録音、録画をする + 機能組合せ + 不具合確認 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする 引下げ不具合分析>シーケンス図 <機能グループ>歌う <<制約有機能>> 映像再生する <<ユーザ接点機能>> 設置時設定をする <<制約有機能>> 演奏をする 演奏状態遷移>状態遷移 <<IF接点機能>> 採点をする ~ 信頼性 ~ 性能効率 ~ 機能適合 制約有機能 <<IF接点機能>> HDD障害の通知をする + 異常値 <<機能共通>> カロリー表示をする <<制約有機能>> 楽曲演奏する + 不具合確認 + 信頼性 <<IF接点機能>> プログラムを更新する プログラム更新処理>アクティビティ図 + 処理重ね : 処理重ね + タイミング : タイミング <<制約有機能>> コンテンツを使う + 使用性 + 処理重ね + タイミング <<制約有機能>> 歌う ~ 信頼性 ~ 相互運用 ~ 性能効率 ~ 並行処理 ~ 異常値 ~ 機能適合 IF接点機能 ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 テストベース:機能外要求、記述されている気がかり事項 + 機器組合せ + 周辺機器 外部機器互換 + 移植性 新採点移植確認 + セキュリティ セキュリティ + 通信費 通信費確認 提案ベース + 信頼性 + 性能効率性 エイジング + フェールソフト + 機能組合せ + 信頼性 シナリオ + セキュリティ + 並行処理 + 異常値 + 信頼性 + 性能効率 + 機能適合 センター間インタフェース 想定通信シーケンス>シーケンス図 (参考) テスト要求 パターン 「+」項目はパターン以外 で追加した品質要素となる ブンルイー テストカタマリー 全体図 ~ 信頼性 ~ 相互運用 ~ 性能効率 ~ 並行処理 ~ 異常値 ~ 機能適合 IF接点機能 ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 + 切断後再接続をする(正常動作確認) : 復旧処理 + 処理中LAN切断確認(信頼性評価) : 処理中異常 + 開局状態を確認する(結果網羅) : ふるまい + 新規開局を行う(結果網羅) : ふるまい ~ 復旧処理 : 信頼性 ~ 処理中異常 : 信頼性 ~ ふるまい : 機能適合性 新規開局をする + センターバッチ処理中の処理(信頼性検証) : 同時入力・処理 + 処理中LAN切断確認(信頼性評価) : 処理中異常 + 引下げ及び中止処理を行う(結果網羅) : ふるまい ~ 不具合確認 : 不具合確認 ~ 処理中異常 : 信頼性 ~ 入力値異常 : 異常値 ~ 同時入力・処理 : 信頼性 ~ ふるまい : 機能適合性 引下げ・中止指示をする + ナイト/BOX、通信種別(因子網羅) : 機能組合せ + NW異常時の動作(信頼性評価) : 処理中異常 + 応答時間を確認する(性能評価) : 操作レスポンス + 開局を行う(結果網羅) : ふるまい + 機能組合せ : 機能組合せ + 不具合確認 : 不具合確認 ~ 処理中異常 : 信頼性 - 相互運用 : 互換性 - 使用性 : 使用性 ~ 操作レスポンス : 性能効率性 - 並行処理 : 並行処理 ~ 異常値 : 異常値 ~ ふるまい : 機能適合性 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする 引下げ不具合分析>シーケンス図 機能の特徴からパターン継承をしている が、「並行処理」「使用性」「相互運用」 は不要と判断。扱わない。 異常値、不具合確認は ふるまいのテストに含 まれている。 テストカタマリー 詳細図 Targetカタマリー 品質特性 欠陥検出戦略/ガイドPワード 開局操作をする 機能適合性 性能効率性 信頼性 異常値 機能組合せ 不具合確認 分割機能 ふるまい 操作レスポンス 同時入力・処理 処理中異常 復旧処理 入力値異常 因子網羅 不具合確認 開局操作をする ・開局を行う ・応答時間を確認 する ・NW異常時の動作 ・ナイト/BOX、 通信種別 新規開局をする ・新規開局を行う ・開局状態を確認する ・処理中LAN切断確認 ・切断後再接続 をする 引下げ・ 中止指示をする ・引下げ及び中止処理 を行う ・センターバッチ 処理中の処理 ・処理中LAN切断確認 ※ふるまいで 確認 ※ふるまい、処理中 異常で確認 キガカリー 検討マトリクス 上記 エラー不明 エラー登録無し 中止成功 引下げ成功 実施不可能 エラータイムアウト 結果 実施しない、実施する ※タイムアウト5秒と想定 なし あり 失敗:不明 失敗:登録無し 成功 センター応答の中身 入力 センターの応答 引き下げ中止の実施 開局状態、未開局状態 引き下げ実施判定 ※CFDで作成 センターバッチ処理中の処理 信頼性 引下げ及び 中止処理を行う 機能適合に含めている 機能適合、信頼性で確認可能 異常値 機能適合 不具合確認 その他 引下げ処理 引下げ実施判定 開局状態 未開局状態 実施 不可能 引下げ中止の実施 実施しない 実施する センターの応答 あり なし:5秒 センターの応答 あり なし:5秒 応答の中身 成功 失敗:登録無 失敗:不明 エラー 登録無 エラー 不明 引下げ 成功 中止 成功 エラー タイム アウト DT3-1-2D_03001 ID DT3-1-2D_03001 #1 #2 #3 #4 #5 #6 #7 #8 #9 1 引下げ実施判定 1 開局状態 - ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 2 未開局状態 ◦ - - - - - - - - 2 引き下げ中止の実施 1 実施しない - ◦ ◦ ◦ ◦ - - - ◦ 2 実施する - - - - - ◦ ◦ - - 3 センターの応答 1 あり - - ◦ - - - ◦ - ◦ 2 なし - ◦ - - - ◦ - - - 4 応答の中身 1 成功 - - ◦ - - - ◦ - - 2 失敗:登録無し - - - ◦ - - - ◦ - 3 失敗:不明 - - - - ◦ - - - ◦ #1 #2 #3 #4 #5 #6 #7 #8 #9 1 実施可能、不可能 1 実施可能 - ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 2 実施不可能 ◦ - - - - - - - - 2 成功・失敗 1 引下げ成功 - - ◦ - - - ◦ - - 2 中止成功 - - - - - ◦ - - - 3 失敗 - ◦ - ◦ ◦ - - ◦ ◦ 1 エラー通知 1 タイムアウトエラー - ◦ - - - - - - - 2 登録無しエラー - - - ◦ - - - ◦ - 3 不明エラー - - - - ◦ - - - ◦ ※入力条件が全て「-」は処理を見ないのでどちらでも良いが、  「正常」の値を使う方針とする。 入力条件 期待結果 試験項目名 試験概要 試験実施方法(案) 合否判定基準 ケース/設定 備考 3-1-2D:開局操作をする 3-1-2D_01XXX 開局操作をする 3-1-2D_010XX 開局操作をする:機能適合性 3-1-2D_01001 交換開局:新規開局及 び引き下げを実施する 新規開局及び引き下げの処理を行う交換開局 の手順を実施を行う。 以下記載の順番を実施する。 3-1-2D_03001 引下げ及び中止処理を行う 3-1-2D_02001 開局を行う 1.引下げを実施する 2.開局を実施する 引下げ、開局共に成功すること。 - テスト自動化が 出来ると良い 3-1-2D_011XX 開局操作をする:性能効率性 3-1-2D_01101 応答時間を確認する 以下2つのテストに対して、応答時間を確認し て、長時間(30秒以上:仮設定)時間がかからな いことを確認する。 対象テスト 3-1-2D_02001 開局を行う 3-1-2D_03001 引下げ及び中止処理を行う 以下テストの手順に従う。 3-1-2D_02001 開局を行う 3-1-2D_03001 引下げ及び中止処理を行う 30秒以上など、極端に長い時間にならないこ と。 - 長時間の目途は 別途ステークホ ルダと調整 3-1-2D_012XX 開局操作をする:信頼性 3-1-2D_01201 NW異常時の動作 以下2つのテストに対して、(LANを抜いて)NW異 常を発生させ、復旧不可能な状況に陥らないこ とを確認する。 対象テスト 3-1-2D_02001 開局を行う 3-1-2D_03001 引下げ及び中止処理を行う 各処理中にLANケーブルを抜く。 復旧不可能な状況に陥らないこと。 開局時 引き下げ時 引下げ中止時 3-1-2D_013XX 開局操作をする:互換性 3-1-2D_01301 ナイト/BOX、通信種別 ナイト/BOXの営業店種別、NB/BBの通信種別 の設定に対して、以下2つの成功ケースが成功 すること。 対象テスト 3-1-2D_02001 開局を行う 3-1-2D_03001 引下げ及び中止処理を行う 1.ケース参照に記載の各種設定を実施する 2.開局及び引き下げを行う 各環境で処理が成功すること。 BOX(BB) ナイト(BB) ナイト(NB) 3-1-2D_02XXX 新規開局をする 3-1-2D_020XX 新規開局をする:機能適合性 3-1-2D_02001 開局を行う カラオケシステム、センター側の状況に対して開 局処理が成功・失敗することを確認する。 (DTに記載の応答が来る準備をする) 1.カラオケシステムから開局処理を行う 2.センターからの応答によるふるまいを確認 2.DT記載のパターンの受理・棄却結果とな ること。 DT3-1- 2D_02001 参照 テスト自動化が 出来ると良い 3-1-2D_02002 開局状態を確認する カラオケシステムとセンター間で開局状態を確認 する処理に対して、以下の処理を確認する。 ・正常通知:開局状態が正常に通知される ・未開局通知:未開局というセンター応答 ・応答無し:センターからの応答がない ・エラー通知:センターからエラー応答 (準備:センターから該当の応答が来る状況にする) 1.カラオケシステムとセンターを接続する 2.センターからの応答によるふるまいを確認 以下の結果となること。 ・正常通知:開局状態となる ・未開局通知:未開局のまま ・応答無し:タイムアウトでエラー、未接続状 態となる ・エラー通知:エラー、未開局となる 正常通知 応答無し エラー通知 未開局通知 3-1-2D_021XX 新規開局をする:信頼性 3-1-2D_02101 切断後再接続をする 開局の処理実施後、センターからの応答が来る 前の段階で通信が切断した場合の処理を確認 する。 1.カラオケシステムとセンターを接続する 2.カラオケシステムから開局をセンターに通知したタ イミングで通信を切断する。 3.再度接続して開局操作を実施、もしくは開局にする ことが出来るかどうかを確認する。 センターとの齟齬が発生しないこと。 もう一度開局を実施して開局されていること、 若しくはセンター側で処理成功している場合 には開局状態になること。 - 3-1-2D_03XXX 引下げ・中止指示をする 3-1-2D_03XXX 引下げ・中止指示をする:機能適合性、異常値 3-1-2D_03001 引下げ及び中止処理を 行う カラオケシステム、センター側の状況に対して引 下げ処理及び引き下げ中止が成功・失敗するこ とを確認する。 (DTに記載の応答が来る準備をする) 1.カラオケシステムから引下げ処理を行う 2.センターからの応答によるふるまいを確認  ※手順によっては引下げ中止を行う 2.DT記載のパターンの受理・棄却結果とな ること。 引下げ中止の画面が開いたままにならないこ と。 DT3-1- 2D_03001 参照 テスト自動化が 出来ると良い 3-1-2D_03XXX 引下げ・中止指示をする:信頼性 3-1-2D_03001 センターバッチ処理中の 処理 センターがバッチ処理中の状況下で、引下げ中 止を行う場合の処理を確認する。 (DTに記載の応答が来る準備をする) 1.カラオケシステムから引下げ処理を行う 2.センターからの応答によるふるまいを確認 センター側での応答に対して、3-1- 2D_03001記載の結果と同じ内容が得られて いること。 - 試験カテゴリ/ID/属性 パラメータ 検討 CFD&デシジョン テーブルでの整理 テストケース 一覧 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする
  73. 121 2017/09公開用 テストカタマリーワークショップβ版 具体的な書き方の例 カタマリー全体図とカタマリーに割り当てるキガカリー をつくり、ブンルイーへと整理します。 <テストカタマリー全体図> <ブンルイー> 各画面対応 ~

    操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> 世界時計 + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 + バックグラウンド通知 : 互換性 ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 <<データ登録・編集・削除>> アラーム ~ バックグラウンド通知 : 互換性 + 各機能確認 : 機能適合性 タイマー + リソース連携 : 互換性->相互運用性 + 想定以上の負荷 : 性能効率性 ~ 操作レスポンス : 性能効率性 + 分析の正確さ : 機能適合性 + 各機能確認 : 機能適合性 ベッドタイム + 想定以上の負荷 : 性能効率性 ~ 登録データ数 : 性能効率性 + 各機能確認 : 機能適合性 ストップウオッチ ~ 操作レスポンス : 性能効率性 ~ 登録データ数 : 性能効率性 <<pattern>> データ登録・編集・削除 ~ 想定以上の負荷 : 性能効率性 ~ バックグラウンド通知 : 互換性 <<pattern>> アラート通知 機能適合性 - 結果網羅 ふるまい - 結果網羅 機能排他 状態遷移 単体パラメータ確認 有則組合せ確認 - 異常時処理確認 異常値 入力値異常 異常操作 不定値入力 カタマリー名 大きな付箋と 横長の付箋を活用して カタマリー構造を考える 単体パラメータ 対応 単体 パラメータ 入力 異常値 レスポンス 有則 組合せ確認 ・・・ キガカリー ・・・ ・・・ ・・・ 機能 適合性 性能 効率性 キガカリーをA3用紙に 付箋で展開・整理して ブンルイーをつくる 同じものを 転記する 上位の概念が ある場合には作成
  74. 124 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーモデルの使い方例② 顧客の気がかり、関心ごとをキガカリー化して テストカタマリーに割り当てる 通信費 タイミング 処理重ね +

    使用性 + 処理重ね + タイミング <<制約有機能>> 歌う + 通信費 通信費確認 最新バージョンは 高画質映像データ 生音データを使う… 映像とのタイミング (テロップ、リップシンク) がシビア… 過去はノイズが入った 【リスク】 処理重ね状況で動作 対大容量処理
  75. 125 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーモデルの使い方例② 顧客の気がかり、関心ごとをキガカリー化して テストカタマリーに割り当てる 通信費 タイミング 処理重ね +

    使用性 + 処理重ね + タイミング <<制約有機能>> 歌う + 通信費 通信費確認 最新バージョンは 高画質映像データ 生音データを使う… 【リスク】 処理重ね状況で動作 対大容量処理 映像とのタイミング (テロップ、リップシンク) がシビア… 過去はノイズが入った インフラ増強 回線高速化、 センターHW刷新 【ねらい】 快適でリッチな 経験の提供 【リスク】 高速化による影響 連続動作時の処理 異常発生での復旧性 【リスク】 処理重ね状況での動作 対大容量処理、通信 瞬間的な負荷の影響 映像とのタイミング (テロップ、リップシンク) 操作時のノイズ ガイドメロディ即反映 性能効率 異常値 信頼性 処理重ね タイミング 並行処理 <verify> <verify> <contain> <contain> <satisfy> 上位のねらいから キガカリーを出す ⇒達成ビュー
  76. 126 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーモデルの使い方例③ ステークホルダ興味に応じた「ビュー」で議論できる。 ~ 信頼性 ~ 機能適合 機能共通

    ~ 相互運用 ~ 信頼性 ~ 性能効率 ~ 並行処理 ~ 機能適合 ストレージアクセス テストベース:機能⇒ DFD参照モデル <<ユーザ接点機能>> 演奏系操作をする + 異常値 <<機能共通>> 演奏準備をする <<ユーザ接点機能>> SE操作をする + 機能組合せ <<ユーザ接点機能>> 検索をする + タイミング + 機能組合せ <<ユーザ接点機能>> 予約をする <<ユーザ接点機能>> オーナー設定をする + 機能組合せ + 異常値 + セキュリティ <<機能共通>> 課金判定をする + 機能組合せ + 異常値 + 互換性 + 性能効率性 <<機能共通>> 曲間表示をする + フェールソフト <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする + フェールソフト <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする + フェールソフト + 使用性 + セキュリティ + 機器組合せ <<IF接点機能>> 営業状態判定をする 営業状態状態遷移>状態遷移 <機能グループ>コンテンツを使う + セキュリティ + 互換性 <<IF接点機能>> 録音、録画をする + 機能組合せ + 不具合確認 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする 引下げ不具合分析>シーケンス図 <機能グループ>歌う <<制約有機能>> 映像再生する <<ユーザ接点機能>> 設置時設定をする <<制約有機能>> 演奏をする 演奏状態遷移>状態遷移 <<IF接点機能>> 採点をする ~ 信頼性 ~ 性能効率 ~ 機能適合 制約有機能 <<IF接点機能>> HDD障害の通知をする + 異常値 <<機能共通>> カロリー表示をする <<制約有機能>> 楽曲演奏する + 不具合確認 + 信頼性 <<IF接点機能>> プログラムを更新する プログラム更新処理>アクティビティ図 + 処理重ね : 処理重ね + タイミング : タイミング <<制約有機能>> コンテンツを使う + 使用性 + 処理重ね + タイミング <<制約有機能>> 歌う ~ 信頼性 ~ 互換性 ~ 性能効率 ~ 並行処理 ~ 異常値 ~ 機能適合 IF接点機能 ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 テストベース:機能外要求、記述されている気がかり事項 + 機器組合せ + 互換性 外部機器互換 + セキュリティ セキュリティ + 移植性 新採点移植確認 + 通信費 通信費確認 ユーザ機能 オーナー機能 サプライヤ機能 機能外要求、気がかり 機能組合せ 特殊機能 色の凡例 (参考) テスト要求 パターン 「+」項目はパターン以外 で追加した品質要素となる テストベースの網羅を 目的としたビュー システムテスト V2.0追加機能確認 オーナー系 機能確認 互換性・拡張性確認 主要機能(歌う系) 主要機能関連操作 コンテンツ関連 <<ユーザ接点機能>> 予約をする <<制約有機能>> 演奏をする <<制約有機能>> 楽曲演奏 <<制約有機能>> 映像再生 <<ユーザ接点機能>> 検索をする <<ユーザ接点機能>> 演奏系操作をする <<ユーザ接点機能>> SE操作をする <<ノミナル機能>> 演奏準備をする <<IF接点機能>> 採点をする <<IF接点機能>> 録音、録画をする <<ユーザ接点機能>> 録音・録画系操作をする 機能組合せ確認 <<制約有機能>> 歌う <<制約有機能>> コンテンツを使う 外部機器互換 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする <<IF接点機能>> 営業状態判定をする <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする <<IF接点機能>> プログラムを更新する <<IF接点機能>> HDD障害の通知をする <<ユーザ接点機能>> 設置時設定をする <<ユーザ接点機能>> オーナー設定をする システム 設定確認 センター間通信確認 <<ノミナル機能>> 曲間表示をする <<ノミナル機能>> 課金判定をする <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする セキュリティ 新採点移植確認 その他独立確認項目 テストサイクル① テストサイクル② 通信費 <<ノミナル機能>> カロリー表示をする テストの順序を 考慮したビュー テスト自動化の実現方法を 考えたビュー ※カタマリー内のテストケースの自動化割合を示す テスト自動化効果大:80%以上自動化可能 テスト自動化効果中:50%以上自動化可能 テスト自動化効果小:30%程度は自動化可能 <<ユーザ接点機能>> 予約をする <<ユーザ接点機能>> 検索をする <<ユーザ接点機能>> 演奏系操作をする <<ユーザ接点機能>> SE操作をする <<ユーザ接点機能>> 録音・録画系操作をする <<ユーザ接点機能>> 設置時設定をする <<ユーザ接点機能>> オーナー設定をする セキュリティ 新採点移植確認 操作自動化/楽曲DB制御/結果判定 操作自動化 <<IF接点機能>> 録音、録画をする <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする 操作自動化/センター通信自動化 センター通信自動化 センター通信自動化/マイク入力 マイク入力 <<IF接点機能>> 採点をする <<ノミナル機能>> カロリー表示をする <<IF接点機能>> 営業状態判定をする <<ノミナル機能>> 課金判定をする 課金入力 センター通信自動化/結果判定 <<IF接点機能>> プログラムを更新する <<IF接点機能>> HDD障害の通知をする <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする <<制約有機能>> 歌う <<制約有機能>> コンテンツを使う シナリオ センター間インタフェース <<ノミナル機能>> 曲間表示をする 外部機器互換 <<制約有機能>> 演奏をする <<制約有機能>> 楽曲演奏 <<制約有機能>> 映像再生 <<ノミナル機能>> 演奏準備をする テスト自動化 (完全)対象外 システム全体構成自動化対象 通信費確認 エイジング 大 中 小 大 大 中 中 小 中 大 小 小 中 小 小 小 大 中 小 中 中 中 中 小 中 大 小 小 小 小 小
  77. 127 2017/09公開用 テストカタマリーワークショップβ版 テストカタマリーモデルの使い方例③ 「ビュー」を用いて議論し、テストすべきモノを育てる。 テストカタマリー リポジトリ <<ユーザ接点機能>> 予約をする <<制約有機能>>

    演奏をする <<ノミナル機能>> 演奏準備をする <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする セキュリティ 新採点移植確認 ~ 信頼性 ~ 機能適合 機能共通 ~ 相互運用 ~ 信頼性 ~ 性能効率 ~ 並行処理 ~ 機能適合 ストレージアクセス テストベース:機能⇒ DFD参照モデル <<ユーザ接点機能>> 演奏系操作をする + 異常値 <<機能共通>> 演奏準備をする <<ユーザ接点機能>> SE操作をする + 機能組合せ <<ユーザ接点機能>> 検索をする + タイミング + 機能組合せ <<ユーザ接点機能>> 予約をする <<ユーザ接点機能>> オーナー設定をする + 機能組合せ + 異常値 + セキュリティ <<機能共通>> 課金判定をする + 機能組合せ + 異常値 + 互換性 + 性能効率性 <<機能共通>> 曲間表示をする + フェールソフト <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする + フェールソフト <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする + フェールソフト + 使用性 + セキュリティ + 機器組合せ <<IF接点機能>> 営業状態判定をする 営業状態状態遷移>状態遷移 <機能グループ>コンテンツを使う + セキュリティ + 互換性 <<IF接点機能>> 録音、録画をする + 機能組合せ + 不具合確認 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする 引下げ不具合分析>シーケンス図 <機能グループ>歌う <<制約有機能>> 映像再生する <<ユーザ接点機能>> 設置時設定をする <<制約有機能>> 演奏をする 演奏状態遷移>状態遷移 <<IF接点機能>> 採点をする ~ 信頼性 ~ 性能効率 ~ 機能適合 制約有機能 <<IF接点機能>> HDD障害の通知をする + 異常値 <<機能共通>> カロリー表示をする <<制約有機能>> 楽曲演奏する + 不具合確認 + 信頼性 <<IF接点機能>> プログラムを更新する プログラム更新処理>アクティビティ図 + 処理重ね : 処理重ね + タイミング : タイミング <<制約有機能>> コンテンツを使う + 使用性 + 処理重ね + タイミング <<制約有機能>> 歌う ~ 信頼性 ~ 互換性 ~ 性能効率 ~ 並行処理 ~ 異常値 ~ 機能適合 IF接点機能 ~ 信頼性 ~ 使用性 ~ 性能効率 ~ 異常値 ~ 機能適合 ユーザ接点機能 テストベース:機能外要求、記述されている気がかり事項 + 機器組合せ + 互換性 外部機器互換 + セキュリティ セキュリティ + 移植性 新採点移植確認 + 通信費 通信費確認 ユーザ機能 オーナー機能 サプライヤ機能 機能外要求、気がかり 機能組合せ 特殊機能 色の凡例 (参考) テスト要求 パターン 「+」項目はパターン以外 で追加した品質要素となる テストベースの網羅を 目的としたビュー システムテスト V2.0追加機能確認 オーナー系 機能確認 互換性・拡張性確認 主要機能(歌う系) 主要機能関連操作 コンテンツ関連 <<ユーザ接点機能>> 予約をする <<制約有機能>> 演奏をする <<制約有機能>> 楽曲演奏 <<制約有機能>> 映像再生 <<ユーザ接点機能>> 検索をする <<ユーザ接点機能>> 演奏系操作をする <<ユーザ接点機能>> SE操作をする <<ノミナル機能>> 演奏準備をする <<IF接点機能>> 採点をする <<IF接点機能>> 録音、録画をする <<ユーザ接点機能>> 録音・録画系操作をする 機能組合せ確認 <<制約有機能>> 歌う <<制約有機能>> コンテンツを使う 外部機器互換 <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする <<IF接点機能>> 営業状態判定をする <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする <<IF接点機能>> プログラムを更新する <<IF接点機能>> HDD障害の通知をする <<ユーザ接点機能>> 設置時設定をする <<ユーザ接点機能>> オーナー設定をする システム 設定確認 センター間通信確認 <<ノミナル機能>> 曲間表示をする <<ノミナル機能>> 課金判定をする <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする セキュリティ 新採点移植確認 その他独立確認項目 テストサイクル① テストサイクル② 通信費 <<ノミナル機能>> カロリー表示をする ・・・ テストの順序を 考慮したビュー 機能適合 性能効率 異常値 信頼性 処理重ね 互換性 タイミング 移植性 不具合確認 通信費 テストベース 機能⇒DFD  参照モデル <<IF接点機能>> プログラムを更新する <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする ユーザ接点機能 制約有機能 IF接点機能 ユーザ接点機能 IF接点機能 IF接点機能 セキュリティ 並行処理 セキュリティ 新採点移植確認 外部機器互換 フェール ソフト 通信費確認 信頼性 IF接点機能 機器 組合せ 信頼性 コンテンツを 使う 歌う テストベース 機能⇒DFD  参照モデル 機能 組合せ 【制約】 インフラ継承 【ねらい】 現行機リプレイス 他社製品と入替 インフラ増強 回線高速化、 センターHW刷新 【背景】コンテンツHD化要望 通信環境の飛躍的向上 高速大容量の構成品登場 高画質映像データ 生音データ 【ねらい】 快適でリッチな 経験の提供 ターゲット向け コンテンツ 【リスク】 センター更新で 想定外の変化 異常時の復旧性 【機能外要求】性能目標 前モデルを上回る 負荷時でも問題ない (描画崩れ、遅延なし) 【機能外要求】拡張性 現行機器が全て動作 リモコン系、課金装置 楽曲完全互換、 コンテンツ可能な限り 【リスク】 処理重ね状況での動作 対大容量処理、通信 瞬間的な負荷の影響 映像とのタイミング (テロップ、リップシンク) 操作時のノイズ ガイドメロディ即反映 新採点システム 【ねらい】 現状環境で交換す ればすぐ使える 快適使用可能 なスペック 機能適合 性能効率 異常値 信頼性 処理重ね 互換性 タイミング 並行処理 + + OSのLinux化 HW刷新 【機能外要求】 移植性:新採点 機能が移植可、 モジュール化、 Doc整備 新採点 システム 移植性 【リスク】 ドライバ確認 機能全体・ 組合せの影響 連続稼働 信頼性 【ねらい】 今後のHWライン ナップを増やす 機能組合せ サプライヤ系 過去不具合 引き上げ処理 バージョンUP 曲間BGMへの キー/テンポ の影響 セキュリティ 不具合確認 【機能外要求】セキュリティ 現行の継承 セキュリティで 過去と同等以上 データ、ストレージ の暗号化 通信トンネル化 【ねらい】 著作権、肖像権保護 【当たり前品質】 過去不具合へ の対処 【当たり前品質】 機能全般の網羅的 確認と気がかり対応 機能適合 異常値 【リスク】 ユーザ入力 による異常 オーナ 通信費の軽減 通信費 誤操作 防止 + (機能要求 への対処) <derive Reqt> <verify> <verify> <verify> <satisfy> <verify> <satisfy> + <con- tain> <verify> <contain> <derive Reqt> <derive Reqt> <derive Reqt> <satisfy> <satisfy> <derive Reqt> <derive Reqt> <satisfy> <verify> <verify> <contain> <contain> <satisfy> <verify> <derive Reqt> <derive Reqt> <contain> 機器組合せ HDD故障時 も最低限の 営業を実施 フェール ソフト <verify> 録音・録画 をする 営業状態 判定をする バックアップをする 配信をする テストで 達成できるものを 考慮したビュー 「ビュー」を用いて テストカタマリー リポジトリを育てる ステークホルダの 興味対象のビュー を活用して抜けの 確認や合意を取る テスト自動化の実現方法を 考えたビュー ※カタマリー内のテストケースの自動化割合を示す テスト自動化効果大:80%以上自動化可能 テスト自動化効果中:50%以上自動化可能 テスト自動化効果小:30%程度は自動化可能 <<ユーザ接点機能>> 予約をする <<ユーザ接点機能>> 検索をする <<ユーザ接点機能>> 演奏系操作をする <<ユーザ接点機能>> SE操作をする <<ユーザ接点機能>> 録音・録画系操作をする <<ユーザ接点機能>> 設置時設定をする <<ユーザ接点機能>> オーナー設定をする セキュリティ 新採点移植確認 操作自動化/楽曲DB制御/結果判定 操作自動化 <<IF接点機能>> 録音、録画をする <<IF接点機能>> <<ユーザ接点機能>> 開局操作をする <<制約有機能>> <<IF接点機能>> <<ユーザ接点機能>> 配信をする 操作自動化/センター通信自動化 センター通信自動化 センター通信自動化/マイク入力 マイク入力 <<IF接点機能>> 採点をする <<ノミナル機能>> カロリー表示をする <<IF接点機能>> 営業状態判定をする <<ノミナル機能>> 課金判定をする 課金入力 センター通信自動化/結果判定 <<IF接点機能>> プログラムを更新する <<IF接点機能>> HDD障害の通知をする <<ストレージアクセス>> <<ユーザ接点機能>> バックアップをする <<制約有機能>> 歌う <<制約有機能>> コンテンツを使う シナリオ センター間インタフェース <<ノミナル機能>> 曲間表示をする 外部機器互換 <<制約有機能>> 演奏をする <<制約有機能>> 楽曲演奏 <<制約有機能>> 映像再生 <<ノミナル機能>> 演奏準備をする テスト自動化 (完全)対象外 システム全体構成自動化対象 通信費確認 エイジング 大 中 小 大 大 中 中 小 中 大 小 小 中 小 小 小 大 中 小 中 中 中 中 小 中 大 小 小 小 小 小