書評 テスト駆動開発による組み込みプログラミング

 2013/04/28

今月発売になった「テスト駆動開発による組み込みプログラミング C言語とオブジェクト指向で学ぶアジャイルな設計」を監訳者の蛸島さんより頂戴したのでご紹介します。

TDD

原著者は、ジェームズ・グレニング氏で、アジャイルマニフェストの創始者の一人で、主に組み込みの分野を得意としているアジャイルコーチです。 昨年のAgile 2012にてオージス総研さんが突撃インタビューした記事が以下に公開されていますので、こちらを読むとどんな方なのかよく分かると思います! http://www.ogis-ri.co.jp/otc/hiroba/specials/JamesGrenning/interview1/

本の方は、タイトルに「組み込み」とついていますが、組み込みじゃない方にも是非お勧めしたい内容になっています。 以下がこの本の目次ですが、純粋に組み込みに特化しているところは5章くらいです。 そして、個人的にいいなぁと思うのは、12章から14章までです。良くないコードの臭いを見つけて継続的に改善する、テストがないレガシーコードに対してどのようにしてテストを追加していくのかの戦略、テストのパターンとアンチパターンといった実践的な内容がまとめられています。TDDはRed、Green、リファクタリングのサイクルを回していくやり方ですが、実際のプロジェクトでやろうとするとなかなか大変です。そういう時のヒントになります。 そしてもちろんTDDはトレーニングによって習得可能なので、本書のサンプルコードを実際に自分の手で動かして見ながらスキルアップしていくのが良いと思います。

1章 テスト駆動開発

I部 TDDを始めよう
2章 テスト駆動ツールと約束事
3章 Cモジュールにとりかかる
4章 完了までの道のりを確かめる
5章 組み込みTDD戦略
6章 そうは言っても

II部     コラボレータのあるモジュールをテストする
7章 テストダブルの導入
8章 プロダクトコードをスパイする
9章 テストダブルの実行時バインディング
10章 モックオブジェクト

III部 設計と継続的改善
11章 SOLIDで柔軟でテストしやすい設計
12章リファクタリング
13章 レガシーコードにテストを追加する
14章 テストのパターンとアンチパターン
最後に

ちなみに、5/27〜28に日本で、ジェームズ・グレニング氏ご本人が講師をつとめる研修が行われるとのことです! 以下のような内容ということですので、是非参加してみると良いと思います。日本語版の監訳者の蛸島さんらによるサポート付きということで、実際の現場での悩みを相談したりも出来るのではないでしょうか。 詳しくはこちらをご参照ください。http://jp.agilergo.com/27

テスト駆動開発 (TDD)では、組込みソフトウェアを構築するための強力な手法です。このハンズオン研修では 困難な環境でのC/C++言語のテスト駆動開発の実践を学びます。 組込みソフトウェア開発者が直面するいくつかの課題 - 予測不可能なスケジュール、粗悪な品質とそれに繋がる問題をTDDによりどのように克服するかを学びます。さらに組込みソフトウェア開発者は、 ハードウェアとソフトウェアの同時開発の実態、希少なターゲットハードウェアの可用性、長いダウンロード時間、高い導入コスト、ならびに組込みコードをテストするための課題を解明しなければなりません。オブジェクト指向のアプローチを用いて、TDD使用により良いデザインを達成することができます。先見としてのテストはエンジニアをより良い設計に導きます。
このコースでは、TDD方式による問題の対処だけでなく、TDDを組込みソフトウェア開発に適用する場合に現れる新たな課題と利点を示します。このコースではテスト駆動型の手法だけでなく、特殊な設計アプローチを学びます。このアプローチによりあなたのコードをよりテスト化し、メンテナンスがかない長期の使用を可能にします。
 2013/04/28

著作

寄稿

Latest post: