有考網(wǎng)有考網(wǎng)合作機構(gòu)>哈爾濱培訓(xùn)學(xué)校>哈爾濱香坊區(qū)常青達內(nèi)IT教育培訓(xùn)
哈爾濱香坊區(qū)常青達內(nèi)IT教育培訓(xùn)
全國統(tǒng)一學(xué)習專線 8:30-21:00
位置:有考網(wǎng) > 計算機類>軟件測試> 軟件測試工程師如何做好性能測試?  正文

軟件測試工程師如何做好性能測試?

發(fā)布時間:2021-12-29 16:57:07來源:轉(zhuǎn)載

自上世紀末Kent Beck提出TDD(Test-Driven Development)開發(fā)理念以來,開發(fā)和測試的邊界變的越來越模糊,從原本上下游的依賴關(guān)系,逐步演變成你中有我、我中有你的互賴關(guān)系,甚至很多公司設(shè)立了新的QE(Quality Engineer)職位。和傳統(tǒng)的QA(Quality Assurance)不同,QE的主要職責是通過工程化的手段增加項目質(zhì)量,這些手段包括但不僅限于編寫單元測試、集成測試,搭建自動化測試流程,設(shè)計性能測試等??梢哉f,QE身上兼具了QA的質(zhì)量意識和開發(fā)的工程能力。從這篇開始,我會從開發(fā)的角度分三期聊聊QE這個亦測試亦開發(fā)的角色所需的基本技能。

1 什么是性能測試?

先來看一下維基百科里對性能測試的定義,

In software engineering, performance testing is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. - Wikipedia

注意上述定義中有三個關(guān)鍵詞:

responsiveness,即響應(yīng)時間,請求發(fā)出去之后,服務(wù)端需要多久才能返回結(jié)果,顯然響應(yīng)時間越短,性能越好。

stability,即穩(wěn)定性,同樣的請求,不同時刻發(fā)出去,響應(yīng)時間差別越小,穩(wěn)定性越好,性能也越好。

workload,即負載,同一時刻服務(wù)端收到的請求數(shù)量,其中單位時間內(nèi)成功處理的請求數(shù)量即吞吐量,吞吐量越大,性能越好。

響應(yīng)時間和吞吐量是衡量應(yīng)用性能好壞較重要的兩個指標。對于絕大多數(shù)應(yīng)用,剛開始的時候,響應(yīng)時間較短;隨著負載的增大,吞吐量上升,響應(yīng)時間也逐漸變長;當負載超過某一個值之后,響應(yīng)時間會突然呈指數(shù)級放大,同時吞吐量也應(yīng)聲下跌,應(yīng)用性能急劇下降。

2 性能測試的目的

了解了應(yīng)用性能變化的普遍規(guī)律,性能測試的目的也就有了答案:針對某一應(yīng)用,找出響應(yīng)時間和吞吐量的量化關(guān)系,找到應(yīng)用性能變化的臨界點。你可能會問,知道了這些有什么用呢?在我看來,至少有3個層面的好處:

第一,有的放矢,提高資源利用率。性能測試的過程就是量化性能的過程,有了各種性能數(shù)據(jù),你才能對應(yīng)用性能進行定量分析,找到并解決潛在的性能問題,從而提高資源利用率。

第二,科學(xué)的進行容量規(guī)劃。找到了應(yīng)用性能變化的臨界點,也就很容易找到單節(jié)點的性能極限,這是進行容量規(guī)劃的重要決策依據(jù)。比如某一應(yīng)用在單節(jié)點下的極限吞吐量是2000 QPS,那么面對10000 QPS的流量,至少需要部署5個節(jié)點。

第三,改善QoS(Quality of Service)。很多時候,資源是有限的,面對超出服務(wù)能力的流量,為了增加QoS,必須做出取舍(比如限流降級,開關(guān)預(yù)案等),應(yīng)用性能數(shù)據(jù)是設(shè)計QoS方案的重要依據(jù)。

更多培訓(xùn)課程: 哈爾濱軟件測試 更多學(xué)校信息: 哈爾濱香坊區(qū)常青達內(nèi)IT教育培訓(xùn) 咨詢電話:

相關(guān)內(nèi)容: 軟件測試 性能測試 軟件性能測試

同類文章
相關(guān)熱詞