除了硬件之外,IoT 設備及其相關數據也應當納為物聯網服務的一部分。有了這樣的概念,再來做項目測試時將和以往有所不一樣。
我們需要將更多的關注點集中在 IoT 提供的服務上。雖然“物體”是物聯網中提到最多的術語,但現實情況是消費者和企業(yè)并不特別關注物體或者設備本身。物聯網真正的核心部分在于這些設備產生的數據以及它們所支持的業(yè)務。哪怕是一個非常小的傳感器,也應該提供有用的物聯網服務。雖然以往的嵌入式設備開發(fā)人員大多時候不會考慮到服務層面,但從現在開始他們應當轉變思維方式,以滿足物聯網世界中網絡連接所需的功能、質量、性能和安全方面的要求。
IoT 由各類服務組成
盡管“物體”一詞是 IoT 術語的一部分,但它并非物聯網的核心。實際上,信息采集、基礎設施的控制以及這些設備提供的真實世界的感知能力才是物聯網的關鍵。
消費者對自己房間的溫度值或者某個攝像機采集的視頻并不感興趣。他們在乎是更高層面的東西: 安全系統保證能夠檢測到房子周圍的一切運動,或者他們的空調能夠自動保持舒適的溫度。企業(yè)在乎的不是工廠中單個邏輯控制器的輸出,而是裝配線的實際生產量。這是思維方向的重大轉變,因為它迫使設備開發(fā)人員更好地了解其產品及其業(yè)務的應用場景。
設備是服務的重要組成部分
單個的嵌入式設備可能無法提供一項完整的服務; 然而,眾多設備連接到一個較大的系統中即可提供一項強大的服務。比方說,在汽車中發(fā)動機控制單元(ECU)的作用單獨使用時僅僅用于確保發(fā)動機基本的運轉和排放,但是當它通過無線連接將發(fā)動機數據發(fā)送給汽車的中央服務器時,就可以實現對發(fā)動機燃油消耗數據的跟蹤。這些數據可用于智能路線規(guī)劃和運營成本的預估。因此,ECU 便成為企業(yè)戰(zhàn)略決策的關鍵點。
隨著我們以設備為中心的思維轉向以服務為中心,新的思維方式擴大了單個設備的運行環(huán)境和使用范圍,從而影響了整個系統的設計。
集合:物聯網由大量的“物體”組成,每一個單獨的物體都有自己的價值和功能。設備需要組織在一起,以便在更高的層面提供有用的信息。例如,HVAC(暖通空調) 系統不需要報告每個房間的溫度。單個傳感器向監(jiān)控系統上報信息(如工業(yè)控制中的 SCADA 系統),這些系統將作出本地決策,并將其報告給遠程更高級別的系統。
自我監(jiān)控:如果每個傳感器都一直上報其獲取到的所有信息,那么高層次的業(yè)務決策過程將被海量的數據所淹沒。在我們的 HVAC 示例中,本地的監(jiān)控系統可以根據中央處理器設置的數值(例如,基于天氣和電費率)來維護建筑物溫度。因此,企業(yè)級系統將依靠 HVAC 系統提供的基礎服務,可以報告諸如能耗的關鍵信息。
可替換性: 隨著時間的推移,設備集合所提供的服務變得比單個設備本身更有價值。為了滿足新的業(yè)務需求,現有的傳感器和控制器可以完全用新的一批來替換掉。不管是因為設備故障還是系統升級,硬件設備都是可以靈活替換的。從表面上看,這對于設備制造商來說似乎是一件壞事,但是那些真正明白服務和質量的重要性的智能企業(yè)終將發(fā)展成為市場的領導者。
基于服務的測試對于物聯網項目的成敗至關重要
一旦遵循了以服務為中心的理念,那么就必須采用對應的設計、實施和測試流程。雖然服務提供業(yè)務價值,但是確保設備滿足服務層的要求也是至關重要的。顯然,單元、子系統和系統級別的功能測試仍然很重要,并且擴大測試范圍的好處也立即可見。
和以往僅僅滿足個別設備的質量不同,現在我們擴大了范圍,考慮的是所提供服務的質量。在 HVAC 示例中,新的溫度傳感器可能更輕量,成本更低,電池壽命更長,無線覆蓋范圍更廣。但是,它需要與整個建筑物的控制系統一起工作才能體現出價值。
在服務層面進行測試以確保滿足非功能性需求。例如,在設備級或常規(guī)的軟件單元測試期間難以評估性能和可靠性。基于服務的測試可以模擬設備的操作環(huán)境,以提供逼真的負載。在 HVAC 示例中,新的溫度傳感器可以用不同的請求速率進行測試,以查看其是否符合性能要求。
對 IoT 系統的網絡攻擊將來自網絡本身,通過攻擊暴露的 API?;诜盏臏y試可以通過模糊(隨機和錯誤的數據輸入)或拒絕服務攻擊來創(chuàng)建強大的安全測試模擬環(huán)境。HVAC 示例中的新溫度傳感器可能會按預期請求正常運行,但在過載時會崩潰。攻擊者可能會利用這一點來重載系統并導致中斷。





