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