對於測試(QA不是Q&A)這個從畢業後就做到現在的工作來說,最實用也最難用的大概就是自動化測試了

電腦上的測試來講也許不算難,不外乎就是Windows / MacOS / Linux ,你說還有其它的? 我不認識就算了吧(茶

而測試上最簡易使用的大概就是 按鍵精靈 / EzScript ,你說你會用?那恭喜,你有成為QA的其一條件

再進階的話,可以使用VB / JAVA / Python / PHP ....等等,你說你會用?再次恭喜,你有成為QA的另一個條件

什麼你不只會用,還很專精?那更要恭喜,要不要考慮轉行當RD(誤)?

 

而在行動裝置上的測試碰到最大的困擾就是機種實在太多、太亂,以往QA在進行某APP的測試後,

最常碰到的就是客戶反應:A牌沒辦法安裝、B牌沒辦法登入、C牌一開就閃退、D牌巴拉巴拉之類的,

但這些在QA測試過程中並不一定會發現,因為QA手上有的機種是 X牌、Y牌、Z牌 ,

在QA手頭上的機種並不會發生這些問題,也就無法測試出客戶反應的問題,然後就...

 

感謝雲端的發展,也感謝各種測試工具的發達,Amazon提供了一個不錯用的工具,做為測試可以使用的資源之一

「AWS Device Farm(亞馬遜網絡服務設備農場) 」(偉哉Google翻譯大神...

顧名思義其所提供的即是許多行動裝置設備的一個服務,在這個農場中有AWS所準備的裝置,使用者可以上傳自己所準備的腳本進行自動化測試

在這簡單介紹一下使用的方式:

0. 選取服務內容:服務>所有AWS服務>移動服務>Device Farm

1. 選擇DeviceFarm.jpg   

 

 1. 首先要建立一個新的專案,點選【Create a new project】

2.1 Create a new Project.jpg    

1-1. 為新專案命名

2.2 Create Project Name.jpg    

2-1. 畫面會自動跳轉至該專案內,即可開始測試相關設定,Step 1 : 點擊【Upload】後,上傳測試用的APP

 

2-2. 選擇要測試的腳本類型(本篇中使用內建的Fuzz進行測試)

2-2-1. Event count:Fuzz執行的次數

2-2.2. Event throttle:Fuzz執行中時等待的秒數

2-2-3. Randomizer seed:隨機變換測試(字面上的意思,看不太出來實際效用)

 

2-3. 選擇行動裝置設備

2-3-1. Top Devices 是指由 Device Farm 所推薦的行動裝置,也可以點擊【Create a new device pool】來建立自己喜歡的行動裝置清單

3. Create Nea Run Step.3_Select devices.jpg  

2-3-2. 右方會出現 Device Farm 的行動裝置選項,可以直接在這邊選取要加入自訂清單的行動裝置,清單的名稱必須要有內容才可以儲存唷!!

3. Create Nea Run Step.3_Select devices_Devices.jpg  

2-3-3. 儲存完成後,在上方的 Device Pool 則可以選取已建立的清單,圖中三角形的驚嘆號則是因為選取了不符合的行動裝置(例:APK檔選到iPhone)

3. Create Nea Run Step.3_Select devices_Wrong Devices.jpg  

2-4. Specify device state:在這個頁面可以選擇要輔助的程式(須以zip格式儲存)或其他的APK,也可以選擇要開啟的工具(例:Wifi / Blueteeth / GPS / NFC),也可以設定裝置的所在位置以及地點

3. Create Nea Run Step.4_Specify device state.jpg  

2-5. 最後一個階段則是確認有沒有需要再調整的項目,沒問題的話就可以按下【Confirm and start run】,開始跑自動化測試

3. Create Nea Run Step.5_Review and start run.jpg

 

3-1. Run results:左方的圖示表示目前進行的階段,依序為排程中→測試中→測試完成的狀態

測試的行動裝置如果選得很多,要跑出結果就得要花費更多的時間,請耐心等待~~

 

3-2. 點擊【Details】頁籤可以查看本次測試結果,點擊【Test Result】可以看到更詳細的內容,包含所有Log等等

5.2 Run results.jpg_Summary.jpg 5.3 Run results.jpg_Details_Suites.jpg 5.3 Run results.jpg_Details_Suites_failed.jpg  

3-2-1. 「Screenshots」則會顯示測試過程中的截圖,有發生閃退的時候也會即時截圖

5.4 Run results.jpg_Screenshots.jpg  

3-2-2. 「Performance」則會顯示測試過程中的效能圖,分為CPU , Memory, Threads

5.5 Run results.jpg_Performance.jpg  

3-2-3. 「Files」中可以下載測試的Log,方便使用電腦內的編輯功能來檢視Log

5.6 Run results.jpg_Files.jpg  

 

實際操作感想:

優點:

  1. 便利性:一套腳本跑所有Device(也許有些不能跑)
  2. 選擇多:多種裝置
  3. 低成本:不需要購入大量機台即可進行測試
  4. 省時間:不須各機獨立操作,可同時進行

缺點:

  1. 缺少實機操作上,可能會誤觸的問題
  2. 內建Screenshots不一定是問題發生的原因,重現問題還是得要實機操作
  3. 先行撰寫之腳本與實際APK內容未必相符,等拿到APK後才實際撰寫有可能導致測試時程延宕(視各公司的企業文化、測試流程而不一定)
  4. 價格上需要多方考量方案(免費的只有250分鐘可使用,可以月結or計時制)
創作者介紹

PIXNET Lab

Samuel Lu 發表在 痞客邦 PIXNET 留言(0) 人氣()