配布資料ダイジェスト版PDF [ダウンロード]

抜粋版
本スライドは、当日のセミナー資料の一部を抜粋したものです。
テスト駆動開発による組込みソフト開発
株式会社デンソー
蛸島 昭之
TS-3
TS-#
1
アジェンダ
• テスト駆動開発
• リファクタリング
• 組込みTDD戦略
• レガシーコードとテスト駆動開発
• 質疑応答
TS-3
TS-#
2
本セッションでお伝えしたいこと
• テスト駆動開発(TDD)について
– なぜバグを予防するのか
– 導入時の注意点
– なぜテスト駆動開発を奨めるのか
• リファクタリング
– なぜテストをパスするだけでは十分ではないのか
– 「動作するきれいなコード」の価値と書き方
– 注意事項
• 組込みTDD戦略
– 組込み環境でTDDを実施する場合の制約とその解決方法
• レガシーコードとテスト駆動開発
– レガシーコードへテストを追加する方法
TS-3
TS-#
3
ソフトウェアの品質モデル
• テストのパスは外部品質の確保
• リファクタリングは内部品質の向上
影響を与える
プロセス
品質
内部
品質
リファクタリングによって向上
外部
品質
依存する
利用時の
利用時の
利用時の
品質
品質
品質
テストによって確保
ISO 25010のFigure C.2 – Quality in the lifecycleを基に作成
TS-3
TS-#
4
組込みTDDの課題
• TDDは組込みソフトウェアの開発にも有効だが
克服すべき課題がある
• それは、ハードウェアボトルネック
http://goo.gl/szsSSy
TS-3
TS-#
5
組込みTDDサイクル
• TDDのマイクロサイクルを組込み向けに拡張したもの
• デュアルターゲットのリスクを避けながらハードウェア
ボトルネックを解消できるよう設計されている
TS-3
TS-#
6