テストエンジニアリングの手法は急速に変化しています。複雑な製品の先行開発を加速すると、たとえ目標が一定であっても、実行すべきタスクに根本的な変化が生じます。この10年で、私たちの時間の使い方は進化し、共同開発の手法により多くの焦点が当てられ、以前は周辺タスクと思われていた作業により多くの時間が費やされるようになりました。
図1.過去10年間のテストエンジニアリングの時間割り当ての変化
このようにタスクが増加しているということは、AIのような生産性を向上させるアクセラレーターがあれば、知識豊富なテストエンジニアリンググループは、コード生成の見出し要素だけでなく、行うべきすべての作業にAIをどのように適用するかを総合的に考えるということです。このホワイトペーパーは、エンジニアのワークフロー全体を見渡し、成功するためにテストエンジニアがより多くのタスクでAIを採用する必要がある理由を説明するために設計されています。
優れたテストエンジニアリングは、単なる優れたIP開発ではなく、優れたテスト戦略から始まります。しかし、テストする製品のカバレッジ要件が大きくなると、この戦略の計画と設計に費やす時間が非常に大きくなります。
AIは、製品とコンポーネントスペースを取り込み、それらをテスト計画に変換することで、計画に役立ちます。このタスクを実行するには、テスト手法と測定のベストプラクティスについて十分な知識を持ち、実行計画を提供する専門スキルが必要です。この計画がステーション設計に進むにつれ、AIには、リソースを効果的に使用する並列化などの最適化戦略、トポロジの切り替え、デバッグの容易性、ノイズの発生源などのスキルが必要になります。
すべてのテストエンジニアが知っているように、優れたテストシステム設計は芸術、科学、経験、妥協の混合です。NI Nigel™ AIは、テストおよび測定アプリケーションに特化したAIツールであり、強力な推奨を行うスキルを備えています。エージェント機能は急速に強化され、アプリケーションに特化したサポートを提供します。しかし、エンジニアは提案を検証する際に自身の実践経験を忘れないでください。
現代のテストエンジニアは、昇進を求めて職種を変更することが一般的になってきたため、順応性が求められます。これらの変更により、新しいツールやプロセスに対するほぼ継続的なオンボーディングが必要になります。継続的なオンボーディングは、研修生の生産性に影響を与えるだけでなく、経験豊富なチームメンバーもトレーナーとして業務から離れることになります。
AIアシスタントは、新しいツールを使用するエンジニアにとって第一線のサポートを提供できます。当社の製品データによると、LabVIEWユーザーの20%以上が、このような用途にNigel AIを定期的に使用しています。これらのツールは、製品のベストプラクティスを網羅したより体系的なトレーニングコースに代わるものではありません。エンジニアがどのようなプロンプトを尋ねるべきか、また良い応答とはどのようなものかを理解するためには、このような教育が依然として必要です。しかし、AIアシスタントは再学習の役割を果たし、エンジニアが複雑なソフトウェア環境をナビゲートして、同僚を悩ますことなく必要な機能を見つけるのに役立ちます。
テストIPの開発では、ほとんどの場合、単にテストステップに固有の測定コードを作成するだけではありません。データロギング、テストシーケンス管理、対話式信号デバッグなどのアプリケーションをサポートする非常に完全なアプリケーションがあります。これらのアプリケーションは、計測コードの上に構築されるか、計測コードにプラグインすることができ、エンジニアがより高速で抽象化されたレベルで作業することができます。NI FlexLogger、NI TestStand、NI InstrumentStudio™ソフトウェアなどの多くにはNigel AIが統合されており、開発がさらに加速されます。
たとえば、TestStandを使用すると、Nigelはコンテキストに基づいたテスト計画に基づいてテストシーケンスを生成できます。このツールを使用すると、テストステップ (LabVIEW、Python、C#などの言語で書かれたもの) を1つのシーケンスに統合でき、オーケストレーションのオーバーヘッドを最小限に抑えることができるため、大幅な時間の節約になります。Nigelは、TestStandエンジン内の速度最適化機能を自動化してパフォーマンスを向上させることができます。このような状況でも、エンジニアは製造現場に提供されるシーケンスに責任を持ち、動作を確認する必要がありますが、AIはクリック数を削減し、作業時間を節約するための起点を作成できます。
AIの最も一般的な用途の1つは、ユーザにコードを説明することです。エンジニアが白紙の状態から始めることはほとんどありません。既存のコードを継承、再利用、リファクタリング、再デプロイするなどして作業します。多くの場合、継承されたコードが贈り物になることもありますが、すでに退職した同僚が残した風変わりでドキュメント化されていないアプリケーションのアーキテクチャを理解するのに数週間かかる場合もあります。
AIは、コードモジュールまたはアプリケーション全体の機能を要約し、以下の例のような自然言語プロンプトでユーザが内容を確認できるようにします。
この方法でAIを使用すると、AIのエラーがコードベースに伝播するリスクを低く抑えられます。プロンプトをやり取りすることで、エンジニア自身が変更を加えることになります。
データインサイトに対する期待はテストチーム内で高まっています。これは、データを作成する人が、データを操作して掘り下げるのに最適な場合がほとんどだからです。テストデータに関する洞察は、大きく2つのグループに分類できます。
各測定データの環境メタデータ一式を構造化および標準化された方法で記録することは、貴重な洞察を得るために不可欠です。意味のある相関性を得るためには、製品 (要件、ばらつき、動作レンジ)、テストシステム (資産、位置、治具、オペレータ)、テストIP (ソフトウェアスタック、依存関係、リビジョン)、および測定結果 (スカラ、波形、タイムスタンプ―使用中のすべての計測器で完全に同期) に関する情報を記録する必要があります。この種のデータは、測定時点でドキュメント化されていないと「追加」できないため、後でAI主導の洞察を得るには、測定システム内での強力なメタデータ記録戦略が不可欠です。
テストエンジニアは、校正ステッカー、見つからないケーブル、ソフトウェアの不整合、および同様の重要でありながら骨の折れるタスクをラボやラインで長時間探すために、学術機関や産業界で何年もトレーニングを積んできたわけではありません。AIは検索能力に優れており、ラボのメンテナンスに伴う何時間もの煩わしい作業時間を節約できます。
たとえば、NI SystemLink™ソフトウェアでNigelを使用すると、次のような質問ができます。
このような管理タスクを自動化することで、チームはコアエンジニアの生産性を最大限に高めることができます。この自動化は、煩わしく反復的で価値が低いと見なされるタスクに費やす時間を削減するため、チームのエンゲージメントとモチベーションを高めるのに役立ちます。
このホワイトペーパーでは、コード作成に役立つAIの利点と欠点については、あえて詳しく取り上げていません。しかし、その数は多くあります。しかし、AIがそれらを支援する役割をより俯瞰的に捉えることで、エンジニアの生産性を向上させる方法も示されています。
Nigel AIは、最初の計画会議から最終報告会議まで、すべての開発プロセスを通じてテストエンジニアを支援するために最適化されています。独自のスキルと、テストにすでに使用している多くのツールとの緊密な統合により、既存のプロセスを中断することなく、最も価値が高く創造的なテストタスクを加速し、管理タスクを抽象化および自動化する触媒として機能します。