AWS IoT Greengrass テストフレームワークを使用する - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS IoT Greengrass テストフレームワークを使用する

Greengrass Testing Framework (GTF) は、お客様の観点からオートメーションをサポートする end-to-end構成要素のコレクションです。 GTFは機能ドライバーとして Cucumber を使用します。 は、同じ構成要素 AWS IoT Greengrass を使用して、さまざまなデバイスでソフトウェアの変更を認定します。詳細については、Github の「Greengrass テストフレームワーク」を参照してください。

GTF は、自動テストの実行に使用されるツールである Cucumber を使用して実装され、コンポーネントの動作駆動型開発 (BDD) を促進します。Cucumber では、このシステムの機能の概要は、feature という特殊なタイプのファイルにまとめられています。各機能は、自動テストに変換できる仕様を持つ、シナリオと呼ばれる人間が読める形式で記述されています。各シナリオは、Gherkin と呼ばれるドメイン固有の言語を使用して、テスト対象のシステムの相互作用と結果を定義する一連のステップとして概説されています。Gherkin ステップは、仕様をテストフローに固定するステップ定義と呼ばれる方法を使用してプログラミングコードにリンクされます。のステップ定義GTFは Java で実装されています。

仕組み

AWS IoT Greengrass は、複数の Java モジュールJARで構成されるスタンドアロンGTFとして を配布します。コンポーネントのテストGTFに end-to-end を使用するには、Java プロジェクト内でテストを実装する必要があります。Java プロジェクトにテストを依存関係JARとして追加すると、 の既存の機能を使用しGTF、独自のカスタムテストケースを作成することで拡張できます。カスタムテストケースを実行するには、Java プロジェクトを構築し、「」で説明されている設定オプションJARを使用してターゲットを実行しますGreengrass テストフレームワークの設定オプション

GTF スタンドアロン JAR

Greengrass は、Maven リポジトリとして Cloudfront を使用して、GTFスタンドアロン の異なるバージョンをホストしますJAR。GTF バージョンの完全なリストについては、「 GTFリリース」を参照してください。

GTF スタンドアロン JARには、次のモジュールが含まれています。これらのモジュールだけに限定されるものではありません。これらの依存関係をそれぞれプロジェクトで個別に選択することも、テスト用のスタンドアロンJARファイルで一度にすべて含めることもできます。

  • aws-greengrass-testing-resources: このモジュールは、テスト中に AWS リソースのライフサイクルを管理するための抽象化を提供します。これを使用して抽ResourceSpec象化を使用してカスタム AWS リソースを定義しGTF、 がそれらのリソースの作成と削除を自動的に処理できるようにします。

  • aws-greengrass-testing-platform: このモジュールは、テストライフサイクル中にテスト対象のデバイスをプラットフォームレベルで抽象化します。これには、プラットフォームとは無関係に OS とやり取りAPIsするために使用される が含まれており、デバイスシェルで実行されているコマンドをシミュレートするために使用できます。

  • aws-greengrass-testing-components: このモジュールは、デプロイ、、IPCその他の機能などの Greengrass コア機能のテストに使用されるサンプルコンポーネントで構成されています。

  • aws-greengrass-testing-features: このモジュールは、Greengrass 環境でのテストに使用される再利用可能な共通ステップとその定義で構成されています。

変更ログ

次の表に、 の各バージョンの変更点を示しますGTF。詳細については、 のGTF「リリース」ページを参照してください GitHub。

バージョン

変更

1.2.0
新機能
  • テスト中に MQTTとインターネット接続を設定するためのネットワーク関連のステップを追加します。

  • デバイスRAMと CPU の使用をモニタリングするシステムメトリクスステップを追加します。

バグ修正と機能向上
  • Greengrass CLIローカルデプロイステップは、成功するまで再試行します。

  • テストは、Greengrass nucleus を強制終了するのではなく、適切に停止します。

  • モノとロールのエイリアスに対して認証情報が取得可能になるまで AWS IoT 、 が認証情報エンドポイントをGTFポーリングする機能を強化しました。

  • アーティファクトとレシピディレクトリの欠落を修正しました。このバージョンでは、欠落しているコンポーネントバージョンも修正されます。

  • Docker イメージが存在しない場合、Docker イメージのクリーンアップ中に がGTF失敗する問題を修正しました。

  • コンポーネントのバージョンとしてCURRENTキーワードを追加します。

1.1.0

新機能
  • 設定を使用してカスタムコンポーネントをインストールする機能を追加しました。これには、カスタムコンポーネントのレシピが必要です。

  • カスタム設定を使用してローカルデプロイを更新する機能を追加しました。

バグ修正と機能向上
  • ログコンテキストGTFバージョンの不整合の問題を修正しました。

1.0.0

当初のバージョン