1. 程式人生 > >Android App專項測試(壓力測試)

Android App專項測試(壓力測試)

題記:

首先說一次不是什麼厲害的技術,寫部落格呢: 
一是為了記錄自己做過的功能,方便造輪子和空閒時間優化程式碼片,諸多不足謝謝給予指正。 
二是分享一些技術,可以供參考借鑑,自己也是學習借鑑別人分享的東西過來的 
三喜歡的朋友可以在github上給博主start https://github.com/weijiagithub 
本專案github地址 https://github.com/weijiagithub/WeijiaAppFrame 
提示:部落格和github上的程式碼持續更新和提交

提醒:本篇Android App專項測(壓力測試)是學習慕課網講師Goal2Go(軟體測試工程師)進行記錄學習實踐,連結地址:

http://www.imooc.com/learn/729?from=jobboleblog,今天博主出去面試被問到公司的產品自己有沒有做過測試,回答表現不是很好,博主之前帶過的公司是小公司,沒有專業的測試人員,所以自己開發的應用產品也煤油進行相對專業的測試,所以得快點你補自身不足。使用圖片及相關資料來自網路,如不慎有侵權行為,聯絡博主,博主立馬刪除。

第一部分:背景部分

1.為什麼開展壓力測試

提高產品的穩定性
提高產品的留存率

2.什麼時候開始壓力測試

首輪功能測試通過後
下班後的夜間進行

第二部分:理論

1.手工測試場景

需求:找個惹火的妹子聊天  查詢-新增-聊天  (手動測試和正常的操作流程一樣)

2.自動測試場景

查詢-Touchinput-KeyEven-TouchSearch-TouchName-TouchFriend-KeyEven

這裡寫圖片描述

3.Monkey測試

1.什麼是monkey?
monkey是傳送偽隨機使用者事件的工具
2.monkey在哪?
在手機系統裡

4.ADB

ADB(Android除錯橋AndroidDebugBridge)

這裡寫圖片描述

5.MonkeyScript

什麼是MonkeyScript
MonkeyScript是一組可以被Monkey識別的命令集合。
MonkeyScript可以完成重複固定的操作。

5.MonkeyRunner

1.什麼是MonkeyRunner?
MonkeyRunner提供了一系列的API。
MonkeyRunner可以完成模擬事件及截圖操作。
2.Monkey和MonkeyRunner的區別?
Monkey:在ADB shell中,生成使用者或系統的偽隨機事件。
MonkeyRunner:通過API定義特定命令和事件控制裝置。
3.MonkeyRunner APIs
MonkeyRunner:用來連線裝置或模擬器
MonkeyDevice:提供安裝,御卸,傳送模擬事件。
MonkeyImage:完成影象儲存,及對比的操作。
4.MonkeyRunner的測試型別
多裝置控制 功能測試  迴歸測試
5.壓力測試結果
主要看看異常的兩種:crash 和 ANR

1.什麼是CRASH?

CRASH:即崩潰,應用程式使用過程中,非正常退出。

2.什麼是ANR?

ANR:Application Not Responding

這裡寫圖片描述

第三部分:實踐(6個實踐小案例)

1.一個APP的壓測實踐

一次Android APP的壓測實踐
步驟:
1.準備測試環境(兩方面)
a.準備Android SDK環境
b.準備Python環境
獲取:Android SDK http://www.android-studio.org/  下好後,配置Android SDK的環境變數(這個就不具體講了,就是配置到高階環境變數設定的path裡面)
獲取:https://www.python.org/downloads/  配置環境變數(配置到高階環境變數設定的path裡面)
2.開始壓力測試(分為六步)
第一步:壓測過程Step1:在手機開發者選項中,把useb勾上。
第二步:壓測過程Step2:確認手機和電腦已經成功連線(可通過ADB device確認)

這裡寫圖片描述
第三步:安裝測試App(安裝方式:1.命令列adb install package.apk)
第四步:傳送壓力指令(如:adb shell money 1000, 表示執行1000次隨機命令事件,如音量鍵,Home鍵,截圖鍵,輸入鍵,滑屏鍵等等)
第五步:獲取APP包名(adb命令:adb logcat丨grep START) 游標藍色亮點是包名
這裡寫圖片描述
第六步:給指定包打壓力(adb命令:adb shell monkey -p package 1000) package 具體包名(這裡給手機計算器應用測壓1000個事件,看到計算器應用沒有任何異常)
這裡寫圖片描述

2.Monkey高階引數的應用

1.throttle引數 指定事件之間的間隔
命令:adb shell monkey –throttle <milliseconds>
這裡寫圖片描述

3.CRASH結果析取

4.ANR結果的析取

5.MonkeyScript例項

6.MonkeyRunner例項