テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー

現在の組込みソフトウェア開発の現場は、多くの製品バリエーションと短い周期でのバージョンアップに追われています。長期間、保守されてきたコードは、多くの人が追加修正し、今では「なぜこうなっているのか?」誰も説明できないものも数多くあります。今のコードを使い続けるべきか、一度捨てて再構築するのか...グローバルに競争が激化した今の経営環境では、再構築を選ぶ余地はなく、大規模あるいは小規模な「リファクタリング」を続けながら、少しずつコードを改善し、状況も改善していく...それが唯一残された道と言えます。
しかし、「リファクタリング」への一歩を踏み出すのは、容易なことではありません。その理由としては、次の3つがあげられます。

  • 開発に忙しく、時間が取れない
  • 「リファクタリング」するためのノウハウがない
  • 検証に不安がある

これらが解決されないまま「リファクタリング」をしてしまうと、「リファクタリング」が失敗に終わるだけでなく、プロジェクト自身にも大きなダメージを与えてしまいかねません。

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナーの目標

下記ポイントを理解し、下図の「リファクタリング」プロセスにのっとり、実践できるようにすることが、本トレーニングの目的です。

  • 問題の発見と評価は客観的な解析方法を用いる
  • 経年劣化を防ぐものなので、抜本的な 原因分析は行わずに、解決策の立案を行う
  • コード変更の前後で振舞いが変わっていないことを保証する
  • 日常的な活動として「リファクタリング」を実施できるよう効率化する

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー①問題の発見:問題の発見と評価は客観的な解析方法を用いる②解決策の立案:経年劣化を防ぐものなので、抜本的な 原因分析は行わずに、解決策の立案を行う③変更前のテスト:コード変更の前後で振舞いが変わっていないことを保証する④解決策の実施(コード変更):日常的な活動として「リファクタリング」を実施できるよう効率化する⑤変更後のテスト⑥結果の評価

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナーの基本情報

対象者 ・人のコードを引き継ぎ、「リファクタリング」の実践が必要な人
・現状のコードベースの開発を少しでも良くしていきたいと考えている人
・修正による副作用が心配で、「リファクタリング」に踏み切れない人
受講前提 C言語による開発経験
必要時間 1日間

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナーの進め方

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー【1日間】ソフトウェアの品質とは→「リファクタリング」の手順→『練習問題』関数内の保守性の問題発見と解決策の検討→『総合演習・リファクタリング演習』以下の環境を使って演習します。テスト自働化ツール:Google Test、CI(継続的インテグレーション)フレームワーク:Jenkins

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー|テスト駆動開発を実施します ~ 自動テストフレームワーク 「GoogleTest」~

「リファクタリング」は、Before/ Afterで振舞いを変えないことが鉄則です。それを保証するために、テスト駆動のプロセスを使います。
「リファクタリング」をする前に、「リファクタリング」対象範囲の振る舞いを確認するためのテストプログラムを作成し、実行したログを保存しておきます。そこで保存したログが、「リファクタリング」後に満たすべき振舞いの目標となります。
本トレーニングでは、自動テストフレームワークとして "GoogleTest"を使います。

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー|テスト駆動開発を実施します ~ 自動テストフレームワーク 「GoogleTest」~「リファクタリング」beforeのプログラム・「リファクタリング」afterのプログラム=テスト結果は同じ

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー|継続的インテグレーション(CI)を体験します ~ CI(継続的インテグレーション)フレームワーク「Jenkins」~

継続的インテグレーション(Continuous Integration = CI)とは、開発における品質と生産性の向上のために、ビルドからテストまでの一連の動作をシステムを使って自動化し、関係者で情報共有して早期に問題賭け欠をする、開発の習慣を指します。
テスト駆動開発による「リファクタリング」では、一連の作業をCI(継続的インテグレーション)により自動化することで、「リファクタリング」を効率的に実施することを狙いとしています。

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー|継続的インテグレーション(CI)を体験します ~ CI(継続的インテグレーション)フレームワーク「Jenkins」 ~【CI(継続的インテグレーション) System】単体テスト(Google Test、xUnit、C++Test、WinAMS)/回帰テスト(ユーザによる開発)/静的解析(QAC、Adlint、ccfinder)/プロジェクト管理(statsvn、redmine)/Build(コンパイラ+make)/CI(継続的インテグレーション) framework(Jenkins)/linux simulator(cygwin)

継続的インテグレーション(CI)を実現するためには、自動化ツールが不可欠です。上図で示しているのは、コードの構成管理も含めたシステムの例です。このよに、複数のツールを連携し、CIフレームワーク上にさまざまなツールを組み込むことで、CI(継続的インテグレーション)を実現します。
下図はJenkinsのダッシュボードの画面です。このように、品質の状況とトレンドをすぐに把握することができます。
本トレーニングでは、CIフレームワークとしてJenkinsを使用します。

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー|継続的インテグレーション(CI)を体験します ~ CI(継続的インテグレーション)フレームワーク「Jenkins」~ビルド結果の履歴・単体テスト結果の履歴・静的解析結果の履歴

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー受講者の声

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー【テスト駆動による「リファクタリング」実践トレーニング関連ソリューション】

【テスト駆動による「リファクタリング」実践トレーニング関連ソリューション】問題だらけの「レガシー開発」を救済する方法

【テスト駆動による「リファクタリング」実践トレーニング関連ソリューション】「リファクタリング」により効果的な「派生開発」の基礎固め

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナーなどサービスに関するお問い合わせ

テスト自動化ツール「Google Test」によるTDD(テスト駆動開発)とCI(継続的インテグレーション)フレームワークである「Jenkins」を使った演習を通じて、「組込みシステム」を安全に「リファクタリング」する方法やポイントを学ぶトレーニング・セミナー|pagetop

  • training of eXmotion menu | エクスモーションのおすすめする実践力をつけるトレーニング・セミナー
  • エクスモーションがオススメする実践力をつけるトレーニング・セミナー
  • 「USDM」を使った要求開発仕様書作成の演習を主とした実践トレーニング・セミナー研修
  • システムアーキ設計実践トレーニング・セミナー
  • MATLAB / SimulinkモデリングによるMBDモデルベース開発実践トレーニング・セミナー研修
  • XDDP入門/実践トレーニング・セミナー
  • テスト駆動によるリファクタリング実践 トレーニング・セミナー研修
  • テスト駆動によるリファクタリング実践トレーニング・セミナー研修【関連ソリューション】
  • 「レガシー」救済プロジェクト(リファクタリング)
  • 「レガシー資産」の改善(リファクタリング)
  • eXqutoを使った品質改善トレーニング・セミナー研修
  • 「モデリング」スキル強化トレーニング・セミナー
  • 思考整理トレーニング・セミナー
  • モデリキ基礎トレーニング・セミナー
  • モデリキ応用トレーニング・セミナー
  • モデル実装トレーニング・セミナー
  • SPLトレーニング・セミナー
  • トレーニング導入事例
  • 【よくある質問】トレーニング