お客様に聞く 株式会社デンソー 様 「世界初の新型カーエアコンユニットに搭載されるモーターの 駆動ソフトウェア開発に、テスト駆動開発を適用。C++testで テストの効率化と自動化を実現しました」 株式会社デンソー 熱エレクトロニクス開発部 第2開発室 開発4課 岩田 国内最大級の自動車部品サプライヤーである株式会社デンソー (以下、デンソー)。同社では、世界初の新型カーエアコンユ ニットに搭載されるモーターの駆動ソフトウェアの開発におい てテスト駆動開発を適用。C++test による単体テストの自動化 により、プログラムの品質向上と開発期間の短縮化を実現した。 C++test を導入した経緯と効果について、詳しく話を伺った。 株式会社デンソー 本社所在地 設 立 資 本 金 従 業 員 数 愛知県刈谷市昭和町1-1 1949年12月16日 1,874億円 連結132,276名、単独38,385名 自動車用システム製品(エンジン関係、空調関係、ボデー関係、 事 業 概 要 走行安全関係) およびITS関連製品 (ETC、 カーナビゲーション 等) 、 生活関連機器製品、産業機器製品等の開発・製造・販売 U R L http://www.denso.co.jp/ 鋼司 氏、蛸島 昭之 氏 デンソーについて ̶ デンソーについて、ご紹介ください。 デンソーグループは、世界の30以上の国と地域で事業を展開してい ます。13万人以上の社員が、営業・設計・生産など、あらゆる部門で現 地のカーメーカーやサプライヤーと一体となり、先進的な技術・製品を 提供してきました。 常に時流に先んじた新技術・製品の企画・開発へ挑戦し続けています が、特に品質においてはわずかな妥協もせず、技術開発を行ってきました。 そのため業界トップレベルと言われる研究開発費を投じ、 「環境」 「安心・ 安全」の重点分野や、これまでも取り組んできた「快適・利便」の分野 で新技術・新製品の研究や開発を行っています。 世界初のカーエアコンユニットに搭載される サーボモーターの駆動ソフトウェアを開発 ̶ C++test を使って、ソフトウェアのテストを実施した製品につ いて教えてください。 デンソーでは、2014年1月、小型車から高級車まで共通して搭載でき る新型カーエアコンユニットを発表しました。大幅な標準化とともに小型・ 軽量化、高性能化を実現した世界初の製品です。カーエアコンユニット は従来、車種ごとにサイズや構造などが異なっていましたが、構成部品 の共通化を進めたことで、あらゆる車種への搭載を可能にしました。 この新型エアコンユニットは、 すでにいくつかの車種に搭載されており、 今後も幅広い車種への展開を図っていく予定です。 ̶ 担当されたのは、どの部品を 制御するソフトウェアですか。 デンソーの社屋(写真提供:株式会社デンソー) 私たちは、この新型カーエアコンの 風向・風量を調整するサーボモーター の駆動ソフトウェア開発を担当しまし た。各モーターにそれぞれ搭載されて いたECUを1つのECUに統合し、4つの モーターを集中制御しています。 ブロワユニット内部 ブロワユニット エアコンユニット ルにテストケースをチェックインするだけで回帰テストを自動実行できま す。 【選定ポイント3】カバレッジの計測が容易 C++testは単体テストと同時にカバレッジを計測・分析でき、計測結果 も色分けされて表示されます。そのため、不足しているテストケースを見 ファン (内外気二層構造) サーボモーター 新型カーエアコンユニットとその構造(写真・資料提供:株式会社デンソー) ソフトウェアの品質向上と開発期間の厳守を目指し、 テスト駆動開発とテストツールを導入 ̶ プロジェクトの背景を教えてください。 今回の新型カーエアコンユニットは、幅広い車種に搭載できるよう開 発された製品です。当然、製造台数も多く、提供期間も長くなることが 前提となります。しかし、コストなどの制約があり、後日ディーラーでソ フトウェアを書き換える「リプログラム機能」さえも搭載することが難し い状況でした。 また、サーボモーターはエアコンユニットの構成部品の1つです。関係 するほかのパーツやソフトウェアも並行して開発が進められているので、 担当したソフトウェアの品質が確保されていない状態で機能テストに臨 めば、開発プロジェクト全体に影響を及ぼしてしまいます。 そのため、従来にも増して徹底した関数レベルでの単体テストによる 品質の確保が必要だと考え、それを実現する効率的な開発のワークフ ローとして「テスト駆動開発」を取り入れました。 また、テストに手間と時間をかけ過ぎて、開発スケジュールに遅れが 出てしまうようなことになれば本末転倒であり、テストのために人的なリ ソースを増やすことも容易なことではありませんので、 「テストの効率化・ 自動化」も必須でした。 「テスト駆動開発」への親和性と「テストの効率化・自動化」を実現で きるツールとしてC++testを採用しました。 テスト駆動開発における「テストの効率化・自動化」を実現 するために必要なテストツールとしてC++testを採用 ̶ C++test を選択した理由を教えてください。 テスト駆動開発では頻繁にテストを繰り返しますので、テストツールを 利用して簡単に何度でもテストを行える環境を整えることが、必須要件 でした。次の6つのポイントで他社製ツールとC++testを比較し、評価の 結果、C++testの導入を決めました。 【選定ポイント1】開発環境(IDE)に統合して利用可能 C++testは開発環境に統合(アドオン)できるので、テストのために個 別のアプリケーションを立ち上げる必要がありません。テストが開発フ ローに組み込まれているテスト駆動開発において、テストとコーディング をシームレスに実行できるC++testは非常に親和性の高いものでした。 【選定ポイント2】CI(継続的インテグレーション)によるテストの自 動化 CIツール「Jenkins」と連携したCI環境の構築が容易で、構成管理ツー 単体テスト後 ソースコードを チェックイン 自動チェックアウト 構成管理 ツール 自動ビルド コーディングルール チェック(MISRA等) 開発者 フロー解析 テスト結果 カバレッジを インポート 開発者 単体テスト 結果集計 Jenkins との継続的インテグレーション(CI)連携 つけ出すことが容易になり、効率的に開発を進めることができます。 【選定ポイント4】静的解析と単体テストを同一ツールでカバー 静的解析(コーディング規約チェック、フロー解析)と単体テストが、 同一ツールでカバーできるため、機能別に複数のツールを導入する必要 がありませんでした。 【選定ポイント5】テクマトリックスの高度なサポート体制 問い合わせをした当初から、技術的な話を理解できるC++test専任担 当者が対応してくれました。技術レベルも高く、安心してサポートを任せ ることができると判断しました。また購入後は、CI環境構築とトレーニン グを実施していただけたので、スムーズに運用を開始することができまし た。 【選定ポイント6】ISO26262への対応 今回の制御プログラムは、機能安全規格であるISO26262への対応が 必須だったわけではありません。しかし、自動車に関する製品を開発し ている以上、今後同規格に対応したプログラムを開発する可能性もあり ます。そのため、ISO26262に対応しているツールであることも、選定し たポイントの1つでした。 テスト駆動開発と相性が良く、ソフトウェアの 品質向上と開発期間短縮に貢献 ̶ C++testを利用して良かったと感じたところを、 教えてください。 コーディングとテストケースの作成を同じ開発環境上で実施できるた め、思考が分断されずスムーズに開発がおこなえます。C++testは、開発 とテストが密接に関係するテスト駆動開発には向いているテストツールだ と感じています。 今回の開発では、単体テスト以降の試験においてほとんど手戻りを発 生させることがありませんでした。C++testの導入によりソフトウェアの品 質向上と開発期間短縮というねらいを達成できたと思います。 テクマトリックスへの評価と期待 ̶ テクマトリックスへの評価と期待を教えてください。 導入期間や仕様の設定など、厳しい要求をしたかもしれません。しか し、テクマトリックスは的確かつ迅速に対応してくれたので、安心して開 発を進めることができました。実際に製品の導入・サポートを通じて、改 めてテクマトリクスの技術力の高さには感心させられました。 一方、C++testに関して、現状の機能や品質には満足していますが、開 発の効率と品質を高めていくために、より使いやすく、小回りの効く製 品としてバージョンアップしていくことを期待しています。 お忙しい中、貴重なお話をお聞かせいただきありがとうございました。 ※ Jenkins ならびに Jenkins CIは、Jenkins (http://jenkins-ci.org/)に帰属 します。 また、 Creative Commons Attribution 3.0 Unported licenseに従い、 利用しています。 * 取材日時 2014年2月 * 記載の担当部署は、取材時の組織名です。 総販売代理店 テクマトリックス株式会社 システムエンジニアリング事業部 ソフトウェアエンジニアリング営業部 [email protected] 〒108-8588 東京都港区高輪4-10-8 京急第7ビル TEL. 03-5792-8606 FAX. 03-5792-8706 http://www.techmatrix.co.jp/quality/ctest/
© Copyright 2024 ExpyDoc