隨着物聯網的快速發展,智能硬件產品已愈來愈多地出如今市場上,公司也在開發幾款重量級的智能硬件產品,做爲其中一個產品的QA,分享下軟硬結合的產品的測試方法。java
何爲智能硬件,爲何智能硬件是趨勢,能夠看下面的圖:
那麼接下來說講智能硬件的測試。再看一個圖:
這是傳統互聯網軟件產品的架構,智能硬件的呢?如圖:服務器
圖中能夠看到,多了一個硬件的模塊,服務器中多了一個處理硬件信息的模塊,測試的類型多了,特別是硬件部分,應該怎麼針對地測試呢?首先規劃下測試類型,我認爲主要包括如下幾類:
系統測試
接口測試
重點測試
系統測試
這部分你們應該很熟悉。按照測試流程來走就好,需求分析、測試計劃、測試用例及評審、冒煙測試、執行測試若干輪、迴歸測試、測試報告等步驟走完。主要測試的對象是以應用爲核心,兼測試服務器及設備的功能。
目前你們主要在作的是這部分的測試,作好這部分的測試,產品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/