1. HOME
  2. サービス・料金
  3. 集合トレーニング
  4. テスト駆動によるリファクタリング実践トレーニング

テスト駆動によるリファクタリング実践トレーニング

トレーニングの着地

問題の発見と評価は客観的な解析方法を用いる

経年劣化を防ぐものなので、抜本的な原因分析は行わずに、解決策の立案を行う

コード変更の前後で振舞いが変わっていないことを保証する

日常的な活動として「リファクタリング」を実施できるよう効率化する

トレーニング内容

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

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

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

サービスや料金について
詳しく知りたい方はこちら

基本情報

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

テスト駆動開発を実施

~自動テストフレームワーク"Gooqle Test"~

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

継続的インテグレーションを体験

~CIフレームワーク"Jenkins"~

~自動テストフレームワーク"Gooqle Test"~

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

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

サービスや料金について
詳しく知りたい方はこちら

お客様の声

2018年9月

リファクタリングと単体テストの関係性が良く分かりました。

 

役立ち度

2018年9月

今まで手動でテストしていた部分の時間が短くできそうです。

 

役立ち度

2018年9月

リファクタリングに対する基本姿勢、考え方をおさらいできた。

 

役立ち度

2018年10月

改造案件が多いので、体系だった手法があるのはとても助かる。

 

役立ち度

2018年9月

どの観点から修正すべきなのか、演習を通して理解することが出来た。

 

役立ち度

集合トレーニング

USDM入門/実践トレーニ.. システムアーキテクチャ設.. MATLAB/SimulinkによるMB.. XDDP入門/実践トレーニン.. テスト駆動によるリファク..モデリングスキル強化トレ.. 思考整理トレーニング モデリキ基礎トレーニング モデリキ応用トレーニングSPLトレーニング