[目次]
まえがき 13
0.1 保守におけるテストの現実 13
0.1.1 生産性と保守 13
0.1.2 品質とテスト 14
0.1.3 保守におけるテスト 14
0.2 本書の構成 14
0.2.1 第I部:はじめに 14
0.2.2 第II部:保守におけるテスト 14
0.2.3 第III部:統計的テスト管理 14
0.2.4 第IV部:プロジェクト管理・文書管理 15
0.2.5 第V部:おわりに 15
0.2.6 付録 15
第I部:はじめに
第1章 はじめに 19
1.1 ソフトウェア開発上の問題 19
1.1.1 保守の大変さ 19
1.1.2 テストにまつわる誤解 20
1.1.3 現場での苦労 21
1.2 現状 21
1.2.1 生産性 21
1.2.2 品質 23
1.3 本書の提案 25
1.3.1 保守におけるテスト 25
1.3.2 統計的テスト管理 25
1.3.3 プロジェクト管理・文書管理 26
1.4 まとめ 26
1.5 参考文献と学習の手引き 26
1.5.1 参考文献
1.5.2 学習の手引き
第II部:保守におけるテスト
第2章 保守におけるテスト 31
I テストとは何か 31
2.1 要件定義 32
2.1.1 「コメントを外すプログラム」の作成 32
2.1.2 機能要件 34
2.2 設計 34
2.2.1 状態遷移図による設計(図) 36
2.3 実現 36
2.3.1 プログラムの全体像 36
2.3.2 C言語によるプログラムの構造 39
2.3.3 “main”の中身 41
2.3.4 状態を調べる 42
2.3.4 状態が“TEXT”
の場合の処理 43
2.3.6 プログラムの限界 44
II テスト方法 45
2.4 ブラック・ボックス・テスト 45
2.4.1 ブラック・ボックス・テストにおける仕様 45
2.4.2 例におけるブラック・ボックス・テスト 47
2.4.3 ブラック・ボックス・テスト用入力文字列 48
2.5 ホワイト・ボックス・テスト 45
2.5.1 プログラムの構造 50
2.5.2 網羅率 50
2.6 テスト・ケース 54
2.6.1 空文 54
2.6.2 一文字だけのテスト 55
2.7 まとめ 57
2.7.1 要件定義 57
2.7.2 設計 58
2.7.3 実現 58
2.7.4 テスト 58
2.8 参考文献と学習の手引き 58
第3章 保守におけるテストの課題 59
3.1 何故、保守するのか 59
3.1.1 生産性 59
3.1.2 投資と見返り 59
3.1.3 開発者から見た生産性 60
3.1.4 再利用 60
3.2 保守上の課題とは何か 60
3.2.1 ブラック・ボックス・テストの問題点 61
3.2.2 ホワイト・ボックス・テストの問題点 63
3.3 技術以外の課題 63
3.3.1 開発要員の外注化 63
3.3.2 先進技術の適用 64
3.4 まとめ 65
3.4 参考文献と学習の手引き 65
第4章 保守工程 67
4.1 認識 67
4.1.1 要件定義文書・要件仕様書 67
4.1.2 設計文書・設計記述 69
4.1.3 プログラム、データベース、等 69
4.2 修正 70
4.2.1 プログラムやデータベース 70
4.2.2 文書 71
4.3 検証 71
4.3.1 単体テスト 71
4.3.2 統合テスト 72
4.3.3 受け入れテスト 72
4.3.4 システム・テスト 72
4.4 まとめ 72
4.4.1 認識 72
4.4.2 修正 72
4.4.3 検証 72
4.5 参考文献と学習の手引き 73
第III部 大規模ソフトウェア保守システムのエラー分布 77
5.1 超幾何分布 77
5.1.1 超幾何分布の例 76
5.1.2 超幾何分布の最尤推定値 80
5.2 二項分布 81
5.2.1 二項分布の解釈 82
5.2.2 超幾何分布の二項分布近似 82
5.3 ポワソン分布 82
5.4 正規分布 82
5.4.1 二項分布の正規分布近似 83
5.4.2 正規分布のαパーセント点 83
5.5 まとめ 84
5.6 参考文献と学習の手引き 84
第6章 どれだけテストしたらいいか──標本の大きさ 87
6.1 誤差 87
6.2 信頼区間 87
6.3 標本の大きさ 88
6.3.1 信頼区間:90% 88
6.3.2 信頼区間:95% 88
6.3.3 信頼区間:99% 89
6.4 68件のプログラムのテスト 89
6.5 まとめ 89
6.6 参考文献と学習の手引き 89
第7章 対象システムにおけるエラー数の推定 91
7.1 対象システム規模が大きくなるとどうなるか 92
7.2 テストする本数がたくさんになるとどうなるか 92
7.3 まとめ 93
7.4 参考文献と学習の手引き 95
第8章 エラー件数がわかってから 97
8.1 信頼度成長曲線の考え方 97
8.2 テスト努力 102
8.2.1 信頼度成長曲線におけるテスト努力 102
8.2.2 テスト努力としての網羅率 102
8.2.3 境界値 103
8.3 テスト終了判定 103
8.4 平均故障時間 104
8.4.1 信頼度成長曲線との関連 104
8.5 リトルの公式 104
8.5.1 リトルの公式の応用 105
8.6 まとめ 105
8.7 参考文献と学習の手引き 105
第9章 テスト・ケース管理
9.1 ミューテーション 108
9.1.1 進化とは何か 108
9.1.1 ミューテーションの考え方 109
9.1.3 ミューテーションの例
9.2 エラー・シーディング 113
9.2.1 エラー・シーディングの例 113
9.3 まとめ 116
9.4 参考文献と学習の手引き
第IV部 プロジェクト管理・文書管理
第10章 プロジェクト管理 121
10.1 COCOMO 121
10.1.1 規模・工数・期間・要員・生産性を表す記号 121
10.1.2 規模からの見積り 122
10.1.3 期間からの見積り 124
10.1.4 要員からの見積り 125
10.2 まとめ 126
10.3 参考文献と学習の手引き 126
第11章 文書管理 127
11.1 テスト計画 127
11.1.1 目的 127
11.1.2 アウトライン 127
11.1.3 例 132
11.2 テスト設計仕様 134
11.2.1 目的 134
11.2.2 アウトライン 134
11.2.3 例 135
11.3 テスト・ケース仕様 136
11.3.1 目的 136
11.3.2 アウトライン 136
11.3.3 例 137
11.4 テスト手続き仕様 137
11.4.1 目的 137
11.4.2 アウトライン 137
11.4.3 例 139
11.5 テスト項目伝達レポート 139
11.5.1 目的 139
11.5.2 アウトライン 139
11.5.3 例 140
11.6 テスト記録 140
11.6.1 目的 141
11.6.2 アウトライン 141
11.6.3 例 142
11.7 テスト事例レポート 142
11.7.1 目的 142
11.7.2 アウトライン 142
11.7.3 例 143
11.8 テスト要約レポート 143
11.8.1 目的 143
11.8.2 アウトライン 143
11.8.3 例 145
11.9 テスト文書のまとめ 145
11.10 まとめ 148
11.11 参考文献と学習の手引き 148
第V部 おわりに
第12章 おわりに 151
12.1 本書で提案したことの検討 151
12.1.1 まとめ 151
12.1.2 議論 151
12.2 新たな課題への対処 152
12.2.1 統計 152
12.2.2 ソフトウェア開発における統計 152
12.2.3 現場における統計 152
12.3 結論 153
あとがき 155
13.1 執筆経過 155
13.2 今までの著作と今後の執筆予定 155
13.3 社会情勢 156
付録A Microsoft EXCEL 157
A.1 標本数の決定 157
A.2 エラー数の推定 158
A.3 COCOMO 159
付録B Lotus 123
B.1 標本数の決定 161
B.2 エラー数の推定 162
B.3 COCOMO 163
関連図書 165
|