這是鼎叔的第二十四篇原創文章。
行業大牛和剛畢業的小白,都可以進來聊聊。
歡迎關注本人專欄和微信公衆号《敏捷測試轉型》,大量原創思考文章陸續推出。
創新不一定是提供了更新的技術,更有效的流程,也可以是在有限的投資下,顯著降低了成本。這裡分享2015年我和在武漢的小團隊創新的例子,參與者Kerly Yuan,還有coenwu,felixqin等人。
為啥要做電量儀?
所謂電量儀,就是為智能設備(尤其智能手機)的電量功耗測試提供的專業硬件測試儀器,在很多手機和應用的測試項目中,電量測試是必須達标的。
通常測試電量有軟件方法和硬件方法,軟件方法需要的統計電量API,始終無法達到結果精準的要求,它的統計本質是統計各個設備元器件使用消耗的的總電量值(平均功耗*使用時間),因為元器件型号不同加上設備老化的影響,會存在較大誤差。
硬件儀器的測試方法是統計一段時間電池放電的平均電流值,結果更容易被項目組認可。但是專業硬件設備非常昂貴,4-10萬不等,而多個項目測試可能在不同城市同步展開,無法共享硬件設備。作為預算有限的小團隊,我們就萌生了自己研制一套小巧便宜的電量儀的想法,目标是批量生産,價格盡可能便宜(數百元)。最終成品如圖1所示:
圖1 電量測試儀與手機的實物對比照
第一次嘗試
我們隻需要基本的電流和電壓數據即可,過高的精度和其他專業設備功能對我們而言是大材小用了。電量儀實際上就是一個電流表,所以我們一開始想:采購相關的零部件,然後自己寫驅動程序讀數據,是否就可以搞定了?
我們在淘寶上面采購了一套可編程的電流表以及可變電源,自己組裝電路,實現了一套能測試電流的設備。同時也發現一個嚴重問題,一秒一次的采集頻率無法實現對讀取電流的精度要求,第一個版本的電量儀根本沒法使用,如下圖2所示(由串口可編程電流表實現):
圖2 COM串口可編程電流表
應用程序在一秒的時間内可以做很多事情,這個電流變化就無法在低采樣率機器上體現出來,我們隻好另想辦法。通過分析确定電流儀的最低指标采集頻率不得低于每秒20次,這樣才能抓到接近真實的電流場景數據。
第二版-自己設計
然後我們就開始經常往電子市場跑,認識了一些做芯片解決方案的廠家,了解硬件相關的知識後,通過前期反複和廠家溝通,終于在2個月後做出了我們自己設計的電量儀産品。盡管是首版樣品,但采集頻率可達到50Hz,電流精度可以達到0.0001A,電壓精度0.01V,基本滿足了我們日常測試需求了。更重要的一點,體積居然隻有手機那麼大。
為了省成本,我們也做了很多妥協,例如使用COM串口,沒有使用USB口讀取數據,且芯片通過單獨的USB口來提供工作電壓。這樣不需要使用被測對象的電源,讓測試數據更精準。
通過跟專業儀器測試進行對比,發現數據誤差在5%以内,在可接受範圍之内。
第二個版本在實際使用過程中也發現了一些問題,例如電壓過高時測試數據不準等等,也逐步解決了。如圖3所示:
圖3 電量測試儀第二版手闆實物圖
第三版,支持自動化測試的電量儀
電量的自動化測試,是不是也可以通過我們的電量儀來完成呢?
答案是肯定的。
電量自動化測試時需要脫離USB線,否則USB供電會影響電量結果。
但矛盾問題也來了:脫離USB後,PC腳本無法控制手機的運行狀态以及測試數據,實現不了完全自動化的要求。
這個困難可以從軟件突破,在android系統上開發了一個讀取電量的應用PowerStat,可讀取android手機從最近一次拔下USB到當前時間的電量消耗。
根據這一特點,我們在android手機上面實現了一個代理服務,測試前将測試任務下發給代理服務,啟動測試任務的同時也啟動PowerStat電量統計。等到測試結束,代理服務通知PowerStat結束電量統計,這樣就可以得出本次測試的電量數據。
這種方式裡PC測仍然無法控制手機的連接狀态,于是在進行硬件設計的時候,我們開始考慮如何實現完全的自動化測試。
既然電量自動化測試關鍵在USB線,那麼我們是否可以在電量儀和PC端之間串聯一個USB線,将USB中的電信号去掉,隻保留數據通訊的功能?這樣就不影響手機的放電狀态和電流采集了,同時也保證PC端和手機正常adb通訊。
通過實際驗證這個方法是可行的。我們完全實現了電量測試的自動化,還可以通過COM串口指令動态實時切換電量測試開關。
圖4 電量自動化測試時序圖
做硬件和做軟件最大的不同是什麼?
感受最深的就是做硬件産品叠代的周期很長,一個版本最少需要2月的時間,還需找到比較熟練的解決方案商、如果硬件産品複雜度高,可能需要更長的時間。
一開始我們以做軟件的思維方式運作,導緻第一版電量儀的許多重要功能沒考慮到,也緻使第二版叠代時要重新做PCB闆。中間還重新換了方案解決廠家。所以做硬件的團隊一開始就要把核心功能的設計考慮進去,盡量減少硬件叠代次數。
其次的感受就是,非常缺乏相關專業知識,如PCB、CNC、A/D轉換器、貼片钽電容等專業概念,重新學習完這些知識和工作原理,才能萌發自己做方案設計的想法。
至此,我們經常實地去電子市場去了解各個硬件物料的價格、磨具加工流程、外包裝制作等,把武漢廣埠屯、深圳華強北等電子市場逛個遍。做硬件涉及的環節比做軟件多很多,我們僅僅做一款非常簡單的儀器就這麼麻煩,很難想象手機這種類型的産品有多複雜。
硬件的平均成本價格和銷量有密切關系,其中包括開模費用、磨具生産費用、物料采購費用等等,都和采購數量有關。一開始不要以競品的智能硬件價格來對自己的同類産品進行評估成本,這會産生很大的誤差,數量越少,單價成本就越高。通過和硬件方案提供商,包裝商,店鋪老闆們鬥智鬥勇,一百台電量儀終于進入量産階段,平均成本價格在200以内。
整個過程深感小白做硬件很不容易。
更詳盡的自研過程技術文章,可以看Kerly Yuan的分享:騰訊電量儀——智能硬件測試工具嘗試之路
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!