4/22(日)Test Driven Development for Embedded C読書会第3回 (第5〜6章)

Test Driven Development for Embedded C読書会の第3回の開催記録です。この日は第5〜6章をやりました。 第5章「Embedded TDD Strategy」では、組み込みソフトウェア開発にTDDを適用する上で重要なDual Targeting Test(ターゲットとPCの両方でテストする)というテクニックを学びました。 第6章の内容は、プロジェクトにTDDを導入する際にありがちな反対理由への回答。プロジェクトに適用する際の障壁などについて議論がありました。 続きを読む
1
CAD @yukikado

mrubyが公開された件について。mindstormでギリギリ動いた。armで128kだとギリギリ載るらしい。 #tdd4ec

2012-04-22 13:33:21
CAD @yukikado

【宣伝】Androidテスト祭り…4/28 / WACATE…6月末 #tdd4ec

2012-04-22 13:35:09
CAD @yukikado

組み込み系のデバッグはハードウェアとソフトウェアの切り分けが難しいので、デバッグに大量の時間を費やすしてしまう。(結局信号の問題というオチ) #tdd4ec

2012-04-22 13:43:06
CAD @yukikado

形式手法はまだまだ。なかなか実装に落とし込めない #tdd4ec

2012-04-22 13:50:56
CAD @yukikado

UMLは失敗作だった (via 『言語設計者たちが考えること』 http://t.co/0iBefkGs#tdd4ec

2012-04-22 13:56:10
CAD @yukikado

PC環境なら、valgrind, profil, gcov等のツールを利用できる。 #tdd4ec

2012-04-22 14:09:02
Harlequin Shrimp @EspernaShrimp

#tdd4ec 評価ボードでCIできるといいかも。火事とか大丈夫かな?

2012-04-22 14:12:52
CAD @yukikado

評価基板のCI/自動テスト…できなくはない。ただ、火事の問題がある #tdd4ec

2012-04-22 14:13:30
Harlequin Shrimp @EspernaShrimp

#tdd4ec 勉強会のときの参加者のツイートを自動集計して議事録にできるツールあるといいかも。

2012-04-22 14:16:43
Yohei @legoboku

#tdd4ec ターゲットでの実行もCIに組み込むとか。

2012-04-22 14:17:51
Yohei @legoboku

#tdd4ec デュアルターゲットテストの障害。ランタイムライブラリにバグある。

2012-04-22 14:20:48
CAD @yukikado

CIやる/CIに組み込むとなると、組織的に開発プロセスを変更する必要があるので、そこが一番問題になりそう #tdd4ec

2012-04-22 14:21:14
Yohei @legoboku

#tdd4ec ヘッダファイルがプラットフォームによって異なる。条件付コンパイルを使いすぎるとコードがコンパイルできるか分かりづらくなる。

2012-04-22 14:22:15
Yohei @legoboku

#tdd4ec プラットフォーム非依存コードはまとめて、使いたいほうだけリンクさせる。

2012-04-22 14:23:08
CAD @yukikado

プラットフォームごとに、実装を切り替えましょう(インターフェイス記述したヘッダファイルは共通で) #tdd4ec

2012-04-22 14:23:18
Harlequin Shrimp @EspernaShrimp

#tdd4ec 条件付コンパイルよりもプラットフォームごとにヘッダファイル作成すべき

2012-04-22 14:23:21
Harlequin Shrimp @EspernaShrimp

#tdd4ec 条件付コンパイルよりもプラットフォームごとにヘッダファイル作成すべき。Adopterパターン使える。ラッパーか。

2012-04-22 14:24:25
goyoki @goyoki

プリプロセッサによる条件分けコンパイルは駄目。ビルドチェックが難しくなる。プラットフォーム依存のコードを分離して、コンパイラ・リンカの設定で切り分ける #tdd4ec

2012-04-22 14:25:08
Yohei @legoboku

#tdd4ec 同じライブラリ関数でもプラットフォームによって挙動が異なる。

2012-04-22 14:29:55
Yohei @legoboku

#tdd4ec 完全に自動化したハードウェアテスト。網羅的にやらなくても基本系だけでも自動化テストに組み込みと良い。

2012-04-22 14:33:40
CAD @yukikado

コンパイルスイッチを使うと、CIがうまく動かない場合がある。組み合わせ爆発、必要なくなった古いコードも対象になってコンパイルエラーが出る、開発環境と設定が変わってくる等。 #tdd4ec

2012-04-22 14:38:34
goyoki @goyoki

Slow Down to Go Fast。TDDの導入初期は手間が増えるように見えるかもしれない。しかしTDDはハードウェアや要求の進化を促進する。総合的には開発を加速させる #tdd4ec

2012-04-22 14:42:41
1 ・・ 4 次へ