耐力測(cè)試,看這一篇就夠了

大家好,我是阿薩。前幾天介紹了負(fù)載測(cè)試。性能測(cè)試中耐力測(cè)試也是非常重要的測(cè)試方法。

什么是耐力測(cè)試?

持久測(cè)試是一種軟件的性能測(cè)試,用于檢查在特定負(fù)載條件下,在較長(zhǎng)時(shí)間或更長(zhǎng)時(shí)間內(nèi)的系統(tǒng)性能。

它是非功能測(cè)試,屬于性能測(cè)試的類(lèi)型。

耐力測(cè)試也稱(chēng)為浸泡測(cè)試。它的目的是對(duì)該系統(tǒng)進(jìn)行長(zhǎng)時(shí)間的測(cè)試。它確保系統(tǒng)平穩(wěn)運(yùn)行,沒(méi)有任何故障,并處理所需的負(fù)載。

在耐力測(cè)試中,與負(fù)載或壓力測(cè)試等其他測(cè)試類(lèi)型相比,根據(jù)測(cè)試需求(如12小時(shí)、72小時(shí)或更長(zhǎng)時(shí)間),性能測(cè)試進(jìn)行的時(shí)間更長(zhǎng)。

它有助于找出系統(tǒng)中的任何內(nèi)存泄漏。它還有助于在較長(zhǎng)時(shí)間內(nèi)檢查系統(tǒng)的響應(yīng)時(shí)間。

耐力測(cè)試示例

讓我們通過(guò)一個(gè)“內(nèi)存泄漏”概念的例子來(lái)理解持久性測(cè)試的重要性。

內(nèi)存泄漏的簡(jiǎn)單定義是“不再使用的對(duì)象無(wú)法釋放內(nèi)存”。這是因?yàn)槌绦騿T編寫(xiě)的代碼很弱。”

在發(fā)生內(nèi)存泄漏的情況下,由于內(nèi)存被未使用的對(duì)象占用,可用的內(nèi)存會(huì)逐漸減少,從而降低系統(tǒng)的運(yùn)行速度,最終,系統(tǒng)停止工作。

在持久測(cè)試中,測(cè)試人員通過(guò)提供一定的負(fù)載來(lái)檢查任何內(nèi)存泄漏,從而在預(yù)定的時(shí)間內(nèi)運(yùn)行系統(tǒng)。

處理內(nèi)存泄漏完全取決于所使用的編程語(yǔ)言。

另一個(gè)現(xiàn)實(shí)世界的例子是銀行。假設(shè)一家銀行的線(xiàn)下活動(dòng)被限制3-4天。在此期間,網(wǎng)上銀行的活動(dòng)將比其他正常工作日增加。用戶(hù)的數(shù)量和操作的數(shù)量也會(huì)增加。因此,系統(tǒng)需要準(zhǔn)備好處理這樣的負(fù)載。

耐力測(cè)試過(guò)程

執(zhí)行耐力測(cè)試需要詳細(xì)的計(jì)劃,因?yàn)檫@樣的測(cè)試運(yùn)行需要持續(xù)更長(zhǎng)的時(shí)間。讓我們來(lái)看看在耐力測(cè)試過(guò)程中涉及的步驟-

1. 業(yè)務(wù)和系統(tǒng)需求分析——在這個(gè)步驟中,測(cè)試團(tuán)隊(duì)研究業(yè)務(wù)和系統(tǒng)需求,以確定持久性測(cè)試的需求。如果系統(tǒng)已經(jīng)測(cè)試過(guò)了,只添加了新功能,那么可能不需要進(jìn)行持久性測(cè)試。但如果是一個(gè)新開(kāi)發(fā)的系統(tǒng),它就成為一個(gè)必要的行為。

2. 測(cè)試計(jì)劃——在這個(gè)步驟中,測(cè)試團(tuán)隊(duì)開(kāi)始準(zhǔn)備測(cè)試計(jì)劃。團(tuán)隊(duì)最終確定整個(gè)測(cè)試過(guò)程的資源需求、成本和時(shí)間估計(jì)。

3. 測(cè)試方法的范圍,手動(dòng)和自動(dòng)化,以及執(zhí)行持久性測(cè)試的自動(dòng)化工具(如果使用)被確定。此外,硬件、軟件、數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)需求在此步驟中完成。這應(yīng)該會(huì)刺激實(shí)際的生產(chǎn)環(huán)境。

4. 設(shè)計(jì)測(cè)試場(chǎng)景和測(cè)試用例——一旦詳細(xì)的項(xiàng)目計(jì)劃被勾畫(huà)出來(lái),測(cè)試團(tuán)隊(duì)就開(kāi)始為測(cè)試過(guò)程設(shè)計(jì)測(cè)試場(chǎng)景和測(cè)試用例。此外,在此步驟中,將標(biāo)識(shí)系統(tǒng)的斷點(diǎn)。這是測(cè)試過(guò)程需要使用的負(fù)載量。

5. 測(cè)試環(huán)境設(shè)置—在此步驟中,測(cè)試環(huán)境設(shè)置完成。建議將它與實(shí)際的生產(chǎn)環(huán)境和其他測(cè)試環(huán)境分開(kāi)。

6.測(cè)試執(zhí)行——現(xiàn)在,一旦環(huán)境準(zhǔn)備好了,就執(zhí)行測(cè)試用例,如果在這一步中發(fā)現(xiàn)了任何問(wèn)題,就會(huì)記錄下來(lái)。開(kāi)發(fā)人員負(fù)責(zé)解決這些問(wèn)題,并在問(wèn)題修復(fù)后執(zhí)行重新測(cè)試。

7.關(guān)閉——一旦測(cè)試周期滿(mǎn)足測(cè)試過(guò)程的退出標(biāo)準(zhǔn),它將被關(guān)閉。此外,還將編寫(xiě)一份關(guān)于已查明的問(wèn)題及其最后狀況的報(bào)告。

耐力測(cè)試的優(yōu)點(diǎn)

本節(jié)討論耐力測(cè)試的優(yōu)點(diǎn)如下所示-

當(dāng)系統(tǒng)運(yùn)行較長(zhǎng)時(shí)間時(shí),它可能會(huì)面臨與性能相關(guān)的問(wèn)題。它有助于發(fā)現(xiàn)這些問(wèn)題并檢查軟件的持久性。

持久性測(cè)試有助于發(fā)現(xiàn)與內(nèi)存泄漏相關(guān)的錯(cuò)誤。

它給開(kāi)發(fā)團(tuán)隊(duì)和客戶(hù)以信心。保證了系統(tǒng)在較長(zhǎng)時(shí)間內(nèi)運(yùn)行平穩(wěn),無(wú)需進(jìn)行任何維護(hù)。

與其他性能測(cè)試類(lèi)型一樣,持久性測(cè)試也會(huì)帶來(lái)客戶(hù)滿(mǎn)意度。一旦系統(tǒng)提供給用戶(hù),出現(xiàn)的性能問(wèn)題將導(dǎo)致聲譽(yù)受損。

另一個(gè)好處是減少維護(hù)成本,如果在測(cè)試周期中沒(méi)有發(fā)現(xiàn)某些與性能相關(guān)的問(wèn)題,維護(hù)成本可能會(huì)更高。

在持久測(cè)試中發(fā)現(xiàn)的錯(cuò)誤和bug可以幫助開(kāi)發(fā)團(tuán)隊(duì)和客戶(hù)改進(jìn)基礎(chǔ)設(shè)施。

耐力測(cè)試的缺點(diǎn)

以下是耐力測(cè)試的一些缺點(diǎn)-

這是一個(gè)耗時(shí)的過(guò)程。它可能持續(xù)12個(gè)小時(shí),也可能持續(xù)很多天。

應(yīng)該對(duì)是否需要耐力測(cè)試進(jìn)行適當(dāng)?shù)难芯俊@纾瑢?duì)于任何不產(chǎn)生太多流量且需要定期維護(hù)的網(wǎng)站,這種類(lèi)型的測(cè)試可能不是優(yōu)先考慮的。

這是一個(gè)成本高昂的過(guò)程,因?yàn)樗笙到y(tǒng)在整個(gè)測(cè)試運(yùn)行過(guò)程中持續(xù)運(yùn)行。這就需要一個(gè)合適的基礎(chǔ)設(shè)施。

保持持久性測(cè)試環(huán)境與其他測(cè)試環(huán)境分離是很重要的,因?yàn)樗赡軙?huì)導(dǎo)致應(yīng)用程序失敗或數(shù)據(jù)丟失。

它需要適當(dāng)?shù)挠?jì)劃,特別是在決定測(cè)試需要運(yùn)行的小時(shí)數(shù)時(shí)。

手動(dòng)耐力測(cè)試是不可能的,所以必須使用自動(dòng)化工具來(lái)進(jìn)行測(cè)試。測(cè)試團(tuán)隊(duì)?wèi)?yīng)該熟練使用這些工具。

耐力測(cè)試工具

以下是一些用于耐力測(cè)試的工具-

1. JMeter - Apache JMeter是一個(gè)用JAVA編寫(xiě)的性能測(cè)試工具。它是開(kāi)源軟件,免費(fèi)使用,獨(dú)立于平臺(tái)。此外,它支持與Selenium的集成,也可以用作單元測(cè)試工具。

2. LoadRunner—和JMeter一樣,LoadRunner也是一個(gè)性能測(cè)試工具,可以作為單元和集成測(cè)試工具使用。在性能測(cè)試方面,它是市場(chǎng)的領(lǐng)導(dǎo)者。

通過(guò)聲明接口庫(kù),LoadRunner還支持來(lái)自JMeter和Selenium的腳本。它不是免費(fèi)的,但在試用版中允許一定數(shù)量的用戶(hù)使用。

3. apvance - apvance是一種用于功能、性能和安全測(cè)試的自動(dòng)化工具。它是一個(gè)人工智能驅(qū)動(dòng)的工具,提供虛擬用戶(hù)儀表盤(pán)和實(shí)時(shí)分析。

4. OpenSTA -它是一個(gè)開(kāi)源工具,用于執(zhí)行腳本HTTP和HTTPS高負(fù)載測(cè)試,并具有性能度量。OpenSTA代表開(kāi)放系統(tǒng)測(cè)試架構(gòu)。它是由CYRANO用c++編寫(xiě)的,只支持Microsoft Windows操作系統(tǒng)。

5. WebLOAD Professional -另一個(gè)性能測(cè)試工具,它有多種定價(jià)方案,和NeoLoad一樣,它提供了對(duì)有限用戶(hù)的免費(fèi)計(jì)劃。它還支持Selenium和Perfecto Mobile。

結(jié)論

持久性測(cè)試或浸泡測(cè)試是一種性能測(cè)試類(lèi)型,用于在系統(tǒng)以特定負(fù)載運(yùn)行較長(zhǎng)時(shí)間時(shí)觀察系統(tǒng)行為。這是一個(gè)耗時(shí)的過(guò)程,需要適當(dāng)?shù)挠?jì)劃。它有助于識(shí)別由于應(yīng)用程序的持續(xù)運(yùn)行而可能出現(xiàn)的與性能相關(guān)的問(wèn)題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容