「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>開発環境]] *目次 [#e3ddf567] #contents *概要 [#je5cf4f7] 一口に「テスト・ツール」と言っても~ 色々あるので、テスト・ツール類の歴史を書いた。 *詳細 [#b1226756] **ツールの区分 [#ubb742e5] ***デバッグ系 [#qcb916f1] -[[WinDbg>https://techinfoofmicrosofttech.osscons.jp/index.php?WinDbg]]などのローレベルのデバッガ。~ 本番環境で、障害を起こした場合の分析などに利用される。 -[[統合開発環境 (IDE)]]に同梱されたデバッガ。~ --ビルド~デバッグが自動化されている。 --デバッグは、 --IDEでのデバッグは、 ---デバッガを注入(アタッチ)し、 ---コーディング中のコードの~ ステップ実行などが可能になっている。 ***運用系 [#m809e756] [[デバッグ系>#qcb916f1]]の延長上のモノを含む。 -[[障害対応に使用するツールの一覧>https://techinfoofmicrosofttech.osscons.jp/index.php?%E9%9A%9C%E5%AE%B3%E5%AF%BE%E5%BF%9C%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E4%B8%80%E8%A6%A7]] -[[ダンプ取得に使用するツールの一覧>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%80%E3%83%B3%E3%83%97%E5%8F%96%E5%BE%97%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E4%B8%80%E8%A6%A7]] ***開発系 [#e43fb4cb] -[[デバッグ系>#qcb916f1]]の効率向上ツール~ DevPartnerなど。 -カバレッジやコードレビュー機能~ DevPartnerやJtestなど。 -SI系のテスト作業支援系の内製ツール --ステップ・カウンタやカバレッジ等のツール --EXCELスクショ系~ エビデンスのスクショをEXCELに貼る作業の支援 --チェックリストの作成ツール~ マトリックス型のチェックリストを作成ツール ***自動化系 [#ce4f888b] -JUnit / NUnitが基礎になっている。 -[[テスティング・フレームワーク>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%86%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%BB%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF]]~ JUnit / NUnitの延長上のタスク実行ツール群 -失敗PJ~ 自動化系は失敗PJがカナリ多かった認識。 --[[TDD(テスト駆動開発)>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%86%E3%82%B9%E3%83%88%E8%87%AA%E5%8B%95%E5%8C%96#x3780c2d]]~ テストファーストなプログラムの開発手法。 --テストケースの自動生成と自動実行など。 ---2005年頃、[[Agitator>https://www.google.com/search?q=%E3%83%86%E3%82%B9%E3%83%88+Agitator]]なるツールが登場。 ---[[TestMe、Squaretest、EvoSuite、Randoop>https://qiita.com/policeman-kh/items/00b4f3b524d7f227a7da]]が後継に相当か。 --GUIテスト自動化 ---内製ツール類(ペイラインに乗らず、Selenium化) ---GUIテスト自動化ツールのSI開発への適用([[参考>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%86%E3%82%B9%E3%83%88%E8%87%AA%E5%8B%95%E5%8C%96]]) ***[[CI/CD>https://techinfoofmicrosofttech.osscons.jp/index.php?CI%2FCD]]系 [#gde04eea] ビルドとデリバリ(デプロイ)の自動化中に[[自動化系>#ce4f888b]]を差し込む。 -[[Jenkins>https://techinfoofmicrosofttech.osscons.jp/index.php?Jenkins]] -[[Github - CI / CD関連]] ***[[DevOps>https://techinfoofmicrosofttech.osscons.jp/index.php?DevOps]]系 [#z7e177d6] [[CI/CD系>#gde04eea]]より広範囲なツールチェーン(リンク先を参照 ***[[バグ・トラッカー系>高度午前 - 開発技術 - ソフトウェア開発管理技術#w84746cf]] [#ve4eb18c] 昔から内製品が存在し、昨今は[[OSS]]で多様なモノが存在する。 **歴史的経緯 [#o7893fac] ***初期 [#lefd68b7] -[[デバッグ系>#qcb916f1]]、[[運用系>#m809e756]]は初期から有り、 -[[開発系>#e43fb4cb]]では、 --徐々に[[プロプラ>OSS#p018411e]]のツール群が増えていった。 --また、並行して、SIerの自助努力も見られた。 ***自動化期 [#j99a43c3] -[[OSS]]のJUnit / NUnitを皮切りに、[[テスティング・フレームワーク>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%86%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%BB%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF]]が増えていた。 -以降のツールは、[[OSS]]が主流になり、[[プロプラ>OSS#p018411e]]は、徐々に市場から姿を消していった。 -[[自動化系>#ce4f888b]]は、失敗PJが多く、SI開発への適用では、更に不適合が多かった。 ***CI/CD期 [#o4fd54ff] [[CI/CD系>#gde04eea]]は、 -[[Github - CI / CD関連]]等が参考になる。 -[[Jenkins>https://techinfoofmicrosofttech.osscons.jp/index.php?Jenkins]]が走りで、後に、[[GitHub]]クローンに同梱されて行った。 -元々、サービス文化で、従来型のSIには適合し難い部分も多い。 ***DevOps期 [#idd2fbfd] [[DevOps系>#z7e177d6]]は、 -[[CI/CD>#o4fd54ff]]を双方向にしたもの。 --Dev → Ops ([[CI/CD>https://techinfoofmicrosofttech.osscons.jp/index.php?CI%2FCD]] --Dev ⇔ Ops ([[DevOps>https://techinfoofmicrosofttech.osscons.jp/index.php?DevOps]] -同様に、サービス文化で、従来型のSIには適合し難い部分も多い。 **SIの今後 [#sd2ab3aa] ***内製品はペイラインに乗らない。 [#n177f6d1] -ニッチ系ツールも浸透していない状況。 -浸透していないと言う事は、~ 基本的には、効果がコスパに合わないモノと考える。 -ステップ・カウンタやカバレッジ以外はdisconに。 ***サービス文化に寄せていく。 [#hd315428] -従来型のSIには適合し難い部分も多いが、~ サービス文化に寄せていくことになると思われる。 -一先ず、スクリプト+[[テスティング・フレームワーク>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%86%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%BB%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF]]~ のレベルでもイイので、自動化できるとから自動化して行くのが良さそう。 -出来る or 適合するプロジェクトがその先に進めば良い。 *参考 [#n98326a0] ...