Android端手機測試體系

weixin_34119545發表於2015-03-20
 1.冒煙測試
  跟web端的測試流程一樣,你拿到一個你們開發做出來的apk首先得去冒煙,也就是保證他的穩定性,指定時間內不會崩潰。這款原生sdk自帶的monkey可以當做我們的測試工具。就跟我之前部落格所說的,monkey測試模擬了使用者的按鍵輸入,觸控式螢幕輸入等等,看裝置多久時間出異常。因為它得用到adb命令,那麼同學們可能還得去自學一下adb命令。如果抓到crash(比如記憶體溢位,空指標異常什麼的),及時向你家開發及時反饋,你也可以把它看成一個效能測試工具
  2.安裝,解除安裝測試
  這項對web應用可能測得比較少,這一塊很可能歸攏到我在後面講的適配性測試裡面。在不同機型測試你們應用的安裝,以及解除安裝,看看會不會出現問題;
  這是個第三方手機助手蔓延的時代,那麼釋出到手機助手上,檢查能不能裝卸也是很重要的
  3.線上升級
  一個手機apk得順應時代的需求,定期時不時的進行更新,在我第一份工作裡,很重要的一個內容就是測試線上升級功能。
  開發給你一個新版本,你得去測試安裝解除安裝,以及功能流程
  4.功能測試
  你測試了你們apk的功能測試用例。涵蓋三個方面:
  4.1業務邏輯測試,測試你家公司apk的業務邏輯流的
  4.2功能測試:測試你家apk的功能點的。反正我又不知道你家apk是啥,你自己照著需求書設計唄,測試方法不詳細說了
  4.3與web端的互動測試。很多apk,比如淘寶啊,京東的app,會跟web客戶端進行功能的互動,我想大家都用app來購物,那麼你買的東西能正常在web端檢視到,這就是你的測試點了。大家可以理解這個意思吧。
  5.穩定性及異常性測試
  穩定性及異常性測試主要兩點;
  5.1.互動性測試:客戶端作為手機特性測試,包含被打擾的情況13種,來電,來簡訊,低電量測試等,還要注意手機端硬體上,如:待機,插拔資料線、耳機等操作不會影響客戶端。
  5.2.異常性測試:主要包含了斷網、斷電、伺服器異常等情況下,客戶端能否正常處理,保證資料正確性。
  其實這一塊又可以跟monkey牽扯到了哈哈
  6.效能測試
  這一塊我不太瞭解,還是把我自己的想法跟大家說下。
  測試點跟web應該差不多,比如尖峰效能啊,壓力測試啊,基準效能等等
  1.尖峰效能,在一個時間點,你app的使用者量出現井噴現象,有名的雙11搶貓貓活動嘿嘿
  2.壓力測試,逐漸加壓
  3.基準,壓伺服器端介面及客戶端在不同網路環境下響應速度。主要為258原則
  對效能這**興趣的同學,可以先學學效能有名的理髮師模型,比較有趣的。
  在一塊,我曾幫別人百度到loadrunner測試手機apk,很幸運,他成功解決了他的問題。我的想法或許,android端或許,注意是或許,將app的什麼socket,tcp/IP對映到web端的測試工具上,比如jmeter,來進行測試,這是我的一個猜想。另外的大神或許會給我們好的測試方法意見
  7.UI測試
  介面易用,簡介,符合使用者者的口味。
  8.適配性測試
  也就是相容性測試。
  1.手機解析度:320*240 、480*320、800*480等等
  2.不同手機版本,2.3,4.2,4.3等等,使用者面儘量測的覆蓋率高一點
  3.手機系統,很多手機廠商喜歡在android原生系統的基礎進行修改,你得測試啦
  4.手機尺寸:3.4,5.0,4.7等等,這裡我來插一下話,我在自學android開發的時候有時候會想,如何將自己開發的app調到適合這麼多android機型。百分比是個不錯的選擇
  9.電量及流量測試
  使用者除了你app的基礎功能,適配,UI美觀。還關心耗不耗流量跟電量。一般非喚醒狀態,後臺狀態會比較低耗能。這個測試範圍,得看你的公司定下的基準。廣播貌似可以**用電量,大家瞭解了可以留言告訴我學習學習哈哈
  10.記憶體洩露
  這個東西你可以用monkey抓到,當然也可以DDMS抓
11.迴歸測試工具
  這個版塊的測試工具為大家介紹monkeyrunner,robotium,appnium。
  我一直認為一般小公司,用測試工具,主要是主要功能的迴歸 。只有大公司才有本錢請大神用自動化黑盒工具來做大規模的測試覆蓋。因此我把這三個工具歸屬於迴歸測試工具
  11.1monkeyrunner
  該monkeyrunner工具提供了編寫控制Android裝置或**器從Android的程式碼之外程式的API。隨著monkeyrunner,您可以編寫安裝一個Android應用程式或測試包,執行它,傳送擊鍵它,需要它的使用者介面截圖,並將截圖工作站上的Python程式。
  指令碼用jython,what is jython?It is A mix of python and Java。因此可以用java api,當然你也可以擴充套件。
  11.2appnium
  Appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應用。Appium支援IOS、Android及FirefoxOS平臺。Appium使用WebDriver的json wire協議,來驅動Apple系統的UIAutomation庫、Android系統的UIAutomator框架。Appium對IOS系統的支援得益於Dan Cuellar’s對於IOS自動化的研究。Appium也整合了Selendroid,來支援老android版本。
  跨架構,native hybrid webview
  跨裝置:android ios
  跨語言:java python ruby
  跨app,多個app直接互動
  native本地應用,如android的資訊應用
  hybrid native跟webview的結合
  webview 瀏覽器應用
  11.3robotium
  Robotium是一款國外的Android自動化測試框架,主要針對Android平臺的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點選、長按、滑動等)、查詢和斷言機制的API,能夠對各種控制元件進行操作。Robotium結合Android官方提供的測試框架達到對應用程式進行自動化的測試。另外,Robotium 4.0版本已經支援對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支援的。
  robotium底層是android的instrument,通過Solo物件來建立一系列操作。但是隻能android端,不像appnium跨裝置。
  這裡擴充套件一下大家的知識面,如何定位元素,我總結了三個,還有其他方法,請大家留言。
  針對座標的:
  1.monkey的recorder,之前的部落格有詳細講
  2.hierarchyviewer:sdk自帶的工具。很多朋友會問商業機為什麼不行,因為谷歌做了安全措施。無版本限制,如果你想測4.2以上版本也可以。注意,開發板或者模擬器可以用。
  效率為獲得一個介面的所有節點和圖片時間為10s左右
  3.uiautomator ,4.2以上android版本的定位利器,可以真機喲。他也是可以做功能測試的

 補充:橫屏、豎屏的測試

          相容性測試:軟體相容性(防毒軟體、助手及管家之類的)、硬體、網路、OS及版本、解析度。

          安全性測試

相關文章