測試場景
說明同上
無網路請求的頁面響應時間
一般指從發起跳轉,到頁面完全載入出來的時間間隔
有網路請求的頁面響應時間同上
這些測試場景,目前業內也沒有成熟的測試方法。我們傳統的測試方法是掐秒錶或者在**裡面打日誌。但這樣誤差大,操作成本高,非常有必要改進。下面我們就來討論一下我們的改進思路。
對於測試方法的衡量,通常從兩個維度:準確性和效率。而帶來這兩方面提公升的方法一般是通過自動化的手段來進行。對於啟動時間和響應時間的測試,我們只做到了半自動化,但已經從很大程度上提高了準確度和效率。
一、啟動時間的測試(方案一)
環境依賴:
參考**:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os,sys
import random,time
from com.android.monkeyrunner import monkeyrunner,monkeydevice
import thread
defgetlaunchtime
(startactivity):
#cmd = './tools/aapt %s | grep package' % apkpath
#pkginfo = output.split("name=/'")[1].split("/' ")[0]
#print pkginfo
#等待主機與android裝置連線
device = monkeyrunner.waitforconnection()
monkeyrunner.sleep(1)
#殺掉待測程式,通常用於排除干擾
cmd = 'am force-stop %s' % startactivity.split('/')[0]
device.shell(cmd)
running = true
starttime = time.time()
#print starttime
endtime = time.time()
#device.startactivity(component='com.pafinancialtech.shundebank/com.pingan.fstandard.activity.splashactivity')
device.startactivity(component=startactivity)
#print out
while running:
out = device.shell('dumpsys activity activities | grep mfocusedactivity')
#print out
if (out.find("splashactivity") == -1):
running = false
endtime = time.time()
#print endtime
print
if __name__ == "__main__":
getlaunchtime(sys.argv[1])
二、啟動時間的測試(方案二)
流程二
環境依賴:
參考**:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import random,time
from com.android.monkeyrunner import monkeyrunner,monkeydevice,monkeyimage
defgetlaunchtime
(screenshot,startactivity):
#等待主機與android裝置連線
device = monkeyrunner.waitforconnection()
#獲取初始頁面截圖,作為對比標準
result = monkeyrunner.loadimagefromfile(screenshot)
#殺掉待測程式,通常用於排除干擾
device.shell('am force-stop %s' % startactivity.split('/')[0])
#啟動待測程式的主activity
device.startactivity(component=startactivity)
#monkeyrunner.sleep(15)
starttime=time.time()
while
1: current=time.time()
mainpageimage=device.takesnapshot()
#print time.time()-current
if(result.sameas(mainpageimage,0.6)):
launchtime=current-starttime
print launchtime
break
if __name__ == "__main__":
getlaunchtime(sys.argv[1],sys.argv[2])
三、頁面響應時間的測試
頁面響應時間
依賴工具:
測試結果示例:
如下圖所示,計算出來的各個頁面的響應時間如下:
響應時間
響應時間優化
業務不停的迭代,加上打工人換了一波又一波,導致很多業務介面特別重,可讀性非常的差。最近專案在重構優化,部分介面平均響應時間在 1.5s 左右,對於使用者體驗來說,非常的不友好。本文旨在提出幾個介面優化的一些常用的辦法。1 優化的準則 一切的前提是業務價值需要。如果沒有足夠的價值,那麼可讀性才是第一,...
Eureka響應時間優化
1 心跳傳送時間間隔 eureka.client.leaserenewalintervalinseconds 2 心跳檢查間隔 eureka.server.evictionintervaltimerinms 3 readwrite 快取 同步到 readonly 快取中的 間隔時間 eureka.s...
通過Ethereal測量響應時間
我們在測試過程中有的時候響應時間可以通過客戶端效能測試工具獲得,但是有的時候不能,特別是非同步傳輸的系統,當系統請求發出後系統不是及時響應,而是通過後續的應用獲取資訊,這種情況下現有客戶端效能測試工具很難解決響應時間的衡量。因此在類似於此類測試過程中我們可以通過 ethereal 類似的協議分析工具...