SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
ユースケースとアクティビティとテスト
Report
kauji0522
Follow
Jun. 17, 2018
•
0 likes
•
6,030 views
1
of
29
ユースケースとアクティビティとテスト
Jun. 17, 2018
•
0 likes
•
6,030 views
Download Now
Download to read offline
Report
Software
WACATE 2018 夏セッション資料
kauji0522
Follow
Recommended
テストの組み立て方
kauji0522
4.5K views
•
38 slides
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
Akira Ikeda
8.9K views
•
50 slides
テスト計画の立て方 WACATE2019 夏
Naoki Nakano
5.2K views
•
37 slides
テスト分析.pptx
kauji0522
624 views
•
24 slides
探索的テスト入門
H Iseri
31.2K views
•
40 slides
みんなどんな書式でテストケース書いているの
kauji0522
438 views
•
15 slides
More Related Content
What's hot
LINE Developer Meetup in Tokyo #39 Presentation (modified)
Yasuharu Nishi
5.3K views
•
90 slides
テストを分類してみよう!
Kenji Okumura
28.9K views
•
89 slides
クラシフィケーション・ツリー法入門
H Iseri
21.5K views
•
44 slides
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
Yoichi Kagamitani
549 views
•
65 slides
Re-collection of embedded software qa in the last decade
Yasuharu Nishi
5.2K views
•
89 slides
What is quality engineer? Is it something tasty?
Yasuharu Nishi
3.2K views
•
22 slides
What's hot
(20)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
Yasuharu Nishi
•
5.3K views
テストを分類してみよう!
Kenji Okumura
•
28.9K views
クラシフィケーション・ツリー法入門
H Iseri
•
21.5K views
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
Yoichi Kagamitani
•
549 views
Re-collection of embedded software qa in the last decade
Yasuharu Nishi
•
5.2K views
What is quality engineer? Is it something tasty?
Yasuharu Nishi
•
3.2K views
テスコン優勝事例におけるテスト分析公開用
Tetsuya Kouno
•
5.1K views
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
Hironori Washizaki
•
8.5K views
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
•
18.2K views
LINE Developer Meetup in Tokyo #39 Presentation
Yasuharu Nishi
•
36.3K views
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
Kinji Akemine
•
20.2K views
JaSSTよいテストプロセスの作り方
崇 山﨑
•
4.6K views
テスト観点に基づくテスト開発方法論VSTePの概要
Yasuharu Nishi
•
9.5K views
はじめてのソフトウェアテスト
Rina Fukuda
•
28.3K views
概説 テスト分析
崇 山﨑
•
31.6K views
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
Hironori Washizaki
•
3.1K views
幅広なテスト分析ができるようになろう
scarletplover
•
4.1K views
What should you shift left
Yasuharu Nishi
•
1.5K views
60分でわかった気になるISO29119 #wacate
Kinji Akemine
•
19.4K views
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
崇 山﨑
•
5.6K views
More from kauji0522
品質とは何か.pdf
kauji0522
332 views
•
37 slides
テスト技法の背景を考察する - WACATE2021夏
kauji0522
471 views
•
15 slides
Wacate2018 winter jstqb-al-ta
kauji0522
5.6K views
•
36 slides
みんなのメトリクス 公開用
kauji0522
3.1K views
•
19 slides
テスト設計技法の適用・・・その前に
kauji0522
6.2K views
•
83 slides
Cmmiに振り回されないために知っておきたい事
kauji0522
3K views
•
89 slides
More from kauji0522
(7)
品質とは何か.pdf
kauji0522
•
332 views
テスト技法の背景を考察する - WACATE2021夏
kauji0522
•
471 views
Wacate2018 winter jstqb-al-ta
kauji0522
•
5.6K views
みんなのメトリクス 公開用
kauji0522
•
3.1K views
テスト設計技法の適用・・・その前に
kauji0522
•
6.2K views
Cmmiに振り回されないために知っておきたい事
kauji0522
•
3K views
テスト分析とは何か
kauji0522
•
629 views
ユースケースとアクティビティとテスト
1.
ユースケース図&アクティビティ図 モデリングからテストまで WACATE 2018 夏 2018/6/16-17
WACATE 2018 Summer 1
2.
自己紹介 • 氏名:なかむら こうじ •
あなたとテストの関わり: – この前まで小さなテストをたくさんしていました • テストに関する資格: – JSTQB AL TM/TA, JCSQE 中級 • 派閥 – 猫派 2018/6/16-17 WACATE 2018 Summer 2
3.
おしながき • ユースケース図 • アクティビティ図 •
ユースケースとアクティビティに基づくテスト • 小演習 2018/6/16-17 WACATE 2018 Summer 3 50分 30分
4.
ユースケース図 全体像をつかもう 2018/6/16-17 WACATE 2018
Summer 4
5.
ユースケース図とは • 外部からの要求に対するシステムの振る舞い • 誰がシステムを利用するのか(WHO) •
システムを利用して何ができるか(WHAT) ※細かな利用方法ではなく、利用者がシステムを 利用してどのような便益を得られるかが焦点 2018/6/16-17 WACATE 2018 Summer 5
6.
ユースケース図の記法 • とてもシンプルなユースケース 2018/6/16-17 WACATE
2018 Summer 6 アクター(WHO) システムを利用するユーザー 外部システムなどもアクター ユースケース(WHAT) アクターがシステムを利用して 実現すること
7.
より詳細に表現するには① • 複数のユースケースをまとめる 2018/6/16-17 WACATE
2018 Summer 7 サブジェクト ユースケースをまとめる パッケージ 再利用を目的とした単位
8.
より詳細に表現するには 2018/6/16-17 WACATE 2018
Summer 8 包含(A has a Bの関係) 拡張(条件による振る舞いの追加) 汎化(B is a Aの関係) 管理職 is a 社員 残業申請 is a 申請 残業申請するということは必然的に 残業するというユースケースを含む 住宅ローンを組みます。 まだ口座がない場合は、新たに口座を開設します。
9.
ユースケース図あるある • 汎化とか包含、拡張とかうまく区別つかない – 必須ではないのでおいおい理解していけばOK –
使わなくて済むなら使わない方がいい – 階層構造を持ち込むと複雑になってしまうので • どんな粒度で書いたらいいか迷う – アクターの目線でシステムから何を得られるか – 「○○ボタンを押す」とかは何を得るかわからない 2018/6/16-17 WACATE 2018 Summer 9
10.
アクティビティ図 流れをつかもう 2018/6/16-17 WACATE 2018
Summer 10
11.
アクティビティ図とは • 開始から終了までの処理の順序、手続き • どのようにシステムを利用するのか(HOW) •
順序立てた手続きの流れが焦点 2018/6/16-17 WACATE 2018 Summer 11
12.
アクティビティ図の記法 • とてもシンプルなアクティビティ図 2018/6/16-17 WACATE
2018 Summer 12 初期ノード アクション ノード ノード
13.
流れに変化をつける 2018/6/16-17 WACATE 2018
Summer 13 デシジョン (分岐) フォーク (非同期) ガード
14.
主体を明確にする • パーティション(swimlane) – アクティビティの特性や リソースなどでグループ化 –
パーティション間のやりとりが 明確になる – 手続きの抜け漏れ、論理の飛躍 などが浮き出てくる 2018/6/16-17 WACATE 2018 Summer 14
15.
アクティビティ図あるある • どんな単位で作成すればいいかわからない – 開始から終了まででひとつの意味を成す単位 –
例えばユースケース単位 – 例えば複数のユースケースの前後関係(流れ) 2018/6/16-17 WACATE 2018 Summer 15
16.
アクティビティ図あるある • 線が複雑になりすぎて見にくい – 描きたい範囲に対して具体的に描きすぎている? –
全体の流れに影響のない線がたくさんありませんか? – しっかり厳選した上で複雑なら…そこが弱点かも。 2018/6/16-17 WACATE 2018 Summer 16
17.
ユースケースとアクティビティ に基づくテスト設計 テストで活かそう 2018/6/16-17 WACATE 2018
Summer 17
18.
それではユースケースをテストしましょう 2018/6/16-17 WACATE 2018
Summer 18 何を確認したいですか? • 社員が申請できること • 管理職が承認できること • 社員が申請したものを 管理職が承認できること
19.
それではユースケースをテストしましょう ユースケーステスト • 個々のユースケースにフォーカス • ユースケース記述でHOWを明確化 2018/6/16-17
WACATE 2018 Summer 19 申請する 目的 承認者に費用等の申請をしたい 事前 システムにログインし申請画面を開いていること 基本 フロー 1 社員が申請内容をフォームに入力する 2 社員がフォームの登録ボタンを押す 3 システムがDBに申請内容を保存する 4 システムが承認者に通知メールを送信する 事後 申請完了が通知され承認者がメールを受信する
20.
それではユースケースをテストしましょう ユースケーステスト • 個々のユースケースにフォーカス • アクティビティ図でHOWを明確化 2018/6/16-17
WACATE 2018 Summer 20
21.
それではユースケースをテストしましょう シナリオテスト(諸説あり) • 複数のユースケースの連携にフォーカス • アクティビティ図でHOWを明確化 2018/6/16-17
WACATE 2018 Summer 21
22.
それでは合わせてテストしましょう 2018/6/16-17 WACATE 2018
Summer 22 「管理職」(WHO)は 「アクティビティ」(HOW)の手順で 「承認」(WHAT) ができること! ユースケース(WHAT)アクター(WHO) アクティビティ(HOW)
23.
アクティビティ図から操作手順を導出 • 分岐や繰り返しで複数の操作手順が存在する 1. 最もレギュラーなパス –
成功しないと目的が達成できない 2. 各分岐、繰り返しを1回は通る – 想定内のすべての操作に対応 3. 最も多くイレギュラーを通る – 想定外のレアケースに対応 4. レギュラーとイレギュラーの組合せ – あらゆる状況に対応できる 2018/6/16-17 WACATE 2018 Summer 23
24.
例えば以下の3つのユースケーステスト 操作手順 1.検索 2.検索結果
3.詳細確認 4.承認判断 5.ステータス更新 #1 承認対象の申請が1件もない場合 1周目 検索する 該当なし表示 N/A N/A N/A #2 承認対象の申請が1件のみで、承認する場合 1周目 検索する 申請一覧表示 内容確認 承認する 承認更新 2周目 再検索 該当なし表示 N/A N/A N/A #3 承認対象の申請が2件で、1件目差戻し、2件目承認する場合 1周目 検索する 申請一覧表示 内容確認 差し戻す 差戻し更新 2周目 再検索 申請一覧表示 内容確認 承認する 承認更新 3周目 再検索 該当なし表示 N/A N/A N/A 2018/6/16-17 WACATE 2018 Summer 24
25.
小演習 2018/6/16-17 WACATE 2018
Summer 25
26.
小演習 • お題に対してモデリング~テストケースまで – お題配布・説明
5分 – ユースケース作成 10分 – グループ内情報共有 5分 – アクティビティ図作成 15分 – テストケース作成 10分 – グループ内情報共有 5分 2018/6/16-17 WACATE 2018 Summer 26
27.
お題 WACATE ECサイトはいわゆるインターネット通販サイトです。 注文者は当システムを利用して商品の注文とキャンセルができます。 注文時に選択できる決済方法には代金引換とクレジットカード決済があり、 クレジットカード決済の場合は外部の決済代行会社のシステムと決済認証のやりとりが発生します。 当サイトの会員の場合、会員登録で登録済みのカードを選択して注文を行うこともできます。 会員情報としては決済方法のほかに、会員住所と届け先情報を登録しておくことができます。 会員登録しなくても注文は可能ですが、登録しておくと注文時にカード情報などの入力の手間が省けます。 注文の仕方は簡単で、商品を検索して購入したい商品を買い物かごに追加し、注文者・届け先・支払方法など を入力して注文を確定します。 注文者は注文受付メール内に記載のURLから注文内容や発送状況の確認をいつでも行えます。 会員の退会の手続きについてはシステム外の扱いとなり、電話対応でのみ受け付けます。 2018/6/16-17 WACATE
2018 Summer 27
28.
回答例:ユースケース図 2018/6/16-17 WACATE 2018
Summer 28 @startuml "ユースケース図_WACATE ECサイト" left to right direction actor :注文者: as customer actor :会員: as member actor :決済代行会社: as card customer <|- member usecase (退会する) as (Leave) note "退会はシステム外で手続きが必要" as N1 (Leave) .. N1 rectangle "WACATE ECサイト"{ usecase SignUp as "会員登録する -- extension points 決済方法" usecase AddCard as "カード情報を登録する" (SignUp) <.. (AddCard) : <<extend>> usecase EntryOrder as "商品を注文する -- extension points 決済方法" usecase CancelOrder as "注文をキャンセルする -- extension points 決済方法" usecase PayCard as "カード決済を行う" (EntryOrder) <.. (PayCard): <<extend>> (CancelOrder) <.. (PayCard): <<extend>> usecase ShowOrder as "注文内容を確認する" } ' 注文者 ----------------------------- customer -- (SignUp) customer -- (EntryOrder) customer -- (CancelOrder) customer -- (ShowOrder) member -- (Leave) ' 決済代行会社 ----------------------- (AddCard) -- card (PayCard) -- card @enduml つづく つづき PlantUMLで写経してみてね。
29.
解答例:アクティビティ図 2018/6/16-17 WACATE 2018
Summer 29 @startuml アクティビティ_商品を注文する(非会員) scale 800 width center header <back:lightgreen><color:black><b><size:24> 商品を注文する(非会 員) </size></b></color></back> | 注文者(非会員) | start while (買いたい商品) is (まだある) :1.商品を検索する; |#lightyellow| システム | floating note right 実線:主フロー 破線:代替フロー end note if (検索結果) then (1件以上) :1'.商品リストを表示; else (0件) -[#gray,dashed]-> :1''.該当商品なしを表示; -[#gray,dashed]-> :[1]へ戻る; detach endif | 注文者(非会員) | :2.商品を買い物かごに入れる; endwhile (もうない) :3.購入手続きへ進む; | システム | PlantUMLで写経してみてね。 if (買い物かごの中の商品) then (1件以上) :3'.入力フォームを表示; else (0件) -[#gray,dashed]-> :3''.商品選択なしを表示; -[#gray,dashed]-> :[1]へ戻る; detach endif | 注文者(非会員) | repeat :4.注文者情報を入力する; :5支払方法を選択する; :6.入力内容を確認する; | システム | :7.入力チェック; if (支払方法) then (カード決済) |#lightgray| カード決済会社 | :チェック処理; | システム | else (代引、振込) -[#gray,dashed]-> endif repeat while (チェック結果) is (不備あり) -[#gray,dashed]-> :8.確認画面を表示; | 注文者(非会員) | :9.注文を確定する; | システム | :10.注文内容をDB登録; end @enduml つづく つづき