Skip to main content

PARTNERS

最少単位の信頼性が最大の開発効率を生む。「単体テスト」がソフト開発の潜在リスクを排除する

ガイオ・テクノロジー株式会社

GAIOとは、「快活な」「楽しそうな」といった意味を持つイタリア語に由来するというガイオ・テクノロジー。ソフトウェアテストとモデル開発支援を主軸とした、高品質の組み込み開発ツールを提供していることで業界から支持を得ている。同社の技術や製品、および今後の事業展開について、事業推進を担当する岩井 陽二氏に話をうかがった。


ガイオ・テクノロジー株式会社 事業推進担当 執行役員 岩井 陽二 様

長年の開発実績が、二本の柱を育んだ

—まず、御社の概要と事業の枠組みから聞かせてください。

岩井:弊社はクロスコンパイラとマイコンシミュレータでビジネスをスタートしました。コンパイラ開発で得たコード解析技術と経験、同じく、シミュレータの開発資産と経験が弊社の基盤です。

現在の弊社事業の中核のひとつは、我々がGIS(Global Interlink Solution)と名付けた、自社開発ツールと他社ツールをグローバルに連携して、組込みシステム開発を包括的に支援するソリューションです。弊社の「単体テスト(※詳しく後述)」を主とした開発ツールと検証サービスの提供に加えて、必要であれば他社のツールを利用してお客様の開発をサポートしています。

もうひとつのコア事業はMCD(モデル中核開発、Model Centered Development)と名付けています。「モデルベース開発(*1)」の対応支援やコンサルティング、開発受託事業を進めています。弊社のMCD担当エンジニアは、十分なモデルベース開発のスキルを有することはもとより、高度なモータ制御技術を身につけています。非常にユニークで、他社のサービスと比べて大きなアドバンテージです。モータ制御の分野では、様々な制御アルゴリズムが次々と現れ、ソフトウェアの体系化や資産化が未だ進んでいるとは言えません。その場合、我々が提供するライブラリなどの技術とノウハウが役に立ちます。

モデルベース開発(*1):ソフトウェア開発において、最初に実現する機能をモデルで作成してシミュレーションを行う。ソースコードの記述前に、仕様や機能の不具合を検証できるため、開発効率の向上とコスト削減が図れる。

「単体テスト」は必須、その実態は

—中核事業のGIS(Global Interlink Solution)で「単体テスト」を提供されているとのことですが、詳しく聞かせてください。

岩井:ソフトウェア開発では、設計書を起こしてコーディングした後に、ソフトウェアを最小単位に分解してテストを行います。これが単体テスト(Unit Test)と呼ばれています。プログラムを構成する部品毎にテストをしておくことで、不具合の潜在化を事前に排除するわけです。ちなみに最小単位というのは、以前ならアセンブラのサブルーチン、現在ではC言語で定義した関数が相当します。

ソフトウェアの規模が小さかった頃は、書いたコードをいきなり実機に載せてエンジニアが一人で解析していました。しかし、ソフトウェアの規模が増大した現在では、いきなりのシステムテストの実行は困難になりました。そのため、単体テストの後に結合テスト、インテグレーションテスト、製品レベルでのシステムテストと検証作業を順次続けていくわけです。その際、単体テストを確実に行うことにより、その後のテストがシンプルになり、不具合の検出や原因の特定が容易になります。さらに、ソースの再利用に際しての、信頼性が格段に向上します。




図1:単体テストで潜在リスクを排除

図1:単体テストで潜在リスクを排除

図2:ソフトウェア再利用の際の信頼性

図2:ソフトウェア再利用の際の信頼性

—単体テストは、必ず実施されるものですか。

岩井:本来は、ソフトウェア開発時には必ず行う作業です。高い信頼性が求められるアプリケーションでは必ず実施されています。例えば、自動車開発においては、単体テストとテストの実行範囲を検証するカバレッジテストを実施して記録を残すことが義務づけられています。

しかし、一般的な組み込み開発では、単体テストを省き簡略化されていることが多いのも事実です。我流で実施しているメーカさんもありますし、単体テストは行わないと公言するメーカさんもいます。それと言うのも、ある程度の規模のソフトになると、テストすべき関数の数が千や二千などとなり、それらを人の手でテストすると膨大な工数とコストがかかるからです。
そこで、自動テストツールを使って、品質の高い確実な単体テストを実施しましょうというのが弊社の提案です。具体的にはカバレッジマスターという製品を核にしたソリューションをご提供しています。

テストコードを挿入したテストは、「無効」

—具体的な製品、カバレッジマスターについてうかがいましょう。

岩井:カバレッジマスターは、組み込みソフトウェアをターゲットにした単体テストツールです。具体的にはテストデータを自動生成してシミュレータ上で実行し、レポートを出力します。



図3:カバレッジマスターの機能概要

図3:カバレッジマスターの機能概要

カバレッジマスターの最大のアドバンテージは、第一に、マイコンシミュレータで動くという点にあります。ルネサスさんのマイコンを使うのであれば、該当するシミュレータでテストできます。

第二に、コンパイルされたオブジェクトそのままで、テストコード(フックコード)を挿入することなくテストを実行できることが挙げられます。たとえターゲット環境でテストしたとしても、テストコードを挿入してしまえば、実際と異なるソフトウェアをテストすることになります。自動車向けなどの高い信頼性を要求される分野ではテストコードを挿入する手法は認められていません。これに対して、カバレッジマスターはテストのためのコード追加は一切行いません。

また、人手で実コードをテストする場合には、一般にはICE(*2)を使ってブレークポイント(*3)を設定してチェックするという、言わば力ずくの方法を採用することになります。しかし、先にお話をしたように、それではコストも時間もかかって引き合いません。
カバレッジマスターを導入するとICEを使った場合と比較して大幅な作業工数の削減が望めます。

ICE(*2):In-Circuit Emulator、マイコンシステム開発用のデバッガ。
ブレークポイント(*3):デバッガを任意のアドレスで停止させる。

図4:ICEによる手作業との作業工数比較

図4:ICEによる手作業との作業工数比較

加速する進化、グローバルで「単体テスト」の道を拓く

—今後はどのようにビジネスを展開されるお考えですか。

岩井:当社のお客様は当初家電メーカが主体だったのですが、現在では自動車関連のお客様の比率が高くなっています。これは、単体テストやモデル開発など、当社の訴求する技術が自動車関連で特に進んでいるからでしょう。当社では今後、GIS(Global Interlink Solution)の充実やサポートマイコンの拡充などを進めるのはもちろん、お客様からの要求を超えるスピードで進化させていきます。

また、モデルと実装コードとの振舞いをチェックする「Back to Backテスト」や機能安全の観点での「Fault Injection Test(欠陥注入テスト)」など、未開拓のテスト技術とツールも他に先立って確立したいと考えています。

日本では過去に多くのツールベンダが存在しましたが、多くが陶太されました。そうした中にあって、いま、我々が生き残れたのはお客様からの強い支持があったからだと自負しています。今後、ますますのお客様からの信頼を得ることが出来るよう努力していきます。

—海外展開をうかがいましょう。

岩井:米国では、カリフォルニア州のSan Joseに事務所があります。また、欧州では、すでにルネサスさんのデュッセルドルフの拠点と連携してお客様へのご提案をおこなっています。また大手商社さんともタイアップして営業活動を展開し、技術的なサポートは欧州の企業と協業する体勢を敷いています。欧州は、ICEを使った人手による単体テストが主流のため、弊社のテストツールを使うことで、コストも時間も大幅な効率化が可能であることをアピールしていきます。
また、中国においては、エンジニアが勉強熱心で 、日本のソフトウェア開発の手法を学ぼうとする意欲が旺盛です。弊社では、日系企業にもアクセスしていますが、中国企業にも代理店を通じて積極的にアクセスしています。今後は、ルネサスさんの中国拠点とも、連携を進めてゆく予定です。

—読者の方に何かメッセージはありますか。

今年の2月末にドイツ、ニュルンベルグで開催される組込システム技術の展示会「Embedded World 2012 Exhibition and Conference 」に参加します。今日、お話をいたしました、単体テストツール「カバレッジマスターwinAMS」をご紹介します。






ガイオ・テクノロジー株式会社
設立: 1980年 ガイオ・テクノロジー株式会社
本社: 〒221-0052
神奈川県横浜市神奈川区栄町5-1
横浜クリエーションスクエア4F
資本金: 2億9800万円
社員数: 80名
URL: http://www.gaio.co.jp/

End of content

Back To Top