はじめに
この記事は、IoTのテストに関するネットの記事を読んでいく、「IoTテスト アドベントカレンダー」の14日目です。13日目はコチラ。
プロファイル
- タイトル: 『Why Internet of Things (IoT) Software Testing Matters』
- 著者: Parasoft
- 参照サイト: Parasoft
ポイント
- スマートホームにしろ、交通システムにしろ、IoTシステムは多くのコンポーネントが1つのシステムとして動作する。複雑な相互作用のシミュレート、個々のコンポーネントの複製、機能/非機能要件のテストは非常に難しい。システムの外で起こったことによるエラーをハンドリングできるか、シナリオを立ててテストする必要がある。
- IoT環境は公共のネットワークを通して接続されるため、デバイスのメーカーのコントロールを超える。
- IoTは、システムオブシステムズ。たとえばコネクテッドカーはそれ自体が部品の塊だが、IoT環境では1つのコンポーネントとみなされる。
このようなシステムでは、テストのレイヤーが「独立したコンポーネント」、「サブシステムの中におけるコンポーネント」、「より大きなシステムの中におけるコンポーネント」と分かれる。 - IoTシステムは、セーフティクリティカルシステムの故障個所になりうる。各コンポーネントに対するリスク評価が必要。
ここでのリスクには、「コンポーネントの故障についてのリスク」と「故障からの復旧についてのリスク」の2つの側面がある。たとえば飛行機でも、機械的な部分の故障は何とかカバーできるかもしれないが、フライトコントロールシステムが壊れてしまえば復旧できない可能性がある。
所感
短い資料ですが、システムオブシステムズの考えに基づくテストのレイヤーと、リスク評価はこれまであまりなかったトピックですね。
システムオブシステムズやセーフティクリティカルシステムについては、JSQTBのお勉強の時の過去記事がありましたので、ご参考まで。
リスク評価は、システム内のデバイスや状態の数、インタフェースの数、想定されるシナリオの無数さを考えると、テストにおいてどうしても必要になってくるものと思います。SIL(Safety Integrity Level)、および機能安全のこともよく知らないので、併せて学んでいく必要があるでしょう。
15日目はコチラです。(12月15日の0時に公開されます)