發(fā)布時間:2020-06-24
WEB性能測試用例設(shè)計(jì)模型是設(shè)計(jì)性能測試用例的一個框架,在實(shí)際項(xiàng)目中,需要對其進(jìn)行適當(dāng)?shù)募舨?,從而確定性能測試用例的范圍和類別。剪裁的依據(jù)是性能測試策略和測試范圍,在測試用例主要框架確定后,接下來就是如何設(shè)計(jì)各類性能測試用例中具體數(shù)據(jù)。
基于用戶的測試多在用戶現(xiàn)場進(jìn)行,為了測試目的而進(jìn)行的測試多在開發(fā)環(huán)境即開發(fā)團(tuán)隊(duì)的內(nèi)部進(jìn)行。為了測試目的而設(shè)計(jì)的測試用例場景主要根據(jù)測試設(shè)計(jì)人員的經(jīng)驗(yàn)來進(jìn)行,但是仍要參考用戶的實(shí)際場景,用戶實(shí)際使用場景是設(shè)計(jì)所有測試用例的依據(jù)。
性能測試用例設(shè)計(jì)首先要分析出用戶現(xiàn)實(shí)中的典型場景,然后參照典型場景進(jìn)行設(shè)計(jì)。
1. 確定用戶使用系統(tǒng)情況的方法
確定用戶對系統(tǒng)的使用情況是設(shè)計(jì)用例具體數(shù)據(jù)的基礎(chǔ),后面并發(fā)用戶數(shù)據(jù)設(shè)計(jì),疲勞強(qiáng)度設(shè)計(jì)以及各種場景設(shè)計(jì)都要依賴對用戶使用系統(tǒng)情況的分析,分析用戶使用情況經(jīng)常采用現(xiàn)場調(diào)查和分析系統(tǒng)日志兩種方法:
用戶現(xiàn)場調(diào)查:通過和用戶進(jìn)行溝通,可以確定用戶的人員組成情況,這類方法適用于用戶群體固定且目標(biāo)測試系統(tǒng)沒有投產(chǎn)前的情況。
分析系統(tǒng)日志:當(dāng)用戶比較分散,現(xiàn)場調(diào)查比較困難時,可以采用對系統(tǒng)日志進(jìn)行分析的方法,作為對用戶現(xiàn)場調(diào)查的補(bǔ)充。
2. 并發(fā)用戶數(shù)量設(shè)計(jì)
設(shè)計(jì)并發(fā)用戶數(shù)量前,首先要了解確定系統(tǒng)最大并發(fā)用戶數(shù)量的方法可,以根據(jù)系統(tǒng)的最大使用人數(shù)或者最大在線數(shù)量來評估最大并發(fā)用戶數(shù)量的方法:
極限法:取最大在線用戶數(shù)作為最大并發(fā)數(shù),這種方法適用于系統(tǒng)已經(jīng)投產(chǎn)目標(biāo)用戶群體不確定的門戶網(wǎng)站,可以通過分析日志來進(jìn)行測試,也可以使用系統(tǒng)已經(jīng)注冊的用戶數(shù)量作為系統(tǒng)的用戶數(shù)量,按照經(jīng)驗(yàn)公式來估算最大用戶數(shù)量。
用戶趨勢分析:對軟件生存周期內(nèi)的用戶未來走勢進(jìn)行分析,預(yù)測系統(tǒng)可能達(dá)到的最大使用用戶數(shù)目,從而估算系統(tǒng)的最大并發(fā)用戶數(shù)目,這種方法多用于用戶數(shù)目逐漸增多的情況。
經(jīng)驗(yàn)評估法:多用于系統(tǒng)的使用用戶數(shù)目相對穩(wěn)定而且比較明確的系統(tǒng)。
并發(fā)用戶數(shù)量的設(shè)計(jì)基本是按照最大并發(fā)用戶的數(shù)量的百分比來設(shè)計(jì)的,對于某一特定的用例,需要注意:
一、按照各類用戶同時遞增的方式來設(shè)計(jì)用戶數(shù)量,是為了按照由淺入深的方法來發(fā)現(xiàn)系統(tǒng)的瓶頸;
二、并發(fā)用戶的最大值一般不會超過前面計(jì)算的最大并發(fā)用戶數(shù)量的 20% ,除非是為了測試系統(tǒng)能支持的最大并發(fā)用戶數(shù)量;
三、設(shè)計(jì)用戶數(shù)量時要考慮成本,因?yàn)槊拷M用戶數(shù)都意味著至少執(zhí)行一次測試;
3. 系統(tǒng)不同時間段場景的設(shè)計(jì)
不同時間段的場景更接近用戶使用情況,它也是設(shè)計(jì)核心模塊和組合模塊并發(fā)性能測試用例的基礎(chǔ),不同時間段場景分析的數(shù)據(jù)主要是前面的需求分析和日志分析結(jié)果。
不同時間段場景的設(shè)計(jì)基本原則有兩個:一是選擇典型的場景進(jìn)行測試,尤其要選擇場景中并發(fā)用戶數(shù)目較大的場景;二是要覆蓋全面,設(shè)計(jì)出的用例要覆蓋到壓力可能較大的時間段,用戶場景的設(shè)計(jì)一般與后面的業(yè)務(wù)模式結(jié)合起來進(jìn)行。
4. 業(yè)務(wù)模式的設(shè)計(jì)
業(yè)務(wù)模式的設(shè)計(jì)是不同時間段場景設(shè)計(jì)的特例,也是設(shè)計(jì)核心模塊和組合模塊并發(fā)性能測試用例的基礎(chǔ),設(shè)計(jì)業(yè)務(wù)模式的目的是專注于某些功能模塊的組合,按時間段來設(shè)計(jì)場景通常會涉及很多模塊,如果系統(tǒng)存在的由應(yīng)用軟件引起的瓶頸則很難定位,所以才抽象一些特定的業(yè)務(wù)模式來進(jìn)行用例的設(shè)計(jì)。
按照業(yè)務(wù)模式和時間段的場景來設(shè)計(jì)性能測試用例時,會涉及到如何設(shè)計(jì)每個模塊并發(fā)用戶數(shù)目的問題,通常會取各個相關(guān)模塊在24小時內(nèi)最大的并發(fā)用戶數(shù)目進(jìn)行組合。
5. 大數(shù)據(jù)量測試用例的設(shè)計(jì)
歷史數(shù)據(jù)相關(guān)的大數(shù)據(jù)量測試設(shè)計(jì)與并發(fā)用戶的測試設(shè)計(jì)很類似,首先要確定系統(tǒng)數(shù)據(jù)的最長遷移周期,確定了系統(tǒng)的最大數(shù)據(jù)量后,接下來選擇一些前面的核心模塊或者組合模塊的并發(fā)用戶測試用例作為其主要內(nèi)容即可。
運(yùn)行時大數(shù)據(jù)量測試主要根據(jù)模擬系統(tǒng)運(yùn)行時可能產(chǎn)生的大數(shù)據(jù)量來進(jìn)行測試,這類測試用例通常根據(jù)實(shí)際情況去分析設(shè)計(jì)。
6. 一些特定測試用例的設(shè)計(jì)
疲勞強(qiáng)度測試,最大用戶測試,容量測試等一些特殊的測試用例設(shè)計(jì),根據(jù)用戶的需求進(jìn)行,這類用例的相關(guān)要求通常十分明確。
性能測試用例最重要的是注意用例間的關(guān)系,孤立的設(shè)計(jì)各類用例只能增加測試成本,浪費(fèi)人力。性能測試用例設(shè)計(jì)人員應(yīng)該追求設(shè)計(jì)既能覆蓋性能測試需求,又能以較低的成本來執(zhí)行測試用例。
總結(jié)
1. 測試用例可用性總結(jié)
對于一個比較完善的性能測試項(xiàng)目,經(jīng)常會有一些測試用例不能執(zhí)行,因此測試完成后應(yīng)該分析哪些用例不能執(zhí)行以及不能執(zhí)行的原因,這樣可以為下次測試打好基礎(chǔ)。
2. 用例執(zhí)行效果分析
通過對用例執(zhí)行效果進(jìn)行分析,可以為升級或者開發(fā)新的性能測試用例提供有利的參考,不是所有的用例都能導(dǎo)致系統(tǒng)瓶頸的出現(xiàn),因此應(yīng)該分析哪些用例能夠發(fā)現(xiàn)系統(tǒng)問題,那些用例執(zhí)行時沒有太大效果。
分析那些設(shè)計(jì)好的用例不但有助于以后設(shè)計(jì)用例,還可以為再次執(zhí)行提供參考,當(dāng)下次測試進(jìn)度壓力較大時可以先執(zhí)行重要的用例,跳過那些嘗試性的,不容易發(fā)現(xiàn)問題的用例。
3. 用例執(zhí)行時間分析
分析用例的執(zhí)行時間是為下次規(guī)劃性能測試提供參考,由于很多用例執(zhí)行時間不是特別確定,導(dǎo)致性能測試計(jì)劃也具有一定的不確定性,通過分析用例的執(zhí)行時間可以為以后的制定測試計(jì)劃提供參考。
總之,性能測試用例的設(shè)計(jì)是需要通過不斷分析總結(jié)才能做好,不但要分析性能測試用例的可用性、執(zhí)行效果、執(zhí)行時間,還應(yīng)該分析用例的設(shè)計(jì)方法、設(shè)計(jì)思路等。
推薦閱讀:
Web壓力測試怎么測?壓力測試怎么確定并發(fā)數(shù)?
電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報價)。
您的信息已成功提交!
我們的客服人員稍后會與您聯(lián)系