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

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

「なぜIoTのテストが問題になるのか」 #IoTテストアドカレ(14)

はじめに

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

kzsuzuki.hatenablog.com

プロファイル

  • タイトル: 『Why Internet of Things (IoT) Software Testing Matters』
  • 著者: Parasoft
  • 参照サイト: Parasoft

ポイント

  • スマートホームにしろ、交通システムにしろ、IoTシステムは多くのコンポーネントが1つのシステムとして動作する。複雑な相互作用のシミュレート、個々のコンポーネントの複製、機能/非機能要件のテストは非常に難しい。システムの外で起こったことによるエラーをハンドリングできるか、シナリオを立ててテストする必要がある。
  • IoT環境は公共のネットワークを通して接続されるため、デバイスのメーカーのコントロールを超える。
    • セキュリティ: ソフトウェア自体が安全でも、ネットワークが攻撃にさらされるかもしれない。
    • 信頼性: ソフトウェアに柔軟性があっても、ネットワークの可用性がコントロール外である。
    • 規模 : 内部インフラの規模はコントロールできても、公共のネットワークはそうではない。
  • IoTは、システムオブシステムズ。たとえばコネクテッドカーはそれ自体が部品の塊だが、IoT環境では1つのコンポーネントとみなされる。
    このようなシステムでは、テストのレイヤーが「独立したコンポーネント「サブシステムの中におけるコンポーネント「より大きなシステムの中におけるコンポーネントと分かれる。
  • IoTシステムは、セーフティクリティカルシステムの故障個所になりうる。各コンポーネントに対するリスク評価が必要。
    ここでのリスクには、コンポーネントの故障についてのリスク」「故障からの復旧についてのリスク」の2つの側面がある。たとえば飛行機でも、機械的な部分の故障は何とかカバーできるかもしれないが、フライトコントロールシステムが壊れてしまえば復旧できない可能性がある。

所感

 短い資料ですが、システムオブシステムズの考えに基づくテストのレイヤーと、リスク評価はこれまであまりなかったトピックですね。
 システムオブシステムズやセーフティクリティカルシステムについては、JSQTBのお勉強の時の過去記事がありましたので、ご参考まで。

kzsuzuki.hatenablog.com

 リスク評価は、システム内のデバイスや状態の数、インタフェースの数、想定されるシナリオの無数さを考えると、テストにおいてどうしても必要になってくるものと思います。SIL(Safety Integrity Level)、および機能安全のこともよく知らないので、併せて学んでいく必要があるでしょう。

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

kzsuzuki.hatenablog.com