HOME> 組織の紹介>システム検証技術>テストフレームワーク

テストフレームワーク-システム検証技術の事例1

組込みネットワークシステムの新しいテスト環境開発へ向けた取り組み

我々は、組込みネットワークシステムを対象として、「テストフレームワーク(Formal Model-Based Testing, FMBT)」と「クラスタシミュレーションテスト(Cluster In The Loop Simulation, CILS)」の2つの最先端技術を組み合わせた新しいテストフレームワークの開発に取り組んでいます。

背景

  組込みネットワークシステムは、複数の組込み機器(デバイス)が有線・無線のネットワークでつながって連携して動作するシステムで、車載システム、ビル管理用空調ネットワークシステム、ホームネットワークなどの様々な例があります。近年、組込みシステムは大規模化し、さらに環境対応のための機能の複雑化や内在する組込み機器の種類の増加が進んでおり、従来のテスト技術では、組込みネットワークシステムに対する十分な品質保証、検証コストの効率化が困難になってきているのが現状です。

  従来の組込みネットワークシステムの開発環境では、自然言語で書かれた仕様書からハードウェアとソフトウェア部を切り分けてシステムを設計開発し、ハードウェアが完成した後にソフトウェアを組み込んでテストするという長い工程を必要とします。その際、テストケースの設計は、テスト技術者が自然言語の仕様書から自らの経験を基に行うのが典型的で、テストケースの品質が技術者に依存するばかりでなく、テストケース作成の手間がとても大きく、大規模システムに対しては品質保証に十分なテストケースを生成することが困難であるという問題があります。また、テストの実行は、組込み機器の実機を用いて人手で動作テストを行うことが多いのが現状です。車載システムのテスト分野ではHardware in the Loop Simulation(HILS)という技法が注目され始めていますが、HILSでは組込みシステムの動作環境のシミュレータと実機を接続してテストを行うので実機を用いるテストであることは共通しています。そのため、どちらの従来手法でも、大規模組込みネットワークシステムのすべての構成機器をつないで効率的なテストを行うことは非常に困難で、かつ、手間とコストが大きいという問題があります。

▲ページ先頭へ

新しいテストフレームワーク

   上記のような組込みネットワークシステムの従来のテスト環境の問題を解決するため、我々は「テストフレームワーク(FMBT)」と「クラスタシミュレーションテスト(CILS)」を融合したテストフレームワークを構築することで、「信頼性向上」と「検証コストの圧縮」の両方の実現を目指します。まず、FMBTでは、組込みシステム設計の上流工程における仕様の形式化を支援するツールとそれによって与えられる形式モデルに基づいて質の高いテストケースを自動生成するツールを開発します。次に、CILSでは、産総研の検証専用クラスタシステム「さつき」上に高速なハードウェアシミュレーション環境を構築し、クラスタシミュレーションによる実機を使わないテスト実行を可能にします。

FMBTとCILSを統合したテスト環境システムの概要図です。以下に、FMBTとCILSのそれぞれの機能と効果をもう少し詳細に説明します。

▲ページ先頭へ

テストフレームワーク(Formal Model-based Testing, FBMT)

   組込みシステム開発コストのオーバーヘッドの多くは、手戻りとテストのコストに起因します。これは、システムの要件が開発の上流段階で適切に理解されていないことを意味し、その結果、プロジェクトの最終段階で多くの欠陥が見つかることになります。 FMBTでは、組込みシステム設計の上流工程でシステムの要件を形式仕様として記述し、人手で作成していたテストケースやテストシナリオを、形式仕様から自動生成します。これにより、属人的な技術からの脱却を図るとともに、不注意な間違いを減らすばかりでなく、テスト工程の短縮と高品質なテストケースの自動生成を図ります。FMBTシステムは、大きく次の2つのツールを提供します。

(1) 形式仕様記述・検査ツール
組込みネットワークシステムの要求仕様を現場の設計者、技術者が明確にかつ容易に記述できる形式仕様記述ツールと、その形式モデルを産総研とスウェーデンのシャルマース工科大学が共同で開発しているAgdaシステムやモデル検査器などと連携して分析することで仕様書の誤りを検出できるツールから構成されます。このツールによって、開発の初期段階で、仕様を明確にし、仕様書の不具合を見つけ出すことができるため、開発時の手戻りのコストを大きく削減できます。
(2)テストケース自動生成ツール
上記のツールによって与えられる形式仕様から高品質のテストケースを自動生成します。高速な充足可能性判定やモデル検査の反例利用などの手法を組み合わせることで、大規模組込みネットワークシステムに対して高速にテストケースを自動生成できるスケーラブルなツールの開発を目指しています。このツールによって、従来の人手でテストケースを作成する場合のミスをなくし、テストケースの漏れを防ぐばかりでなく、テストケースの品質の属人性を除くことができます。
 

▲ページ先頭へ

クラスタシミュレーションテスト(Cluster in the Loop Simulation, CILS)

  現状の組込みシステム開発コストのもう1つのボトルネックは、組込みソフトウェアの開発がそのソフトウェアを動作させるハードウェアの開発が終わるまで効率よく進められないことです。従って、ソフトウェアの開発とハードウェアの開発を並行して行うことができれば、組込みシステムの開発・検証時間を大幅に短縮できます。 CILSでは、組込みシステム設計に基づいてハードウェアを高速にシミュレーションし、ハードウェアの実機(デバイス)が完成する前でも、シミュレーション環境上でソフトウェアを実行・テスト可能とするシステムを開発します。これにより、ソフトウェア開発者は、前倒しでソフトウェア開発を効率よく進めることができ、ハードウェアの開発者はソフトウェアからのフィードバックを早期に得てハードウェア設計の選択肢を調べることができます。
   組込みネットワークシステムのテストのためには、個々の組込みデバイスだけでなくネットワークを含めたシステム全体のシミュレーションが必要です。我々は、産総研の大規模・大容量のクラスタシステム「さつき」上で、組込みネットワークシステムのマイクロプロセッサ、ネットワークデバイス、動作環境のすべてを高速にシミュレーションし、組込みソフトウェアをクラスタシミュレータにインストールすることで、実機などを必要とせずに、高速にテスト可能にします。 以上で説明したFMBTシステムとCILSシステムを統合し、大規模組込みネットワークシステムの高品質のテストケースの自動生成と、そのテストケースを用いた高速なクラスタシミュレーションテストを実現する高度なテスト環境の構築を目指しています。

▲ページ先頭へ