物聯(lián)網(wǎng)(IoT)正在席卷市場。將傳感器和軟件嵌入到物理對象中以收集數(shù)據(jù)并通過無線網(wǎng)絡(luò)傳輸數(shù)據(jù)的能力為監(jiān)控制造,遠程控制設(shè)備和自動化創(chuàng)造了新的可能性。該技術(shù)也給開發(fā)人員帶來了問題。它讓測試過程更復(fù)雜,還需要考慮安全問題,這需要更多時間。
越來越多的物聯(lián)網(wǎng)設(shè)備
支持物聯(lián)網(wǎng)的設(shè)備已經(jīng)發(fā)展到看起來像任何其他云應(yīng)用程序。代碼在與外部數(shù)據(jù)源(如測量溫度或濕度)交互的依賴項上運行。
正是這些依賴關(guān)系使物聯(lián)網(wǎng)設(shè)備難以測試。測試既復(fù)雜又昂貴,因為它需要協(xié)作和實時數(shù)據(jù)共享。增加測試復(fù)雜性的是物聯(lián)網(wǎng)數(shù)據(jù)的種類和數(shù)量,數(shù)據(jù)源的多樣性以及組件的復(fù)雜性。
使物聯(lián)網(wǎng)測試復(fù)雜化的因素
在物聯(lián)網(wǎng)開發(fā)方面,測試仍然是制造商和集成商面臨的最大障礙之一。以下是與 IoT 設(shè)備測試相關(guān)的一些特定問題。
1、通信協(xié)議:IoT 設(shè)備使用多個通信協(xié)議,包括消息隊列遙測傳輸 (MQTT)、可擴展消息傳遞和狀態(tài)協(xié)議 (XMPP)、約束應(yīng)用程序協(xié)議 (CoAP) 和高級消息隊列協(xié)議 (AMQP)。這些協(xié)議連接設(shè)備和服務(wù)器,并促進數(shù)據(jù)交換。測試工具應(yīng)該能夠使用這些通信協(xié)議來測試應(yīng)用程序編程接口 (API),并確保它們與設(shè)備配合使用。
2、多個物聯(lián)網(wǎng)云平臺:IoT 連接應(yīng)用程序托管在云服務(wù)提供商 (CSP) 環(huán)境中,例如 Amazon Web Services (AWS) 和 Azure IoT。需要針對每個云平臺測試物聯(lián)網(wǎng)設(shè)備,以確保可用性。具有不同功能的物聯(lián)網(wǎng)設(shè)備會生成不同類型的數(shù)據(jù),例如發(fā)送到云的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。隨著越來越多的設(shè)備被添加到云平臺,實時測試變得具有挑戰(zhàn)性,因為必須跨不同的云環(huán)境測試多個設(shè)備。
3、安全和隱私威脅:物聯(lián)網(wǎng)設(shè)備極易受到外部攻擊,物聯(lián)網(wǎng)網(wǎng)絡(luò)攻擊也很普遍。大多數(shù)用戶不采取任何措施來保護他們的物聯(lián)網(wǎng)設(shè)備,因為他們認(rèn)為制造商已經(jīng)納入了安全措施。應(yīng)該有一個強有力的安全策略。此外,還必須檢查設(shè)備的功能和性能。必須檢查設(shè)備密碼保護,數(shù)據(jù)保護,數(shù)據(jù)加密,軟件更新和固件升級。
4、多樣化的設(shè)備:由于有這么多不同的操作系統(tǒng)和設(shè)備,因此不可能測試應(yīng)用程序的所有可能的兼容性和功能組合。每個 IoT 設(shè)備具有不同的功能,并且根據(jù)環(huán)境和平臺的不同,其性能會有所不同。理想情況下,設(shè)備應(yīng)使用不同的設(shè)備進行測試,并且良好的測試覆蓋率將包括最受歡迎的平臺。升級是另一個挑戰(zhàn)。升級后,應(yīng)在所有平臺上的目標(biāo)設(shè)備上測試軟件和固件更新,以確保它們正常工作。
5、網(wǎng)絡(luò)可用性:物聯(lián)網(wǎng)的好處是可靠和快速的數(shù)據(jù)通信。這需要始終在線的網(wǎng)絡(luò)性能,但物聯(lián)網(wǎng)設(shè)備肯定會遇到網(wǎng)絡(luò)中斷和配置問題。測試挑戰(zhàn)是在每種可能的網(wǎng)絡(luò)條件下充分測試物聯(lián)網(wǎng)的可靠性和性能。
6、實時數(shù)據(jù)測試:數(shù)據(jù)量、種類和速度對實時測試提出了挑戰(zhàn)。物聯(lián)網(wǎng)傳感器生成大量數(shù)據(jù),這些數(shù)據(jù)是非結(jié)構(gòu)化和復(fù)雜的,因此需要清理以進行最終處理。物聯(lián)網(wǎng)測試將確保他們能夠處理不同類型的數(shù)據(jù)。使測試更加困難的是,在數(shù)據(jù)量可能隨時變化的世界中,獲取、組織和評估這些數(shù)據(jù)之前,在數(shù)據(jù)崩潰之前。
這些只是與物聯(lián)網(wǎng)測試相關(guān)的一些挑戰(zhàn)。還有很多其他的,比如硬件質(zhì)量和安全測試,以及缺乏標(biāo)準(zhǔn)化。
構(gòu)建和測試穩(wěn)定、高質(zhì)量的物聯(lián)網(wǎng)應(yīng)用程序似乎是不可能的,但可以通過適當(dāng)?shù)臏?zhǔn)備來實現(xiàn)。如果您計劃測試,將它們分解為較小的任務(wù),并確保測試環(huán)境可以處理云和虛擬化策略,則物聯(lián)網(wǎng)測試可能會更容易。