章 | 節 | 読 |
1 | 0. 本コース受講の準備 |
|
|
|
2 | 1. 本コースを受講する前に |
|
|
|
3 | 2. 品質保証プロセス |
|
|
|
|
| 1 | 2.1. ソフトウェア開発の流れ |
|
|
| 2 | 2.2. 品質保証プロセスの必要性 |
|
|
| 3 | 2.3. 品質保証VS.コスト |
|
|
| 4 | 2.4. V字モデルにおける品質保証プロセス |
|
|
| 5 | 2.5. ソフトウェアの欠陥が発生したら |
|
|
| 6 | 試験「■章末問題■01 第2章」の実施 |
|
4 | 3. ユニットテストの目的 |
|
|
|
|
| 1 | 3.1. 欠陥の種類 |
|
|
| 2 | 3.2. ユニットテストで検出可能な欠陥 |
|
|
| 3 | 3.3. ソースコードレビューとユニットテスト |
|
|
| 4 | 3.4. ソースコードレビューで見過ごしやすい欠陥 |
|
|
| 5 | 3.5. ユニットテストの必要性 |
|
|
| 6 | 3.6. テストの有効活用 |
|
|
| 7 | 3.7. ユニットテスト工程の流れ |
|
|
| 8 | 試験「■章末問題■02 第3章」の実施 |
|
5 | 4. ユニットテストポリシー |
|
|
|
|
| 1 | 4.1. ブラックボックステスト |
|
|
| 2 | 4.2. ホワイトボックステスト |
|
|
| 3 | 4.3. テストのアプローチ |
|
|
| 4 | 4.4. データ・カバレッジ |
|
|
| 5 | 4.5. 同値分割 |
|
|
| 6 | 4.6. 境界値分析 |
|
|
| 7 | 4.7. コード・カバレッジ |
|
|
| 8 | 4.8. ステートメントカバレッジ (命令網羅) |
|
|
| 9 | 4.9. ブランチカバレッジ (分岐網羅) |
|
|
| 10 | 4.10. MC/DC (複合条件網羅) |
|
|
| 11 | 4.11. MCC (複数条件網羅) |
|
|
| 12 | 4.12. コード・カバレッジ まとめ |
|
|
| 13 | 4.13. ロバスト性を考慮したデータ抽出 |
|
|
| 14 | 4.14. 暗黙のキャスト |
|
|
| 15 | 4.15. オーバーフロー |
|
|
| 16 | 4.16. アンダーフロー |
|
|
| 17 | 4.17. ゼロ割 |
|
|
| 18 | 4.18. 不正アドレスへのアクセス |
|
|
| 19 | 4.19. メモリアライメント違反 |
|
|
| 20 | 4.20. メモリ破壊 |
|
|
| 21 | 4.21. 欠陥の検出漏れを防ぐテスト観点 |
|
|
| 22 | 試験「■章末問題■03 第4章」の実施 |
|
6 | 5. ユニットテスト設計 |
|
|
|
|
| 1 | 5.1. 入力要素分析とは |
|
|
| 2 | 5.2. 関数へのインプット |
|
|
| 3 | 5.3. 入力要素分析の作業手順 |
|
|
| 4 | 5.4. 詳細設計からの入力要素洗い出し |
|
|
| 5 | 5.5. ソースコードからの入力要素洗い出し |
|
|
| 6 | 5.6. 入力値決定観点 |
|
|
| 7 | 5.7. 詳細設計からの入力値決定 |
|
|
| 8 | 5.8. ソースコードからの入力値決定観点 |
|
|
| 9 | 5.8.1 等値演算子、比較演算子を用いた定数との比較 |
|
|
| 10 | 5.8.2 比較演算子を用いた定数との比較(境界点が2点) |
|
|
| 11 | 5.8.3 比較演算子を用いた変数との比較 |
|
|
| 12 | 5.8.4 switch分岐、グローバル変数、暗黙のキャスト |
|
|
| 13 | 5.8.5 演算、オーバーフロー、アンダーフロー |
|
|
| 14 | 5.8.6 ゼロ割 |
|
|
| 15 | 5.8.7 forループ、関数の複数呼び出し |
|
|
| 16 | 5.8.8 構造体、ポインタ、メモリ破壊 |
|
|
| 17 | 5.8.9 配列 |
|
|
| 18 | 5.9. ソースコードからの入力値決定 |
|
|
| 19 | 5.10. 入力値を抽出する際の注意点 |
|
|
| 20 | 5.11. 出力要素分析とは |
|
|
| 21 | 5.12. 関数からのアウトプット |
|
|
| 22 | 5.13. 出力要素分析の作業手順 |
|
|
| 23 | 5.14. 詳細設計からの出力要素洗い出し |
|
|
| 24 | 5.15. ソースコードからの出力要素洗い出し |
|
|
| 25 | 5.16. 出力値決定観点 |
|
|
| 26 | 5.17. 詳細設計からの出力値決定 |
|
|
| 27 | 5.18. ソースコードからの出力値決定 |
|
|
| 28 | 5.19. テストケースの洗い出し観点 |
|
|
| 29 | 5.20. テストケースの洗い出し |
|
|
| 30 | 5.21. 危険コードの見直し |
|
|
| 31 | 5.22. 確認内容の設定 |
|
|
| 32 | 5.23. ユニットテスト項目設計中に欠陥を検出した場合 |
|
|
| 33 | 試験「■章末問題■04 第5章」の実施 |
|
7 | 6. 改造開発におけるユニットテスト設計 |
|
|
|
|
| 1 | 6.1. 改造開発における作業の流れ |
|
|
| 2 | 6.2. 既存関数を修正した場合のユニットテスト実施範囲 |
|
|
| 3 | 6.3. 既存関数を修正した場合のユニットテスト設計例 |
|
|
| 4 | 6.4. 改造関数の上位関数について |
|
|
| 5 | 6.5. 改造開発におけるユニットテスト項目設計まとめ |
|
|
| 6 | 試験「■章末問題■05 第6章」の実施 |
|
8 | 7. ユニットテスト項目を少なくするコーディング方法 |
|
|
|
|
| 1 | 7.1. ユニットテスト項目を少なくする必要性 |
|
|
| 2 | 7.2. ユニットテスト項目設計時に意識するポイント |
|
|
| 3 | 7.3. ユニットテスト項目を少なくするコーディング方法チェックポイント |
|
|
| 4 | 7.3.1. ループ中に分岐を多発させない |
|
|
| 5 | 7.3.2. 関数内で同一関数を複数回呼び出さない |
|
|
| 6 | 7.3.3. 関数の引数を多くし過ぎない |
|
|
| 7 | 7.3.4. 関数引数に指定する値の数値範囲を明確にする |
|
|
| 8 | 7.3.5. 依存関係がない処理を同一関数に複数実装しない |
|
|
| 9 | 7.3.6. 関数の改造を行う場合、改造ステップ数を最小限にする |
|
|
| 10 | 7.3.7. [参考]関数ポインタの活用 |
|
|
| 11 | 試験「■章末問題■06 第7章」の実施 |
|
|
| 12 | 試験「◆中間試験◆」の実施 |
|
9 | 8. ユニットテスト実施 |
|
|
|
|
| 1 | 8.1. デバッガを使用したユニットテスト |
|
|
| 2 | 8.2. デバッグ文を使用したユニットテスト |
|
|
| 3 | 8.3. スタブ・ドライバを使用したユニットテスト |
|
|
| 4 | 8.4. ユニットテスト実施方法のまとめ |
|
|
| 5 | 試験「■章末問題■07 第8章」の実施 |
|
10 | 9. スタブ・ドライバ作成 |
|
|
|
|
| 1 | 9.1. スタブを作成するポイント |
|
|
| 2 | 9.2. スタブの例1 |
|
|
| 3 | 9.3. スタブの例2 |
|
|
| 4 | 9.4. ドライバを作成するポイント |
|
|
| 5 | 9.5. ドライバの例 |
|
|
| 6 | 9.6. スタブ・ドライバ設計の注意点 |
|
|
| 7 | 9.7. スタブ・ドライバの作成例1 |
|
|
| 8 | 9.8. スタブ・ドライバの作成例2 |
|
|
| 9 | 試験「■章末問題■08 第9章」の実施 |
|
11 | 10. 欠陥修正 |
|
|
|
|
| 1 | 10.1. 欠陥を検出した場合の流れ |
|
|
| 2 | 10.2. 欠陥情報の記録 |
|
|
| 3 | 10.3. 欠陥原因特定 |
|
|
| 4 | 10.4. 欠陥分析 |
|
|
| 5 | 10.5. 類似欠陥調査 |
|
|
| 6 | 10.6. 欠陥修正 |
|
|
| 7 | 10.7. 欠陥修正レビュー |
|
|
| 8 | 10.8. 再テスト |
|
|
| 9 | 10.9. ユニットテスト設計時の欠陥修正 |
|
|
| 10 | 試験「■章末問題■9 第10章」の実施 |
|
12 | 11. 付録 |
|
|
|
|
| 1 | 11.1. 用語解説 |
|