テスト設計コンテスト 成果発表
チーム名：チームT研
投稿者ID：S171021001
発表者：亀山 大輝

目次
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 まとめ2017/6/20

2

1.1 チーム紹介
私たちチームT研は，香川大学工学部の高木研究室に所属している学生で結成したグループです．
高木研究室では，ソフトウェアテストに関する研究を中心に行っています．
ソフトウェアテストの設計技術の向上を目的として，参加させていただきました．
2017/6/20

3

1.2 本設計のコンセプト• テストプロジェクト要求補足書より– 「当製品は未就学児および小学校低学年程度の子供のいる環境での利用をメインターゲットとして開発している」

どんな状況でも安全に使用できるかどうか• 要求仕様書通りに動く• 日常で起こりえる不適切な操作，事故に耐えうる– 「上流工程成果物への改善のフィードバックを提供する」

見落とした要求項目がないかどうか
2017/6/20

4

1.2 本設計のコンセプト• 子供が台においてあるポットにぶつかったら…

安全に利用できるようテスト項目を追加したい

画像：フリー素材いらすとや(http://www.irasutoya.com/)
2017/6/20

51.2 本設計のコンセプト• 要求仕様書に基づく仕様をすべて満たし，新たな要求項目を提案し，それも満たすことができれば…

仕様書に基づく分析（要求分析）

仕様書に基づかない分析（非要求分析）より多くの要望を実現できるテスト

2017/6/20

61.3 テスト全体計画•
テスト全体計画
Step1•
テスト要求・非要求分析
Step2•
状態遷移の分析・設計
Step3
Step4

2017/6/20• テスト詳細設計

7

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

資料

要求仕様書

Step2

Step3

要求分析表

成果物
2017/6/20

非要求分析表

オリジナル
状態遷移図

Step4

テストケース

テストシナリオ
フィードバック項目8

2.1 テスト要求・非要求分析プロセス

資料

要求仕様書

仕様書の扱
う部分の選定成果物
2017/6/20

要求分析表

非要求分析のピックアップ

要求分析と非要求分析

非要求分析表フィードバック
項目の検討の比較

フィードバック項目9

2.2 テスト要求・非要求分析の目的
テスト要求仕様書の内容を理解• テスト要求仕様書の項目をより深く理解する．

非要求分析の検討• 要求仕様書にはないが，製品を利用する上で満たすべき項目を検討し，テスト項目に追加する．

2017/6/20

10

2.3 要求分析と非要求分析の手順•
仕様書の扱わない箇所を除外
Step2-1
Step2-2

Step2-3

Step2-4

2017/6/20• 非要求項目のピックアップ• 仕様書と重複するものは除外• フィードバック項目の検討

112.4 仕様書に基づく要求分析
要求仕様書の理解• システムの動作，流れを理解する．
• 要求仕様書の項目(pot-000-000)一つ一つを果たすべき要求仕様と考え，テスト項目として扱う．
取り扱う箇所の選定• 今回のテストプロジェクトにおいて，温度制御専門チームが別に存在するので，温度制御の項目は対象外とする．
要求仕様書 p10,p11 温度制御方式
2017/6/20

12

2.5 仕様書に基づかない非要求分析
非要求項目のピックアップ• 仕様書にはないが，達成すべきではないかと思われる項目をピックアップする．
• 3つの観点から考察する．
• 項目をそれぞれに分類し多くの網羅を目指す．
Never

人体に影響がある• あってはならない

2017/6/20

MustWant• できなければならない• あったら嬉しい13

3.1 状態遷移の分析・設計プロセス

資料

要求仕様書システムの流れの理解

成果物
2017/6/20

状態遷移図に遷移の追加

テスト項目の関連付け

オリジナル状態遷移図

143.2 状態遷移の分析・設計の目的
システムの流れの理解• テスト全体の流れをしっかり把握する．
• 要求仕様書に記載されている状態遷移図を基に仕様とシステムの動きを明確にする．

遷移とテスト項目の関係性を具体化• オリジナル状態遷移図を作成することにより，テストシナリオの作成にも役立てる．
• テスト実行チームは別に存在しているので，他のチームへの引継ぎを容易にする．

2017/6/20

15

3.3 オリジナル状態遷移図作成
表１ ： オリジナル状態遷移図
開始地点 イベント①
コンセント接続

アイドル

沸騰要求

アイドル

遷移先
テスト項目
アイドル状態 pot-210-11
pot-240-11
pot-250-11
pot-270-11
pot-330-11
沸騰行為
pot-220-21
pot-280-11
pot-280-12
pot-280-31
pot-280-41
pot-330-41
アイドル
pot-220-11
pot-220-31pot-280-11
pot-280-12
pot-280-31
pot-280-41

遷移とテスト項目の関連付け
2017/6/20

同じ状態への遷移を追加

図１ ： オリジナル状態遷移図

16

4.1テスト詳細設計プロセス

資料

要求分析

要求分析
テストケース作成

成果物
2017/6/20

要求分析
テストケース

非要求分析

非要求分析
テストケース作成

非要求分析
テストケース

オリジナル
状態遷移図

テストシナリオ作成

テストシナリオ17

4.2 テスト詳細設計の目的
テストケース生成• テスト要求分析により得られた分析結果を基にテストケース生成を行う．
➢ 要求分析
指定条件（前提条件など），入力，期待結果，参考➢ 非要求分析
指定条件，入力，期待結果，目的，参考
テストシナリオ例の作成• 非要求分析にはそれぞれテストを行う目的を記載する．
• テストができない非要求分析については，フィードバック項目としてテストケースは作成しない．

2017/6/20

18

4.3 テストケース作成• 要求分析 ： 仕様書の項目についてのテストケース
要求仕様書のコードごとにテストケースを作成
表２ ： 要求分析テストケースコード

指定条件

テスト手順（入力）

期待結果

pot-220-21 水量が適切である

蓋「閉」を確認させる

沸騰行為をする

pot-220-31 水量が異常である

蓋「閉」を確認させる

アイドル状態を維持する

pot-221-11 温度制御状態である

1秒以上蓋を開ける

温度制御行為を中止する

温度制御状態である

1秒未満蓋を開ける

温度制御行為を維持する

境界値分析などを行う

2017/6/20

19

4.3 テストケース作成• 非要求分析

表３ ： 非要求分析テストケース

テスト項目

指定条件

テスト動作

お湯の味が変わらない

お湯を沸かして1時間保温

色確認

お湯を沸かして1時間保温pH試験紙を使う

お湯を沸かして12時間保温

色確認

お湯を沸かして12時間保温

pH試験紙を使う

お湯を沸かして24時間保温

色確認

お湯を沸かして24時間保温

pH試験紙を使う

45°傾斜におく

各種操作を行う

傾いても動作する
頑丈である

地面から1mの場所から落とす
地面から2mの場所から落とす目的を記載し，非要求分析の必要性を強調

2017/6/20

期待結果

目的

無色透明

健康を害さないため値が6.0以上8.0以下（中性）

健康を害さないため無色透明

健康を害さないため値が6.0以上8.0以下（中性）

健康を害さないため

無色透明

健康を害さないため値が6.0以上8.0以下（中性）

健康を害さないため

仕様書通りに動作する

誤作動防止のためお湯がこぼれない

事故防止のためお湯がこぼれない

事故防止のため
20

4.4 テストシナリオ例• オリジナル状態遷移図を利用しテストシナリオを設計する．
アクション

状態①

アイドル状態

コンセント接続

アイドル状態へ遷移し続ける

表４ ： テストシナリオ(抜粋)
テスト動作

状態

遷移

テストケースコンセント接続

pot-210-11①
コンセント接続

pot-240-11
pot-250-11
pot-270-11
pot-330-11
アイドル状態

pot-220-11
pot-220-31
pot-280-11
pot-280-12
pot-280-31
pot-280-41

2017/6/20

図２ ： オリジナル状態遷移図215.1 工夫点
1. 要求仕様書のみでなく，非要求分析を行うことで，幅広いユーザーの期待にこたえる．

2. 非要求テストケース作成時にテスト目的の明確な理由付けを行うことで非要求分析の必要性を強調する．
3. オリジナル状態遷移図を作成することで，システムの動きの流れを視覚的に理解し，テスト実行計画の助けとなる．また，テスト実装チームへの引継ぎを容易にする．

4. フィードバック項目を作成することで，今後の開発の提案を行うことができる．

2017/6/20

22

5.2 まとめ• 「どんな状況でも安全に使用でき，より多くの要望にこたえるテスト」というコンセプトのもと，仕様書にない項目のテスト設計を行った．
• 自分たちのチームだけでなく，オリジナル状態遷移図などを利用し，他のチームにも配慮したテストを計画した．

感想• テスト計画を通して，仕様書に基づいたテストケース生成までの工程を理解し，経験を得た．

2017/6/20

23