
這真不是您需要的服務(wù)?
負(fù)載測試 load testing
用于評估系統(tǒng)與軟件在預(yù)期變化負(fù)載下的性能表現(xiàn),負(fù)載通常位于低谷、典型和高峰使用的預(yù)期條件之間。
注:性能效率測試的一種。
壓力測試stress testing
用干評估系統(tǒng)與軟件在高干預(yù)期或指定容量負(fù)載需求,或低于最少需求資源的條件下的性能表現(xiàn)。
注:性能效率測試的一種。
峰值測試spike testing
用于評估系統(tǒng)與軟件在短時間內(nèi)負(fù)載大幅度超出通常負(fù)載時的性能表現(xiàn)。注:性能效率測試的一種。
擴(kuò)展性測試scalability testing
用干評估系統(tǒng)與軟件適應(yīng)外部性能需求變化(如用戶負(fù)載支持、事務(wù)數(shù)量、數(shù)據(jù)量等)的性能表現(xiàn)。
注:性能效率測試的一種。
容積測試volume testing
用于評估系統(tǒng)與軟件在吞吐量、存儲容量或兩者兼考慮的情況下處理指定數(shù)據(jù)量(通常達(dá)到最大指定容量或接近最大值)的能力。
注:性能效率測試的一種。
疲勞強(qiáng)度測試endurance testing
用于評估系統(tǒng)與軟件在指定的時間段內(nèi),能夠持續(xù)維持所需的負(fù)載的能力。
注:性能效率測試的一種。
一、性能測試過程
性能測試過程包括性能測試需求分析、性能測試設(shè)計和實(shí)現(xiàn)、性能測試執(zhí)行和性能測試總結(jié)四個過程。
1.性能測試需求分析
性能測試需求分析包括下列活動:
a)確定性能測試的準(zhǔn)入準(zhǔn)則,在系統(tǒng)構(gòu)架確定后或冒煙測試通過后執(zhí)行,測試介入越早越好。
b)確定待測系統(tǒng)與軟件的性能需求。性能需求可來自合同、需求規(guī)格說明等文檔中所明示的需求,或者由業(yè)務(wù)、數(shù)據(jù)、預(yù)期的用戶和系統(tǒng)行為約定的隱含需求。性能需求宜依據(jù)性能需求模型來確定。
c)識別待測系統(tǒng)與軟件相關(guān)的其他外部應(yīng)用。
d)確定性能測試完成或終止準(zhǔn)則。
2.性能測試設(shè)計和實(shí)現(xiàn)
性能測試設(shè)計和實(shí)現(xiàn)過程用于導(dǎo)出測試用例和測試規(guī)程,相關(guān)的活動包括:
a) 確定所需監(jiān)測的指標(biāo)、業(yè)務(wù)場景、被測業(yè)務(wù)的用戶角色分布。
b) 確定采用的性能測試類刑。
c)依據(jù)歷史運(yùn)行情況或?qū)嶋H運(yùn)行環(huán)境設(shè)計測試數(shù)據(jù)生成和讀取規(guī)則。測試數(shù)據(jù)包括為待測系統(tǒng)
與軟件準(zhǔn)備的基礎(chǔ)數(shù)據(jù),以及運(yùn)行所需要的數(shù)據(jù)。數(shù)據(jù)量應(yīng)與測試環(huán)境的配置相適應(yīng)或與未來擴(kuò)展數(shù)據(jù)量一致,在實(shí)際環(huán)境中數(shù)據(jù)量應(yīng)與實(shí)際規(guī)模相一致;在模擬環(huán)境中宜等比對數(shù)據(jù)規(guī)模進(jìn)行調(diào)整。
d)確定負(fù)載生成方式,可采用工具或人工的方式加壓。應(yīng)根據(jù)制定的測試方案布置各測試場景,包括并發(fā)用戶數(shù)執(zhí)行時長以及需要監(jiān)視的性能指標(biāo)等。
e)針對所需測試的業(yè)務(wù)邏輯設(shè)計測試用例。
f)依據(jù)需求或?qū)嶋H運(yùn)行環(huán)境確定測試用例順序。
g)開發(fā)測試腳本。通過腳本對待測系統(tǒng)與軟件的用戶業(yè)務(wù)行為進(jìn)行模擬,腳本的開發(fā)可采用錄制、編寫或定制開發(fā)等方式。完成測試腳本開發(fā)后,應(yīng)進(jìn)行功能驗證,確保測試腳本已完成用戶業(yè)務(wù)行為。
h) 確定暫停和恢復(fù)準(zhǔn)則:
1) 暫停準(zhǔn)則可包括:
--系統(tǒng)不可用;
--由于不確定原因?qū)е路?wù)器宕機(jī)或必要服務(wù)停止運(yùn)行;
--應(yīng)用程序在打開狀態(tài)下具有阻塞程序/嚴(yán)重缺陷;
--所需的依賴項不可用。
2)恢復(fù)準(zhǔn)則可包括:
--系統(tǒng)和/或服務(wù)器可用,啟動并運(yùn)行;
--解決阻塞和/或關(guān)鍵問題;
--應(yīng)用程序功能已恢復(fù);
---測試數(shù)據(jù)處理周期未完成時的恢復(fù)程度。
3.性能測試執(zhí)行
性能測試執(zhí)行過程包括下列活動:
a)執(zhí)行前就緒檢查,對性能測試所需環(huán)境和資源進(jìn)行評估。
b)由人工或利用測試工具執(zhí)行測試腳本,并監(jiān)控執(zhí)行過程中的性能指標(biāo),記錄測試結(jié)果。
c)能測試通常需考察待測系統(tǒng)與軟件在一段時間范圍內(nèi)的綜合表現(xiàn),按需取平均值、最大值或最小值作為測試結(jié)果。
d)若性能測試異常終止或不滿足需求或預(yù)期,填寫性能問題報告單。問題報告單應(yīng)包括問題來源、場景配置、問題描述、問題等級等內(nèi)容。
e)判斷所執(zhí)行的測試用例是否通過。如果測試不通過,分析具體情況,確定是由軟件本身性能瓶頸所引起的,還是由測試環(huán)境所引起的。
二、性能測試需求模型
性能測試需求模型應(yīng)考慮環(huán)境、數(shù)據(jù)、業(yè)務(wù)流程、用戶分布、請求時序分布和網(wǎng)絡(luò)狀態(tài)等因素,
1.環(huán)境需求
針對不同質(zhì)量要求,應(yīng)考慮測試環(huán)境對性能測試的影響,推薦使用系統(tǒng)或軟件的實(shí)際生產(chǎn)環(huán)境作為性能測試環(huán)境。在進(jìn)行性能測試環(huán)境規(guī)劃和設(shè)計時,應(yīng)考慮以下因素:
a)穩(wěn)定性:在相同條件下的多輪次測試結(jié)果應(yīng)保持一致,或在可接受誤差范圍內(nèi);
b)獨(dú)立性:為避免測試結(jié)果失真,測試環(huán)境應(yīng)與其他在用系統(tǒng)或軟件保持相互隔離;
c)可控制性:測試環(huán)境中的所有設(shè)備和資源應(yīng)可被監(jiān)控或控制。
2.性能測試環(huán)境考慮因素包括:
a)硬件配置:包括需使用的計算機(jī)、服務(wù)器、磁盤陣列或其他專用設(shè)備,考慮上述硬件資源的型號、數(shù)量、部署邏輯、通信和連接狀態(tài)等;
b)軟件配置:包括需使用的操作系統(tǒng)、中間件、數(shù)據(jù)庫、性能測試工具或其他專用軟件,考慮前述軟件資源的版本、補(bǔ)丁等;
c)網(wǎng)絡(luò)配置:包括需使用的交換機(jī)、路由器、集線器或其他專用網(wǎng)絡(luò)設(shè)備,考慮前述網(wǎng)絡(luò)資源的組網(wǎng)方式、傳輸速率和延遲特性等。
當(dāng)現(xiàn)有條件無法支撐測試環(huán)境構(gòu)建時,應(yīng)最大化利用現(xiàn)有資源進(jìn)行測試環(huán)境構(gòu)建,并分析測試環(huán)境和生產(chǎn)環(huán)境的差異性,如不同的軟硬件或網(wǎng)絡(luò)設(shè)備可能帶來的性能增益或損耗。
3.數(shù)據(jù)需求
性能測試所需的數(shù)據(jù)包含如下需求:
a)數(shù)據(jù)的類型和業(yè)務(wù)需求相匹配。
b)數(shù)據(jù)量和業(yè)務(wù)需求相匹配。
c)數(shù)據(jù)分布模型和業(yè)務(wù)需求相匹配。應(yīng)通過收集歷史數(shù)據(jù),確定數(shù)據(jù)需求。
d)進(jìn)行數(shù)據(jù)需求分析時,考慮數(shù)據(jù)的使用限制和重用性,制定數(shù)據(jù)讀取策略和備份策略,當(dāng)進(jìn)行性能擴(kuò)展性測試時,應(yīng)根據(jù)實(shí)際情況加大數(shù)據(jù)量。
4.業(yè)務(wù)流程
性能測試應(yīng)首先考慮測試主要或重要的業(yè)務(wù)流程,不同的業(yè)務(wù)流程對系統(tǒng)產(chǎn)生的壓力不同。在業(yè)務(wù)流程選擇時應(yīng)基于風(fēng)險評估考慮如下因素:
a)資源的占用情況;
b)業(yè)務(wù)使用頻率;
c)業(yè)務(wù)的重要性。