即使是最小的物聯網設備也生活在復雜的環境中,在開發時可能無法完全理解。事實上,我已經第一次看到與設備連接到 Internet 相關的安全問題。在之前的博客中,我討論了面向服務的設計、開發和測試的好處。在這里,我將基于服務的測試和服務虛擬化帶到下一步:虛擬實驗室。
建立一個真實的物理測試實驗室環境是困難的,即使完成,它也成為系統測試的主要瓶頸。虛擬實驗室消除了這一瓶頸,同時為基于服務的物聯網設備測試提供了新的優勢。
最近的一項研究 發現,80% 的物聯網應用程序沒有經過安全漏洞測試。第二項調查發現,56% 的嵌入式設備開發人員沒有審查源代碼的安全漏洞,37% 的人沒有書面編碼標準。這些并不是令人鼓舞的統計數據,很明顯,物聯網設備制造商需要更加認真地對待質量、安全和保障。
測試自動化是確保測試更加嚴格、一致和徹底的重要步驟。測試,尤其是針對安全漏洞的測試,通常被認為過于昂貴和復雜,因此被匆忙或完全忽視。但是,讓您的客戶(和攻擊者)為您測試 IoT 設備的安全性是一個代價高昂的錯誤。
真正的測試實驗室需要物聯網設備計劃工作環境的最接近物理表現,但即使在最復雜的實驗室中,也很難擴展到現實環境。虛擬實驗室解決了這個問題,因為它們已經超越了對難以找到(或不存在)的硬件依賴項的需求。將復雜的服務虛擬化與其他關鍵的測試自動化工具結合使用。例如:
服務虛擬化 模擬被測設備 (DUT) 執行完整系統測試所需的所有依賴項。這包括設備使用的所有連接和協議,并對通信做出實際響應。例如,虛擬化可以模擬物聯網設備與之通信的企業服務器后端,以提供定期的傳感器讀數。同樣,虛擬化可以以現實的方式控制物聯網設備。
服務和 API 測試 提供了一種驅動 DUT 的方式,以確保它提供的服務(和提供的 API)完美執行。這些測試可以通過自動化平臺進行操作,以根據需要執行性能和安全測試。
運行時監控 實時檢測 DUT 上的錯誤并捕獲重要的跟蹤信息。例如,在成品中可能無法檢測到的內存泄漏可以及早、廉價地發現和解決。
測試實驗室管理和分析 提供對虛擬實驗室的總體控制。虛擬化后,可以根據需要復制整個實驗室設置,并且可以自動化和重復運行測試。分析提供活動和結果的必要摘要。
所示的邊緣計算 IoT 生態系統描述了部署嵌入式 IoT 設備的典型環境。傳感器和控制設備將信息傳遞到邊緣,邊緣是一系列設備或應用程序,可以接收信息并使用邏輯與設備或云端進行通信。然后,云具有更高級別的邏輯,允許它根據該信息采取行動。云是一組服務——微服務、與數據庫的連接、附加邏輯或第三方服務——它們構成了一個由功能構建塊組成的復雜網絡。
當需要在物聯網生態系統中進行測試時,需要在多個層面進行測試。例如,要測試網關中引入的新功能,需要驗證網關可以接收來自傳感器的信息,并且可以按照您構建業務邏輯的方式進行通信。
為了驗證這種復雜性, Parasoft Virtualize (模擬所需的依賴項)和 Parasoft SOAtest (驅動測試)可以模擬這些輸入。這些工具通過網絡模擬來自設備的真實調用(無論是 REST/HTTP 等協議,還是 CoAP、XMPP 或 MQTT 等 IoT 流行協議),并測試 DUT(本例中的網關)是否與通過驗證從 SOAtest 返回的響應來適當地使用云服務。
如果有外部方式將信息傳遞到該網關,那么也可以模擬這些調用。Virtualize 穩定了測試環境,以創建對利用來自 SOAtest 的測試數據的請求的可預測響應,全面測試網關和服務。
最后,頂級服務可能正在與 Edge 以及其他傳感器和外部參與者進行通信,重要的是要知道來自您的輸入的流正在通過環境返回后端系統。 Virtualize 將這些調用模擬到邊緣(到 IoT 設備)的接收,然后將該信息傳遞回 SOAtest,以確認調用進行了往返并且在 IoT 生態系統中的行為符合預期。
正常的測試環境很昂貴,可能超出大多數開發經理的預測。voke Research的一項研究 發現,預生產實驗室的平均投資為 1200 萬美元。配置實驗室的平均時間是 18 天,另外還有 12 到 14 天用于配置。即使在花費了這些成本和時間之后,由于訪問權限有限,這些實驗室還是成為測試的瓶頸。此外,物理實驗室的日常運營成本很高。在大多數情況下,復制物理實驗室以提高測試吞吐量的成本過高。
在一篇文章 The ABCs of Service Virtualization中,服務虛擬化的好處被歸結為 通過更好地控制虛擬化依賴關系 的行為來改進測試設備的 訪問,從而降低成本并提高測試 速度。以類似的方式,讓我們分解虛擬物聯網測試實驗室的好處:
通過更好和更完整的測試提高質量。基于服務的測試確保關鍵用例得到執行和完善。自動化性能測試可確保在重負載下的穩定性和可靠性。此外,運行時監控可確保檢測和跟蹤難以發現的錯誤。
通過模擬畸形數據的自動滲透測試提高安全性。負載測試可以模擬拒絕服務攻擊,運行時監控可以檢測安全漏洞。測試可重復性確保每次迭代、補丁或發布都以完全相同的方式進行測試。此外,簡化了測試開發和操作(即改進和創建新測試)。
通過消除完整系統測試所需的昂貴依賴項來減少測試時間、風險和成本。自動化提供手動測試無法提供的可重復性和一致性,同時提供更好、更完整的測試。虛擬實驗室減少了物理實驗室設置所需的準備時間,從而影響了總測試時間。
審核編輯:郭婷
-
傳感器
+關注
關注
2551文章
51172瀏覽量
754245 -
嵌入式
+關注
關注
5085文章
19139瀏覽量
305779 -
IOT
+關注
關注
187文章
4214瀏覽量
196955
發布評論請先 登錄
相關推薦
評論