Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • My struggles with my dissertation were long gone since the day I contacted Emily for my dissertation help. Great assistance by guys from ⇒⇒⇒ ⇐⇐⇐
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this


  1. 1. 組み込みプログラマと テスト駆動開発 Niigata.rb 2013.8.31
  2. 2. 自己紹介 ハンドル:べいかん Twitter:bei_kan 住所:新潟市内 職業:組み込み系プログラマ 言語:C言語 たまにVB / Perl Ruby:irbで電卓の代わり程度
  3. 3. 組み込みプログラム(小規模)の特徴 言語はC言語のみ ハードウエアがないと動かない プログラムサイズやメモリサイズに制約がある マイクロ秒単位のタイミングの制御が必要 言語の独自拡張 テスト駆動開発は無理かと諦めていたが…
  4. 4. 言語はC言語のみ でも、テスト駆動開発可能!
  5. 5. ハードウエアがないと動かない でも、テスト駆動開発ならば、 PCでテスト・デバッグが可能
  6. 6. プログラムサイズやメモリサイズに制約がある でも、テスト駆動開発ならば、 プログラムサイズやメモリサイズを気にせずテストできる。 assert() も好きなだけ入れられる。
  7. 7. マイクロ秒単位のタイミングの制御が必要 でも、テスト駆動開発ならば、 PCでシミュレートすることでテストできる。 エラー処理も好きなだけチェックできる。
  8. 8. 言語の独自拡張 でも、テスト駆動開発ならば、 #define定義することでテストできる。 #ifdef TEST #define P10_on() (P1 | 0x01) #else #define P10_on() (P1.0 = 1) #endif マイコンが変わってもソースはそのまま。
  9. 9. テスト駆動開発を始めて ハードが動く前にテストを開始することができるようになった。 デバッグ時間が大幅に削減。 ハード担当者に強気に出れるようになった。 (以前はハードが動かないとまずソフトが疑われた) 結論:組み込みプログラマこそ、テスト駆動開発をすべし