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

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

02
—
智能設備如何和云連接?

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

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

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

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


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

