性能測試網站(APP測試技術)

前言:近年移動互聯網好比IT界的一條浩瀚銀河,安卓手機測試可謂其中最璀璨的一顆明珠,這裡有一座你不得不熟悉的橋–ADB曾見過不少相關的文章或培訓,不乏空談多,實戰少;期望大,效果差。也見過很多測試同仁,預成大牛,卻不得其法。今日我們秉承單點極致的精神。聚焦實用的技能,也思考下測試這條路,該如何走的深遠。安卓測試,乃如今移動測試領域中舉足輕重的部分,相信也有不少同仁奮戰在這片戰場。工作中聽聞最多的幾個關鍵詞"性能","自動化","穩定性"……掌握這些測試技能,或可成為高級測試工程師。也達到很多同仁眼中的成功,至少是成就感。那麼這條路遠嘛?難嘛?我說,不遠,也不難,你和成功其實隻隔一座橋–ADB。ADB,或許很多人並不陌生,何謂ADB,簡言之:"adb的全稱為Android Debug Bridge"就是起到調試橋的作用。最基本的安裝,環境變量配置,相信大傢也能查到諸多資料,而一些入門級的介紹更是猶如滔滔江水,連綿不絕。相信如下幾個場景,或者命令大傢都嘗試過:1)安裝一個安卓APP: adb install2)卸載一個安卓APP: adb uninstall3)查看設備連接: adb devices4)推送/拉去一個文件: adb push/pull5)重啟手機: adb reboot入門級命令十多個,相信大傢看到這裡很親切。不錯!這也是常考的一些筆試題。但是問題來瞭,又有多少人,到此就淺嘗輒止瞭?!恐怕也是猶如黃河泛濫吧……ADB 是一個非常實用的工具,尤其是對我們測試人員。什麼才是進階實踐呢?您是否基於 ADB 做過“性能測試”,“自動化測試”,“穩定性測試”?姑且讓我們從這三個場景看看這座橋(ADB)有多少神奇的潛力。註:1. 以下截圖中代碼,都來真實測試項目中的代碼片段,必要地方我會加以解釋。2. h 是 Java 封裝的一個類,主要作用是把 adb 命令發送到控制臺執行。很多高級語言都有相似方法,比如 php,或者 python一、性能測試場景安卓測試中,啟動速度,安裝包大小,內存占用,CPU 占用,耗電等是我們公認的重要性能指標。通過這座橋,這些都能實現。例 1:測試 app 的啟動速度:【項目實戰代碼】:【核心命令】:【效果分析】:其中的 ThisTime,和 TotalTime 就是我們關註的啟動時間,單位是毫秒。知道這個,結合你已經掌握的安裝卸載命令,再加上任何一門高級編程語言的基本語法就可以完成貴公司 app 啟動速度專項測試。提供思路如下(趕快動手試試吧):1) 設置安裝包路徑,如果有實力可以腳本完成定期去 FTP 服務器拉去最新可用安裝包。2) 安裝3) 啟動並記錄時間4) 解析結果並入數據庫。5) 完成分析數據,橫向對比,量化的把控啟動速度的變化趨勢。例 2:獲取 app,安裝後大小:【項目實戰代碼】【核心命令】:【效果分析】其中 system 後面就是大小(單位是 B)順便連安裝時間也有瞭^_^。租後面無疑是包名字,想針對具體的應用來看,自然也是可以的。很簡單,也很神奇。應用場景,你懂得。例 3:內存的獲取:【項目實戰代碼】【核心命令】:【效果分析】遠比你想想的要詳細,驚呆瞭,有木有。其中前兩項是我們要獲取的總內存,和剩餘內存,至於其他,按需獲取。【核心命令】:【效果分析】不難看出吧 58753KB,就是獵豹清理大師當前的內存占用。至於您想獲取哪個應用,多久獲取一次?合適獲取。可以自己定義。總之內存這個常提到性能指標就通過一座“橋”實現瞭。例 4:電量測試【項目實戰代碼】【核心命令】:【效果分析】不難看出,很容易解析到,我們要的電量,電壓,溫度。除此之外,你甚至會發現,連充電方式,電池的健康程度,電池類型等都有。想新到此,您已對 ADB 這座橋有瞭新的認知。其實遠遠不僅如此。讓我們繼續領略一二。二、功能自動化測試場景一提到安卓安卓手機的自動化測試。恐怕就會想到,monkeyrunner,robotium,Athrun 等一系列的框架。其實根據項目的情況選擇合適的測試技術也是一項很有學問的事情。在此不展開討論。說個具體場景。要檢驗獵豹清理大師的建議清理效果(該刪除的文件被刪除)核心步驟:1) 安裝,啟動,跳過協議頁,規避彈窗:adb install(安裝)adb shell am start(啟動)adb shell input keyevent 4(點擊 back 鍵)2) 進入垃圾清理,等待掃描完成,點擊清理adb shell input tap X Y(點擊某點,橫坐標 X,縱坐 Y 標)3) 檢查手機文件系統,完成效果比對。這無疑是一個典型的自動化測試場景。 核心的 ADB 命令如上,大傢可以小試牛刀。三、基本穩定性測試場景提到穩定性,大傢第一時間想到,monkey。不錯,確實有一條命令:adb shell monkey –n XX (包名) 1000(偽隨機時事件數)這無疑算是一種穩定性測試方法,但是常用的同學也不難發現它的缺點!>隨機性強,不容易復現。>盲目性大,很容易點到別的應用。>可控性差,運行很久未必重點測試預期的模塊。今天我們有這樣一個測試場景,測試手機主要的模塊,能正正常進入,並且沒有崩潰。核心點有三個:1) 驅動手機進入指定模塊;ADB 的坐標點擊,你懂得,就不贅述2) 獲取當前系統最上層的 ActivITy 名稱。【項目實戰代碼】【核心命令】:【效果分析】3) 結果比實際最上層 ActivITy 名稱,和預期比較,判斷穩定性,記錄結果。字符串比較,留給大傢自己發揮。至此,我們多少重新認識瞭下,似曾相識的 ADB。其實安卓測試,認真的走過這座“橋”漠然回首的時候,你會發現,自己經找到晉身高級測試工程師的門路瞭。當然由於時間和字數的限制。今日隻能帶大傢走馬觀花的領略下,這座神器的“橋”。工作中如果有疑難的測試場景,不妨想起 ADB,或許一些問題就迎刃而解,修行在個人,希望大傢一起更上一層樓。最後再次如何在測試這條路上走的更深,更遠。雖說命題有些寬泛,但是有些方法論可以參考>在某個領域鉆的夠深,你就是專傢。>簡單的事情做出新意,你就是大牛。>茫然的領域探出條道路,你就是領袖。和大傢共勉。最後:1)關註+私信回復:“測試”,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。2)關註+私信回復:"入群" 就可以邀請你進入軟件測試群學習交流~~

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://kuaisubeian.cc/49160.html

kuaisubeian