テスト設計コンテスト 成果発表
チーム名：チームT研
投稿者ID：S180926001
発表者：赤木 章紀
2018/9/26

目次
1. はじめに
1.1 チーム紹介
1.2 本設計のコンセプト
1.3 テスト全体計画
1.4 テスト全体計画プロセス

2. テスト要求分析
2.1 テスト要求分析プロセス
2.2 要求仕様書の分析
2.3 機能要求のピックアップ
2.4 非機能要求のピックアップ
2.5 製品利用の分析

3. テストアーキテクチャ設計
3.1 テストアーキテクチャ設計プロセス
3.2 状態遷移の可視化
3.3 テスト要求の詳細化

4. テスト詳細設計
4.1 テスト詳細設計プロセス
4.2 テスト詳細設計の目的
4.3 テストケース作成
4.4 シナリオテスト

5. おわりに
5.1 工夫点
5.2 まとめ2018/9/26

2

1.1 チーム紹介
私たちチームT研は，香川大学工学部の高木研究室に所属している5人の学生で結成したグループです．
高木研究室では，ソフトウェアテストに関する研究を中心に行っています．

テストの設計技術の向上を目的として，参加させていただきました．

2018/9/26

3

1.2 本設計のコンセプト• テストプロジェクト要求補足書より「製品の主用途は調理サービスでの利用である」

製品の利用環境を踏まえたテスト• 不特定多数の人間が利用• 操作方法を理解していない人が利用• テスト実装は別のチームが担当

他チームとの連携を意識した一意に定まるテスト
2018/9/26

4

1.2 本設計のコンセプト• 飲食店やコンビニエンスストアでは不特定多数の人間が製品を使用・・・
誤操作を想定した
テスト項目の追加

画像：フリー素材いらすとや(http://www.irasutoya.com/)
2018/9/26

5

1.2 本設計のコンセプト• テスト項目に未定義部分や曖昧な部分が存在すると・・・• テスト実装チームに意図が伝わらず正しくテストが行われない
他チームとの連携を意識した
一意に定まるテスト
2018/9/26

6

1.3 テスト全体計画•テスト全体計画
Step1•
テスト要求分析
Step2•
テストアーキテクチャ設計
Step3
Step4

2018/9/26• テスト詳細設計7

1.4 テスト設計全体計画プロセス
テストベース

要求仕様書

成果物

2018/9/26

Step2• テスト要求

Step3• 状態遷移図
• FV表

Step4

• テストケース• テストシナリオ8

2.1 テスト要求分析プロセス
テスト機能分析• 仕様書から抽出できる要求の網羅

テスト非機能分析• 要求仕様書に記載されていないが，製品を利用するうえで満たすべき項目の検討

製品利用の分析• 製品が利用される状況の想定

2018/9/26

92.1 テスト要求分析プロセス

三色ボールペン法• 仕様書への理解を深め，テスト要求の抽出• 仕様書に対するフィードバックの抽出

Never Must Want分類• 仕様以外のユーザー視点での要求を，3つの観点により分類

6W2H• 8つの観点から，製品が利用される状況を設定
2018/9/26

10

2.2 要求仕様書の分析

三色ボールペン法• それぞれ意味を持たせた三色によって仕様書を色分けし，整理・分析する手法

赤• 仕様に不備が存在する箇所

青• テスト項目に流用可能な箇所

緑• 主観的な疑問点

2018/9/26

11

2.2 要求仕様書の分析

図1．三色ボールペン法の適用例• 要求仕様書の分析は5人のメンバーがそれぞれ行う• 多角的な視点から，仕様の曖昧な箇所を洗い出し

2018/9/26

12

2.3 機能要求のピックアップ
要求仕様書からのピックアップ• 要求仕様書の項目(pot-000-000)一つ一つを果たすべき機能と考え，テスト項目として扱う．
• 青色で指摘した箇所をテスト項目に反映．

取り扱う箇所の選定• 今回のテストプロジェクトにおいて，ハードウェアテストチームが別に存在するので，ハードウェアに関するテスト項目は対象外とする．

2018/9/26

13

2.4 非機能要求のピックアップ
非機能要求項目のピックアップ• 仕様書にはないが，達成すべきではないかと思われる項目をピックアップする．
• 3つの観点から考察する．
• 項目をそれぞれに分類し多くの網羅を目指す．
NeverMustWant• あってはならない• できなければならない• あったら嬉しい

コンセント接続時に異常状態

2018/9/26

環境(東西日本)に依存しない

コンセント接続後の起動時間が短い

14

2.5 製品利用の分析
製品利用状況の仮定• 6W2Hによる8つの観点から，どのような状況での製品利用が考えられるか仮定する
Why
(なぜ)

Who(誰が)What(何を)Where(どこで)When(いつ)Whom(誰に)How(どのように)
2018/9/26

How much(いくらで)153.1 テストアーキテクチャ設計プロセス
状態遷移の可視化• 各機能における状態遷移図の作成• 状態遷移の可視化を行う事で他チームへの引継ぎを容易にテスト要求の詳細化• FV表を用いたテスト要求項目の詳細化• 機能目的と検証内容を明記

2018/9/26

16

3.2 状態遷移の可視化• 状態遷移図を作成することで，各機能における状態遷移の視覚化を行う

図2．ロック機能の状態遷移図

2018/9/26

17

3.3 テスト要求の詳細化

FV表• 機能とその検証を行う条件を整理するために用いる一覧表．
• 今回は，目的の機能と検証内容，用いるテスト技法を定義.
テストベースへのトレーサビリティを確保

表1．コンセント接続に関するFV表
要求ID テストベース
目的機能
検証内容
R1
pot-210コンセントの機能検証
コンセントの抜き差しでポットが利用可能/不可能状態になること
コンセント接続時、各機能をデフォルト
R1.1
pot-210-11
コンセントを差すと、設定値がデフォルトに設定されることに設定
コンセント接続時、保温行為モードをデR1.1.1 pot-240-11
コンセントを差すと、保温行為モードが高温モード（98℃）であること
フォルトに設定
コンセント接続時、ロックをデフォルトにR1.1.2 pot-250-11
コンセントを差すと、ロックが解除状態であること
設定
コンセント接続時、タイマをデフォルトに コンセントを差すと、タイマが0min0secにリセットされ、タイマは停止状
R1.1.3 pot-270-11
設定
態であることコンセント接続時、温度制御状態をデR1.1.4 pot-330-11
コンセントを差すと、温度制御状態がアイドルであること
フォルトに設定

2018/9/26

テスト技法

Nワイズ
テスト

18

4.1 テスト詳細設計プロセス
機能テストケース

非機能テストケース

テスト要求

テスト要求

(機能要求)(非機能要求)FV表(機能要求)

FV表

テスト
シナリオ
6W2H表

(非機能要求)状態遷移図

2018/9/26

19

4.2 テスト詳細設計の目的
テストケース作成• テスト要求分析により得られた分析結果を基にテストケース作成を行う．
➢ 機能要求分析
ID, 初期状態，イベント，期待結果➢ 非機能要求分析
ID, 初期状態，イベント，期待結果
時間等のテスト目的に応じた項目
テストシナリオ例の作成• 6W2H表に基づいてユーザの操作とソフトウェアの期待動作を記述.

2018/9/26

20

4.3 テストケース作成• コンセント機能のテストケース(機能テスト)• FV表に基づいて，各検証条件ごとのテストケースを作成
要求仕様書に定義された値をテストケースに反映

表2．テストケース(機能テスト)
初期状態
ID
TC1.2.1
TC1.2.2
TC1.2.3
TC1.2.4
TC1.2.5TC1.2.6

2018/9/26

蓋センサ

前回終了状態

off
on
on
onon
on

アイドル
保温
保温
保温
保温
保温

期待結果
水量
第1～第2
第1～第2
第1～第2
第1～第2第1～第2第1～第2

イベント
蓋を3sec閉める
沸騰ボタンを0.1sec押す
保温設定ボタンを0.1sec押す
解除ボタンを0.1sec押す
給湯ボタンを押す
タイマボタンを押す

ポット
反応なし
反応なし
反応なし
反応なし
反応なし
反応なし

21

4.3 テストケース作成• 保温行為・沸騰行為のテストケース(非機能テスト)• 非機能要求に基づいて，性能評価のために追加
表4．沸騰行為の性能評価
時間

要求仕様書にない項目もテストケースに追加

塩素濃度

1min00sec
1min30sec
2min00sec
2min30sec

表3．保温行為の性能評価
保温モード
高温モード
節約モード

3min00sec

時間
10min

20min

30min

40min

50min

60min

3min30sec
4min00sec
4min30sec

ミルクモード5min00sec
2018/9/26

22

4.4 シナリオテスト• ６W２H表に基づいて製品の利用目的と検証される
内容を整理• 各シナリオについて，ユーザが行う動作とそれに伴う製品の動作を詳細化
青色部分が製品の動作を示す

表6．詳細なシナリオ

表5．シナリオ一覧
番号
S1
S2
S3
S4

目的
カップラーメンを作る
朝一にお茶を作る
ミルクを作る
ぬるい水がほしい2018/9/26

検証内容
沸騰行為、保温（高温）、タイマ
アイドル→沸騰、保温（節約）
保温（ミルクモード）、ロック
温度上がらずエラー
23

4.4 シナリオテスト• 作成したシナリオに基づいてテストシナリオを作成• テスト要求はFV表と対応付けられる

表7．テストシナリオ

2018/9/26

24

5.1 工夫点
1. 三色ボールペン法を用いて要求仕様書の分析を行う事で，曖昧さが排除された他チームとの連携を意識した一意に定まるテストを作成する．

2. 要求仕様に記載されていないが，製品を利用するうえで満たすべき項目を検討し，非機能要求としてテスト項目に追加する．

3. 製品の利用を想定している環境から，起こりうる問題を考慮したシナリオテストを行うことで，製品の利用環境を踏まえたテスト項目の追加を行う．
2018/9/26

25

5.2 まとめ• 「他チームとの連携を意識したテスト」というコンセプトのもと，仕様書の分析を行い，曖昧さを排除したテストの作成を行った．
• 状態遷移図を作成し，状態遷移の視覚化を行った．
• 主用途が調理サービスでの利用ということから，シナリオテストを行い，製品の利用環境を踏まえたテスト項目の追加を行った．

感想• テスト計画を通して，テスト設計の各工程をについて学び，経験を得ることができた．
2018/9/26

26