ソフトウェアの品質を学びまくる

ソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。

「IoTのテストでは何が変わっているのか」 #IoTテストアドカレ(11)

はじめに

 この記事は、IoTのテストに関するネットの記事を読んでいく、「IoTテスト アドベントカレンダー」の11日目です。10日目はコチラ。

kzsuzuki.hatenablog.com

プロファイル

  • タイトル: 『How Testing for the Internet of Things (IOT) is it different?』
  • 著者: Sunil Sehgal
  • 参照サイト: LinkedIn

ポイント

  • IoTとは「内外の環境と通信し、知的な決定を行うためのセンサーあるい組み込みテクノロジーを内蔵した、物理的なモノのネットワーク」(Gartner)。
  • IoTをプロダクトを「スマート」にしている要素は以下の4つ。

    • 無線通信
    • センシング
    • 個体識別性
    • 内蔵エレクトロニクス
  • IoTのテストは、帯域、接続の品質、ネットワークからの切断など、インターネットへの接続性に関する様々な側面を確認するプロセス。ネットワークを流れるビッグデータがさらに複雑さを増加させている。IoTに対するテスト計画で考慮すべき点は以下。

    • ユーザビリティ・UX: 機能を把握し、使い方を理解できること。
    • 接続性: たとえば電力供給が断たれてもデータが失われず、復旧後に正しく配信できること。
    • セキュリティ: セキュリティ上の問題に対し、IoTデバイスは脆弱。
    • 相互接続性: 様々なデバイスが、デバイス間あるいは外部のデバイス間で機能をサポートできること。
    • 互換性: 様々な構成での動作、プロトコルやプロダクトのバージョンの上位/下位互換性。
    • 性能: ネットワーク通信と内部計算の性能。
    • 自動化: 現時点では、直観に基づいてテストするために手動テストが重要な役割を担っている。
  • 多彩なIoTサービスに対し、テストインフラへの依存性を軽減するため、サービスの仮想化がカギ。未完成のコンポーネントのふるまいをエミュレートできるような仮想化を行う。

  • 従来のテストのアプローチでは不十分。「顧客によるテスト」がキー。テストプロセスを顧客のニーズに合わせてテーラリングする。

所感

 ここ数日の資料と違って、無線通信の規格の話はありませんでした。おそらくここでは、規格認証は通っている前提なのでしょう。
 ちょっと意外だったのは、IoTのテストにおいて手動テストが重要とされている点です。もちろん上述のような規格準拠のテストやセキュリティ周りのテストは専用の自動テストツールが必要ですが、それは通過した前提で、その後のエンドユーザによるテスト(Test by Customer)により重きをおいています。シナリオテストや探索的テストといった技法・アプローチが、このあたりでは重要になってくるのでしょう。

 なお、繰り返し引用されているGartnerの予測については、コチラがおそらく元ネタですね。

www.gartner.com

 12日目はコチラです。(12月12日の0時に公開されます)

kzsuzuki.hatenablog.com