From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

テストステーションデプロイメントワークかかるコスト削減

概要

現在、企業が直面している大きな課題の1つが、テストコストの急増です。テスト対象のデバイス自体が複雑化しているため、そうしたデバイスをテストするためのコストも膨大になっています。製品の品質に、テストが重要な意味を持つことに変わりはありません。しかし、デバイスが複雑になり、これまで以上に高度で新しい計測器が求められているにもかかわらず、これまではデバイスの製造コストの低減に対してテストコストの削減はそれほど進んでいませんでした。

テストエンジニアは、現在の製品開発環境において以下のような現実を目の当たりにしています。

  • 製品の設計は前世代に比べてさらに複雑になっている
  • 競争力を維持し、市場の需要に応えるため、開発サイクルが短くなっている
  • 製品テストのコストが増加傾向にあるにもかかわらず、予算は削減されている

開発サイクルの短縮や、製品ラインアップの拡大、予算の削減、そして指数関数的に高まる製品の複雑性といった課題に応えるため、テストエンジニアは特定用途向けの画一的なターンキー型テストシステムと決別する必要に迫られています。そのような従来のシステムは、新たに投入される複雑な製品をテストするための機能を採用し追加できる柔軟性に乏しく、ラックアンドスタックの箱型計測器や、独自開発の大型自動テスト装置 (ATE) システムでは、要求の厳しい現代の市場に追いついていくことが難しくなっています。

 

 



内容

モジュールテストフレームワーク:ソフトウェア中核したアプローチによるテスト

このような厳しい要求に応えようと、テストに携わるマネージャやエンジニアは、業界標準に基づいた、ソフトウェアを中核としたモジュール式テストアーキテクチャへの移行を始めています。このアーキテクチャを導入すれば、以下のようなメリットが得られます。

  • テストシステムの柔軟性が高いため、新しい機能の追加や、必要に応じた新しいテクノロジの導入が可能
  • 必要に応じて新しい機能や計測器を追加できる拡張性を確保できる
  • 装置やコードの再利用を進めながら、事前の設備投資とメンテナンスコストを圧縮することで、テストシステムのコストを低減できる
  • ハードウェア抽象化レイヤによって、ハードウェアの陳腐化のリスクを低減できる

効率的なモジュール式テストシステムを設計するには、テストシステムを構成するコンポーネントを階層ごとに切り離すアーキテクチャが必要です (図1)。計測器をテストコードから分離し、テストコードから最上位のテスト管理フレームワークを分離するアーキテクチャです。テストシステムのさまざまなコンポーネントをこのようにモジュールとして切り分けることに加えて、ソフトウェアで機能を定義できることが、柔軟性の高いテストシステムをより短期間かつより高いコスト効率で開発するための鍵になります。

テストシステムのアーキテクチャ

図1. テストシステムのアーキテクチャ

 

テスト管理ソフトウェア: TestStand

自動テストシステムでは、いくつかのタスクと計測を実装することが求められます。それらの一部は特定の検査対象デバイス (DUT) に固有なものとなりますが、それ以外は別のDUTでも共通して利用できます。従来型のテストシステムでは、この両方を一緒にして、単一の同じソフトウェアレイヤに実装していました。そのため、各部のコードの変更や、プロジェクト間のコードの再利用は極めて難しいというのが実情でした。

モジュール式テストシステムのアーキテクチャによって、すべてのデバイスに共通なシステムレベルのタスク (テスト管理ソフトウェア) と、DUTに応じて変わるDUTレベルのタスク (テストコード) とを明確に切り分けられるようになります。表1に、DUTレベルのタスクとシステムレベルのタスクの例を示しました。このように両者を切り分けることで、ユーザはテスト管理ソフトウェアのコンポーネントを、実際のテストコードに影響を与えることなく、手早く再利用/保守/変更することが可能になります。反対にテストコードについても、同様の対応が可能です。

デバイスごと異なるタスク

デバイス依存しないタスク

計測器の構成オペレータインタフェース
計測ユーザ管理
データ収集DUTトラッキング
結果の解析テストフロー制御
キャリブレーション結果の記録
テストモジュールテストレポート

表1. テスト開発ソフトウェアで行うタスクとテスト管理ソフトウェアで行うタスクの比較

 

NIのTestStandは、テストシステムのシステムレベルソフトウェアを開発してデプロイ、実行するための、すぐに実行できる高機能なテスト管理ソフトウェアです (図2)。TestStandは根本的にはテストエグゼクティブであり、ほぼすべてのプログラミング言語で記述されたテストコードシーケンスを呼び出して実行することが可能です。さらにTestStandは、さまざまなテストシステムに共通するテスト管理ソフトウェア機能をあらかじめ用意しており、ユーザがすぐに使えるように提供しています。以下のような機能があります。

  • OLEDBもしくはODBC形式のあらゆるデータベースに結果を記録する
  • HTMLやテキスト、XML、ATMLなどのさまざまなフォーマットでレポートを生成する
  • 複数のユーザに異なるアクセスレベルを与えて管理する
  • テストリミットの管理
  • 5つの異なる言語で提供されるシンプルで高度なオペレータインタフェース
  • 並列テスト機能により、複数の製品を同時にテストしたり、単一のDUTに対して複数のテストを同時に行うことが可能

また、TestStandは、それ自体がモジュール式ソフトウェアアーキテクチャを採用しています。そのため、ユーザはTestStandを入手してすぐにこのテスト管理ソフトウェアを構成するコンポーネントをそのまま利用したり、あるいはシステム特有の要件に合わせてカスタマイズして使用したりすることもできます。

 

TestStandシーケンスエディタ

図2. TestStandシーケンスエディタ

 

企業によっては、テストエグゼクティブを独自に開発しており、テスト管理ソフトウェアをゼロから自社開発するために貴重なエンジニアリングリソースを割いてきました。このような戦略は、生産性を高めることが難しく、ソフトウェアの保守に要するリソースを長年にわたって投入し続けなければならないという課題があります。そこで、TestStandのような市販のテスト管理ソフトウェアを利用すれば、デバイスに依存しない機能の開発に費やすリソースを低減し、デバイスごとに異なるタスクを担うテストコードの開発に注力できるようになるので、生産性を最大化することが可能です。詳細については、テスト管理ソフトウェアTestStandのデモをご覧ください。

 

テスト開発環境: LabVIEW

TestStandは、LabVIEW、LabWindows™/CVI、C/C++、.NET、さらにはスクリプト言語に至るまで、ほぼすべてのプログラミング環境や言語で記述されたテストコードを呼び出すことができます。ただし、汎用プログラミング言語のほとんどは、テストアプリケーションや計測アプリケーション用に最適化されていません。そのため、計測器との通信、データの解析、そのデータをエンジニアにとって意味のある形式で表示するといったタスクのコードを記述するのは難しいというのが実情です。

LabVIEWは、直感的なグラフィカルプログラミング環境によってテストアプリケーションの開発期間を短縮できるだけでなく、以下の機能を提供することで、ユーザの生産性を高めることも可能です。

  • 無料の計測器ドライバによって計測器の接続性を確保することで、ほぼすべての計測器を自動化できる
  • 何千もの標準関数を使用したデータ解析によって、データの解析と表示が可能
  • グラフやLED表示器、ノブ、ゲージなど、テストや計測に固有のユーザインタフェースを実現できる制御器を備えている
  • ユーザが意識しなくても、マルチコアプロセッシングの特性を活用して、高いパフォーマンスを達成する

NIは、従来型のテキストベース言語でテストコードを開発するためのツールも提供しています。LabWindows/CVIはANSI Cの開発環境であり、Measurement StudioはVisual Studioのプラグインです。テストや計測に固有のユーザインタフェース制御機能および解析機能をANSI Cや.NET、Microsoft Visual C++に追加することができます。

テストアプリケーションや計測アプリケーションに最適化されたプログラミング言語を選ぶことで、テストコードを開発する時間と労力を削減でき、費用対効果を劇的に改善することが可能です。詳細については、ホワイトペーパー「アプリケーションソフトウェアの開発に最適な環境を選ぶ」をご覧ください。

まとめ

デバイスの複雑度が高まるとともに、開発サイクルの短縮と予算の削減が進んでいます。これはエンジニアリングチームにとって、現行の自動テスト戦略を再評価し、効率を高めつつコストを削減できる領域を探るきっかけになっています。次世代のテストシステムを設計する際には、システムの柔軟性と拡張性を高めながら、性能を改善し、システムのコストを低減しつつ、寿命を延ばせるような戦略を採用することが重要です。

ソフトウェアを中核としたモジュール式自動テストシステムは、スタンドアロン型計測器をベースにした従来のソリューションや、コストが非常に高くつく独自のATEシステムが抱えていた弱点を乗り越えることができます。テストシステムを構成する個々のコンポーネントをはっきりと切り分けて、ソフトウェアで動作を定義できるようにすることにより、テストシステムを使用して、今日の製品開発の課題に対応した、柔軟性と拡張性が高く、コストの低いソリューションを実現することが可能です。テスト管理ソフトウェアのNI TestStandとグラフィカルプログラミング言語のLabVIEWで構築したモジュール式のテストソフトウェアアーキテクチャは、最新のスマートフォンや3Dテレビから、ミッションクリティカルな次世代の防衛システムや医療機器に至るまで、幅広い用途において、テストシステムのコストを最適化して削減できることが実証されています。

関連情報

LabWindowsという商標は、Microsoft Corporationからの使用許諾を得て使用しています。Windowsは、Microsoft Corporationの米国およびその他の国における登録商標です。