一、android自動化測試框架時間線

二、android自動化測試應用場景

(1)
性能測試。移動終端應用,不管是Native還是WebView的應用,對性能要求都非常高,主要是卡頓、耗電、速度這幾個常見關鍵性的指標,而這類測試重復性強,指標路徑固定,並且質量指標中又需要分為橫向與縱向對比情景,等等,形成一個龐大的測試矩陣,自動化測試支持才能更快捷地完成測試任務,一般性能測試會考慮選用自動化方案,此方案非常適合性能測試。
(2)
穩定性測試。Android平台一般都會聯想到用系統自帶的Monkey工具進行測試,此工具既易上手也實用,但運用起來有非常多的講究和技巧,簡單的Monkey工具不一定能完成使命,在測試中也需要花費心思去對原生的Monkey進行改造,以滿足不同業務的穩定性測試需求。
(3)
功能測試。關於功能測試的爭議比較多,因為產品都需要快速迭代,而腳本的穩定性、實現時間等成本開銷大,真正發揮作用也需要不斷地打磨,並且還有很多后期維護成本,所以比較折中的辦法是做一些BVT測試和持續集成配合,在開發編譯新的build后直接運行這些核心的BVT用例,以免出現嚴重的Regression/Block問題,日常的工作中選定較小范圍的用例及適合的框架一般就可以解決問題。
(4)
兼容性測試。不同的業務可能會有不同的適配要求,現在比較常用的方法是直接使用業界比較成熟的測試平台,如Testin、百度MTC、騰訊優測平台等,一般情況下平台能提供幾百甚至上千台機器進行測試。
(5)
接口測試。這塊的測試主要是集中一些重要的API測試,和PC端的接口測試思路一樣,都是通過腳本去遍歷所有重要的參數等,並且拋開界面的干擾快速測試以至穩定。像瀏覽器里常見的就有JS API接口測試,當然這塊可能需要開發同學的接口定義文檔或者口頭支援,梳理業務的關鍵API和參數列表以及相應的依賴關系等,是非常適合用自動化測試去實現的,腳本也相對簡單穩定,而且效果明顯。
(6)
單元測試。Android終端用Android Junit可以快速方便地實現單元測試。很多公司單元測試工作都是由開發同學自行完成,但在移動互聯網時代,基於敏捷開發測試前移的大環境,部分測試同學也會直接參與單元的編寫和執行,比如,騰訊Tencent OS(TOS)項目團隊就是由測試同學進行單元低層OS系統的單元測試。
(7)
線上監控測試。這塊測試方向不應該直接歸屬於傳統的自動化測試范疇,因為它不需要常規情況下提到的自動化測試框架支持,也不需要開發測試用例腳本,這里主要是對線上測試數據的監控,並且利用大數據分析進行“自動化”測試,在互聯網產品中極為適用而且能非常直接地體現產品的質量。舉個簡單的例子,通過瀏覽器的網頁瀏覽功能,可以監控用戶在瀏覽網頁時有多少個瀏覽失敗的網站、是否會出現必然瀏覽失敗的網站、出現瀏覽失敗的網站的地域/DNS是什么等,如此層層過濾,最后得到的關鍵信息會直接指導測試人員縮小測試范圍,提高測試效率。
以上均來自《騰訊android自動化測試實戰》,作者丁如敏、盛娟等
