Test Driven Development for Embedded C 読書会 第5回

第5回やりました。 今回扱ったのは以下。 ・第9章「Runtime-Bounded Test Doubles」で、リンク時置換ではなく実行時に関数ポインタで置換する手法を学びました。 ・第10章「The Mock Object」で複雑な相互作用をテストするとき(例えば、通信周りのように詳細なプロトコルを実装する場面)でモックを使う方法について学びました。 続きを読む
0
Yohei @legoboku

#tdd4ec 他業界の話を聞いている。おもしろいな。

2012-07-07 13:23:07
Yohei @legoboku

#tdd4ec 参入障壁が高い分野は新規参入が難しくて、血みどろの戦いになりにくい。そういう分野を見つけてがんばるというのも手だな。

2012-07-07 13:24:46
Yohei @legoboku

#tdd4ec WACATEに参加した話。いろんな職種の人が集まってテストについて議論する。各自の常識が違うから、喧々諤々の議論になる。同じ課題をみんなで考える。成果物をまとめて発表。いろんなアプローチが見れる。

2012-07-07 13:28:04
Yohei @legoboku

#tdd4ec テスト系のイベントは女性が多いらしい。

2012-07-07 13:28:59
Yohei @legoboku

#tdd4ec 女性の方が活発だとか。内容がしっかりしているポジぺを書いたり、勢いがすごいとか。

2012-07-07 13:30:03
Yohei @legoboku

#tdd4ec プロジェクタに映す担当だったから、つぶやけなかった・・・すごい良い議論してたのに

2012-07-07 14:07:04
Yohei @legoboku

#tdd4ec 関数ポインタを使って実行時にスパイを挿入する例を解説中

2012-07-07 14:10:31
goyoki @goyoki

やっぱプリプロセッサ接合部は避けられてるのね #tdd4ec

2012-07-07 14:11:08
Yohei @legoboku

#tdd4ec CppUTestは関数ポインタの置き換えともとに戻す作業をサポートするマクロが用意されているんだな。オブジェクトの破棄と一緒にポインタを戻すようにしてて、ポインタを戻すコードは自分で書かないと。

2012-07-07 14:17:42
Yohei @legoboku

#tdd4ec リーダブルコードは良書。ネイティブじゃないと良い名前をつけるのは難しいよね。

2012-07-07 14:23:51
Yohei @legoboku

#tdd4ec 複雑なスパイを使うときは、ちゃんとスパイ自身もテストしないとね。

2012-07-07 14:26:02
高橋 明 @Talos208

#tdd4ec 省いてハマったことがあったなぁ > スパイのテスト

2012-07-07 14:29:40
Yohei @legoboku

#tdd4ec freeのNULLチェックは冗長だという論議に。書籍サポートサイトに突撃しますか。

2012-07-07 14:30:10
Yohei @legoboku

free後のNULL埋めはやれよと #tdd4ec

2012-07-07 14:30:49
Yohei @legoboku

#tdd4ec どうも軍事用語がちょいちょい出てきているらしい。

2012-07-07 14:34:31
Yohei @legoboku

#tdd4ec テストグループ共通のオブジェクトはsetupで用意。たまにテスト関数ごとに違ったケースのためのオブジェクトを用意する場合もあるな。 #tdd4ec

2012-07-07 14:48:39
Yohei @legoboku

#tdd4ec テストで駆動すると、うっかりさんでもちゃんと開発できるよと。

2012-07-07 14:49:41
Yohei @legoboku

#tdd4ec 「テストを容易にすること」は関数ポインタに置き換える十分な理由になるけど、みんな関数ポインタに置き換えていいわけじゃない。必要とされるときに使いましょう。乱用すると混乱のもとになるよね。

2012-07-07 14:53:18
Yohei @legoboku

#tdd4ec コンパイルユニットを分割して、リンク結合すれば関数ポインタと同じことができる。その場によって適切な道具を選びましょう。

2012-07-07 14:55:28
Yohei @legoboku

#tdd4ec 10章のThe Mock Objectが始まりますね。

2012-07-07 15:05:02