隨着物聯網的快速發展,智能硬件產品已越來越多地出現在市場上,公司也在開發幾款重量級的智能硬件產品,作為其中一個產品的QA,分享下軟硬結合的產品的測試方法。
何為智能硬件,為什么智能硬件是趨勢,可以看下面的圖:
那么接下來講講智能硬件的測試。再看一個圖:
這是傳統互聯網軟件產品的架構,智能硬件的呢?如圖:
圖中可以看到,多了一個硬件的模塊,服務器中多了一個處理硬件信息的模塊,測試的類型多了,特別是硬件部分,應該怎么針對地測試呢?首先規划下測試類型,我認為主要包括以下幾類:
系統測試
接口測試
重點測試
系統測試
這部分大家應該很熟悉。按照測試流程來走就好,需求分析、測試計划、測試用例及評審、冒煙測試、執行測試若干輪、回歸測試、測試報告等步驟走完。主要測試的對象是以應用為核心,兼測試服務器及設備的功能。
目前大家主要在做的是這部分的測試,做好這部分的測試,產品80%的bug都能發現。
接口測試
以前的接口測試主要是app和服務器的通信,主要以http請求為主。
智能硬件產品的服務器承載兩個端的請求,一般來說硬件產品與服務器會建立一個TCP/UDP長連接,定時發心跳包及其他通信內容包,另一端則是app端的接口。
以java為例,測試長連接的服務端,socket寫一個客戶端,用現成框架mina/netty寫一個客戶端等,具體代碼就不給出了。http請求就不贅述,方法太多了。
這部分的測試最好和開發同時進行,但新項目的進度和需求緣故,一般都會等到產品穩定進行,這塊發現的問題很多都不是嚴重的問題,但是一旦有個重要問題就會導致產品功能無法使用,好在服務端的bug修復都會很快。
核心測試
什么是核心測試?試想一下智能手環運動檢測不准確,OBD會使靜止的汽車虧電,智能血壓計檢測的血壓不對等等問題,那么這個產品一旦上市就會失敗,任何的bug修復也無濟於事。所以這塊的測試非常重要。
以下舉幾個核心測試內容的例子:
耗電測試,最簡單是接一個萬用表,實時查看設備的電量情況,但是你必須實時查看,也沒有歷史記錄。最好是准備一個專用的功率電量測試工具,有交直流電,有報表輸出,在各種配置下的耗電情況都能自動記錄。這塊主要針對手環、OBD等需要電池的產品。
GPS測試,戶外的智能產品大部分都配備了GPS,GPS信號強度和周圍環境有直接關系。隧道、高層建築、天氣等都會干擾GPS定位,另外設備啟動關閉點也是GPS容易發生問題的時候。
干擾測試,很多智能硬件產品會插在其他設備上,如電視盒子、家居控制設備、汽車設備,一定程度上會對其他設備產生干擾,甚至影響其他設備的正常使用。
類似的功能還有很多,這些是智能硬件產品的核心,如果這些功能出現問題,產品就會死掉,所以這部分需要重點測試,投入最多的人力進去。
綜上所述,智能硬件產品測試思想和以往的互聯網測試還是有一定的區別,我們要更多的關注在硬件上,但又不能忽視了軟件,兩者相輔相成,也將是未來測試的新方向。
轉:http://qa.blog.163.com/blog/static/19014700220141129372269/
