物聯(lián)網(wǎng)測(cè)試: 挑戰(zhàn)、工具和測(cè)試策略
什么是物聯(lián)網(wǎng)?
物聯(lián)網(wǎng)是利用嵌入式電子、微芯片等技術(shù)將汽車(chē)、家電、醫(yī)療設(shè)備連接起來(lái),收集和交換不同種類(lèi)的數(shù)據(jù),稱為物聯(lián)網(wǎng)。這種技術(shù)允許用戶通過(guò)網(wǎng)絡(luò)遠(yuǎn)程控制設(shè)備。
常見(jiàn)的物聯(lián)網(wǎng)技術(shù)應(yīng)用:
可穿戴技術(shù):例如健康、心率監(jiān)測(cè)、睡眠活動(dòng)等等
基礎(chǔ)設(shè)施:例如城市交通管理調(diào)度
醫(yī)療:例如監(jiān)測(cè)患者體內(nèi)液體水平,并根據(jù)需要啟動(dòng)液體轉(zhuǎn)移等等
物聯(lián)網(wǎng)技術(shù)
下面是物聯(lián)網(wǎng)中常用的幾種技術(shù):
RFID,即Radio Frequency Code,射頻編碼。扁鵲及EPC(電子產(chǎn)品編碼)
NFC,即Near Field Communication,近場(chǎng)通信,通常用于電子設(shè)備之間實(shí)現(xiàn)雙向交互,目前在智能手機(jī)應(yīng)用廣泛,主要用于非接觸式支付交易
藍(lán)牙,即Bluetooth,在短距離通信場(chǎng)景中應(yīng)用,主要用于可穿戴設(shè)備
Z-Wave,一種低功率射頻通信技術(shù),主要用于家庭自動(dòng)化、燈具控制,大家通俗所知道的智能家居這塊
WiFi,這是物聯(lián)網(wǎng)最常用的技術(shù),在局域網(wǎng)內(nèi),用于通信,文件傳輸、數(shù)據(jù)和消息等
物聯(lián)網(wǎng)測(cè)試策略
下面我們看物聯(lián)網(wǎng)測(cè)試常用的測(cè)試策略有哪些:
可用性,我們需要對(duì)物聯(lián)網(wǎng)設(shè)備及應(yīng)用程序的每一個(gè)功能、數(shù)據(jù)顯示、數(shù)據(jù)處理、消息通知、警告信息等等各方面進(jìn)行徹底的測(cè)試。
物聯(lián)網(wǎng)安全,物聯(lián)網(wǎng)是以數(shù)據(jù)為中心的,所有連接設(shè)備/系統(tǒng)都基于可用的數(shù)據(jù)進(jìn)行交互,當(dāng)涉及到設(shè)備之間的數(shù)據(jù)流時(shí),總有機(jī)會(huì)獲取到傳輸中的數(shù)據(jù),從測(cè)試的角度來(lái)看,當(dāng)數(shù)據(jù)在設(shè)備間進(jìn)行交互時(shí),我們需要檢查數(shù)據(jù)是否受到保護(hù)/加密,還是從UI來(lái)看,我們也是需要確保有強(qiáng)密碼進(jìn)行保護(hù)
連通性,由于物聯(lián)網(wǎng)是軟硬復(fù)雜組網(wǎng),并與人的關(guān)系更為密切,連通性起著至關(guān)重要的作用,所有的系統(tǒng)必須一直可用,并且可以與相關(guān)系統(tǒng)保持無(wú)縫連接。對(duì)于這些連接有兩個(gè)非常重要的方面需要關(guān)注:
3.1 建立連接和運(yùn)行時(shí),設(shè)備的連接、數(shù)據(jù)傳輸和接收作業(yè)任務(wù)時(shí)應(yīng)該是無(wú)縫的
3.2 關(guān)閉連接場(chǎng)景時(shí),不管是主動(dòng)還是被動(dòng)關(guān)閉連接場(chǎng)景,必須有相應(yīng)的通知或警報(bào)信息
最關(guān)鍵是不管是什么時(shí)候都不應(yīng)該有數(shù)據(jù)丟失
性能測(cè)試,無(wú)論什么系統(tǒng),都需要確保其具有足夠的可伸縮性,所以性能測(cè)試是必備的測(cè)試策略
兼容性,從物聯(lián)網(wǎng)系統(tǒng)的復(fù)雜架構(gòu)來(lái)看,兼容性是必須的,需要兼容不同操作系統(tǒng),同一類(lèi)型操作系統(tǒng)的不同版本、瀏覽器類(lèi)型及各自的版本、設(shè)備的生成、通信模塊、甚至不同廠商的設(shè)備兼容等等
試點(diǎn)測(cè)試,就物聯(lián)網(wǎng)而言,試點(diǎn)測(cè)試是必須的,只在實(shí)驗(yàn)室里進(jìn)行測(cè)試是無(wú)法確保設(shè)備能正常的環(huán)境下運(yùn)行的,所以在實(shí)際的環(huán)境下進(jìn)行試點(diǎn)測(cè)試是確保物聯(lián)網(wǎng)服務(wù)可用的必備步驟
第三方認(rèn)證測(cè)試,對(duì)于很多物聯(lián)網(wǎng)服務(wù)產(chǎn)品需要進(jìn)行第三方認(rèn)證測(cè)試,例如醫(yī)療系統(tǒng),需要通過(guò)相關(guān)的監(jiān)管機(jī)構(gòu)要求的檢測(cè),只有這樣才能確保該產(chǎn)品通過(guò)了相關(guān)監(jiān)管機(jī)構(gòu)的認(rèn)證
物聯(lián)網(wǎng)測(cè)試挑戰(zhàn)
下面我們看下在物聯(lián)網(wǎng)環(huán)境下的測(cè)試要面臨著哪些方面的挑戰(zhàn)。
軟硬混合網(wǎng)
物聯(lián)網(wǎng)是一種架構(gòu),它由各種硬件和軟件組件緊密耦合而成的,不僅是軟件的應(yīng)用,硬件、傳感器、通信網(wǎng)關(guān)等也起著至關(guān)重要的作用。
只有功能測(cè)試是不足以完成驗(yàn)證系統(tǒng),在環(huán)境、數(shù)據(jù)傳輸?shù)确矫婵偸窍嗷ヒ蕾嚨模虼伺c通用軟件系統(tǒng)的測(cè)試相比,物聯(lián)網(wǎng)應(yīng)用的測(cè)試就顯得更為復(fù)雜和乏味了。
2. 設(shè)備集成
由于物聯(lián)網(wǎng)應(yīng)用是硬件和軟件的不同集合之間的體系結(jié)構(gòu),因此必須實(shí)時(shí)/接近實(shí)時(shí)的通信,當(dāng)進(jìn)行集成時(shí),安全性、向后兼容性、升級(jí)等就會(huì)成為測(cè)試的一大挑戰(zhàn)。
3. 實(shí)時(shí)數(shù)據(jù)測(cè)試
由于物聯(lián)網(wǎng)應(yīng)用的復(fù)雜性和特殊性,想要獲得物聯(lián)網(wǎng)系統(tǒng)的實(shí)時(shí)數(shù)據(jù)就顯得非常困難或是成本巨大,但實(shí)時(shí)數(shù)據(jù)的測(cè)試又是確保物聯(lián)網(wǎng)服務(wù)質(zhì)量的至關(guān)重要的方向,因此這對(duì)于測(cè)試團(tuán)隊(duì)來(lái)講是一件極具挑戰(zhàn)的工作
4. 兼容性測(cè)試
由于眾多智能眾多的出現(xiàn),物聯(lián)網(wǎng)應(yīng)用會(huì)分布在不同的平臺(tái)上,例如ios、android、windows、linux等等,但我們不能忽略我們不擁有或不模擬設(shè)備上的測(cè)試,我們無(wú)法去在所有的設(shè)備上進(jìn)行測(cè)試驗(yàn)證,即便現(xiàn)在有所謂的云兼容測(cè)試,但依舊無(wú)法滿足我們實(shí)際兼容性測(cè)試的需要(一是直接成本不允許投入,二是無(wú)法投入這么大的工作量),所以物聯(lián)網(wǎng)應(yīng)用的兼容性測(cè)試也會(huì)是一個(gè)挑戰(zhàn)
5. 網(wǎng)絡(luò)可用性
在物聯(lián)網(wǎng)中,網(wǎng)絡(luò)連接起著至關(guān)重要的作用,因?yàn)槲锫?lián)網(wǎng)的基礎(chǔ)設(shè)施是以更快的傳輸數(shù)據(jù)為基礎(chǔ)的,所以我們需要在不同的網(wǎng)絡(luò)環(huán)境下進(jìn)行測(cè)試。
為了模擬不同的網(wǎng)絡(luò)環(huán)境,我們需要改變網(wǎng)絡(luò)負(fù)載、連接性、穩(wěn)定性等,另外從長(zhǎng)遠(yuǎn)來(lái)看,我們很難去預(yù)判出用戶新場(chǎng)景的變化所帶來(lái)的復(fù)雜性。
所以網(wǎng)絡(luò)可用性的測(cè)試將是一個(gè)巨大的挑戰(zhàn)。
測(cè)試工具
物聯(lián)網(wǎng)測(cè)試過(guò)程中需要用到各式各樣的工作,下面根據(jù)目標(biāo)需求進(jìn)行分類(lèi)說(shuō)明:
1. 軟件
1.1 wireshark,這是開(kāi)源的協(xié)議分析工具,是必備的神器,是最強(qiáng)大的分析工具
1.2 Tcpdump,這是與wireshark類(lèi)似的工作,只是沒(méi)有GUI,它是一個(gè)基于命令行,可以幫助我們捕獲通過(guò)網(wǎng)絡(luò)傳輸?shù)膖cp/ip和其他數(shù)據(jù)包
這兩個(gè)協(xié)議分析工具,是從事物聯(lián)網(wǎng)或網(wǎng)絡(luò)通信領(lǐng)域必備的工具,但筆者以為,這是軟件測(cè)試從業(yè)者必備的工具
2. 硬件
2.1 JTAG Dongle:這類(lèi)似于PC應(yīng)用程序中的調(diào)試器。這有助于調(diào)試目標(biāo)平臺(tái)代碼并逐步顯示變量
2.2 示波器:用于檢查各種事件的時(shí)間戳,電源故障,信號(hào)完整性檢查
2.3 軟件定義的無(wú)線電:這是用來(lái)模擬接收機(jī)和發(fā)射機(jī)的一個(gè)大范圍的無(wú)線網(wǎng)關(guān)
隨著物聯(lián)網(wǎng)的進(jìn)一步發(fā)展,物聯(lián)網(wǎng)測(cè)試將成為國(guó)內(nèi)軟件測(cè)試從業(yè)者職業(yè)生涯持續(xù)的基礎(chǔ)領(lǐng)域之一。
支持IoT的小工具、智能設(shè)備應(yīng)用程序和通信模塊在研究和評(píng)估各種IoT服務(wù)的性能和行為方面發(fā)揮著至關(guān)重要的作用。
支持iot的設(shè)備和服務(wù)的糟糕設(shè)計(jì)會(huì)妨礙應(yīng)用程序的正確功能,從而對(duì)最終用戶體驗(yàn)產(chǎn)生負(fù)面影響。
小結(jié)
物聯(lián)網(wǎng)測(cè)試方法可以根據(jù)其涉及的系統(tǒng)/體系結(jié)構(gòu)而有所不同,但經(jīng)典測(cè)試方法論是物聯(lián)網(wǎng)測(cè)試的基石,所以測(cè)試人員應(yīng)該更多的關(guān)注作為用戶的測(cè)試方法,而不是基于需求的測(cè)試方法。
物聯(lián)網(wǎng)測(cè)試可能是一項(xiàng)艱難/具有挑戰(zhàn)性的工作,但對(duì)測(cè)試團(tuán)隊(duì)來(lái)說(shuō),確保這樣一個(gè)由設(shè)備、協(xié)議、硬件、操作系統(tǒng)、固件等組成的復(fù)雜網(wǎng)絡(luò)的質(zhì)量也非常令人興奮。
掃一掃加我微信,入群一起討論交流各種開(kāi)源測(cè)試技術(shù)、工具、經(jīng)驗(yàn)和解決方案。
大數(shù)據(jù)測(cè)試過(guò)程、策略及挑戰(zhàn)
大數(shù)據(jù)測(cè)試之ETL測(cè)試入門(mén)
軟件測(cè)試工程師又一大挑戰(zhàn):大數(shù)據(jù)測(cè)試
順手點(diǎn)點(diǎn)點(diǎn)右下角的"好看"
