自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DevOps性能測試的優(yōu)秀實踐與工具

譯文
運維 系統(tǒng)運維 測試
如今,DevOps的落地將軟件服務(wù)的性能測試提升到了一個全新的水平,并在產(chǎn)品交付過程中顯得尤為重要。本文向您介紹各種有關(guān)性能測試的優(yōu)秀實踐與工具。

【51CTO.com快譯】眾所周知,如果研發(fā)出來的軟件產(chǎn)品最終根本無法達(dá)到最初設(shè)計的目的,并且滿是缺陷和bug的話,這對于應(yīng)用開發(fā)人員來說就是最大的噩夢。同時,對于測試人​​員而言,無論是應(yīng)用程序的性能、還是與穩(wěn)定性相關(guān)的各種問題,他們都有責(zé)任把好最后一關(guān),以確保軟件的質(zhì)量不會在任何情況下被拉低。

正所謂千里之堤潰于蟻穴,任何一處的代碼缺陷,都會影響到您所研發(fā)出的軟件的最終整體性能。因此真正專業(yè)且經(jīng)驗豐富的測試專家,是不會放松任何一項編碼測試環(huán)節(jié)的。

如今,各大企業(yè)都希望通過DevOps來提高軟件產(chǎn)品的交付質(zhì)量。而這往往需要在軟件研發(fā)的生命周期中,采用各種業(yè)界最佳的測試方法和測試用例。在此,我們將分享一些與DevOps相關(guān)的性能測試的細(xì)節(jié),希望能夠給各位軟件測試人員帶來一些啟發(fā)。

[[255666]]

初始測試階段

在這個階段,我們需要在不增加任何負(fù)載的情況下,對應(yīng)用程序進(jìn)行性能測試,以便設(shè)置好初始化的基線。此舉意味著我們通過設(shè)置一個虛擬用戶,來循環(huán)執(zhí)行某些任務(wù),以檢查目標(biāo)應(yīng)用程序的基本功能,當(dāng)然,此類性能分析并不會增加任何并發(fā)的負(fù)載。

顯然,此類基線測試是非常重要的,因為它能夠有效地處置各種調(diào)用命令、或事務(wù)的最短響應(yīng)時間,來設(shè)置基線。一旦某個事務(wù)被執(zhí)行完畢,系統(tǒng)就會記錄并生成其相應(yīng)的響應(yīng)時間。在此基礎(chǔ)上,您可以通過增加負(fù)載,來觀察與應(yīng)用程序性能相關(guān)的各種因素。一般而言,此類因素包括:CPU的利用率、內(nèi)存的使用情況、以及處理的延時。

作為測試人​​員,他們需要分別記下最快和最慢的交易事務(wù)時間,然后在此基礎(chǔ)上細(xì)致地與研發(fā)人員溝通與合作,將負(fù)載最大時的交易時間降至最小。另外,測試人​​員還有責(zé)任在這兩種時間的上下限之內(nèi)保持應(yīng)用程序的穩(wěn)定性,以便軟件即使是在重負(fù)載、多并發(fā)的情況下,仍然能夠保證其自身和所提供服務(wù)的雙重穩(wěn)定性。

尋找臨界點

在測試的初期,測試人員需要充分考慮的另一個關(guān)鍵事項是:通過循環(huán)測試各種場景,以找到軟件的臨界點。同樣地,對此類臨界點的分析也是非常重要的。此法可以確保正常的事務(wù)不會因為突然遭遇到過多的服務(wù)請求,而導(dǎo)致延時甚至是中斷。

如果無法確保自己的軟件產(chǎn)品能夠隨著用戶訪問數(shù)量的激增,還能夠平穩(wěn)順利地運行的話,那么您精心部署和發(fā)布出來的應(yīng)用程序,實際上是毫無意義的。因此,只有通過對應(yīng)用程序持續(xù)采取此類所謂的臨界點“極限測試”,我們才能對各種峰值負(fù)載進(jìn)行預(yù)判,要么事先準(zhǔn)備好各種應(yīng)急措施,要么讓軟件能夠自動實施相應(yīng)的限流與排障方案。

至此,我們已經(jīng)為軟件預(yù)防性功能測試做好了基礎(chǔ)工作。下面讓我們繼續(xù)進(jìn)行深層次的測試討論。

反復(fù)測試腳本

我們在對軟件程序進(jìn)行“抗壓”測試時,千萬不可淺嘗輒止。測試人員一般會分不同的場景,反復(fù)運行測試腳本,以檢驗軟件在應(yīng)對不同請求來源時的兼容性。當(dāng)然為了提高效率,大多數(shù)測試人​​員還會選用各種自動化的測試工具,來達(dá)到此類測試目的。

Selenium是上述自動化測試工具的典型代表。它通過放大并激增各種測試的請求,以監(jiān)控目標(biāo)軟件在極端條件下是如何協(xié)調(diào)并運行的。由于在現(xiàn)實環(huán)境中,我們很難在短時間內(nèi)集結(jié)大量的用戶請求,并手動測試應(yīng)用程序的魯棒性。因此,借用此類工具所產(chǎn)生的自動化腳本,在測試過程中添加大量虛擬用戶是非常重要的。它們對于系統(tǒng)整體性能的檢測與描述,具有一定的客觀性和可參考性。

持續(xù)對應(yīng)用程序進(jìn)行性能測試,將有助于我們發(fā)現(xiàn)CPU和內(nèi)存在使用中的變化情況,開發(fā)人員也可以借此在代碼層面、甚至是架構(gòu)層面予以調(diào)整,以全面提高軟件應(yīng)用的綜合服務(wù)性能。具體操作方法,請參見:

https://www.bugraptors.com/service/performance-testing/。

在DevOps環(huán)境中被廣泛使用的測試工具

1. Selenium

如前文所提到的,Selenium是常用的測試工具之一。它可以為測試人員提供良好的過程體驗。無論您是要測試移動應(yīng)用的整體性能與潛在漏洞,還是要檢查Web應(yīng)用的并發(fā)臨界點,Selenium都可以為您安排好一切。

同時,Selenium也被廣泛地運用到了桌面應(yīng)用的測試環(huán)境中,以輔助提高軟件的運行效率。另外,測試人員往往需要知道其目標(biāo)應(yīng)用是否能夠很好地兼容、并工作在不同的瀏覽器和操作系統(tǒng)上,因此他們可以通過Selenium來創(chuàng)建各種回歸性測試、自動錄制動作、并自動生成不同語言(如.Net、Java、Perl等)的測試腳本,來達(dá)到各種測目的。可以說,如果您想對某個應(yīng)用程序的整體性能有所把握的話,Selenium一定是您的不二之選。

2. UFT

UFT(Unified Functional Testing)同樣也是一款功能強(qiáng)大的性能測試工具,它能夠幫助測試人員持續(xù)監(jiān)控系統(tǒng)的各項性能指標(biāo)。UFT以VBScirpt為內(nèi)嵌語言,支持自動化的功能測試和回歸測試。無論您是想測試Web應(yīng)用、還是某項服務(wù)、甚至是對各種運行環(huán)境進(jìn)行測試,它都能夠為您及時地提供基于不同視圖的結(jié)果。此外,該工具還能夠自動化地產(chǎn)生各種測試報告與文檔。

總結(jié)

綜上所述,我們在運用DevOps進(jìn)行軟件產(chǎn)品開發(fā)與測試,特別是那些性能測試時,上述提及的優(yōu)秀實踐和測試工具,是我們在自己的項目推進(jìn)過程中,所總結(jié)出來的關(guān)鍵點,希望能夠引起每一位開發(fā)人員和測試人​​員的適當(dāng)重視。

原文標(biāo)題:Best Practices and Tools in DevOps Performance Testing,作者:Claire Mackerras

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:趙寧寧 來源: 51CTO
相關(guān)推薦

2023-09-27 23:57:21

2022-03-11 18:30:39

DevOps軟件開發(fā)

2021-09-07 09:00:00

開發(fā)測試工具

2023-09-03 22:26:41

DevOps代碼

2020-12-16 08:23:06

DevOps容器安全容器

2020-04-21 11:44:39

威脅建模框架安全工具

2023-07-04 15:56:08

DevOps開發(fā)測試

2016-11-12 19:07:41

Devops研發(fā)華為HDG

2022-11-30 10:34:17

2023-10-10 10:27:37

DevOps

2022-02-11 08:00:00

DevOps開發(fā)工具

2019-09-19 17:19:47

DevOps工具運維

2023-02-09 08:00:37

DevOps工具建木

2023-02-13 11:50:54

2021-11-07 23:49:19

SQL數(shù)據(jù)庫工具

2022-01-24 17:05:12

Java程序員工具

2023-04-09 16:34:49

JavaSemaphore開發(fā)

2024-08-15 08:11:10

2021-11-26 13:43:01

服務(wù)器虛擬化數(shù)據(jù)中心

2023-05-16 15:25:08

點贊
收藏

51CTO技術(shù)棧公眾號