「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>テスト]] * 目次 [#g6d669c5] #contents *概要 [#n15d28ac] テスト自動化がなかなか上手く行かないので考察した結果をメモ *詳細 [#qb315a39] 以下のように、[[分類>#v1c0985d]]してベターユースを[[考察>#e9b323bb]]。 **分類 [#v1c0985d] 以下の分類がある。 ***単体テスト:B層以下のテスト自動化 [#ca4fa9f7] メソッド・インターフェイスから、~ 単体テスト用CLのように直交表を用いてデータ・パターンをテスト自動化する。 ***単体テスト:P層以下のテスト自動化 [#e2bf382d] UIから、~ 単体テスト用CLのように直交表を用いてデータ・パターンをテスト自動化する。 ***結合テスト:シナリオ・レベルのテスト自動化 [#oc9dcbf1] [[UIオートメーション]]のツール、もしくは[[負荷テスト・ツール>負荷テストのポイント]]を使用して行う、~ 複数画面に渡った、シナリオ・レベルをテスト自動化する。 **考察 [#e9b323bb] 前述の[[分類>#v1c0985d]]毎に、ベターユースの考察結果をメモしておく。 ***単体テスト:B層以下のテスト自動化 [#a2e572e2] -これは、[[CI]]の[[CIツール>CI#dace51d6]]内で使われている、~ [[NUnit + FxCop + OpenCover + ReportGenerator>Jenkins]]~ などを使用してテスト自動化できる。 -また、[[CI]]の項に書いたように、[[コンテナ技術]]と組み合わせるとイイと考える。 ***単体テスト:P層以下のテスト自動化 [#ce4f705b] -データ投入の自動化等を検討すると良いと考える。 -同様に、[[CI]]の項に書いたように、[[コンテナ技術]]と組み合わせるとイイと考える。 -UIからのテストだが、シナリオではなく、データ・パターンをテストするため、~ [[UIオートメーション]]のツール、もしくは[[負荷テスト・ツール>負荷テストのポイント]]を使用してはダメ。 ***結合テスト:シナリオ・レベルのテスト自動化 [#s1893030] -[[UIオートメーション]]のツール、もしくは[[負荷テスト・ツール>負荷テストのポイント]]を使用して行う。 -しかし、以下の目的は、其々、分けたほうが良いかもしれない。 --通常の、手動の結合テスト --自動化ツールを使用した自動の結合テスト ---どちらかと言えば、リグレッション・テスト的。 ---ただし、SIではペイするプランを立案し難い。 ***TDDや[[CI]]とは別物と考える。 [#kaa6b591] TDDや[[CI]]は、単体テストや、結合テストとは少々違うと考える。 -TDDについては、~ [[TDD(テスト駆動型開発)は幻想>#x3780c2d]]らしいので、コチラも注意。 -[[CI]]については、~ [[CIの考察>CI#m6de4984]]に書いたように、 --SIのテスト工程に、そのままハマらないので、注意 --そもそも、≒テスト技法ではなく、品質改善や納期短縮のプラクティスという話もある。 *要約 [#na9c524c] **以下の違いを認識する。 [#ca6a0ff7] 其々、テストの目的が異なるので最適な手段も異なる。 +SIのテスト工程(単体テスト、結合テスト) +レグレッション・テスト +CIのプラクティス **SIには適合し難い。 [#c3b37863] -SIでは、上記の 2., 3. は適合し難い。 -パッケージと言えども、SIテンプレート系の~ パッケージでは、≒ SIになるので適合し難い。 **テスト自動化と親和性が高いケース [#g1fa92c5] SIのUP開発ではなく、 -製品開発 -OSSのAS IS的なライセンス -アジャイル的なプロセス と親和性が高いものと考える。 従って、 -OSSのAS IS的なライセンス -若しくはWebサービスの開発 などの、 バックログ消化型 & チーム開発で、 デグレード等の早期検出という用途に最も適合しているものと考える。 これはコードの進化のスピードに大きな影響を与えるため、~ OSS、Webサービス隆盛の要因の一つにもになっているものと考える。 *参考 [#vf56d515] **TDD(テスト駆動開発) [#x3780c2d] -TDDを真面目にやってみて気付いたこと - Masatomo Nakano Blog~ http://blog.madoro.org/mn/70 -TDDという名の幻想...~ https://qiita.com/asip2k25/items/a580417c8aeedd248094 -テスト駆動開発 - Wikipedia~ https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA **[[CI]](継続的インテグレーション) [#x27f1ffd] **[[テスティング・フレームワーク]] [#a7fef269] **[[テスト自動化について - Open 棟梁 Wiki>https://opentouryo.osscons.jp/index.php?%E3%83%86%E3%82%B9%E3%83%88%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6]] [#sdf29dd3] ---- Tags: [[:テスト]], [[:ツール類]]