百度專家談智能硬件測試探索

01
—
那什么是智能設(shè)備呢?
簡單的說就是將硬件和app連接,通過軟硬結(jié)合的方式,讓傳統(tǒng)設(shè)備附加到互聯(lián)網(wǎng),讓其擁有智能化,并且通過移動軟件app連接智能硬件,來實(shí)現(xiàn)對硬件的遠(yuǎn)程控制,例如共享單車、智能音箱、智能插座等幾乎應(yīng)用所有行業(yè)。涉及面更是廣泛,從硬件中包含的芯片、傳感器、無線模組到網(wǎng)絡(luò)通信,再到服務(wù)端和集成應(yīng)用,如下圖:

02
—
智能設(shè)備如何和云連接?

根據(jù)上圖中數(shù)據(jù)顯示,結(jié)合實(shí)際使用的智能設(shè)備來選擇不同的通信方式,可知:快遞柜可采用4G的模式連接,其內(nèi)置網(wǎng)絡(luò)模塊,方便不同地點(diǎn)均可使用,且支持多個箱體同時連接使用;智能家居大都采用wifi模式連接,在一個環(huán)境處于同一個局域網(wǎng)內(nèi)更方便使用等等
03
—
智能硬件如何和應(yīng)用層app連接?
現(xiàn)在比較方便的是一鍵配置方式,主要是使用藍(lán)牙、smartconfig、ZigBee和聲波配置。
藍(lán)牙配置:比如藍(lán)牙耳機(jī)、藍(lán)牙鼠標(biāo),只能支持點(diǎn)對點(diǎn)連接,且對設(shè)備和app距離要求嚴(yán)格。

ZigBee配置方式:無法直接接入網(wǎng)絡(luò),ZigBee不是網(wǎng)絡(luò)協(xié)議,低帶寬,低功耗的一般采用ZigBee,因此無法直接接入互聯(lián)網(wǎng)中,需要通過網(wǎng)關(guān)設(shè)備轉(zhuǎn)換成網(wǎng)絡(luò)協(xié)議。

聲波配置:其主要的原理就是手機(jī)放出經(jīng)過編碼加密的聲音,智能硬件通過麥克風(fēng)錄音,解碼解密,然后配置成功
04
—
終端app如何控制智能硬件?
其中第一步可以用ap模式、smartconfig、ZigBee等方式,下面以smartconfig方式舉例:

了解了智能硬件和app的關(guān)系后,結(jié)合目前應(yīng)用和設(shè)備的多樣性,所以QA就要制定策略來滿足不同產(chǎn)品的測試,對于其測試不僅是軟件和硬件的結(jié)合,還有中間網(wǎng)絡(luò)和云的關(guān)系,測試關(guān)注點(diǎn)與單純的app和硬件測試是有區(qū)別的。需要了解更多的測試方法,來形成軟硬結(jié)合的測試框架。
硬件方面
傳感器測試
????傳感器相當(dāng)于人“五官”中的鼻子,與射頻識別器、條形碼、讀寫器和全球定位系統(tǒng)組成人體“五官”
基礎(chǔ)參數(shù)指標(biāo):靈敏度、精準(zhǔn)度和穩(wěn)定性等
性能參數(shù):響應(yīng)時間、衰減時間等
環(huán)境指標(biāo):溫度、抗干擾等
可靠性:壽命、平均無故障時間等
網(wǎng)絡(luò)連接測試
????確保設(shè)備和網(wǎng)絡(luò)連接是至關(guān)重要的,必須保證始終是可用狀態(tài)。所以測試時有兩個方面需要驗(yàn)證:
可靠性:連接可靠不丟包,運(yùn)行正常時,數(shù)據(jù)傳輸、數(shù)據(jù)同步必須是可銜接的,即使無法做到實(shí)時同步,也要保證在用戶反應(yīng)時間可接受范圍內(nèi)。
容錯性:設(shè)備離線時,一旦離線,必須給出用戶提示,告知設(shè)備狀態(tài),讓用戶去檢測;離線前添加的數(shù)據(jù)在上線后可以繼續(xù)傳輸并使用。
硬件可用性測試
????確保使用的每個智能設(shè)備可用,因?yàn)楹罄m(xù)都是大批量生產(chǎn),設(shè)備中要么有wifi模塊,要么是藍(lán)牙模塊等,無法確保每個硬件都是完好且耐用的,所以測試時使用足夠多的設(shè)備測試更能發(fā)現(xiàn)硬件是否有缺陷,盡量保證不同設(shè)備和數(shù)據(jù)的數(shù)據(jù)同步準(zhǔn)確,硬件有問題時發(fā)出警告。
硬件性能測試
由于硬件必須連接網(wǎng)絡(luò)后才能具備智能的功能,所以對于弱網(wǎng)連接時硬件的性能是QA需要關(guān)注的。
響應(yīng)時間:智能硬件對于指令的響應(yīng)時間
邊界測試:在各種邊界壓力情況下(網(wǎng)絡(luò)、存儲等)的響應(yīng)
壓力測試:長期使用和反復(fù)操作后,可否正常使用(如智能家居對此要求甚高,用戶購買后使用頻繁且不會頻繁更換)
升級測試
????智能硬件是使用多種協(xié)議、設(shè)備、操作系統(tǒng)、固件和網(wǎng)絡(luò)等組合,進(jìn)行升級時都要進(jìn)行徹底的覆蓋,比如覆蓋升級和跨版本升級
功耗測試
????????隨著用戶需求提高,都會傾向于購買不需要實(shí)時充電的設(shè)備,這就需要對設(shè)備的耗電量進(jìn)行測試。
?
集成應(yīng)用測試
硬件中包含傳感器、wifi模塊等各種都與軟件網(wǎng)絡(luò)緊密相連,而他們之間所有的協(xié)議或者指令傳輸都是基于網(wǎng)絡(luò)。因此,與普通軟件相比,測試時場景相對繁瑣。
除了常規(guī)app的測試方法外(功能測試、UI測試、易用性測試、性能測試等),以下是智能硬件測試時需要重點(diǎn)關(guān)注的部分。
業(yè)務(wù)/功能測試
滿足需求、測試業(yè)務(wù)的多樣性
接口測試
接口返回顯示正確且對接口返回的容錯處理
安全/隱私測試
網(wǎng)絡(luò)安全,數(shù)據(jù)加密,權(quán)限保護(hù),隱私保護(hù)等
兼容/體驗(yàn)測試
兼容不同系統(tǒng)、用戶體驗(yàn)角度查看易用性
網(wǎng)絡(luò)測試
滿足用戶在不同網(wǎng)絡(luò)情況下正常使用
性能測試
測試cpu、內(nèi)存、電量、啟動時間、FPS等
以上是常規(guī)app基礎(chǔ)測試內(nèi)容。
?
智能硬件和集成應(yīng)用app交互部分
場景測試
????設(shè)備聯(lián)動,多場景組合
不同網(wǎng)絡(luò)下app和智能硬件的通訊如辦公網(wǎng)絡(luò)和家用網(wǎng)絡(luò)
服務(wù)器出錯時,設(shè)備和app分別反應(yīng)情況
多用戶綁定一個設(shè)備或者一個用戶綁定多個設(shè)備,數(shù)據(jù)傳輸或者指令發(fā)送是否錯亂
設(shè)備網(wǎng)絡(luò)和app網(wǎng)絡(luò)的交錯,比如設(shè)備聯(lián)網(wǎng)但app離線、設(shè)備離線但app聯(lián)網(wǎng)等情況時app的提示是否友好且容易理解
設(shè)備多種情況比如設(shè)備繁忙、休眠、網(wǎng)絡(luò)連接錯誤、網(wǎng)絡(luò)切換、弱網(wǎng)等時,app的顯示。
App控制設(shè)備使用過程中,app狀態(tài),比如殺掉進(jìn)程、后臺運(yùn)行、清除數(shù)據(jù)、切換網(wǎng)絡(luò)(對要求在同一局域網(wǎng)的設(shè)備)等。
?
接口測試
?????常規(guī)接口主要是app和服務(wù)器的通信,智能硬件產(chǎn)品的服務(wù)器承載兩個端的請求,一般來說硬件產(chǎn)品與服務(wù)器會建立一個TCP/UDP長連接,定時發(fā)心跳包及其他通信內(nèi)容包,另一端則是app端的接口。不同的硬件交互方式不同,比如快遞柜靠推送來傳達(dá)指令,比如智能充電是靠socket協(xié)議來傳達(dá),為了保證通訊的及時和準(zhǔn)確,QA需要同時驗(yàn)證兩邊的接口。
安全測試
因?yàn)閍pp是通過路由器連接智能硬件的,而且授權(quán)過程目前都很簡單,攻擊者完全可以攻破網(wǎng)絡(luò),獲取硬件的接入點(diǎn),獲取給智能設(shè)備發(fā)送的指令來控制硬件的行為。
所以測試過程中應(yīng)該檢測a、數(shù)據(jù)傳輸時是否加密或者被保護(hù) b、設(shè)備身份的認(rèn)證 c、授權(quán)
兼容性測試
鑒于設(shè)備多樣、版本號迭代更新、市面上不同的手機(jī)和不同的操作系統(tǒng)都需要和硬件通信才能實(shí)現(xiàn)智能設(shè)備的價值,所以QA人員務(wù)必保證智能硬件投入市場后,可供不同家庭的人使用。
升級測試
智能硬件和應(yīng)用雙方其中一個升級時,都需要兼容對方不同的版本。
?
以下是排列組合各種情況的測試地圖:


綜上所述,智能硬件產(chǎn)品測試思想和以往的互聯(lián)網(wǎng)測試還是有一定的區(qū)別,我們要更多的關(guān)注在硬件上,但又不能忽視了軟件,兩者相輔相成,和網(wǎng)絡(luò)排列組合多種測試情況,將是未來測試的新方向。
作者介紹
田曉娟???
負(fù)責(zé)網(wǎng)盤客戶端雙端開放平臺的測試,網(wǎng)盤中接入三方硬件是一個從0到1的項(xiàng)目,所以對軟硬結(jié)合方向的測試做了一個簡單的總結(jié)。

