Android BLE自動測試系統與框架

2021-08-21 08:16:56 字數 1896 閱讀 1202

實際開發中,因為需要對不同的ble裝置進行測試。包括語音遙控器,ota,模組,ble mesh等裝置的不同功能進行相容與穩定性測試,而使用人工測試非常的緩慢且消耗人力。因此開發了乙個測試系統用來做自動測試。

同時這個自動測試,可以和ci結合起來,完成devops的構建。而且本套系統可以非常好的擴充套件到嵌入式中的其他測試,也包括其他的iot rf測試。同時還可以與ic測試結合起來。

演示效果

gif演示,比較大,需要等待:

系統構成

這個系統的組成如下:

為了盡可能的復用,系統分為了多個子系統。

系統的主要模組為:

android中的apk開發,這包括key測試,ota等

arm開發板中的gpio控制與socketio通訊,接收命令與反饋結果

module等裝置的qt上位機開發,用於控制usb與串列埠裝置,同時通過socketio接收命令與反饋結果

控制前端

為了統一所有的裝置,並盡可能的通用,在最頂端是乙個qt編寫的應用程式qcontroller,可以執行測試指令碼,並可以對結果進行統計匯出,也可以和其他的模組通過socket.io來通訊,從而可以在不同的子系統之間相互判斷執行結果,協調測試步驟:

測試過程中,會將每個步驟的截圖,log,timestamp等資訊儲存起來。 便於測試結果和步驟的分析與問題調查。

測試結果後,結果可以匯出到csv檔案中,同時也有統計結果:

通訊模組

通過socketio,python指令碼,qt,嵌入式開發板c++程式,以及web瀏覽器,均可以相互打通,同時因為socketio本身跨平台,因此和現有的一些windows測試工具和平台也可以相互結合起來使用。同時因為是網路,還可以遠端耦合與訪問。

qt中的訊息:

raspberry c++中的訊息

結果的儲存與統計

為了可以方便的了解最終的測試結果,ui中有filter與chart統計功能:

每個step也有對應的測試截圖與log

硬體需求

繼電器 + raspberry + 被測試裝置(例如遙控器):

另外還需要手機,以及pc。

效果

老版本下的語音遙控器的語音自動測試

Monkey 自動測試

如何使用 進入命令列,來到android sdk的platform tools目錄下,輸入命令 user user workspace android sdk linux x86 platform tools adb shell monkey 即可檢視到monkey工具的配置引數的用法。如下 在執行...

讀書 手工測試與自動測試

探索式軟體測試 當軟體測試的熱點漸漸轉向測試自動化,當越來越多的測試人員談論白盒測試 測試程式設計 測試指令碼時,測試專家james a.whittaker旗幟鮮明地捍衛手工測試 manual testing 如何用探索式測試 exploratory testing 來應對嚴峻的現實挑戰。作者以 漫...

簡單的自動測試系統

最近,在公司製作乙個自動測試系統,能夠把測試的資料傳輸到計算機上,第一款產品已經完成了,用買來的pci資料採集卡 qt5.0,設計了乙個簡單的顯示介面,算是完成了。但是,pci卡用起來太難受,想換一種方便 簡單一點的。所以想到了串列埠和區域網的形式 1 串列埠就是用微控制器將ad資料採集出來,然後傳...