相關(guān)基礎(chǔ)概念
進程
進程是一個具有獨立功能的程序關(guān)于某個數(shù)據(jù)集合的一次運行活動侵状。比如打開某個word軟件查看文檔。
線程
線程是一個執(zhí)行中的程序活動(即進程)的多個執(zhí)行路徑,執(zhí)行調(diào)度的單位。比如word軟件中使用打印功能靖避。
多線程
多線程指在一個進程下有多個線程潭枣,各個線程執(zhí)行自己的任務(wù),這些線程可以“同時進行”幻捏。比如word軟件同時打印多個文檔盆犁。
并行
并行指的是在同一時刻,多個處理器同時執(zhí)行多個事件/線程篡九。
并發(fā)
并發(fā)指的是在同一時間段內(nèi)谐岁,一個/多個處理器執(zhí)行多個事件/線程。
并發(fā)測試定義
并發(fā)測試的目的榛臼,是以并發(fā)為手段進行接口測試伊佃,來發(fā)現(xiàn)接口在并發(fā)場景下出現(xiàn)的功能問題。
- 同時間執(zhí)行多個相同事件
- 同一時間執(zhí)行多個不同的事件讽坏,同時對服務(wù)器產(chǎn)生壓力
并發(fā)測試分類
- 功能并發(fā)測試
先進行單業(yè)務(wù)功能場景的并發(fā)測試锭魔,再進行混合業(yè)務(wù)功能場景的并發(fā)測試例证。目的是驗證系統(tǒng)功能是否滿足需求預(yù)期的要求路呜。
例如:
- 性能并發(fā)測試
同時滿足某些系統(tǒng)性能指標的前提下,能讓被測對象承擔(dān)不同的工作量织咧,評估被測對象的最大處理能力是否存在缺陷胀葱。目的是驗證系統(tǒng)性能指標是否符合需求預(yù)期的要求。
- 穩(wěn)定性并發(fā)測試
判斷測試系統(tǒng)的長期穩(wěn)定運行的能力笙蒙。
目的是驗證系統(tǒng)穩(wěn)定性是否符合需求預(yù)期的要求抵屿。
- 異常性并發(fā)測試
模擬系統(tǒng)在較差、異常資源配置下運行捅位,評估被測對象在資源不足的情況下的工作狀態(tài)轧葛。
目的是驗證系統(tǒng)的異常響應(yīng)機制是否滿足需求預(yù)期的要求。
測試方案
測試對象拆分
- 找到并發(fā)測試對象艇搀,了解需求測試功能尿扯,梳理業(yè)務(wù)功能;
- 描述測試對象重要性焰雕,列出核心功能衷笋、高頻使用功能、占用資源較多功能矩屁;
- 測試對象拆分辟宗,功能鏈路根據(jù)接口拆分子功能;
- 明確重點測試對象吝秕,準備大量數(shù)據(jù)泊脐、模擬真實環(huán)境;
- 從歷史數(shù)據(jù)的TPS烁峭、頁面訪問量容客、并發(fā)請求數(shù)等方面分析性能指標是否合理,安排優(yōu)先級。
測試方案
接口文檔驅(qū)動測試
編寫接口測試代碼:核對每個接口的傳入?yún)?shù)控制耘柱,同時確認報錯提示信息時候準確如捅、到位;
異常數(shù)據(jù)測試:設(shè)置屬性不存在调煎、網(wǎng)絡(luò)斷開镜遣、數(shù)據(jù)庫鎖表等情況檢查數(shù)據(jù)是否會出現(xiàn)異常;
逐個接口進行并發(fā)事物測試士袄,核對數(shù)據(jù)與用例的調(diào)用結(jié)果是否一致悲关;
復(fù)合接口并發(fā)測試:將各種接口按照一定的順序進行并發(fā),校驗數(shù)據(jù)是否與用例調(diào)用結(jié)果一致娄柳。
業(yè)務(wù)場景驅(qū)動測試
統(tǒng)一動作并發(fā)
混合交易場景
繞過頁面操作:抓包拋送異常值進行交易寓辱。
指標分析
整理并發(fā)需求(性能指標需求)
提取性能指標
并發(fā)數(shù):并發(fā)數(shù)量,例并發(fā)100次赤拒,設(shè)置為10個線程秫筏,每個循環(huán)10次;
成功數(shù):獲取響應(yīng)值為成功的請求挎挖;
成功響應(yīng)時間:請求之前这敬,獲取當前時間,斷言成功后蕉朵,再次獲取一次時間崔涂,取二者之差;
成功率:成功數(shù)/并發(fā)數(shù)始衅;
成功的總響應(yīng)時間:每個成功的響應(yīng)時間之和冷蚂,定義sum_time,初始值為0汛闸,把每次成功的響應(yīng)時間加起來蝙茶;
成功的平均響應(yīng)時間:成功總響應(yīng)時間/成功數(shù);
TPS:成功并發(fā)數(shù)/成功平均響應(yīng)時間蛉拙,(注意TPS和QPS區(qū)別尸闸。QPS:Queries Per Second,意思是每秒查詢率孕锄。指一臺服務(wù)器每秒能夠響應(yīng)的查詢次數(shù)吮廉,用于衡量特定的查詢服務(wù)器在規(guī)定時間內(nèi)所處理流量多少,主要針對專門用于查詢的服務(wù)器的性能指標)