ホーム >ニュースリリース MQTT のテスト 研究開発

MQTT開発と展開のテスト

バイ Ponlakshmi


Testing MQTT development

堅牢なIoTエコシステムの構築に関しては、交通アクセス(MQTT)なるほど 軽量、信頼性、スケーラブルな通信のためのデファクト規格。 しかし、設計 MQTT 搭載ソリューションは、ブローカーのコーディングやクライアントの接続についてのみではありません。未来を創る MQTTの開発と販売安全、信頼性、性能および継ぎ目が無いことを保障するため スケーラビリティ。


この記事では、深く掘り下げていきます。MQTTのメリット, ツール, 戦略, 展開チェック 開発者、QA エンジニア、IoT のアーキテクトがプロジェクトを合理化するのに役立ちます。 ご希望の場合 生産で完璧に実行するMQTTソリューション、これらのテスト技術を理解することは 非交渉可能。

MQTT アプリケーションのテストが重要な理由

多くの場合、IoTシステムが関与する接続数千万個お問い合わせ 各デバイスが公開され、 多くの場合、リアルタイムでトピックを購読します。小さな問題MQTTの特長お気に入り タイム タイム タイム タイム タイムお問い合わせ そこで、テストが重要である理由は次のとおりです。


  • トレーニング・スループット、レイテンシー、およびQoSについて効果。
  • スキャッラ– – システムが故障せずに大規模な接続を処理することができることを確認します。
  • ソリューション- 暗号化の有効化 ( )TLS/SSLの特長)、認証および承認。
  • ハードウェア– チェックMQTTの特長 3.1.1 か MQTT 5.0標準的な付着力。
  • 導入事例– – フェイルオーバー、クラスタリング、およびテスト科学研究シナリオ。

構造化されたテストがなければ、MQTT ベースの IoT ソリューションをデプロイすると、後で修正する高価な予測不可能な障害が発生します。

MQTTテストの主要領域

達成するために開発のMQTT、テストは複数のドメインをカバーするべきです:


1。 機能テスト


機能テストはそれを保障します MQTTについて顧客と顧客をつなぐお問い合わせ それはカバーします:


  • テストパブリック/サイクリングさまざまなQoSレベル(0,1,2)を渡って。
  • 検証 お問い合わせそして、 最後のメッセージお問い合わせ
  • チェックインクレジットカード(+と#)
  • 不正な顧客に対する適切なセッションの永続性の確認

2. 特許および特許


パフォーマンステストはシミュラするのに役立ちます交通アクセス出版社や購読者の数千を生成することによって。 重要なメトリックには:


  • レイテンシー- 公開から取得された時間 購読する 確認済み
  • スループット- 秒ブローカーあたりのメッセージの数が処理できます。
  • コンタクト- 最大クライアント容量。
  • 資源利用- CPU、メモリ、ネットワーク消費負荷下。

3。テスト


IoT ではセキュリティがパラマウントされています。 キーテストには以下が含まれます:


  • TLS/SSLハンドシェイク検証
  • 認証メカニズム(ユーザー名/パスワード、OAuth、または証明書ベース)。
  • クライアントが不正なトピックにアクセスできないように承認テスト。
  • ブローカーのDoS攻撃のような脆弱性を検出するための浸透テスト。

4 。


MQTTシステムは、ネットワークの問題やブローカーのダウンタイムにレジリエントする必要があります。 テストには以下が含まれます:


  • 故障テストクラスターブローカーで。
  • お問い合わせ顧客が再接続するとき。
  • ネットワーク悪い接続をシミュレートする。

5。 デプロイ


ブローカーが実行されているかどうかクラウドプラットフォーム(AWS IoT Core、Azure IoT Hub、Google IoT Core)またはオンプレミス、 導入チェックが必要です:


  • バランス効果をロードします。
  • トラフィックのスパイクの下の自動スケール検証。
  • バックアップおよび回復戦略のテスト。

あなたが知っておくべきMQTTのテストツール

複数クライアント MQTTツールプロセスを合理化できます:


  • MQTT エクスプローラ– 機能的な検証とトピックの監視に役立ちます。
  • MQTT プラグイン- 負荷および性能のテストのため。
  • Eclipse Pahoのライブラリ クライアント– – カスタムテストスクリプトを作成するため。
  • Mosquitto_pubとMosquitto_sub- 迅速な機能チェックのための簡単なコマンドラインツール。
  • MQTTの統合– 分散性能試験のため。
  • HiveMQのポケット– 自動化された統合および展開のテストのため。
  • MQTT.fxの特長– 接続のデバッグと検証のための軽量なデスクトップツール。
  • BevywiseのIoT– 強力なMQTTについて大規模な仮想デバイスを生成し、負荷下でブローカーのパフォーマンスをテストし、展開スケーラビリティを検証します。

ツールの正しいミックスを選択すると、フォーカスが表示されるかどうかによって異なります業務内容

MQTTテストのベストプラクティス

MQTT アプリケーションのテストは、開発と展開と整列する構造戦略が必要です パイプライン。 詳細はこちらスタッフすべてのチームが採用する必要があります。


  1. 導入事例- MQTT接続の有効化 開発中の QoS の動作と再接続ロジックの確立
  2. ソリューション– CI/CD パイプラインを使用する トリガーMQTTの特長新しいコードがコミットされるたびにテストケース。
  3. カオスは、– ブローカーのクラッシュなどの失敗を模倣します。, パケットロス、予期しないクライアントの切断。
  4. お問い合わせ– 継続的なトラフィックの下で長期ブローカーの安定性を測定します。
  5. ソリューション– セッションの持続性と共有サブスクリプションの負荷分散作業をクラスターブローカー全体で確認します。
  6. ドキュメント– – 集中ログを使用する (ELKSについて, プロメテウス + Grafana メッセージの流れを捕獲し、異常を検出するため。
  7. 最近の投稿– 帯域幅制限、デバイスの電力サイクル、断続的な接続を含みます。

MQTTテストの一般的な課題とテーマを克服する方法


  1. 接続数– 数百万人のIoTデバイスを資源重力化することができます。

    ソリューション:クラウドベースのテストフレームワークまたは分散型ロードジェネレータを使用します。

  2. QoSの試験- QoS 1 と 2 は、高負荷下で一貫して動作させることができます。

    ソリューション:メッセージ配信確認テストを自動化します。

  3. 設定を解除– TLS のセットアップが脆弱性につながります。

    ソリューション:SSLスキャナーと侵入テストをワークフローに統合します。

  4. 地球環境の保全– 生産とは異なるラボ条件

    ソリューション:ステージング時に、ミラー配置環境をできるだけ密接に演出します。

MQTT導入における継続的なテスト

現代のIoT DevOpsの慣行では、お問い合わせMQTT の展開には必須です。 MQTT の統合によって あなたのテストCI/CDカード、保障できます:


  • 新しいコードの変更はクライアントブローカー通信を破らない。
  • ソフトウェアのアップグレード後にブローカーは安定しています。
  • セキュリティパッチは、パフォーマンスボトルネックを導入しません。

Jenkins、GitHub Actions、GitLab CI/CDなどの人気のCI/CDプラットフォームが稼働自動MQTT機能 ロードする更新を生産に押し込む前に。

MQTT の展開を未来へ

あなたのテストMQTT開発・開発一度のアクティビティではなく、業務内容 エコシステム. . 機能、性能、セキュリティ、および展開のテストを組み合わせることにより、 MQTT ベースのソリューションが確実に使用可能弾力性、スケーラブル、生産準備お問い合わせ


適切なテストツール、自動化、ベストプラクティスを使用すると、自信を持ってデプロイできます。MQTTの特長数百万人のデバイスをサポートし、ミッションクリティカルなデータストリームを処理します。 ビジネスニーズに応じたスケール


IoTシステムの構築やメンテナンスをしている場合は、MQTT のテストをDevOps の部分 パイプライン . . よくテストされたMQTTのデプロイメントは、より良いパフォーマンスだけでなく、確立を保証します信頼と信頼IoT への取り組み

MQTTテストに関するFAQ

MQTTのテストは、機能性、性能、セキュリティ、スケーラビリティの検証プロセスです。 インフォメーションMQTTについて信頼性の高いIoT通信システムを確保するためのクライアントおよび展開。

Bevywiseのようなツールを使うIoTソリューション出版社の数千をシミュレートするJMeter、またはLocust レイテンシー、スループット、リソース消費量を測定し、加入者。

ベストプラクティスには、有効活用できるものが含まれますTLS/SSLの特長, 使用認証情報, 制限事項トピックについて ACLと, パフォーマンスお問い合わせ脆弱性を検知する

はい、クライアントライブラリ、コンテナ化されたブローカーを使用して、CI/CDパイプライン内でMQTTテストを自動化できます。 そしてフレームワークをテストして下さい。 オートメーションは変更が生産の展開を壊さないことを保障します。

テストMQTTの特長スケールで要求して下さい出力電圧, 多くの場合、クラウドベース, 数百万のシミュレート 同時IoTクライアントは、ピークトラフィック条件下でのパフォーマンスを検証します。