第54回 SEA関西 プロセス分科会 テスト駆動開発による組込みプログラミングの実践 に行ってきた
d:id:youandi:20130607:p4
参加しました。SEA関西 プロセス分科会に参加するのは2回目。
第54回 SEA関西 プロセス分科会 テスト駆動開発による組込みプログラミングの実践
http://kokucheese.com/event/index/125949/
今回の講師は、こちらの書籍の監訳をされた蛸島さん。愛知県にある会社にお勤め。
テスト駆動開発による組み込みプログラミング ―C言語とオブジェクト指向で学ぶアジャイルな設計
- 作者: James W. Grenning,蛸島昭之,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/04/24
- メディア: 大型本
- この商品を含むブログ (13件) を見る
開会
講師を含めて17名が参加。自分は50分遅れで参加・・・。
講演「組込み開発におけるアジャイル実施事例」
演習「例題によるC言語テスト駆動開発の体験」
高田さんのLinuxPC上のEclipseでペアプロしました。
-
- お題は・・・
- Myersの三角形問題
- 3つの整数を入力
- 3つの整数はそれぞれ3角形の辺の長さを表す
- Myersの三角形問題
- お題は・・・
事前にある程度関数が実装されたプロジェクトが配布されており、それに実装を加えている流れ。
-
- 正三角形
- 二等辺三角形
- その他の三角形
- 三角形ではない
最初にどんなケースがあるのかを考えて、まず入力チェックの方の実装を行ってしまいましたが、上記の流れでTDDしながら実装を行いました。
演習はポモドーロ・テクニックで2ポモドーロやりました。
ディスカッション「テスト駆動開発導入に向けての課題」
-
- Q1 : CppUTest, GoogleTest, etc...とあるが、CppUTestを選んだ理由は?
- A1 :
- 蛸島さん:書籍で紹介されているから。
- 久保さん:CppUTestは環境依存の部分が綺麗に分かれているので、組み込みで使いやすい。
- Q2 : 3層レイヤー化設計になどによる性能への影響は?
- A2 : 関数マクロ化して、テスト時と実行時とで切り替える事で回避出来る。
- 性能も大事だが、適切なステージで不具合を見つける事が重要。
- 書籍の「リンクによる切り替え」の項など。
- XDDP(eXtreme Derivative Development Process)なども有効な考え方。
- 性能も大事だが、適切なステージで不具合を見つける事が重要。
- Q3 : テストの維持が負担にならないか?
- A3 : 書籍のアンチパターンを行わないようにする。
- Q4 : 仕様間違いを見つけられるか?
- A4 : テストケース漏れなどは見つけやすい
- どちらかと言えば、BDD(Behavior Driven Development)の分野になるかも。
- Q4 : TDDを組み合わせてやった方が良いプラクティスは?
- A4 : CI、ペアプロ、各ステージで見つけるべき不具合を見つける
- 元々、TDD前提で開発している会社にいたので、TDDをやるのは当たり前という認識。それなので今の職場でもあるべき姿にしたまで。
- Q5 : TDD導入について上司の理解を得るには?
- A5 : 信頼貯金する。
閉会
会場の原状復帰して解散。
懇親会 (於:船場 とり萬(本町・堺筋本町/鳥料理(鶏料理)) - ぐるなび)
懇親会参加者が3人だったので、参加する事にしました。
世話人の小林さんに前回気になったSEAという組織について質問したりしました。
あとは参加者が少なかった分、講師の蛸島さんとじっくりとお話出来て良かったです。