Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

JSTQB FL 幻のテスト技法「ユースケーステスト」を学ぶ / Use_case_testing

nihonbuson
December 24, 2023

JSTQB FL 幻のテスト技法「ユースケーステスト」を学ぶ / Use_case_testing

nihonbuson

December 24, 2023
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. 自己紹介 • 風間裕也(ブロッコリー) • 所属 ◦ 株式会社10X ◦ 株式会社iCARE フェロー(QAE技術顧問)

    ◦ B-Testing(個人事業主) • 社外活動 ◦ JaSST Review実行委員長 ◦ WACATE実行委員長 • 執筆活動 ◦ 『Agile Testing Condensed』(翻訳) ◦ 『Testing in DevOps』(翻訳) ◦ 『The BDD Books Discovery』(翻訳) • 猫派 SNS上の アイコン
  2. ユースケースとは • ユースケースは,システム,サブシステム,又はクラスが 提供する一貫した機能単位を表現する分類子の一種とする。 JIS X 4170:2009より • ユースケーステストは、通常、システムテストレベルおよび 受け入れテストレベルで適用する。

    ISTQBテスト技術者資格制度 Advanced Level シラバス 日本語版 テストアナリスト Version 3.1.1.J03より • 「どのように実現するか(設計・実装)」ではなく 「何を作るか(要求・仕様)」に焦点を当てて表現できる。 第97回: ユースケーステスト(前編) - Kouichi Akiyama - noteより
  3. なぜ「JSTQB FL 幻のテスト技法」なのか • 2018年版までのJSTQB FLでは ブラックボックステスト技法の1つに含まれていた • WACATEでは1回も取り上げてこなかった ◦

    セッションの一部として取り上げたことはあった • 2023年版のJSTQB FLからは削除されてしまった ◦ JSTQB AL TAには記載あり
  4. ユースケース図とは • ユースケース図は,アクタ及びユースケースを その関係とともに示す図とする。 JIS X 4170:2009より • 開発者とユーザーが対話しながらシステム境界や 必要なユースケースを表現し、

    「ああ、こういうのを作ればよい」と開発者が理解し、 「こういうのが欲しいんだ」とユーザーが欲しいもののイメージ を固めるもの。 第97回: ユースケーステスト(前編) - Kouichi Akiyama - noteより
  5. ユースケース記述とは • ユースケースは、相互作用とアクティビティ、 さらには事前条件、事後条件で記述できる。 必要に応じて自然言語でも記述できる。 ISTQBテスト技術者資格制度Foundation Level シラバス 日本語版 Version

    2018V3.1.J03より • ユースケース図に描かれているユースケース(楕円形) について一つずつユースケース記述を書く 第97回: ユースケーステスト(前編) - Kouichi Akiyama - noteより
  6. ユースケース 説明 サンプル ユースケース名 機能名やサービス名 DVDを貸し出す アクター 使用ユーザー一覧 店員 事前条件

    前提条件 お客が会員証を持っていること 基本フロー 正常系の動作 内部処理は書かない 目的達成フローのみを 記載する 1. 店員:会員証情報を入力する 2. システム:会員証の有効性と、  お客への貸出状況を確認する 3. 店員:DVDコードを入力する 4. システム:料金を示す 5. 店員:入金する 6. システム:レシートを発行する 代替フロー・ 例外フロー 基本フローから外れる 処理を記載 2A. 会員証の有効期限切れ 3A. 貸出中の商品がある 終了条件 期待する結果 お客にDVDを貸し出していること
  7. ユースケース 説明 サンプル ユースケース名 機能名やサービス名 DVDを貸し出す アクター 使用ユーザー一覧 店員 事前条件

    前提条件 お客が会員証を持っていること 基本フロー 正常系の動作 内部処理は書かない 目的達成フローのみを 記載する 1. 店員:会員証情報を入力する 2. システム:会員証の有効性と、  お客への貸出状況を確認する 3. 店員:DVDコードを入力する 4. システム:料金を示す 5. 店員:入金する 6. システム:レシートを発行する 代替フロー・ 例外フロー 基本フローから外れる 処理を記載 2A. 会員証の有効期限切れ 3A. 貸出中の商品がある 終了条件 期待する結果 お客にDVDを貸し出していること ポイント: アクターとシステムが 基本的には交互に登場
  8. 余談:記載形式 • 会員証情報の入力 ◦ 会員証の有効性確認 • DVDコードの入力 ◦ DVD情報の提示 •

    料金提示 • 入金 • レシート発行 1. 会員証情報を入力する。 2. DVDコードを入力する。 3. 提示された料金を お客に伝える。 4. 入金する。 5. レシートを受け取る。 マインドマップ形式 箇条書き形式 シナリオ形式
  9. 実装するフロー を考える • 一般的なパターン (正常系) ◦ 1→2→3→ 4→5→6 • 色々な寄り道

    パターン (準正常系) ◦ 1→2→3→ 3A→4→5→6 ユースケース サンプル ユースケース名 DVDを貸し出す アクター 店員 事前条件 お客が会員証を持っていること 基本フロー 1. 店員:会員証情報を入力する 2. システム:会員証の有効性と、  お客への貸出状況を確認する 3. 店員:DVDコードを入力する 4. システム:料金を示す 5. 店員:入金する 6. システム:レシートを発行する 代替フロー 例外フロー 2A. 会員証の有効期限切れ 3A. 貸出中の商品がある 終了条件 お客にDVDを貸し出していること
  10. 実装するフロー を考える • 一般的なパターン (正常系) ◦ 1→2→3→ 4→5→6 • 色々な寄り道

    パターン (準正常系) ◦ 1→2→3→ 3A→4→5→6 ユースケース サンプル ユースケース名 DVDを貸し出す アクター 店員 事前条件 お客が会員証を持っていること 基本フロー 1. 店員:会員証情報を入力する 2. システム:会員証の有効性と、  お客への貸出状況を確認する 3. 店員:DVDコードを入力する 4. システム:料金を示す 5. 店員:入金する 6. システム:レシートを発行する 代替フロー 例外フロー 2A. 会員証の有効期限切れ 3A. 貸出中の商品がある 終了条件 お客にDVDを貸し出していること 次ページには 準正常系の シナリオ例 を記載
  11. 流れ 操作 期待結果 事前条件をセット お客は会員証を持っている ー 1 正しい操作 店員:会員証のバーコード    を入力する

    画面に会員情報が 表示される 2 正しい操作 店員:DVDのバーコードを    入力する 画面にDVDタイトルと 料金が表示 3 エラー発生 貸出延滞中のDVDあり 延滞中あり画面に遷移する 4 リカバリ操作 店員:延滞中のDVDと    延長料金を受け取る 延滞解除され 支払画面に遷移する 5 正しい操作 店員:今回のレンタル料金を    お客に提示し入金する 金額受領済み画面 に遷移する 6 成し遂げたい 目的達成 レシートとともに、 レンタルDVDを貸し出す 目的達成
  12. 流れ 操作 期待結果 事前条件をセット お客は会員証を持っている ー 1 正しい操作 店員:会員証のバーコード    を入力する

    画面に会員情報が 表示される 2 正しい操作 店員:DVDのバーコードを    入力する 画面にDVDタイトルと 料金が表示 3 エラー発生 貸出延滞中のDVDあり 延滞中あり画面に遷移する 4 リカバリ操作 店員:延滞中のDVDと    延長料金を受け取る 延滞解除され 支払画面に遷移する 5 正しい操作 店員:今回のレンタル料金を    お客に提示し入金する 金額受領済み画面 に遷移する 6 成し遂げたい 目的達成 レシートとともに、 レンタルDVDを貸し出す 目的達成 今回の場合、リカバリ操作の後、 今回のレンタル料金に延長料金が加算された金額が 提示される不具合が見つかるかもしれない
  13. 流れ 操作 期待結果 事前条件をセット お客は会員証を持っている ー 1 正しい操作 店員:会員証のバーコード    を入力する

    画面に会員情報が 表示される 2 正しい操作 店員:DVDのバーコードを    入力する 画面にDVDタイトルと 料金が表示 3 エラー発生 貸出延滞中のDVDあり 延滞中あり画面に遷移する 4 リカバリ操作 店員:延滞中のDVDと    延長料金を受け取る 延滞解除され 開始画面に遷移する 5 例外終了 延長料金を受け取った段階で、 一旦終了して、初めからやり直させる シナリオにするかもしれない
  14. まとめ ユースケース図 ユースケース記述 ユースケース テスト • ユースケース図で、ざっくりと認識を合わせる • ユースケース図では表現できていない詳細な工程は、 ユースケース記述で表現する

    • ユースケース記述を元にユースケーステストを 書くことで、期待値が明確になり、 うまくリカバリーできたようで 実は完全にリカバリーできてない不具合を見つけ出す
  15. 参考文献 • ユースケース駆動開発実践ガイド . 翔泳社 , 2007 . • ISTQBテスト技術者資格制度

    Advanced Level シラバス 日本語版 テストアナリスト Version 3.1.1.J03 • 第97回: ユースケーステスト(前編) - Kouichi Akiyama - note • 第98回: ユースケーステスト(後編) - Kouichi Akiyama - note • ASTERセミナー標準テキスト[Ver3.1.1] • シナリオテストについて考えてみる