lecture at Univ.Paderborn

ソフトウェア工学/
検証指向開発VODの巻
九州産業大学情報科学部
松本正雄 2009
Prof. Dr. Masao J. Matsumoto
2009
1
Verification-oriented
Development (VOD)
Prof. Dr. Masao J. Matsumoto
University of Dortmund,
University of Tsukuba,GSSM
Kyushu Sangyo University
2009
2
検証指向のソフトウエア開発
 検証とは?
 正しいか否か調べて証拠付で結論付け
ること
 検証は必要か?
 検証指向の開発(VOD)を行うのは何故
か?
 そうしないと検証不可能に陥ってしま
うから
2009
3
VOD講義内容
 テスト技法
 検証指向の開発手順
 状態遷移を含むソフトウエアの検証法
2009
4
VOD:Verification-oriented
Development
Competitive Software Technology
2009
5

信
頼
を
得
る
秘
訣
2009
エ検
ア証
開指
発向
技の
法ソ
フ
ト
ウ
6
検証は重要
設計
Relation
各種仕様
設計の検証
2009
Fig.6.9 検証作業
被検証物
比較
正当
比較:
本来設計結果が満たすべき条件
を予測正解値として求め、その
条件と実際に行われた設計を
比較
7
Verification is Crucial
Design
Relation
Specification
Testee
Compare
Correct
Verification Design
2009
Fig.6.9 Verification Activities
8
Mathematical Review
被検証物
設計
証明
証明責任
不一致
Relation
Specification
証明妥当性の確認
2009
Fig.6.15 Review by Mathematical Approach
9
Mathematical Review
Testee
Design
Proof
Fulfil Proof Responsibility
Unmatch
Relation
Specification
Check the Proof Feasibility
2009
Fig.6.15 Review by Mathematical Approach
10
Technical Review
被検証物
設計
レビュー者の能力
仕様
レビュー
レビュー視点
Fig.6.16 Review by Technical Approach
2009
11
Technical Review
Design
Testee
Reviewers'
Expertise&Ability
Specification
Review
Review Viewpoints
Fig.6.16 Review by Technical Approach
2009
12
Managerial Review
Specification
仕様
設計
作業記録
確認
成果
納期やUI
レビュー者の
能力
標準
開発管理
2009
Fig.6.17 Review by Managerial Approach
13
Managerial Review
Specification
Specification
Design
Activity Records
Confirmation
Products
Looks and Delivery Date
Reviewers'
Expertise&Ability
Standards
Development Management
2009
Fig.6.17 Review by Managerial Approach
14
ライフサイクルにおける検証
1
12
2
3
11
4
5
10
1 分析Analysis
6
3 概要設計
5 詳細設計
7 実装
12 運用
7
9
8
11 システムテスト
10 複合テスト
2,4,6,8 レビュー
2009
9 単体テスト
15
Fig 6.11 Verification throughout Life Cycle
Verification in Life Cycle
1
12
2
3
11
4
1 Analysis
2 Gross
5Design
Detail Design
7 Implement'n
5
6
10
12 Operations
7
9
8
11 System Test
10 Compound Test
2,4,6,8 Reviews
2009
9 Unit Test
16
Fig 6.11 Verification throughout Life Cycle
Intermediate Products in
Life Cycle
1
12
2
3
1Analysis 4
5
3 Gross Design
5 Detail Design
6
7
9
7 Implement'n
2 Functn'l Specificat'n
8
4 Block Specificat'ns
6 Module Specificat'ns 8 Code Modules
2009
12'
11
11'
10
9'
12 Operations
10'
12'Evaluat'n
11 System Test
11' System
10 Compound Test
10' C.Tested Block
9 Unit Test
9' C.TestedModule
17
テスト
 最小の労力で最大のテスト効果を狙う
 背景


2009
・検証に多大な労力時間を要す
・テスト網羅率を向上させたい
18
テスト技法の種類
 テスト
 静的:実行しないでテスト
 動的:実行してテスト
 網羅テスト
 制御フロー
 機能データフロー
2009
19
今日の講義ポイント
1.検証工数は莫大
→最小努力で最大効果
 2.同値という概念
 3.テストデータとテストケース
 4.前回例題の補足
 5.前回レポートの講評
 6.入力データ組み合わせ
 7.CEDテスト法

2009
20
同値

入力データを個々に識別するかわりに、同じデータ
特性を有する要素よりなる部分集合から1要素デー
タを取り出し、1回のテストを行う。このことをす
べての部分集合について実施。
部分集合を同値クラス(または単に同値)と呼ぶ。
同値を使うテストを同値テストと呼ぶ。
仕様合致:有効同値。
仕様不一致:無効同値。

Xyz、456、b2y7、@hks




2009
21
同値を使用したテストの例題(1)


仕様書:
データを読み、それが
–
–

8桁以内の英数字(半角小文字)なら“正しい
(または1)“そうでなければ“誤り(または
0)”と表示する。
先頭の1バイトが*であるなら、終了する。
例題:
- 上記のプログラムをテストする場合、用
意すべきテストデータと実施すべきテスト
ケースは何通りか?
2009
22
同値の例題(1)の考察
入力データについて、その長さが8文字以内で、し
かも英数字だけから構成されているか否かを調
べ、もしそうなら「1」、そうでなければ「0」を
表示するプログラムをテストするときに必要な
データは何通りか?*で停止。半角小文字。
 有効同値データ使用して結果が0か
 上記データで結果が1か
 無効同値1データ使用して結果が1(0)か
 無効同値2データ使用して結果が1(0)か
 無効同値3データ使用して結果が1(0)か
 さらに上記の各場合に結果が0でも1でもない
 ー→ 次頁の14通り

2009
23
停止性
*来て停止するか
*が来て停止しないか
妥当性
有効同値(英数で8バイト以内)使用して結果が1か
上記で結果が0か
上記で結果が1でも0でもないか
無効同値(非英数で8バイト以内)使用して結果が0か
上記で結果が1か
上記で結果が1でも0でもないか
無効同値(英数で8バイト超え)使用して結果が0か
上記で結果が1か
上記で結果が1でも0でもないか
無効同値(非英数で8バイト超え)使用して結果が0か
上記で結果が1か
上記で結果が1でも0でもないか
2009
24
同値を使用したテストの例題(2)


仕様書:
データを読み、それが
–
–



8バイト以内の英数字(半角小文字と限らない)
なら“1”を、そうでなければ“0”を、表示す
る。
先頭の1バイトが*であるなら、終了する。
例題:
上記のプログラムをテストせよ。用意すべ
きテストデータと実施すべきテストケース
は何通りか?
回答用紙に学籍番号、氏名(ファイル名は
英数字)型はdoc
6.12(金)13:00 25
多い間違い







2009
1.論理を示していない(場合を幾つか列挙しただ
け)。
2.網羅的でない。
3.直交的でない。
4.テストデータの通りを示さずテストケースの
み。あるいはその逆かまたは両者を混同している。
5.U-(A or B)から選ばず。
6.「有効同値の場合、処理結果が正しいと応答し
たか」が脱落している。
7.「結果が0か1以外か」が脱落している。
26
採点基準
S:論理を示していて、しかもその論理が正
しい。100点
 A:論理を示しているが、その論理が少し間
違っている。間違い1件ごとに10点減。
 B:論理を示しているが、その論理がだいぶ
間違っている。間違い1件ごとに10点減。
 C:論理を示さず、思いつきを幾つか並べた。
D:未提出。

2009
27
同値例題(2)の正解
 前提:データは読めた。大文字小文字
は問わない。
 停止性のテスト:
 1.*がきたら停止した。
 2.*がきたが停止しなかった。¥
 3.*以外がきたら停止した。¥
 4.*以外がきたら停止しなかった。
2009
28
正解(続)
 データごとの妥当性→36通り
– 入力データが全角だけの場合4x3=12通り
 有効同値データがきたら1とした。
 有効同値データがきたら0とした。
 有効同値データがきたら0,1以外とした。
 無効同値データ3通りに対して上記3通り。
– 入力データが半角だけの場合4x3=12通り
– 入力データが半角と全角混在の場合4x3=12
通り
2009
29
全体で40通り
 停止性→4通り
 妥当性→36通り
 都合→40通り
2009
30
システム下層のテストも含めれ
ば、さらに増加する
 ファームウエアのテスト
 DOSレベルのテスト
 OSレベルのテスト
 ミドゥルウエアレベルのテスト
 アプリケーションレベルのテスト
2009
31
過誤の2種類
 第一種の過誤:間違いを正しいとする
 第二種の過誤:正しいを間違いとする
2009
32
回答
 このプログラムのテストケースは以下
の□通りです:
 1. *を使って結果がプログラム停止
 2.tdを使って結果が1であるか
 3.tdを使って結果が1であるか
 続く
 (td:具体的にテストデータを書く)
2009
33
1 0
2 0
3 0
4 4
5 0
6 4
7 1
 8以上

2009
0
34
戦略なき方法
 前記例題を網羅的にテストするための
 入力データの種類の数は?
 n個の文字種のなかから1文字選び、r
桁の文字列を作ること
 n=36、0=<r<=8
 何通りになるか?
2009
35
C=Σnr
r=1から8
 n=36
 天文学的数字になる。
 さらに異常な場合を加算しなければな
らないので、もっと多くなる!
 それだけ多くテストする時間や費用は
ない。ではどうするか?
2009
36
Equivalent Value
a
c
b
u
a: Subspace of which elements are those string of which size is 8 character-long or less
b: Subspace of which elements are strings which are composed only by alphanumeric
c= a AND b
u: all possible combinations of remaining inputs
2009
Fig 6.20 Subspaces and equivalent values
37
Equivalent Value ベン図
a
u
c
b
a: Subspace of which elements are those string of which size is 8 character-long or less
b: Subspace of which elements are strings which are composed only by alphanumeric
c= a AND b
u: all possible combinations of remaining inputs
2009
Fig 6.20 Subspaces and equivalent values
38
同値分割法
 仕様に基づき、「有効な部分集合」
「無効な部分集合」に集約すること。
 例題では「桁数チェック」と「文字種
チェック」の2つの処理があるので、
その2つに分割して、同値を求める:
2009
39
同値
 ①有効同値:桁数8以下で英数字だけか
らなる文字列 部分集合c
 ②無効同値1:非英数字を含む8桁以下
の文字列 部分集合(a-c)
 ③無効同値2:8桁超えていて英数文字
列 部分集合(b-c)
 ④無効同値3:8桁超えていて非英数字
を含む文字列 u-(a or b)
2009
40
限界値分割
 本質的に同値と同概念。得られた同値
分割から実テストデータ作成時境界を
重視する。
 例:8文字と9文字の文字列
 内部コードA(Z)の1つ前(後)の文
字
2009
41
Input Grouping by
Functional Decomposition
Input
Blackbox
Input Group 1
F1
Input Group 2
F2
Input Group 3
F3
Functionalities
Fig 6.22 Input Grouping by Functional Division
2009
42
Relationship among Input
Equivalent Values
Equivalent value group 1
11
Equivalent value
12
1m
Equivalent value group 2
21
22
2m
Equivalent value group n
n1
Combination
Output 1
Logic
n2
nm
2009
Fig 6.23 Equivalent values Relationship
43
入力項目間の組み合わせ数Cn=ΠEi
入力I1
出力A
I2
出力B
In
2009
出力C
44
入力1群
出力A
入力2群
入力
出力B
出力A
出力B
入力3群
出力C
出力C
機能分割でテスト項目削減
2009
45
効果の優れたテストとは?
 網羅率が良いこと(最大のテスト効
果)
 効率的であること(最小のテスト工
数)
2009
46
必要なテスト項目の求め方
 所与の仕様から入力同値の相互関係を
解明しテスト項目を得る
2009
47
例題1
ファイルの内容を表示するShowMeFileコマン
ドの機能をテストする場合を考えよう
 ShowMeFileコマンドの仕様:
 指定されたファイルの内容を表示する。もし
パラメタが*なら、すべてのファイルの内容
を、特定のファイル名ならそのファイルの内
容を表示する。
 パラメータENDが来たら停止する。
課題
・使用テストデータは何か?
・テストケースは何通りか?

2009
48
上記コマンドのテスト設計
 行うべき
– テストデータ
– テストケース
 を言え。
2009
49
例題1のテストを実施する際
君なら、何通りのテストを行えば済むと思う
か?
 答1 2通り
 答2 3通り
 答3 4通り
 答4 5通り
 答5 6通り
 答6 7通り以上

2009
50
テストの肝要事項
 最も少ない工数で最大の網羅を確実にす
ること。
 その目的を達成することが品質信頼性の
高い製品を作成するための1つの必要条
件である。
 目的達成に役立つ方法を駆使するのが優
秀な技術者。
2009
51
テスト方法の例
 同値データ方法
 限界値データ方法
 原因結果グラフ(CED)方法
 ケースフロー図(CFD)方法
2009
52
CED(Cause-Effects Diagram)方法
同値法は必要十分なテストデータを設計する
には便利
 テストケース設計には
①テストデータ
②そのデータを使用した実行結果
③期待値(本来あるべき姿)
の組を捉える必要がある。
 その組が与えられれば合否判定が可能。
 CEDの目的は最小の組合わせを求めること

2009
53
CED法の手順(概要)
 1)原因(テストデータ)と結果(期
待値)を各々列挙する
 2) 原因と結果の関係を見極める→図
式化する
 3)上記に基づいて、テストケースを
作る(ディシジョンテーブルを作成)
2009
54
CED方法の手順(具体的)
 1)原因結果グラフを作成して最も網
羅的でしかも効率的なテストを行う
 2)原因結果グラフとは原因と結果の
関係を同定して図示すること。
– 入力データとなる同値や事前状態を原因、
出力や事後状態を結果と呼ぶ。
 3)原因を列挙する。有効と無効同値
4)結果を列挙する。
5)原因と結果の関係からテストケー
スを設計する。
2009
55
例題2
ファイルの内容を表示するShowMeFileコマン
ドの機能をテストする場合を考えよう
 ShowMeFileコマンドの仕様:
 指定されたファイルの内容を表示する。もし
パラメタが*なら、すべてのファイルの内容
を、特定のファイル名ならそのファイルの内
容を表示する。
 パラメータENDが来たら停止する。
課題
・使用テストデータは何か?
・テストケースは何通りか?

2009
56
ファイル名の補足
 *やENDを含まないとする。
 もし先頭もしくは任意の位置に含まれ
ていれば、*またはENDが来たとする。
2009
57
例題2プログラムのCEDを書け
 ヒント
 原因には何があるか?
 結果には何があるか?
 原因と結果の関係は何か?
2009
58
ShowMeFileコマンドのCED

原因は次の3つ。
①*が指定された
②なんらかのファイル名が指定された
③指定されたファイルは存在している
結果は次の3つ。
(70)指定されたファイルの内容を出力する
(71)パラメータ不正のエラー表示をする
(72)指定されたファイルが存在しない旨エラー
表示する。
2009
59
最小の回数で網羅的なテスト効果を
行なうには、いかなるテストを行え
ば良いか?
ヒント
 1.左側に入力同値(原因)を書き、右側に
結果を書く。
 2.原因から結果に向け、因果関係を結線
し、結果が成立する条件を加味してCED(原
因結果グラフ)を作成する。
 3.それを基にデシジョンテーブルを作成す
る。

2009
60
例題に対する原因結果グラフ
原因
1
~
or
not
11
2
3
結果
71
and
~
and
not
70
72
Fig 6.25 Cause-Effect Graph
2009
61
Cause-Effect Graph:Example
Causes
1
Effects
71
not
or
11
2
and
and
3
not
70
72
Fig 6.25 Cause-Effect Graph
2009
62
デシジョンテーブル例1
Table 6.2 Decision Table for Example
テスト項目
1 2 3 4 5
原因
(1)
(2)
(3)
結果
(70)
(71)
(72)
2009
1 0 0 0
0 1 0 1
1 1 - 0
1 1
1
1
上段
1:真
0:偽
ー:不問
下段
1: 成立する
空白:成立せず
63
デシジョンテーブル例2
追加 原因 (4)END
結果(73)プログラム停止
Table 6.2 Decision Table for Example
テスト項目
1 2 3 4
原因
(1)
(2)
(3)
(4)
結果
(70)
(71)
(72)
(73)
2009
1 0
0 1
1 1
0 0
1
0
0
0
5
0 -
1 -
0 -
0 1
上段
1:真
0:偽
ー:不問
下段
1: 成立する
空白:成立せず
1
1
1
1
64
項番
入力
出力
1
*
該当ファ
イル印字
2
ファイル 該当ファ
名
イル印字
3
*、ファ
イル名以
外
ファイル
不存在
パラメタ
エラー
END
停止
4
5
2009
期待値
ファイル
不存在
停止
65
Decision Table:Example
Table 6.2 Decision Table for Example
Test Items
1 2 3 4 5
Causes
(1)
(2)
(3)
1
0
1
0 0 0
1 0 1
1 - 0
Effects
(70)
(71)
(72)
1
1
2009
1
1
66
例題1.5
ファイルの内容を表示する拡張ShowMeFileコ
マンドの機能をテストする場合を考えよう
 拡張ShowMeFileコマンドの仕様:
 指定されたファイルの内容を表示する。もし
パラメタが*なら、すべてのファイルの内容
を、特定のファイル名ならそのファイルの内
容を表示する。表示の制御は副次パラメタが
eなら句読点ごとに改行表示する。
 パラメータENDが来たら停止する。
課題
・使用テストデータは何か?
67
・テストケースは何通りか?

CFD(Case-Flow Diagram)技法
 さらにテスト項目数を減らすことは可
能か
 同値分割と同値間関係をベン図で表現
2009
68
Equivalent Value Subspace
by CFD without Common
U
a
Space
U
a
Subspace
U - (a or b)
b
Subspace
b
U:Large Island for Equivalent value, a,b : Small Island for Equivalent value
2009
Fig 6.27 Equivalent value subspacing by CFD
69
同値集合(共通部分無しの場合)
ベン図
CFD
U
a
母集合
U
a
部分集合
U - (a or b)
b
部分集合
b
U:Large Island for Equivalent value, a,b : Small Island for Equivalent value
2009
Fig 6.27 Equivalent value subspacing by CFD
70
同値集合(共通部分有りの場合)
ベン図
CFD
U
U
a
a
c
c
c=a^ b
b
b
U-(a or b)
2009
Fig 6.28 Equivalent value subspacing by CFD
71
Equivalent Value Subspace
by CFD with Common
U
U
a
a
c
c
c=a^ b
b
b
U-(a or b)
2009
Fig 6.28 Equivalent value subspacing by CFD
72
例題2 LHA高圧縮書庫管理プログラム
LHA 命令、オプション、その他パラメタ
 命令 「英字1文字(aumfdpexlvst)」xor 「省
略」のいずれか(有効同値はaからtまでと省略の
13種)で、相互の関係は排他的である。


a:ファイル追加、u:ファイルを上書き、m:ファイル移動、
f:ファイル更新、d:ファイル削除、p:ファイル閲覧、e:
ファイル復元、x:デイレクトリ付でファイル復元、l:
書庫一覧表示、v:同左d付、s:自己解凍書庫作成、
t:書庫のテスト
2009
73
続
オプション –rwxmpcazthonisl 複数指定可
 -が指定されていれば、オプション有り、
 -が指定されていないなら、オプション無し


2009
r:サブデイレクトリも検索、w:ワークデイレクト
リ指定、x:デイレクトリ名を有効に、m:問い合
わせしない、p:名前の比較を厳密に行う、c:日時
参照を行わない、a:全属性を凍結対象とする、z:
無圧縮格納、t:書庫の時刻を最新ファイルに、
h:ヘッダ形式
74
続

その他パラメタは下記形式
– LZH ? [DIR ?][FILES ?]
意味は
– LZHは必須で書庫名(省略は無効同値)
– DIRは任意でディレクトリ名
– FILESは任意でファイル名(複数指定可)

LHAコマンド全体の形式
– LHA [命令][オプション][LZH ?[DIR ?][FILES
2009
?]]
75
命令部のCFDはどうなるか?
オプション部のCFDはどうなるか?
その他パラメタのCFDはどうなるか?
2009
76
LHA例題に対するケースフロー図
(Case-Flow Diagram )
N:Not specified
命令部
IS:Identifier specified
a
オプション部
f
-
N
r
N
N
x
l
N
N
無効
LZH 書庫
ディレクトリ
IS
IS
N
N
2009
ファイル
IS
N
77
IEV
Final Case-Flow Diagram
for LHA Example
N:Not specified
Operators
IS:Identifier specified
a
Option list
f
-
N
r
N
N
x
l
N
N
無効
Fig 6.29 EVS for Example LHA Operators
LZH Lib.
Fig 6.30 EVS for Example LHA Option List
Directory
IS
IS
N
N
File
IS
N
2009
78
IEV
Fig 6.31 EVS for Example LHA Parameter option
原因結果グラフとCFDの2通り表示を比較しよう
原因結果グラフ
原因 37通り
内訳
命令部 14通り(12種類の命令+省略+左記以外)
オプション部 15通り
その他パラメタ 8通り(ファイル名のループはないとする)
2009
79
原因が37通りだと表記し切れな
いので、
 3通り原因組と7通り原因組の2組で表
記する。
2009
80
CED
1
or
2
11
CEDでは
①②③原因と④⑤⑥⑦原因の
間に何らかの依存関係が隠
されていて、その関係から生ま
れる欠陥についてテスト項目
を設計する。
3
4
and
70
or
5
12
6
7
CED(原因結果グラフ)
2009
81
CFD流れ図
 CFDは1,2,3と4,5,6,7は独立。
4
1
2
3
分岐数が3の場合
2009
5
6
7
分岐数が4の場合
82
原因結果グラフとCFD流れ図
 原因欄の件数を比較せよ
 原因群間の関係が独立か従属か見極め
よ
 独立ならCFD、従属ならCED
2009
83
テストケースを減らせる場合
テストケース
Causes
1
2
3
4
5
6
7
Effective Results
1 2 3 4 5 6 7 8 9 10 11 12
1
1 1 1 1
1
1 1 1 1
1
1
1
1
1
1 1 1 1
1
1 1 1
Table 6.3 CEDで設計したテスト項目
2009
1
1
1
1
1
1
1
1
1 1
3 4
1
1
1
1
2
1
1
1 1
1
1
1
1
1
1 1 1
Table 6.4 CFDによるテスト項目
84
Towards More Effective and
Efficient Verification
Test Items
Causes
1
2
3
4
5
6
7
Effective Results
1 2 3 4 5 6 7 8 9 10 11 12
1
1 1 1 1
1
1 1 1 1
1
1
1
1
1
1 1 1 1
1
1
1
1
1
1 1 1
1
1
1 1
1
1
1
Table 6.3 Test Items designed by Cause-Effect Method
2009
1
1
1
1
1 1
3 4
1
1
1
1
2
1
1
1 1 1
Table 6.4 By Case Flow Diagram
85
VODの要諦(復習)
 1.V字型工程と検証
 2.設計検証
 3.効果的なテストを効率的に
 今から
 4.状態遷移プログラムの検証
2009
86
状態遷移を伴うシステムの検証
 特別の配慮が要る
 システムの外部から次のことが困難
– ある状態に設定すること(含むその確認)
– 他の状態に遷移させること(含むその確
認)
2009
87
状態遷移プログラムの状態
I
O
M
S
I:Input
O:Output
S:State
M:State Transit
Program
M1:Output Setup
M2:State Setup
Fig.6.35a Blackbox Program having State Transit
2009
Fig.6.35b Program Subdivide
88
状態遷移プログラムの状態
I
O
M
S
I
M1
I:Input
O:Output
S:State
M:State Transit
Program
M1:Output Setup
M2:State Setup
Fig.6.35a Blackbox Program having State Transit
2009
O
M2
S
Fig.6.35b Program Subdivide
89
State in State-transition
Program
I
O
M
S
I
M1
I:Input
O:Output
S:State
M:State Transit
Program
M1:Output Setup
M2:State Setup
Fig.6.35a Blackbox Program having State Transit
2009
O
M2
S
Fig.6.35b Program Subdivide
90
状態遷移プログラムを分解
Decompose
I
I:入力
M1
M1:状態設定
S
o
M2:出力設定
S:状態変数
Si:入力変数複数
I
M2
O:出力
O
Si
Fig.6.36 Decompose M to M1 and M2
2009
91
Decompose State Transition
Program
I
I:Input
M1
S
M1:State Setup
M2:Output Setup
S:State
Si:Input States
I
M2
O:output
O
Si
Fig.6.36 Decompose M to M1 and M2
2009
92
状態遷移プログラムのデバッ
グの仕組み
I
O
M2
M1
Si
2009
Debugger
S
Fig.6.37 Test Environment for State Transit Program
So
93
How to test State Transit
Program
I
O
M2
M1
Si
2009
Debugger
S
Fig.6.37 Test Environment for State Transit Program
So
94
“テスト設計”先行で設計と
実装を制約
Traditional
A
Test Phases
GD
DD
DT
TR
DT:テスト設計
TR:テストラン
VOD
A
A:分析
DT
GD
DD
TR
GD:概要設計
DD:詳細設計
Fig 6.38 VOD Lifecycle vs.Traditional
2009
95
"Test Design" constraints
Design and Implementation
Traditional
A
Test Phases
GD
DD
DT
TR
DT:Design for Test
TR:Test Run
VOD
A
A:Analysis
DT
GD
DD
TR
G/DD:Gross/
Detail design
Fig 6.38 VOD Lifecycle vs.Traditional
2009
96
VODでの設計制約の仕方
Decision Table
モジュール
Control
Decision
Causes
Data
Active
Process
Effects
Process
Passive
Control
External Data/
Internal Data
2009
Processed
Process
Fig 6.40 Data and Module Structure in VOD
97
制約のポイント
 モジュールをアクティブとパッシブに
峻別し、前者をマーク
 データを制御向けと処理向けに峻別
し、前者をマーク
2009
98
Design Constraints in VOD
Decision Table
Modules
Control
Decision
Causes
Data
Active
Process
Effects
Process
Passive
Control
External Data/
Internal Data
2009
Processed
Process
Fig 6.40 Data and Module Structure in VOD
99
Who will be Competitive?
TQC will no longer be enough.
 VOD is a promising technology for
software houses to keep striving
through good quality, because VOD
enables us to avoid as much defects
that will always cause failures.
 VOD plus Product Architect makes
software happen.

2009
100
レポート回答結果

7通り、根拠不正:松井、山田
6通り、根拠論理性有るが場合2つ見逃しと数え方誤り:△田中宏
異常の場合の挙げ方が不完全(ENDの場合見逃し):▽小田
根拠不正解:藤本
、TD無回答:梅野:
5通り、根拠不正:菅原
4通り、根拠正解だが、場合の数え方誤り:◎麻生、◎安東、◎田中賢
根拠論理性有るが場合1つ見逃し:○中村,○坂原,○古田,○廣松
C,E部分回答:白川
Cだけ:林田、廣松、中園
C/根拠不正:廣田、野見山、倉本
3通り、根拠論理性有るがENDと不正パラメタの場合を見逃し:○西丸
根拠不正:下田、緒方
2通り、根拠不正:宮川、松下
回答誤りか未了:梶山、川添、貫

未提出:吉村(晴剛、奨太)、伊東、弓崎、増永、豊住、淵脇














2009
101
070630演習の結果
 田中宏宗:分岐数は正解
 貫大路:ごく部分的
2009
102