嵌入式测试自动化框架搭建
又在寫自動化測試框架,還是總結一下吧,希望下次能用的上。
芯片,硬件開發和智能設備公司對嵌入式自動化測試框架框架要求越來越高。有些公司有目標和方向,會結合自己的特點搭建出適合自己的測試平臺;有些公司只有要求,沒有解決方案和方向。公司考慮上自動化平臺基本目的不在乎兩個考慮:一節約成本,二提高團隊技術水平,更好的保證產品質量。
節約成本:
這個是可以做到的,但要滿足一些條件:
- 測試腳本復用率要高。大部分測試用例的測試腳本開發和調試都是按照天來計算,一般一天能產生幾個十幾個腳本。但是手工測試是按照小時計算的,一個小時可以執行幾個十幾個測試用例。因此,高薪自動化工程師們編寫出來的腳本,如果復用率不高,建議采用成本低的手動黑盒測試就可以。但是測試腳本的執行時間很快,按照分鐘來計算,一般一分鐘可以執行幾個十幾個測試用例。測試腳本復用率越高,自動化價值就越大,給公司帶來的效益越大。
- 不得不用測試腳本進行測試,比如芯片功能測試和BSP的測試,API單元測試都是要寫測試代碼的。這是不可避免的,因此在一些初創的芯片公司為了節約成本,找了一些不懂C,python的測試人員,如果這些測試人員要想真正參與芯片測試,不得不花大量時間學習編程。得不償失!因此,在公司初創時期一定要找一些有經驗的測試人員,幫助把控好產品質量和流程控制。
- 減少測試人員大量重復勞動和操作時帶來的不確定影響。比如在做壓力測試的時候,比如開關機測試,不同的人在做的時候,會在不同的時間點或界面進行開關機測試,并且測試人員在重復操作一個單一測試動作比較浪費人力。
- 一些特殊情況,比如有些項目周期很長,后期給測試時間留的不多,這個時候測試人員可以利用前期大量的時間進行測試腳本編寫,以減少測試執行時間。
提高團隊技術水平:這是很多老板想做的事情,不僅有面還實用。
- 大部分的測試人員不懂代碼,但是又在測試軟件或硬件。這是很難把測試做精,因為不懂代碼中的邏輯是很難寫出好的測試用例的,更不要說能很好的和開發人員進行討論。通過進行測試腳本的開發能更好的理解產品定義,并更準確的寫出測試用例。
- 可以更好的創造出來適合的工具。一個適合的測試工具可以大大節約測試時間。
- 報問題的時候,可以更精準的把問題描述出來,并且在研發解決問題的時候,可以更好的和他們一起討論相關問題
老板們的需求基本都差不多:
- 所有的單個執行測試腳本,要能串起來自動執行
- 測試腳本要和測試用例結合起來,便于知道哪些測試用例本執行
- 自動產生測試報告,不需要人工統計
- 降低測試腳本編寫門檻,最好所有測試人員可以編寫測試腳本
廢話聊完,現在說一下嵌入式自動化測試框架:Jenkins + python + C + Testlink
這些名詞和環境搭建就不在這里講了,網上有很多這方面的資料。
稍微講解一下各個部分的作用:
服務器:
Testlink:測試用例管理,和jenkins結合起來,可以實現自動化測試結果自動回寫,自動完成測試報告輸出。
Jenkins:持續集成工具,自動執行測試用例,并把測試結果回寫到testlink中。
Bug工具:bugzillia 或禪道。fail的測試可以自動生成bug。
PC機:
Python自動框架選pytest:兼容unittest,并且插件多,好用!
Robot Framework:關鍵字框架,降低測試腳本編寫門檻
板子:
有linux和JDK:通過網線把PC和板子連接在一起。板子可以作為jenkins的節點,這樣可以把板子當做電腦來進行測試。
無linux的板子:PC通過串口和板子相連,C代碼需要運用函數指針編寫串口處理程序,這樣減少測試函數重復定義。
框架的整了流程:
這個是基本的過程,后續我還會繼續維護本章內容。
總結
以上是生活随笔為你收集整理的嵌入式测试自动化框架搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝桥杯单片机第十届省赛
- 下一篇: 用mne绘制fNIRS脑地形图(topo