「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
テスト自動化がなかなか上手く行かないので考察した結果をメモ
詳細 †
以下のように、分類してベターユースを考察。
分類 †
以下の分類がある。
単体テスト:B層以下のテスト自動化 †
メソッド・インターフェイスから、
単体テスト用CLのように直交表を用いてデータ・パターンをテスト自動化する。
単体テスト:P層以下のテスト自動化 †
UIから、
単体テスト用CLのように直交表を用いてデータ・パターンをテスト自動化する。
結合テスト:シナリオ・レベルのテスト自動化 †
UIオートメーションのツール、もしくは負荷テスト・ツールを使用して行う、
複数画面に渡った、シナリオ・レベルをテスト自動化する。
考察 †
前述の分類毎に、ベターユースの考察結果をメモしておく。
単体テスト:B層以下のテスト自動化 †
単体テスト:P層以下のテスト自動化 †
結合テスト:シナリオ・レベルのテスト自動化 †
- しかし、以下の目的は、其々、分けたほうが良いかもしれない。
- 通常の、手動の結合テスト
- 自動化ツールを使用した自動の結合テスト
- どちらかと言えば、リグレッション・テスト的。
- ただし、SIではペイするプランを立案し難い。
TDDやCIとは別物と考える。 †
TDDやCIは、単体テストや、結合テストとは少々違うと考える。
- CIについては、
CIの考察に書いたように、
- SIのテスト工程に、そのままハマらないので、注意
- そもそも、≒テスト技法ではなく、品質改善や納期短縮のプラクティスという話もある。
要約 †
以下の違いを認識する。 †
其々、テストの目的が異なるので最適な手段も異なる。
- SIのテスト工程(単体テスト、結合テスト)
- レグレッション・テスト
- CIのプラクティス
SIには適合し難い。 †
- パッケージと言えども、SIテンプレート系の
パッケージでは、≒ SIになるので適合し難い。
テスト自動化と親和性が高いケース †
SIのUP開発ではなく、
- 製品開発
- OSSのAS IS的なライセンス
- アジャイル的なプロセス
と親和性が高いものと考える。
従って、
- OSSのAS IS的なライセンス
- 若しくはWebサービスの開発
などの、
バックログ消化型 & チーム開発で、
デグレード等の早期検出という用途に最も適合しているものと考える。
これはコードの進化のスピードに大きな影響を与えるため、
OSS、Webサービス隆盛の要因の一つにもになっているものと考える。
参考 †
TDD(テスト駆動開発) †
CI(継続的インテグレーション) †
Tags: :テスト, :ツール類