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

旧ブログからゆっくり移行中です。http://blog.livedoor.jp/prjmng/

「なぜ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