Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

クラス・メソッド単位テスト方式

疑問

予算に余裕の無い産業系案件の単体テストでは、イベント単位テストが慣例であるが、
予算が潤沢な金融系の案件では、クラス・メソッド単位テストが慣例となっている。

これを真に受けると、

クラス・メソッド単位テスト方式の方が品質が出る様に見える。

しかし、実際は逆に問題の方が多いと考えている。

これに合致する、事例をサンプリングする。

オール・アップ方式

アポロ計画を成功させたオール・アップ方式をサンプリングして説明する。

ステップ・バイ・ステップ方式

ロケット機体を一段ずつ開発し、
上の方はダミーを使って組み立て・発射テストを繰り返すというステップ・アップ方式

オール・アップ方式

すべての段をしっかりした検証をしながら製作して
ダミーを使わず一気に全体を試験するというオール・アップ方式

結果

アポロ計画では、

工期の短縮に成功する。

また、それだけではなく、

部品1つ1つの信頼性を高めることにも成功している(理由は以下)。

参考

カバレージの観点

オール・アップ方式の利点は、

説明可能である。

以下、これを説明する。

カバレージ率(コード網羅率)

フレーワーク品質保証の例

当該システムで実行され得る

データパターンを考慮したテストが必要な機能を除いて
フレームワーク単独の単体テストを行わなくてもほぼ問題が出ない。

(と、前述のオール・アップ方式と同じ結論になる)

イベント・ドリブン・プログラミングの例

また、イベント・ドリブン・プログラミングの
プログラミング・パラダイム上で動作するカスタムコントロールなどは、

カバレージの指標だけでは十分ではなく、
システムによって(ユーザ、ユーザ・プログラムが側から)
十分に叩かれる必要がある。

(こちらも、前述のオール・アップ方式と同じ結論になる)

結論

コスト的に有利である。

これにより、

工数・工期を品質作り込みに利用し、品質の向上を図ることができるものと考える。

従って、検査(バグ抽出)は


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS