1、android自動化測試框架時間線
![](http://static.javashuo.com/static/loading.gif)
2、android自動化測試應用場景
![](http://static.javashuo.com/static/loading.gif)
(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自動化測試實戰》,做者丁如敏、盛娟等