本發(fā)明涉及web應用性能測試領(lǐng)域,尤其涉及web應用性能測試流量的描述方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,各種web應用層出不窮,對人們的工作和生活產(chǎn)生了深遠的影響。web應用系統(tǒng)基于互聯(lián)網(wǎng)和面向用戶大眾化的特性,導致其用戶數(shù)量巨大,再加之其典型的b/s架構(gòu),使得其面臨著極大的性能挑戰(zhàn)。web應用性能測試是保障web應用系統(tǒng)質(zhì)量的重要手段,就是在時間和空間資源有限的條件下,測試web應用的性能表現(xiàn)是否與預期目標一致,判斷系統(tǒng)是否存在性能缺陷,通過測試結(jié)果數(shù)據(jù)查找性能瓶頸,改善優(yōu)化系統(tǒng)性能的過程。
web應用流量描述是web應用性能測試的基礎,對測試流量真實的描述直接決定了web應用性能測試的成敗。對于web應用流量描述方法的研究重點集中在如何真實的刻畫web應用系統(tǒng)的流量特征,來形成有效的性能測試流量。
web應用流量描述就是描述真實用戶與web應用交互時所具有的行為特征。用戶行為特征包括:瀏覽路徑、請求依賴關(guān)系、思考時間等,對于不同的測試需求需要有針對性的選擇具體的用戶行為特征作為描述內(nèi)容。目前常見的流量描述方法主要有:
url序列,利用一系列的請求列表來描述流量,最為常見的應用是錄制回放技術(shù),通過記錄用戶在瀏覽器端的行為來描述其特征,方法存在簡單直觀的優(yōu)點,但存在腳本可重用性差,路徑覆蓋不全面,導致測試的真實性差,有效性低等缺點。
uml模型,在web應用流量描述中可以利用該模型來對用戶和應用的交互行為進行詳細描述,該模型使用前提是具有完善的uml軟件設計文檔和規(guī)范,具有較大的局限性,基于uml模型的存在通用性差、抽象性差的缺點,不能描述業(yè)務類型復雜的web應用流量。
markov模型,馬爾科夫鏈被應用于物理學、統(tǒng)計學、生物學等領(lǐng)域,在計算機領(lǐng)域應用更加廣泛,存在多種變種用于對web應用性能測試,是一種統(tǒng)計模型,但構(gòu)建時有些復雜。
graph模型,利用圖模型來對web應用流量進行描述,圖的結(jié)構(gòu)多樣靈活,對于復雜的應用,多變的功能可以靈活應對,但同樣存在構(gòu)建、數(shù)據(jù)獲取的困難。
上述方法和模型都存在不同程度的缺陷和不足,其中最主要的是模型自身描述的流量特征和模型數(shù)據(jù)獲取的不足導致的流量真實性差的問題,對于web應用流量描述的關(guān)鍵在于模型的選取和模型數(shù)據(jù)的獲取。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有方法的缺陷,提供一種基于日志的web應用性能測試流量描述方法,實現(xiàn)對web應用性能測試流量進行真實的描述,以滿足性能測試對測試流量真實性的需求。
本發(fā)明提供了一種基于日志的web應用性能測試流量描述方法,包括以下步驟:日志數(shù)據(jù)預處理步驟、用戶行為模型構(gòu)建步驟、用戶類型分布信息提取步驟、時間分布特征提取步驟。
日志數(shù)據(jù)預處理步驟具體為:
第一步,過濾掉對session提取無用的臟數(shù)據(jù),包括缺失、error和包含頁面內(nèi)嵌對象;
第二步,對剩下的記錄進行結(jié)構(gòu)化并匹配動作,生成結(jié)構(gòu)化記錄,包括標志、類型、時間。
用戶行為模型構(gòu)建步驟具體為:
第一步,對web應用的業(yè)務邏輯進行分析,對頁面進行分類,按照功能特征將相似功能頁面劃分為一個動作,定義應用動作;
第二步,對預處理后的格式化的記錄進行順序處理,識別屬于同一session的記錄;
第三步,對session進行聚類,從session中提取k個用戶行為模型,所述k個用戶行為模型即k類用戶,不同類用戶有不同的行為特征,k根據(jù)用戶需要進行自定義。
用戶類型分布信息提取步驟具體為:從日志中提取各類用戶的數(shù)目,計算各類比例,得到類型分布特征。
時間分布特征提取步驟具體為:
第一步,從日志信息中提取web應用流量隨時間變化的特征;
第二步,將時間分成n個段,統(tǒng)計各段的并發(fā)用戶數(shù),n根據(jù)用戶需要進行自定義;
第三步,獲取整個時間過程的流量強度分布特征。
本發(fā)明的有益效果是本發(fā)明通過從日志中提取流量特征,包括用戶行為特征、用戶類型分布特征和強度時間分布特征來共同描述web應用流量,克服了對模型自身描述的流量特征和模型數(shù)據(jù)獲取的不足導致的流量真實性差的問題,使得流量具有典型性和高度真實性,滿足了web應用性能測試對真實性的需求。
附圖說明
圖1基于日志的web應用性能測試流量描述方法的實現(xiàn)步驟。
具體實施方式
具體實施方式一:結(jié)合圖1“基于日志的web應用性能測試流量描述方法的實現(xiàn)步驟”來說明,本實施方式所述的一種基于日志的web應用性能測試流量描述方法,包括以下步驟:日志數(shù)據(jù)預處理步驟、用戶行為模型構(gòu)建步驟、用戶類型分布信息提取步驟、時間分布特征提取步驟。
具體實施方式二:本實施方式是對具體實施方式一的進一步限定,所述的日志數(shù)據(jù)預處理步驟具體為:
第一步,過濾掉對session提取無用的臟數(shù)據(jù),包括缺失、error和包含頁面內(nèi)嵌對象;
第二步,對剩下的記錄進行結(jié)構(gòu)化并匹配動作,生成結(jié)構(gòu)化記錄,包括標志、類型、時間。
具體實施方式三:本實施方式是對具體實施方式二的進一步限定,所述的用戶行為模型構(gòu)建步驟具體為:
第一步,對web應用的業(yè)務邏輯進行分析,對頁面進行分類,按照功能特征將相似功能頁面劃分為一個動作,定義應用動作;
第二步,對預處理后的格式化的記錄進行順序處理,識別屬于同一session的記錄;
第三步,對session進行聚類,從session中提取k個用戶行為模型,所述k個用戶行為模型即k類用戶,不同類用戶有不同的行為特征,k根據(jù)用戶需要進行自定義。
具體實施方式四:本實施方式是對具體實施方式三的進一步限定,所述的用戶類型分布信息提取步驟具體為:從日志中提取各類用戶的數(shù)目,計算各類比例,得到類型分布特征。
具體實施方式五:本實施方式是對具體實施方式四的進一步限定,所述的時間分布特征提取步驟具體為:
第一步,從日志信息中提取web應用流量隨時間變化的特征;
第二步,將時間分成n個段,統(tǒng)計各段的并發(fā)用戶數(shù),n根據(jù)用戶需要進行自定義;
第三步,獲取整個時間過程的流量強度分布特征。
以上所述,僅為本發(fā)明的具體實施方式,本發(fā)明的保護范圍并不局限于此,對于本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明不加創(chuàng)造性地進行改進或變換,而所有這些改進和變換都應屬于本發(fā)明所附權(quán)利要求的保護范圍。