-
Notifications
You must be signed in to change notification settings - Fork 0
MS_UnitAndIntegrationTestMethods
nishi_74322014 edited this page Aug 3, 2026
·
1 revision
-
TOP > テスト
- 単体・結合テスト方式
- 使用APIの一覧、関数コールグラフ、単体テストのエビデンス
-
予算に余裕の無い案件の単体テストでは、イベント単位テストが慣例であるが、
予算が潤沢な案件では、クラス・メソッド単位テストが慣例となっている。 -
これを真に受けると、
クラス・メソッド単位テスト方式の方が品質が出る様に見える。
しかし、品質要件や、予算に適合する方式を採用すべきと考える。
- 一般的だった、ステップ・バイ・ステップ方式と
- アポロ計画を成功させたオール・アップ方式を
サンプリングして説明する。
- ロケット機体を一段ずつ開発し、
- 上の方はダミーを使って組み立て
- 発射テストを繰り返す
というステップ・バイ・ステップ方式
- すべての段をしっかりした検証をしながら製作して
- ダミーを使わず一気に全体を試験する
というオール・アップ方式
-
アポロ計画では、
- すべての段をダミーを使用しつつ
順次検証していくステップ・バイ・ステップ方式から、 - 一気に全体を試験するというオール・アップ方式に切り替え、
工期の短縮に成功した。
- すべての段をダミーを使用しつつ
-
また、それだけではなく、
部品1つ1つの信頼性を高めることにも成功している(理由は以下)。-
ステップ・バイ・ステップ方式では、各ステップの準備の
余計な工数に忙殺され部品の品質作り込みが困難になる。 -
オール・アップ方式では、品質の作り込みに十分な時間を割くことができる。
これにより、部品1つ1つの99.999%の信頼性を実現した。
-
ステップ・バイ・ステップ方式では、各ステップの準備の
- ステップ・バイ・ステップ方式の作業重複は、
「設計書作成と作業形骸化」で説明した
以下の観点での工程圧迫とも関連している。- フォワードし過ぎ( ≒ 詳細設計書の書き過ぎ)による作業形骸化
- また、アポロ計画の事例では、
コミュニケーションの重要性が指摘されている。
オール・アップ方式の利点は、
説明可能である。
以下、これを説明する。
フレームワークのテスト(品質保証)は、
- システムとの一体のテストで、
- 当該システムで実行され得る
- カバレッジも網羅され、
- 問題の摘出&対策が可能であるので、
- データパターンを考慮したテストが必要な機能を除いて
フレームワーク単独の単体テストを行わなくてもほぼ問題が出ない。
(と、前述のオール・アップ方式と同じ結論になる)
- イベント・ドリブン・プログラミングの
プログラミング・パラダイム上で動作する
カスタム・コントロール(.NETコントロールのカスタマイズ方法:MS_DotNetControlCustomization.md)などは、 - カバレッジの指標だけでは十分ではなく、
- ユーザ、ユーザ・プログラム側から十分に叩かれる必要がある。
(こちらも、前述のオール・アップ方式と同じ結論になる)
-
品質作り込みでの対応は、
「テストによるバグ抽出での対応より」
コスト的に有利である。
-
これにより、
- クラス・メソッド単位テスト(ステップ・バイ・ステップ方式)より
- イベント単位テスト(オール・アップ方式)の方が
工数・工期を品質作り込みに利用し、品質の向上を図ることができるものと考える。
Tags: テスト, デバッグ, .NET開発
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。