版權聲明:本文為原創文章,轉載請先聯系並標明出處
APP性能測試分為客戶端性能測試和服務端性能測試,客戶端的性能測試主要是針對啟動快慢、耗電量、耗流量、內存使用等指標進行評估,目前主流的APP客戶端性能測試工具有騰訊GT、testin、聽雲、AppsTest等等。而針對APP服務端的性能測試,主要關注點在於服務端的壓力,與傳統軟件的服務端性能測試沒太大區別,都是根據客戶端與服務端通信使用的不同協議來構建對應協議的請求,目前使用最多的還是http協議。
性能測試中的腳本錄制對傳統的PC端-服務器端模式支持的已經非常好了,我們在瀏覽器上操作一遍業務,腳本就已經錄制好了,這些例子網上也隨處可見。但是對於手機APP腳本錄制,就沒那么容易了。LoadRunner為例,loadrunner12也支持了手機APP腳本錄制,但是因LoadRunner購買價格昂貴,使用成本直線上升,所以土豪公司可以考慮,接地氣的公司建議使用HyperPacer。
本文中,我們使用HyperPacer為例,進行APP服務器端的壓力測試。
那么在HyperPacer中,如何實現APP的腳本錄制呢,下面來簡單介紹一下。
我們以紅極一時的新浪微博手機客戶端為例,來看一下HyperPacer中手機APP程序的腳本錄制。
1、打開HYPERPACER,建立測試工程,選擇壓力測試場景
2、點擊【錄制】圖標,進行腳本錄制設置,默認瀏覽器選擇“MOBILE APP”,監聽端口選擇固定端口並設置為5151,如下圖:
注意:首頁地址空着,不需要填寫。
3、在錄制配置界面點擊確定后,會給出提示如何設置手機客戶端,注意,此步驟先不錄制,不要點提示信息中的【確定】!我們只是明確一下主機名和端口號。
4、在手機中打開無線網設置,設置HTTP代理(IOS系統為設置-無線局域網,選擇所連接的無線網進行設置),代理選擇手動,服務器和端口為提示信息中的地址和端口,即IP地址10.2.9.21、5151端口
5、在HYPERPACER的提示信息界面,點擊【確定】按鈕開始錄制腳本。
6、錄制開始后,需要操作新浪微博手機APP,完成腳本錄制,我們錄制以下幾個業務:登錄微博—查看我的賬號—發布一條微博—退出微博,錄制完成后見下圖:
7、腳本錄制完成后,需要准備用戶數據等數據,對腳本進行參數化,直至腳本調試通過。
基於上面的實例,我們來講解壓力的起點和加壓策略。壓力的起點是通過負載測試得來的,也就是系統正常運行的最大負載量,對於微博這種應用廣泛的web應用,我們假定它的正常運行的負載量是200用戶(當然實際肯定遠不止如此),最大用戶數是500(實際也遠不止如此),基准用戶每秒加載10個,過載用戶每秒加載15個,配置如下:
根據設定,前20秒每秒加載10個用戶,直到200個基准用戶加載完畢,接下來20秒每秒加載15個用戶,直到300個過載用戶加載完畢;所有500個用戶加載完畢后,運行3分鍾,運行完后,所有的500用戶在30秒內退出系統。這里的數值要根據實際情況進行設定了。
HyperPacer中,可以通過壓力閥配置系統過載的依據,壓力閥包括資源使用情況、響應時間以及吞吐量等。
本例中我們度量平均每秒2個交易。執行壓力測試后可以檢查每秒是否低於2個交易,低於2個交易則終止執行。
參考文章: LoadRunner對移動互聯網后端服務器壓力測試 原文出處