internet things testing
モノのインターネット(IoT)のテスト:
「生活の基本的な必需品は何か」などの質問を投げかけると、ほとんどの人が「食料、避難所、衣類」と答えます。
しかし、それは一世紀前のケースでした。人間は進化して、生活のためのいくつかの余分な必需品を開発しました。私たちは私たちの生活をよりシンプルに、より良く、より簡単にするために進化してきました。
Javaで整数の配列をソートする方法
照明を制御するためのスイッチの使用をやめ、通行料を提出するためのキオスクでの支払いをやめ、健康状態をスマートに監視し、車両の動きをより効率的に追跡し、リストにたくさんあります。
今どうやってやるの?どう違うの?
最初にこれらを理解する必要があります。その後、それらをテストする方法を学ぶことができます。
学習内容:
モノのインターネット(IoT)とは何ですか?
IoTは、車両、家電製品、組み込み電子機器を使用した医療機器、マイクロチップなどを接続して、異なる種類のデータを収集および交換することをIoTと呼びます。このテクノロジーにより、ユーザーはネットワークを介してデバイスをリモートで制御できます。
IoTの例
実際の実装におけるIoTの例のいくつかは次のとおりです。
#1)ウェアラブル技術:
FitbitバンドやAppleWatchなどのウェアラブルガジェットは、モバイルデバイスと簡単に同期します。
これらは、健康、心拍数の監視、睡眠活動などの必要な情報を取得するのに役立ちます。また、データ、モバイルデバイスからの通知をそれらに表示するのにも役立ちます。
#2)インフラストラクチャと開発:
次のようなアプリケーションを使用して CitySense 、屋外の照明データをリアルタイムで取得する方が簡単で、これらに基づいて街路灯のオンとオフを切り替えます。洗練された都市レイアウトで信号機や駐車場の空き状況を制御するためのさまざまなアプリケーションもあります。
#3)ヘルスケア:
患者の健康状態を監視するための多くのアプリケーションがあります。
ベンチマークデータに基づいて、サービスは1日のさまざまな時間に薬の投与量を制御します。患者の体内の体液レベルを監視し、必要に応じて体液の移動を開始できるUroSenseなどのアプリケーションがあります。同時に、データはさまざまな利害関係者にワイヤレスで送信できます。
IoTで使用されるテクノロジー
以下は、IoTで最も使用されているテクノロジーのいくつかです。
- RFID (無線周波数コード)タグとEPC (電子製品コード)
- NFC (近距離無線通信)は、電子機器間の双方向の相互作用を可能にするために使用されます。これは基本的にスマートフォン用であり、主に非接触型決済取引を行うために使用されます。
- ブルートゥース: これは、短距離通信で問題を回避するのに十分な場合に使用されます。これは主にウェアラブル技術で使用されます。
- Z-Wave: これは低電力RF通信技術です。これは主にホームオートメーション、ランプ制御などに使用されます。
- Wi-Fi: これは、IoTで最も一般的に使用される選択肢です。 LAN上では、これはファイル、データ、メッセージをシームレスに転送するのに役立ちます。
IoTのテスト
例を見てみましょう 機器が健康、心拍数、水分摂取量の詳細を監視し、医師にレポートを送信する医療ヘルスケア追跡システムの例。そのデータはシステムに記録され、履歴データは必要なときにいつでも表示できます。
医師は、データに基づいて薬物摂取、水分補給を開始できます。これは、医療機器が接続されている任意のデバイス(コンピューターまたはモバイルデバイス)からリモートでトリガーできます。
このようなアーキテクチャをテストするには、次のような複数のテストアプローチを実行する必要があります。
IoTテストアプローチ
#1)使いやすさ:
- ここで使用する各デバイスの使いやすさを確認する必要があります。
- 使用する医療ヘルスケア追跡デバイスは、医療のさまざまなセグメントに移動できるように十分にポータブルである必要があります。
- 機器は、通知だけでなく、エラーメッセージ、警告などもプッシュできるほどスマートである必要があります。
- システムには、エンドユーザーに明確さを提供するために、すべてのイベントをログに記録するオプションが必要です。それができない場合、システムはそれらもデータベースにプッシュして保存する必要があります。
- 通知が表示され、ディスプレイの処理がデバイス(コンピューター/モバイルデバイス)で適切に行われる必要があります。
- データの表示、データの処理、デバイスからのジョブタスクのプッシュに関するユーザビリティは、徹底的にテストする必要があります。
=>一般的なユーザビリティテストについてもっと読む ここに
#2)IoTセキュリティ:
- IoTセキュリティの課題:IoTはデータ中心であり、接続されているすべてのデバイス/システムが利用可能なデータに基づいて動作します。
- デバイス間のデータフローに関しては、転送時にデータにアクセスしたり読み取ったりできる可能性が常にあります。
- テストの観点から、あるデバイスから別のデバイスに転送されるときにデータが保護/暗号化されているかどうかを確認する必要があります。
- UIがある場合は常に、パスワードで保護されていることを確認する必要があります。
=>一般的なセキュリティテストについてもっと読む ここに
#3)接続性:
charをintc ++に変換する方法
- ヘルスケアソリューションであるため、接続性は重要な役割を果たします。
- システムは常に利用可能である必要があり、利害関係者とのシームレスな接続が必要です。
- 接続性に従って、2つのことをテストすることが非常に重要です。
- 接続、データの転送、デバイスからのジョブタスクの受信は、接続が稼働しているときにシームレスである必要があります。
- もう1つの条件は、接続ダウンのシナリオです。システムとネットワークの堅牢性に関係なく、システムがオフラインになる可能性があります。テスターであるため、オフライン条件もテストする必要があります。システムがネットワーク上で利用できなくなったら、医師が起動するまでシステムに依存せずに手動で健康状態の監視を開始できるように、医師に促すことができるアラートが必要です。一方、オフライン期間中にすべてのデータをシステムに保存できるメカニズムがシステムに存在する必要があります。システムがオンラインになると、そのすべてのデータが伝播されます。データの損失は、どのような状況でも発生しないはずです。
#4)パフォーマンス:
- ヘルスケアドメインのシステムについて話しているときは、システムが病院全体に対して十分にスケーラブルであることを確認する必要があります。
- テストが実行されると、一度に2〜10人の患者に対して実行され、データは10〜20台のデバイスに伝播されます。
- 病院全体が接続され、180〜200人の患者がシステムに接続されている場合、伝播されるデータはテストされたデータよりもはるかに大きくなります。
- テスターとして、追加されたデータが伝播されても、システムが同じように動作することを確認する必要があります。
- また、監視ユーティリティをテストして、システムの使用状況、電力の使用状況、温度などを表示する必要があります。
#5)互換性テスト:
- IoTシステムの複雑なアーキテクチャを見ると、互換性テストは必須です。
- 複数のオペレーティングシステムのバージョン、ブラウザの種類とそれぞれのバージョン、デバイスの世代、通信モードなどのテスト項目( 例: Bluetooth 2.0、3.0)は、IoT互換性テストに必要です。
=>一般的なセキュリティテストについてもっと読む ここに
#6)パイロットテスト:
- IoTに関する限り、パイロットテストは必須です。
- ラボでのテストのみが、製品/システムが正常に機能することを確認します。しかし、これは、リアルタイムの条件/ステップ/シナリオにさらされると、ひどく裏目に出る可能性があります。
- パイロットテスト中、システムは実際のフィールドで限られた数のユーザーに公開されます。彼らはアプリケーションを使用し、システムに関するフィードバックを提供します。
- これらのコメントは、本番環境での展開に十分な堅牢性を備えたアプリケーションを作成するのに役立ちます。
#7)規制テスト:
- これは医療システムであるため、複数の規制/コンプライアンスチェックポイントを通過する必要があります。
- 製品がすべてのテストステップを通過したが、最終的なコンプライアンスチェックリスト(規制機関によって実行されたテスト)に失敗したシナリオを考えてみてください。
- 開発サイクル自体の開始時に規制要件を取得することをお勧めします。同じことをテストチェックリストの一部にする必要があります。
- そうすることで、製品が規制チェックリストにも認定されていることを確認します。
#8)アップグレードテスト:
- IoTは、複数のプロトコル、デバイス、オペレーティングシステム、ファームウェア、ハードウェア、ネットワーク層などの組み合わせです。
- アップグレードを実行するときは、システムまたは上記の関連項目のいずれかに対して、アップグレードに関連する問題を克服するために、徹底的な回帰テストを実行するか、戦略を採用する必要があります。
IoTテストの課題
テスターがIoTで直面する課題は次のとおりです。
#1)ハードウェア-ソフトウェア メッシュ
IoTは、さまざまなハードウェアおよびソフトウェアコンポーネント間で緊密に結合されたアーキテクチャです。システムを構成するのはソフトウェアアプリケーションだけでなく、ハードウェアアプリケーション、センサー、通信ゲートウェイなども重要な役割を果たします。
機能テストだけでは、システムを完全に認定することはできません。環境やデータ転送などは常に相互に依存しているため、汎用システム(ソフトウェア/ハードウェアコンポーネントのみ)のテストに比べて面倒な作業になります。
#2)デバイスインタラクションモジュール
これはハードウェアとソフトウェアの異なるセット間のアーキテクチャであるため、リアルタイム/ほぼリアルタイムで相互に通信することが必須になります。両方が互いに統合されると、セキュリティ、下位互換性、アップグレードの問題などがテストチームにとって課題になります。
#3)リアルタイムデータテスト
このようなシステムではパイロットテスト/規制テストが必須であると前述したように、このようなデータを取得することも非常に困難になります。
テストチームに所属している、規制チェックポイントを取得する、またはパイロットにシステムを展開するのは非常に困難です。この例のように、システムがヘルスケアに関連している場合、このステップはさらに困難になります。したがって、それはテストチームにとって大きな課題であり続けます。
#4)UI
IoTは、すべてのプラットフォーム(iOS、Android、Windows、Linux)に属するデバイスに分散しています。現在、デバイスでテストすることはできますが、考えられるすべてのデバイスでテストすることはほとんど不可能です。
所有またはシミュレートしていないデバイスからUIにアクセスする可能性を排除することはできません。それは克服するのが難しい課題です。
#5)ネットワークの可用性
IoTは、常に高速で通信されるデータがすべてであるため、ネットワーク接続は重要な役割を果たします。 IoTアーキテクチャは、あらゆる種類のネットワーク接続/速度でテストする必要があります。
これをテストするために、仮想ネットワークシミュレータは主にネットワークの負荷、接続性、安定性などを変更するために使用されます。ただし、リアルタイムのデータ/ネットワークは常に新しいシナリオであり、テストチームは長期的にボトルネックがどこで発生するかを知りません。
IoTテストツール
IoTシステムのテスト中に使用されるさまざまなツールがあります。
それらはターゲットに基づいて分類することができ、以下のように与えられます。
#1)ソフトウェア:
- Wireshark : これは、インターフェースのトラフィック、送信元/宛先ホストアドレスなどを監視するために使用されるオープンソースアプリケーションです。
- Tcpdump : これは、GUIがないことを除いて、Wiresharkと同様の仕事をします。これはコマンドラインベースのユーティリティであり、ユーザーがネットワークを介して送受信されるTCP / IPおよびその他のパケットを表示するのに役立ちます。
#2)ハードウェア:
- JTAGドングル: これは、PCアプリケーションのデバッガーに似ています。これは、ターゲットプラットフォームコードのデバッグに役立ち、変数を段階的に表示します。
- デジタルストレージオシロスコープ : これは、タイムスタンプ、電源のグリッチ、シグナルインテグリティチェックを使用してさまざまなイベントをチェックするために使用されます。
- ソフトウェア無線 : これは、さまざまなワイヤレスゲートウェイの受信機と送信機をエミュレートするために使用されます。
私たちを取り巻く発展途上国にとって、IoTは成長市場であり、多くの機会があります。テスターが開発の世界で生き残るためにIoTが不可欠になる時期はそう遠くありません。
IoT対応のガジェット、スマートデバイスアプリケーション、および通信モジュールは、さまざまなIoTサービスのパフォーマンスと動作を調査および評価する上で重要な役割を果たします。
IoT対応のデバイスとサービスの設計が不十分だと、アプリケーションの正しい機能が妨げられ、エンドユーザーエクスペリエンスに悪影響を与える可能性があります。
要約する
IoTテストのアプローチは、関連するシステム/アーキテクチャに基づいて異なる場合があります。テスターは、要件に基づいてテストするのではなく、ユーザーとしてのテスト(TAAS)アプローチに集中する必要があります。
IoTテストのもう1つの主要なプレーヤーは、統合テストです。統合テスト計画がシステムの欠陥をキャッチするのに十分正確で堅牢であれば、IoTは成功します。
IOTテストは困難で困難な作業かもしれませんが、テストチームがデバイス、プロトコル、ハードウェア、オペレーティングシステム、ファームウェアなどのこのような複雑なメッシュを認定することも非常にエキサイティングです。
著者について: これはSubhasisによるゲスト投稿です。彼は、ソフトウェア品質保証、ソフトウェア開発、およびテストの経験の分野でFortune 500IT企業で8年以上の企業経験を持つチームリーダーとして働いています。
配列javaに追加する方法
更新:IoTトピックに関する有用なインフォグラフィックを追加しました。おかげで webeeky.com これを私たちと共有してくれて。
以下にIoTクエリ/コメントを投稿してください。