TestStand​による​確認​および​検証

概要

製品​の​テスト​では、​テスト​システム​を​適正​に​設計​する​こと​と、​システム​の​正常​な​機能​を​維持​する​こと​が​継続​的​な​課題​と​な​って​い​ます。​テスト​システム​の​開発​にあたって​は、​欠陥​製品​を​正しく​検出​する​ため​に、​エンジニア​が​テスト​手順​を​作成​し、​測定​限界​値​を​設定​し​ます。​テスト​方法​を​決定​したら、​テスト​システム​自体​を​テスト​し​て、​ソフトウェア​と​ハードウェア​が​タスク​を​正常​に​実行​する​こと​を​確認​する​必要​が​あり​ます。​確認​および​検証​(V&V)​プロセス​は、​テスト​システム​が​正しく​開発​さ​れ​てい​て、​その​意図​した​目的​を​達成​する​こと​を​正式​に​保証​する​もの​です。

​V&V​は​主に、​製薬​会社、​医療​機器​メーカ、​自動車​用品​メーカ、​航空​用品​メーカ​など、​ISO​や​FDA​の​手順​に​準拠​し​て​いる​企業​に​影響​を​与​え​ます。​これらの​製品​は​健康​と​安全​にとって​非常​に​重要​で​ある​ため、​こうした​業界​は、​明確に定義された​V&V​プロセス​を​含​め​て、​正式​な​監視​の​対象​となり​ます。​企業​によって​は、​コスト​削減​や​競争​上の​理由​から、​正式​な​V&V​プロセス​に​自主​的​に​投資​し​て​いる​ところが​あり​ます。​品質​や​信頼​性​を​競争​力​の​基盤​として​いる​企業​では、​厳密​な​V&V​プロセス​に​投資​する​こと​で、​それに​見合​っ​た​メリット​が​も​たら​さ​れる​可能性​が​あり​ます。

​NI TestStand​ソフトウェア​は、​明確​に​定義​さ​れ​た​コンポーネント​で​構成​さ​れる​モジュール​式​アーキテクチャ​を​提供​し​て​おり、​テスト​システム​の​さまざま​な​ニーズ​に​対応​し​ます。​そのため、​エンジニア​が​効果​的​な​テスト​システム​を​開発​する​の​に​役​立ち​ます。​TestStand​の​コンポーネント​は​分離​さ​れ​て​おり、​各​コンポーネント​の​要件​を​個別に​定義​できる​ので、​V&V​の​作業​が​し​や​すく​なり​ます。

​この​ドキュメント​では、​TestStand​で​開発​さ​れ​た​テスト​システム​に​適用​さ​れる​V&V​について​説明​し​ます。​この​ドキュメント​では​次​の​トピック​について​説明​し​ます。

​• TestStand​に​適用​さ​れる​確認、​検証、​影響​解析​の​概念​を​定義​する。

​• TestStand​の​コンポーネント​と、​それら​が​V&V​の​作業​の​効率​化​に​どの​よう​に​役立つ​か​を​説明​する。

​• V&V​に関する​一般​的​な​最善​策​を​紹介​する。

内容

検証、​確認、​影響​解析

確認​および​検証​の​最善​策​について​説明​を​進める​前​に、​まず、​これらの​概念​の​違い​と、​それらの​概念​が​テスト​システム​に​どの​よう​に​適用​さ​れる​の​か​を​理解​する​こと​が​重要​です。


検証

どの​よう​な​テスト​システム​を​開発​する​場合​でも、​最初​の​ステップ​として、​テスト​の​要件​を​理解​し​て​ドキュメント​化​し​ます。​これらの​要件​を​定義​する​に​は、​最初​に​テスト​対象​装置​(UUT)​の​仕様​を​決め、​UUT​の​欠陥​を​確実​に​検出​する​ため​の​テスト​要件​を​作成​し​ます。​この​時点​では、​要件​において​UUT​の​不具合​条件​の​すべて​を​十分​に​定義​する​こと​が​重要​に​なり​ます。​テスト​システム​が​当初​の​意図​を​達成​する​こと​を​確かめる​プロセス​の​こと​を、​検証​(Validation)​と呼びます。

検証は、​システム​が​実際​に​その​目的​または​意図​を​達成​した​か​どうか​を​評価​する​プロセス​です。

検証​は​テスト​開発​プロセス​全体​にわたって​行う​必要​が​あり​ます​が、​まずは​要件​収集​の​フェーズ​から​始め​ます。​これ​は、​プロジェクト​の​ライフサイクル​の​早い​段階​で​欠陥​に​対処​する​方​が​はるかに​簡単​で​ある​ため​です。​検証​に​は、​正式​な​合否​テスト​手順​が​含​ま​れる​場合​も​あれ​ば、​顧客、​ユーザ、​または​患者​に対して​行​われる​ユーザビリティ​調査​など​の​主観​的​な​形式​に​なる​場合​も​あり​ます。​検証​に​は​多く​の​場合、​「欠陥​製品​を​拒否​する」、​「使い​やすい​インタフェース​を​備え​て​いる」​といった​主観​的​な​要件​が​伴​い​ます。​可能​で​あれ​ば、​こうした​主観​的​な​意見​を​裏付ける​ため​に、​当事者​全員​が​その​意図​に​同意​する​よう、​より​詳細​な​下位​レベル​の​要件​を​定義​する​必要​が​あり​ます。

 

確認

詳細​な​テスト​要件​を​作成​した​後、​テスト​開発​者​は、​要件​を​網羅​する​テスト​システム​を​設計​し​実装​する​こと​が​でき​ます。​設計​と​実装​が​完了​したら、​エンジニア​は、​定義​した​要件​の​すべて​が​テスト​システム​で​網羅​さ​れ​て​いる​こと​を​確認​する​必要​が​あり​ます。​テスト​システム​が​指定​した​要件​に​正しく​対応​し​て​いる​こと​を​確認​する​プロセス​の​こと​を、​確認​(Verification)​と呼びます。

確認は、​テスト​システム​が、​設計、​図面、​作業​指示​書、​または​その他​の​同様​の​ガイドライン​で​提供​さ​れる​仕様​に従って​構築​さ​れ​て​いるか​どうか​を​判断​する​プロセス​です。

確認​テスト​は、​製品​開発​の​いくつか​の​マイル​ストーン​で​実行​する​必要​が​あり​ます。​確認​は、​システム​全体​で​実行​する​こと​も、​テスト​システム​内​の​より​小さな​コンポーネント​に対して​実行​する​こと​も​でき​ます。

確認​と​検証​の​違い​を​説明​する​ため、​たとえば、​テスト​部門​が​テスト​対象​装置​(UUT)​の​消費​電流​を​計測​する​ため​に​簡単​な​試験​装置​を​作成​する​こと​を​考え​ます。​テスト​システム​では、​テスト​上限​として​UUT​の​消費​電流​を​500 mA​未満​と​する​こと​を​求め、​この​テスト​上限​と、​UUT​電源​ピン​の​電流​測定​値​と​を​比較​する​必要​が​ある​と​し​ます。​そこで​テスト​開発​者​は、​「UUT​の​電流​が​フル​パワー​時に​500 mA​を​超​えて​は​なら​ない」​という​要件​を​定義​し​ます。​次に​開発​者​は、​この​測定​に​必要​な​ハードウェア​を​備え​た​試験​装置​を​設計、​実装​し、​フル​パワー​供給​後​の​UUT​の​電流​を​チェック​する​テストケース​を​作成​し​ます。

テスト​システム​の​確認​を​実行​する​ため、​開発​者​は、​システム​が​許容​し​うる​再現​性​をもって​正しく​測定​を​実行​し、​電力​が​500 mA​を​超​え​た​場合​に​不具合​を​生成​する​こと​を​確認​し​ます。​テストシステムの動作が要件と一致すれば、​確認​は​合格​となり​ます。

しかし、​製造​に​は​故障​モード​が​存在​し​ます。​ダイオード​が​逆に​取り付け​ら​れ​て​いる​と、​回路の一部が起動せず、​消費​電流​が​150 mA​と​極端​に​低​く​なる​場合​が​あり​ます。​テスト​し​て​いる​の​は​最大​上限​値​のみ​の​ため、​この問題はテストシステムによって不具合として報告されず、​不具合​の​ある​ユニット​が​出荷​さ​れる​可能性​が​あり​ます。​テスト​システム​は​仕様​に従って​正しく​構築​さ​れ​てい​ます​が、​システム​は​達成​すべ​き​目的​を​果​た​さ​ない​ため、​検証​に​は​失敗​し​ます。​そこで、​測定​値​の​上限​と​下限​が​定まる​よう​に​(400​~​500 mA​など)、​仕様​と​テスト​システム​を​修正​する​必要​が​あり​ます。

十分​に​記述​さ​れ​た​仕様、​図面、​または​作業​指示​書​に​基​づ​い​て​システム​の​確認​を​実行​する​こと​は​比較的​簡単​で​あり、​また​テスト​方法​も​非常​に​単純​で​ある​ため、​欠陥​を​見つける​の​は​容易​ですが、​前​の​例​で​示し​た​よう​に、​検証​は​もっと​難​しく​なる​場合​が​あり​ます。


影響​解析

テスト​システム​の​検証​と​確認​が​済​んで​システム​を​実際​に​利用​し​始めて​から、​システム​に​変更​や​更新​を​加​え​な​け​れ​ば​なら​なくなる​こと​が​あり​ます。​たとえば、​メンテナンス、​修理、​または​システム​の​パフォーマンス​を​改善​または​修正​する​試み​(故障​した​計測​器​の​交換、​アルゴリズム​や​設定​の​変更​など)​が​原因​と​な​って、​こうした​更新​が​必要​に​なる​こと​が​あり​ます。​システム​に​変更​を​加える​際​は、​変更​によって​欠陥​が​引き​起​こ​さ​れ​ない​よう​に​する​ため​に、​テスト​システム​の​どの​部分​を​再​検証​する​必要​が​ある​か​を​理解​する​こと​が​重要​です。​これ​を​影響​解析​(Impact analysis)​と呼びます。 

影響​解析は、​テスト​システム​の​うち​どの​コンポーネント​が​一連​の​変更​の​影響​を​受ける​の​か​を​判断​する​プロセス​です。

変更​によって、​システム​が​気​づ​か​ない​うち​に​正常​に​動作​し​なく​なり、​製品​の​リコール​や​生産​の​停止​といった​ビジネス​の​妨げ​が​生じる​恐れ​が​あり​ます。​そのため、​詳細​な​影響​解析​を​行う​こと​が​重要​です。​また、​変更​を​加​えて​システム​は​正常​に​動作​し​て​も、​成果​や​テスト​結果​に​影響​を​与​え、​テスト​済み​の​製品​について​誤​っ​た​決定​を​下​し​て​しまう​可能性​も​あり​ます。​変更​の​見逃し​や​検証​の​誤り​は​非常​に​大きな​コスト​と​な​って​跳ね​返​って​くる​恐れ​が​あり​ます。​業界​によって​は、​不良​品​の​出荷​の​ため​に​製品​の​リコール​を​強い​られる​こと​が​あり​ます。​FDA​は、​規制​措置​を​講じる​権利​を​留保​し​てい​ます。 

システム​へ​の​変更​が​及ぼす​影響​を​軽減​する​に​は、​テスト​システム​を​モジュール​方式​で​設計​し、​ある​コンポーネント​へ​の​変更​が​他の​コンポーネント​に​影響​を​与​え​ない​よう​に​する​こと​が​重要​です。​そのため​に​は、​各​コンポーネント​を​他の​コンポーネント​から​完全​に​切り離し、​それぞれ​について​独立​した​検証​手順​を​設ける​こと​が​重要​です。​たとえば、​ハードウェア​と​の​インタフェース​と​なる​一連​の​標準​機能​を​提供​する、​ハードウェア​抽象​化​レイヤ​(HAL)​を​導入​でき​ます。​HAL​によって​定義​さ​れ​た​機能​は、​残り​の​テスト​システム​と​は​独立​し​て​検証​でき​ます。​ハードウェア​に​変更​を​加​えて​も、​変更​後​の​HAL​機能​の​動作​が​同じ​で​ある​こと​を​確認​できる​ため、​影響​を​与える​の​は​HAL​レイヤ​のみ​に​なり​ます。

 

検証​と​確認​の​業界​標準

V&V​の​主要​な​原則​について​は​多く​の​業界​で​明確​に​定義​さ​れ​て​おり、​医薬品​適正​製造​基準​(GMP)​の​よう​な​規則、​または​ISO-9000、​FDA​の​21 CFR、​IEEE​規格​など​の​規制​によって​概略​が​示​さ​れ​てい​ます。​それぞれ​の​V&V​システム​の​内容​は​似​てい​ます​が、​2​つ​の​プロセス​の​一般​的​な​要件​を​説明​する​ため​に、​多少​異なる​用語​を​使用​し​てい​ます。​具体​的​な​要件​は​通常​は​定義​さ​れ​てい​ま​せん。​この​ドキュメント​では、​自動​テスト​システム​の​V&V​プロセス​について​説明​し​ます。

FDA​の​21 CFR​における​医療​機器​に​特に​関連​した​検証​要件​は​曖昧​です。​たとえば、​「医療​機器​は​ユーザ​の​ニーズ​や​使用​目的​に​適合​する​よう​に​検証​する​必要​が​ある」​と​規定​した​文言​が​含​まれ​てい​ます。​そのため、​品質​システム​の​責任​者​が​ニーズ​を​定義​し、​検証​テスト​を​監督​する​必要​が​あり​ます。​テスト​システム​の​場合、​検証​テスト​を​定義​する​方法​の​1​つ​として、​たとえば、​既知​の​障害​モード​を​追跡​し、​良品​と​不良​品​の​サンプル​を​用意​し​て、​システム​による​既知​の​欠陥​の​検出​に​役立てる、​といった​シンプル​な​もの​が​考え​ら​れ​ます。​もしくは、​信頼​できる​手動​の​テスト​手順​を​用​い​たり、​新しい​テスト​システム​の​結果​を​検証​する​ため​に​別​の​自動化​システム​を​取り入れ​たり​する​方法​も​考え​ら​れ​ます。 

航空、​製薬、​医療​機器​など​の​産業​に​関連​する​よう​な​事例​では、​検証​を​極めて​綿密​に​行う​必要​が​あり​ます。​これ​は、​安全​性、​品質、​または​コスト​について​極端​な​ケース​が​検証​プロセス​に​伴う​ため​です。​綿密​な​システム​検証​は、​定義​から​実行​まで​に​数​週間​から​数​か​月​かかる​こと​が​あり​ます。​たとえば、​テスト​システム​で​16x32​構成​の​スイッチ​マトリックス​を​使用​し​て​いる​例​では、​テスト​エンジニア​が​導通​テスタ​を​使用​し​て​接続​の​可能​な​すべて​の​組み合わせ​を​テスト​し、​制限​の​ある​接続​が​さ​れ​てい​ない​こと​を​確認​する、​という​場合​が​あり​ます。​また、​通信​システム​の​検証​を​伴う​事例​も​そうした​例​の​1​つ​です。​この​よう​な​場合、​考え​られる​すべて​の​コマンド​および​コマンド​シーケンス​を​テスト​し​て​検証​する​必要​が​あり​ます。​こうした​検証​プロセス​は​極端​に​思​われる​かも​し​れ​ま​せん​が、​いかなる​状況​において​も​破損、​け​が、​または​誤​っ​た​結果​を​起​こ​さ​ない​こと​が​求め​ら​れ​ます。

 

要件​の​ドキュメント​化​と​収集

V&V​プロセス​では、​明確​に​定義​さ​れ​た​仕様​が​中心​となり​ます。​検証​は、​いくつか​の​客観​的​な​問題​(市場​や​エンド​ユーザ​によって​大まか​に​定義​さ​れ​た​ニーズ​など)​の​影響​を​受ける​場合​も​あり​ます。​どの​よう​な​テスト​システム​において​も、​適切​に​機能​する​仕様​と​V&V​の​要件​を​調査​し​て​ドキュメント​化​する​こと​が、​最初​の​最も​重要​な​ステップ​となり​ます。​仕様が具体的でなかったり、​解釈​や​曖昧​さ​の​余地​が​残​って​い​たり​すると、​テスト​システム​が​完全​で​ある​こと​の​確認​が​困難​に​なる​恐れ​が​あり​ます。​監査​人​や​オブザーバ​が、​ドキュメント​化​さ​れ​てい​ない​設定​や、​誤​って​実装​さ​れ​た​設定​を​見​つけ​た​場合​に​は、​テスト​が​中止​さ​れる​こと​が​あり​ます。​仕様​を​注意​深​く​適切​に​記述​する​こと​は、​問題​の​ない​V&V​プロセス​を​保証​する​の​に​役​立ち​ます。

確認​に​は、​システム​が​何​を​達成​しな​け​れ​ば​なら​ない​の​か​を​管理​できる​よう​に、​1​つ​または​複数​の​設計​ドキュメント​や​図面​が​必要​に​なり​ます。 これらの​ドキュメント​や​図面​は、​コンポーネント、​アセンブリ、​または​システム​全体​を​対象​と​する​こと​が​考え​ら​れ​ます。​確認​の​仕様​や​テスト​方法​は、​十分​詳細​に​ドキュメント​化​し、​正しい​テスト​システム​の​作成​に​必要​と​なる​可能​な​限り​多く​の​情報​を​記述​する​必要​が​あり​ます。

仕様​の​変更​が​生​じ​た​場合​は、​それ​が​顧客​や​エンジニア​による​発案​で​あっ​て​も、​または​学習​や​発見​の​結果​による​もの​で​あっ​て​も、​必ず​記録​し​ます。​変更​指示​の​プロセス​を​利用​し​て、​変更​内容​と​その​理由​を​記録​し、​変更​を​正式​な​もの​にし​ます。​手順、​設定、​および​テスト​制限​を​正しい​ドキュメント​と​照合​した​場合​に​のみ、​確認​が​合格​となり​ます。 

検証​テスト​の​設計​は​主観​的​で​ある​こと​が​多く、​科学​という​より​芸術​の​よう​に​思​われる​かも​し​れ​ま​せん。​また、​知恵​と​経験​のみ​が​検証​設計​の​道具​の​よう​に​思​われる​かも​し​れ​ま​せん​が、​要件​を​収集​する​こと​によって、​隠​さ​れ​た​こと​が​明らか​に​なり、​役に立つ​可能性​が​ある​こと​を​忘れ​ない​で​くだ​さい。​たとえば、​他の​試験​装置​や​テスト​製品​について​過去​の​パフォーマンス​を​レビュー​する、​オペレータ​や​その​監督​者​に​聞​き​取り​を​する、​過去​の​計測​データ​を​調べる​など​の​手法​が​あり​ます。​ある​会社​では、​通常​は​テスト​システム​の​イン​テグ​レ​ータ​に​外部​委託​を​し​てい​ます​が、​各​プロジェクト​の​詳細​な​レビュー​を​行​って​次​の​プロジェクト​を​改善​する​方法​を​見​つけ、​それらの​アイデア​を​次​の​プロジェクト​の​チェック​リスト​に​取り入れ​てい​ます。

 

TestStand​を​利用​し​て​V&V​の​課題​に​対処​する

TestStand​は​モジュール​式​アーキテクチャ​上​に​構築​さ​れ​て​おり、​TestStand​エンジン、​プロセス​モデル、​テスト​コード、​ユーザ​インタフェース​など、​多数​の​分離​さ​れ​た​コンポーネント​を​備え​てい​ます。​この​アーキテクチャ​では​各​コンポーネント​の​独立​した​解析​が​容易​に​行える​ため、​V&V​の​作業​の​際​に​役​立ち​ます。​さらに、​既存​の​テスト​システム​に​変更​を​加える​場合​に、​その​影響​が​単一​の​コンポーネント​に​限定​さ​れる​こと​が​多い​ため、​再​検証​の​必要性​が​少​なく​なり​ます。

TestStand​の​モジュール​式​アーキテクチャ​により、​各​コンポーネント​を​個別に​確認​および​検証​でき、​テスト​システム​全体​に​与える​変更​の​影響​が​軽減​さ​れ​ます。

テスト​システム​の​設計​では、​確認​と​検証​について​検討​し、​どの​よう​な​システム​アーキテクチャ​に​す​れ​ば​こうした​作業​が​容易​に​なる​か​を​検討​する​こと​が​重要​です。​次​の​セクション​では、​V&V​を​念頭​に​置​き​ながら​テスト​システム​の​コンポーネント​を​設計​する​際​の​最善​策​を​示し​ます。

 

シーケンス​ファイル​を​設計​する

テスト​シーケンス​の​開発​では​次​の​目標​を​念頭​に​置​い​て​くだ​さい。

  • 機能​の​論理​ブロック​の​サブ​シーケンス​を​利用​し​て、​機能​を​コンポーネント​化​する。
  • ステップ​間​の​やり取り​を​減らす。​そう​する​こと​で、​個々​の​ステップ​に​加​え​た​変更​が​テスト​システム​に​及ぼす​影響​が​軽減​さ​れる。

こうした​目標​に​重点​を​置く​こと​で、​要件​が​テスト​コード​で​どの​よう​に​カバー​さ​れ​て​いるか​を​追跡​し​や​すく​なり、​個々​の​ステップ​に​加える​変更​の​影響​を​減らす​こと​が​でき​ます。 

 

別々​の​ステップ​を​使用​する​場合​と​ステップ​設定​を​使用​する​場合

ステップ​の​条件​を​定義​する​とき​は、​その​条件​が​複数​の​ステップ​に​適用​さ​れる​か​どうか​を​考慮​し​て​くだ​さい。​If/​Else​や​Case​ステップ​を​使用​し​て​ロジック​を​実装​した​方​が、​TestStand​環境​では​見通し​が​良く、​拡張​が​可能​に​なり​ます。​また、​さまざま​な​オプション​を​実行​する​よう​に​修正​した​り、​条件​ごと​に​複数​の​ステップ​を​含​め​たり​でき​ます。​ただし、​テスト​ステップ​と​フロー​制御​と​の​間​に​関係​性​が​導入​さ​れ​ます。​常に​単一​の​ステップ​に​適用​さ​れる​ロジック​の​場合​は、​前提​条件​を​使用​する​こと​で、​ロジック​と​ステップ​を​単一​の​コンポーネント​に​収める​こと​が​でき​ます。
テスト​コード​で​切り替え​を​実装​する​場合​も、​同様​の​アプローチ​を​使用​し​ます。​単一​の​テスト​に​適用​さ​れる​ルート​の​場合、​ステップ​の​切り替え​設定​を​使用​する​こと​で、​テスト​コード​による​切り替え​機能​を​コンポーネント​化​でき​ます。​切り替え​が​複数​の​ステップ​に​影響​を​与える​場合​に​は、​切り替え​ステップ​を​使用​した​方​が​シーケンス​内​の​見通し​が​良く​なり、​シーケンス​の​自己​ドキュメント​化​が​向上​し​ます。


サブ​シーケンス​を​使用​し​て​モジュール​化​する

関連​する​ステップ​群​を​カプセル​化​する​サブ​シーケンス​を​作成​でき​ます。​これ​により、​標準​の​ステップ​設定​を​コンポーネント​化​できる​と同時に、​別々​の​ステップ​を​使用​できる​拡張​性​も​加​わり​ます。​こうした​シーケンス​の​セット​を​別​の​シーケンス​ファイル​に​含める​こと​で、​機能​の​ライブラリ​と​なる​シーケンス​ファイル​を​効果​的​に​作成​でき、​複数​の​テスト​アプリケーション​間​で​独立​し​て​検証​および​共有​でき​ます。
また、​テスト​シーケンス​は、​ほぼ​完全​に​「シーケンス​呼び出し」​ステップ​で​構成​さ​れ​て​いる​必要​が​あり、​それぞれ​が​テスト​の​論理​グループ​を​実装​し​ます。​サブ​シーケンス​の​構成​は​テスト​仕様​に​マップ​し​ます。​この​場合、​「システム​は​デバイス​の​オーディオ​機能​を​テスト​する」​など​の​高​レベル​の​要件​は、​テスト​内​の​シーケンス​に​マップ​し​ます。​一方、​「最大​音量​は​80 dB​を​超​えて​は​なら​ない」​など​の​比較的​低​レベル​の​補足​的​な​要件​は、​シーケンス​内​の​ステップ​に​マップ​し​ます。


複数​ステップ​間​の​依存​関係​を​減らす

ある​ステップ​において​前​の​ステップ​で​取得​した​データ​を​必要​と​する​場合​は、​ステップ​間​に​依存​関係​を​導入​する​こと​も​でき​ます。​PreviousStep​プロパティ​を​使用​し​て​別​の​ステップ​の​データ​に​直接アクセス​する​こと​は​避​け、​代わり​に​ローカル​変数​を​使用​し​て​最初​の​ステップ​の​データ​を​保存​し、​その後​の​ステップ​で​変数​に​アクセス​し​ます。

また、​テスト​を​実行​する​前​に、​各​ステップ​で​必要​な​条件​を​個別に​設定​または​確認​する​必要​が​あり​ます。​たとえば、​オーディオ​ボリューム​テスト​において、​ある​ステップ​に​低、​中、​高​の​ボリューム​テスト​が​含​まれ​てい​て、​次​の​ステップ​では​中​の​ボリューム​で​行う​必要​が​ある​オーディオ​品質​テスト​を​実行​する、​という​場合​は、​テスト​を​実行​する​前​に、​ボリューム​が​中​に​設定​さ​れ​て​いる​こと​を​確認​する​必要​が​あり​ます。​これ​により、​双方​の​テスト​が​独立​し​て​いる​こと​が​保証​さ​れ​ます。​オーディオ​ボリューム​テスト​に​変更​を​加​えて​も、​オーディオ​品質​テスト​に​は​影響​しま​せん。


テスト​シーケンス​を​ドキュメント​化​する

シーケンス​ファイル​の​明確​な​ドキュメント​を​作成​する​こと​は、​仕様​の​すべて​の​要件​が​十分​に​カバー​さ​れ​て​いる​こと​を​確認​する​ため​の​重要​な​要素​となり​ます。​ただし、​ドキュメント​内​で​制限​値​や​テスト​パラメータ​など​の​情報​を​繰り返す​こと​は​避​け​て​くだ​さい。 

ステップ​の​名前​と​説明​を​使用​し​て、​ステップ​の​目的​を​ドキュメント​化​でき​ます。​ステップ​名​に​は、​ステップ​の​実行​内容​と​アクション​の​実行​理由​を​示し​ます​が、​ステップ​で​定義​さ​れ​て​いる​パラメータ​値​は​含​め​ない​よう​にし​ます。​たとえば、​ステップ​に​「待機​(Wait)」​という​名前​を​付ける​の​では​なく、​「システム​が​起動​する​まで​待機​(Wait for system to boot)」​という​名前​を​付け​ます。​さらに​詳しい​情報​を​名前​に​示す​必要​が​ある​場合​は、​ステップ​の​説明​プロパティ​を​使用​し​て​さらに​詳細​を​指定​し​ます。

または、​TestStand​と​NI Requirements Gateway​を​使用​し​て、​実際​の​テスト​コード​で​要件​が​カバー​さ​れ​て​いる​場所​を​効果​的​に​追跡​する​こと​も​でき​ます。​NI Requirements Gateway​を​使用​すると、​どの​要件​が​カバー​さ​れ​て​いる​の​か​を​す​ば​やく​確認​でき、​要件​を​カバー​し​て​いる​ステップ​に​移動​できる​ので、​確認​の​プロセス​を​スピーディ​に​行​え​ます。

NI Requirements Gateway​では、​要件​ドキュメント、​テスト​シーケンス、​および​テスト​レポート​間​で​リンク​を​作成​する​こと​で、​すべて​の​要件​が​カバー​さ​れ​て​いる​こと​を​確認​でき​ます。

 

ステップ、​シーケンス、​および​シーケンス​ファイル​で​使用​可能​な​要件​フィールド​を​使用​し​て、​それら​が​カバー​する​要件​に関する​情報​を​提供​し​ます。​これらの​フィールド​を​NI Requirements Gateway​で​使用​し、​要件​ドキュメント​と​テスト​コード​間​の​マッピング​を​作成​する​こと​で、​要件​が​カバー​さ​れ​て​いる​場所​を​す​ば​やく​確認​でき​ます。 


要件​フィールド​を​使用​し​て、​ステップ、​シーケンス、​または​シーケンス​ファイル​を、​仕様​ドキュメント​内​の​特定​の​要件​に​マップ​し​ます。

 

NI Requirements Gateway​と​TestStand​を​使用​し​て​要件​を​追跡​する​方法​の​詳細​について​は、「NI Requirements Gateway​と​NI TestStand​の​組み合わせ」​チュートリアル​を​参照​し​て​くだ​さい。

 

独立​した​コード​モジュール​を​開発​する

TestStand​の​ステップ​は、​計測​器​や​オートメーション​ハードウェア​と​通信​する​ため​に​コード​モジュール​を​呼び出し​ます。​コード​モジュール​は、​LabVIEW、​C​+​+、​C#​など​の​さまざま​な​言語​で​実装​でき​ます。​TestStand​では​ステップ​と​コード​モジュール​と​の​間​に​自然​な​境界​が​設け​ら​れ​て​いる​ため、​TestStand​シーケンス​と​は​独立​し​て​テスト​と​検証​が​できる​コード​モジュール​を​記述​すると​便利​です。 
コード​モジュール​を​テスト​シーケンス​の​外部​で​テスト​できる​よう​に​する​に​は、​SequenceContext​または​他の​TestStand​参照​を​使用​し​て​データ​に​直接アクセス​する​の​を​避​け、​代わり​に​パラメータ​を​介​し​て​データ​を​コード​モジュール​に​渡し​ます。​終端​モニタ​の​実装​など、​SequenceContext​の​使用​が​必要​と​なる​場合​は、​TestStand​に​固有​の​コード​が​なく​て​も​機能​できる​よう​に​コード​モジュール​を​設計​し​ます。​LabVIEW​の​コード​モジュール​では、​「参照​なし」​機能​を​使用​し​て、​SequenceContext​が​有効​か​どうか​を​使用​前​に​確認​でき​ます。

独立​し​て​実行​可能​な​コード​モジュール​を​使用​すると、​コード​モジュール​を​ループ​実行​し​て​入力​パラメータ​の​すべて​の​置換​を​渡す​試験​装置​を​設計​でき​ます。​これ​により、​試験​装置​において​結果​を​既知​の​正しい​結果​と​比較​し、​コード​モジュール​が​期待​どおり​に​動作​し​て​いる​こと​を​検証​でき​ます。

プラグ​イン​を​使用​し​て​プロセス​モデル​に​変更​を​加える

TestStand​の​プロセス​モデル​は、​UUT​トラッキング、​レポート​生成、​データベース​ロギング、​バッチ​テスト、​並列​テスト​など、​テスト​対象​装置​に​固有​では​ない​テスト​機能​を​処理​し​ます。​TestStand​に​付属​する​プロセス​モデル​は​複雑​で​ある​ため、​これらの​モデル​に​変更​を​加える​と、​かなり​の​検証​作業​が​必要​に​なり​ます。 

プロセス​モデル​では、​デフォルト​の​レポート​生成​および​データベース​ロギング​機能​を​実装​した​プラグ​イン​アーキテクチャ​が​使用​さ​れ​ます。​この​アーキテクチャ​を​利用​する​こと​で、​プロセス​モデル​の​シーケンス​ファイル​自体​に​変更​を​加える​こと​なく、​既存​の​プロセス​モデル​の​機能​を​拡張​でき​ます。​それに​は、​個別​の​プラグ​イン​シーケンス​ファイル​に​実装​さ​れる​カスタム​プラグ​イン​を​作成​し​ます。​この​プラグ​イン​の​動作​は​独立​し​て​検証​でき​ます。


プロセス​モデル​プラグ​イン​は、​プロセス​モデル​ファイル​と​は​別​の​コンポーネント​で​あり、​個別に​検証​でき​ます

 

モデル​による​UUT​シリアル​番号​の​収集​方法​を​変更​する​場合​など、​プロセス​モデル​自体​の​機能​を​直接​変更​する​必要​が​ある​場合​は、​既存​の​機能​を​実装​し​て​いる​プロセス​モデル​の​ステップ​を​無効​に​した​うえ​で、​新しい​機能​に​対応​した​別​の​プラグ​イン​を​作成​する​こと​を​検討​し​て​くだ​さい。​こうしたアプローチを取れば、​将来​の​カスタム​の​動作​に​加える​変更​を​プラグ​イン​のみ​に​限定​できる​ため、​再​検証​が​容易​に​なり​ます。 

プロセス​モデル​や​プラグ​イン​の​カスタマイズ​方法​の​詳細​について​は、「TestStand​の​プロセス​モデル​の​開発​と​カスタマイズ​に関する​最善策」​ドキュメント​を​参照​し​て​くだ​さい。

テスト​の​設定​および​構成​を​管理​する

テスト​システム​の​開発​では、​テスト​を​実行​する​すべて​の​ステーション​にわたって、​すべて​の​TestStand​で​同じ​設定​を​行い、​変更​を​適切​に​検証​しない​限り​それらの​設定​を​決して​変更​しない​こと​が​重要​です。​ただし、​TestStand​の​コンポーネント​の​多く​は​個別​の​設定​を​持​って​いる​ため、​変更​が​ない​こと​を​確認​する​の​が​難しい​場合​が​あり​ます。​TestStand​設定​に​加​えて、​計測​器​の​設定​を​テスト​システム​全体​で​一貫​させる​こと​も​必要​です。​計測​器​の​設定​に​は、​NI Measurement & Automation Explorer(MAX)​で​の​NI-​DAQmx​の​設定​や、​デバイス​の​GPIB​および​COM​設定​など​が​含​ま​れる​場合​が​あり​ます。​これらの​設定​は​非常​に​数​が​多く、​検証​テスト​の​設計​を​難​しく​し​ます。

設定​が​正しい​こと​を​確認​する​方法​の​1​つ​として、​テスト​シーケンス​で​プログラム​を通じて​設定​を​行​っ​た​うえ​で、​それぞれ​の​設定​を​ク​エリ​し、​計測​器​や​プログラム​により​設定​が​受け入れ​ら​れ​た​こと​を​確認​し​ます。​設定​を​ク​エリ​でき​ない​場合​は、​設定​が​保存​さ​れ​て​いる​場所​を​見​つけ、​テキスト、​INI、​または​XML​ファイル​から​設定​を​読み取り​ます。​TestStand​の​外部​に​ある​項目​について​は、​システム​で​それらの​状態​を​確認、​記録​し、​管理​下​に​置く​こと​が​でき​ます。

 

ソース​コード​管理​ツール​を​使用​し​て​ファイル​を​管理​する

設定​を​管理​する​もう​1​つ​の​方法​として、​設定​が​含​まれ​て​いる​ファイル​を​厳密​に​管理​する​こと​が​でき​ます。​すべて​の​TestStand​設定​を​保存​し​て​いる​構成​ファイル​は、 <TestStand Application Data>​\Cfgディレクトリ​に​格納​さ​れ​てい​ます。​それ​以外​の​設定​の​設定​ファイル​が​格納​さ​れ​て​いる​場所​について​は、​製品​固有​の​ドキュメント​を​参照​し​て​くだ​さい。
テスト​システム​の​ファイル​を​監視、​管理、​保存​する​方法​として、​Subversion、​Perforce、​Microsoft Visual Source Safe​など​の​ソース​コード​管理​(SCC)​プログラム​が​業界​で​普及​し​てい​ます。​これらの​プログラム​の​多く​は​Microsoft SCC​の​インタフェース​に​準拠​する​よう​に​設計​さ​れ​て​おり、​TestStand​や​LabVIEW​の​中​から​使用​でき​ます。​場合​によって​は、​ファイル​を​保存​する​ため​に、​一時​的​に​ファイル​の​所有​権​を​取得​し​て、​変更​を​ドキュメント​化​しない​と​ファイル​を​変更​でき​ない​こと​が​あり​ます。​こうした​プログラム​では​多く​の​場合、​確認​の​簡素​化​を​図る​ため​に、​どの​ファイル​が​変更​さ​れ​た​の​か​が​通知​さ​れる​ほか、​古い​ファイル​と​新しい​ファイル​を​解析​し​て​変更​部分​を​強調​表示​する​こと​が​でき​ます。

また、​ファイル​の​チェック​サム​を​実行​し​て、​設定​ファイル​が​検証​済み​の​状態​から​変更​さ​れ​てい​ない​こと​を​確認​する​こと​も​でき​ます。​この​アプローチ​を​利用​する​場合​は、​ファイル​の​チェック​サム​と、​検証​済み​の​ファイル​値​で​計算​した​チェック​サム​と​を​比較​し、​それら​が​一致​しない​場合​に​テスト​の​不合格​を​生成​する​ステップ​を​追加​でき​ます。  

 

テスト​システム​の​更新​を​検証​する

テスト​システム​に​加​えて、​テスト​を​裏付ける​すべて​の​ハードウェア​と​ソフトウェア​が​既知​の​検証​済み​の​状態​で​ある​こと​を​確認​する​こと​が​重要​です。​この​セクション​では、​システム​状態​を​維持​する​ため​の​手法​と、​必要​に​応​じ​て​変更​を​適用​する​方法​について​説明​し​ます。


ハードウェア​構成​を​管理​する

システム​について​だけ​で​なく、​個別​の​テスト​について​も、​計測​器​を​適切​に​選択、​インストール、​プログラム、​および​構成​する​必要​が​あり​ます。​たとえば、​デジタル​マルチ​メータ​(DMM)​や​オシロスコープ​に​は、​通信​や​信号​集録​を​正しく​行う​ため​に​構成​する​オプション​が​いくつか​あり、​それら​について、​テスト​システム​の​完成​時、​および​将来​の​ハードウェア​の​変更​時に​確認​と​検証​を​行う​必要​が​あり​ます。

ハードウェア​の​やり取り​を​管理​する​ため​の​ハードウェア​抽象​化​レイヤ​(HAL)​を​作成​すると、​テスト​システム​の​ハードウェア​に​変更​を​加​え​た​際​に​必要​な​再​検証​を​減らす​の​に​役​立ち​ます。​HAL​を​使用​すると、​テスト​シーケンス​において​デバイス​に​固有​の​コード​モジュール​を​利用​する​の​では​なく、​テスト​シーケンス​から​測定​タイプ​や​計測​器​特有​の​ドライバ​を​分離​する​こと​が​でき​ます。​通常、​テスト​手順​は​特定​の​計測​器​を​基​に​定義​さ​れる​の​では​なく、​計測​器​の​タイプ​(電源、​デジタル​マルチ​メータ​(DMM)、​アナログ​出力、​リレー​など)​を​基​に​定義​さ​れ​ます。​そのため、​抽象​化​レイヤ​を​利用​する​こと​で、​新しい​計測​器​や​要件​に対する​テスト​シーケンス​の​適応​度​が​高まり​ます。​HAL​を​導入​すると、​新しい​ハードウェア​を​検証​する​際、​テスト​システム​全体​を​完全​に​テスト​する​必要​が​なく​なり、​一連​の​テストケース​で​HAL​の​機能​から​以前​の​ハードウェア​と​同じ​出力​が​生成​さ​れる​こと​を​確認​する​だけ​で​済み​ます。​HAL​の​使用​の​詳細​について​は、「テスト​システム​構築​の​基礎:​ハードウェア​と​計測​方法​を​抽象​化​する​ソフトウェア​レイヤ」​を​参照​し​て​くだ​さい。

また、​ハードウェア​を​実行​時に​検証​する​こと​も​お​勧め​し​ます。​実行時に設定やその他の係数を読み取って保存すれば、​ソフトウェア​と共に​検証​を​必要​と​する​項目​について、​それら​が​意図​した​とおり​に​構成​さ​れ​動作​すると​みなす​こと​が​でき​ます。​たとえば、​TestStand​ステップ​で​計測​器​の​キ​ャ​リ​ブ​レ​ー​ション​日​を​ク​エリ​し​て​キ​ャ​リ​ブ​レ​ー​ション​が​最新​で​ある​こと​を​確認​した​り、​COM​ポート​に​接続​さ​れ​て​いる​計測​器​の​モデル​番号​や​シリアル​番号​を​確認​し​て​計測​器​が​まだ​交換​さ​れ​てい​ない​こと​を​確認​した​り​でき​ます。​こうした​考慮​事項​を​念頭​に​置​き​ながら、​テスト​シーケンス​を​設計​し、​場合​によって​は​計測​器​を​購入​する​こと​で、​V&V​プロセス​の​簡素​化​に​役立てる​こと​が​でき​ます。

ハードウェア​の​変更​の​必要性​が​予想​さ​れる​場合​は、​V&V​プロセス​で​変更​する​こと​を​検討​する​必要​が​あり​ます。​計測​器​に​障害​が​発生​し、​メーカ​と​モデル​が​同じ​別​の​計測​器​を​挿入​する​場合​は、​正常​な​動作​を​確認​する​ため​に​何​を​実行​する​必要​が​ある​か​を​検討​し、​変更​が​正常​に​行​われ​た​こと​を​確認​する​ため​の​テスト​を​設計​し​ます。​IVI(Interchangeable Virtual Instrument)​の​ドライバ​や​インタフェース​を​計測​器​の​セットアップ​に​使用​すると、​メーカ​や​モデル​が​同じ​2​台​の​計測​器​間​で、​または​メーカ​や​モデル​が​異なる​2​台​の​計測​器​間​で、​移行​の​簡素​化​が​し​や​すく​なり​ます。

ソフトウェア​構成​を​管理​する

テスト​システム​を​保守​する​際​は、​新​機能​が​利用​可能​に​な​っ​た​とき​に​それら​を​活用​できる​よう​に、​LabVIEW、​TestStand、​または​その他​の​プログラム​の​アップ​グレード​を​検討​する​必要​が​あり​ます。​こうした​ソフトウェア​の​アップ​グレード​は、​いつ​でも​再​検証​や​再​確認​を​行う​きっかけ​に​なり​ます。​アップ​グレード​の​可能性​を​探る​こと​は、​投資​収益​率​(ROI)​の​実践​例​と​捉える​こと​が​でき​ます。​たとえば、​効率​化​さ​れ​た​開発​インタフェース​を​入手​する​ため​に、​システム​の​デプロイ​後に​では​なく​開発​中​に​アップ​グレード​を​行う​こと​が​考え​ら​れ​ます。​ただし、​最近​の​TestStand​の​アップ​グレード​における​場合​と​同様​に、​実行速度が向上するとテスト時間が短縮され、​スループット​が​向上​し、​収益​が​増加​する​可能性​が​あり​ます。​どちら​の​場合​も​再​検証​の​コスト​が​決定​要因​に​なり​ます​が、​この​コスト​は​ROI​の​向上​に​も​つながる​ため、​費用​と​労力​に​見合う​だけ​の​価値​が​あり​ます。​通常​は、​ソフトウェア​の​必要​な​検証​回数​を​最小限​に​抑える​ため​に、​複数​の​ソフトウェア​アップ​グレード​を​一度に​行い​ます。

テスト​システム​で​一貫​した​ソフトウェア​セット​を​維持​する​ため、​検証​済み​の​システム​から​ベース​イメージ​を​作成​し、​新しい​テスト​ステーション​の​セットアップ​時に​この​イメージ​を​使用​する​こと​を​検討​し​て​くだ​さい。​ただし、​イメージ​を​使用​する​場合​でも、​ソフトウェア​の​更新​が​行​われ​ない​よう​に​する​必要​が​あり​ます。​ナショナル​イン​ス​ツル​メンツ​の​ソフトウェア​の​場合​は、​NI​更新​サービス​が​更新​プログラム​を​自動的​に​インストール​しない​よう​に​構成​さ​れ​て​いる​こと​を​確認​し​て​くだ​さい。​デフォルト​では、​ほとんど​の​コンピュータ​で​Microsoft​の​更新​プログラム​が​自動的​に​実行​さ​れ​ます。​Sun、​Apple、​Adobe​など​の​他の​企業​でも、​Web​ベース​の​自動​更新​を​使用​し​てい​ます。​V&V​プロセス​の​対象​と​なる​システム​では​すべて、​自動​の​変更​や​アップ​グレード​を​無効​に​する​必要​が​あり​ます。​自動​更新​によって​生じる​変更​は​予測​不能​で​あり、​動作​や​設定​に​未知​の​影響​を​与える​可能性​が​あり​ます。 

貴社​の​IT​部門​で、​ウイルス​スキャン​ソフトウェア​の​使用、​スクリーンセーバ​など​の​セキュリティ​ポリシー​の​設定、​必要​に​応​じ​た​パッチ​や​アップ​グレード​の​インストール​など​について、​社内​の​コンピュータ​を​管理​する​一般​的​な​ポリシー​を​設け​て​いる​場合​が​ある​かも​し​れ​ま​せん。​製造​部門​は​IT​部門​と​連携​し​て、​それらのポリシーには手を付けずに、​TestStand​システム​の​管理​を​し​や​すく​する​必要​が​あり​ます。​貴社​の​コンピュータ​に​特に​影響​を​与える​項目​は​何​か​を​調べる​必要​が​あり​ます​が、​ウイルス​スキャナ​の​削除、​スクリーンセーバ​の​無効​化、​会社​全体​にわたる​アップ​グレード​や​パッチ​の​適用​除外​といった​ニーズ​が、​IT​の​ポリシー​と​まったく​異なる​場合​が​ある​かも​し​れ​ま​せん。