基於雲的測試系統經歷

2021-09-30 22:30:14 字數 2480 閱讀 6409

介紹

任何特定軟體即將發布並投入生產期間,其效能一直備受關注。儘管一軟體已被使用者證明如預期的正常運作(通過功能測試後),故障仍可能會發生,尤其當它無法承擔使用者生成的大量loads, volumes, transactions等時。評估軟體的質量和適用性時,很少認真考慮這種非功能需求。因此,謹慎和周密的策劃分析和效能測試用例設計是防止軟體效能故障的關鍵。有了正確的效能場景,就可以系統地進行測試執行和軟體效能評估,從而可以對效能改進做出詳細的分析和建議。

本文通過展示乙個實際的案例研究(關於如何為乙個基於雲的系統規劃和設計效能測試用例)解決了這個問題。效能測試結果對效能測試執行的分析,被證為測試用例設計的有效性的證據。

關於被測的基於雲的系統的概述

圖1.被測系統的邏輯結構

效能測試

這只是常用來衡量任何被測系統效能的乙個概括。通常,我們設計並執行一次效能測試以弄清系統是如何響應特定load的,無論load有沒有被定義為許多併發使用者,volumes或 transactions。

如下表1描述了效能測試各個領域的重點。

表1.效能測試重點

上述重點保證了被測系統應對使用者不斷增長的loads時是可延展的,且一旦它被發布並投入生產就沒有任何意想不到的問題,長遠來看還有助於提高終端使用者的滿意度。這也將會使該系統比市場上的其它相似系統更具競爭優勢。

設計效能測試用例

評估系統的測試用例的設計主要是受早前在規劃和分析階段設定的效能標準制約的。該系統需要足夠快的響應速度,或者至少要達到規定的通過效能測試的最低效能標準。

圖2.被測系統的物理架構

如果系統可以表現得超出這些標準,即比最低標準值更快,該系統則被認為具有更好的效能及未來可以應對更多使用者的可擴充套件性。另乙個重要方面是確保效能測試用例的目的是建立真實世界模擬測試。現實世界測試用例將大幅度提高測試結果的可靠性。確定要模擬的測試用例時的重點是「最常見使用場景」和「業務關鍵使用場景」。測試用例一度不得不**最常見的場景,因為系統還未上市且唯一知道的資訊是:要求的程度。一旦系統上市,例如β測試中,就應有足夠的關於使用者如何使用系統的資訊。該系統在apache web伺服器上,因此可以訪問日誌,上面提供所有遊客到過系統的記錄。日誌可以用「流量分析器」跟蹤一直以來的使用者的模式和習慣。因此測試用例可用於反映真實世界場景。系統擁有者或利益相關者為使該系統通過效能測試而設定的標準規範是:系統需要在1到100個併發使用者的負載下5秒內做出響應。

然而,該標準應當通過設計正確的、執行系統的、可能的場景而被進一步分解。最根本的是把效能測試一分為二:客戶端效能和伺服器端(雲計算)效能。原因是,乙個成功的測試伺服器端並不等同於成功的客戶端,反之亦然。

利益相關者都同意,要測試的使用者數目為1 ,100,200 ,300,400 ,500,1000 , 1500和3000個併發(虛擬)使用者。這些數字與下面表2中給出的各場景相關:

表2.效能測試場景和相關虛擬使用者

設計效能測試用例時通常會被忽略的一方面是:將表2中的場景和乙個網速測試或網路延遲連線以獲得更逼真的測試用例,像對客戶端系統所做的一樣。這是為了模擬使用者將如何體驗不同網際網路連線速度下系統的響應。選定的匹配效能測試的速度是標準lan速度(這種情況下,1gbpslan速度),無線lan速度,1 mbps的有線寬頻和0.44 mbps的無線寬頻。

對於雲平台,只用區域網速度進行效能測試。因此,這一基於雲的系統的用以執行效能測試的完整測試用例如表3所示:

表3.效能測試用例

案例研究 –把設計放入執行

乙個開源效能測試工具被用來執行所有效能測試的雲系統測試用例,因為相對於其他效能測試工具,它允許越來越多的user loads且沒有虛擬使用者許可證限制。

然而,手動執行被用於客戶端系統,因為客戶端系統只能在上網本上執行,所以手動測試更實用。

分布式效能測試方法被用於執行測試,以便工具可以有效地管理**。

工具的環境設定如圖3所示:

圖3. 分布式效能測試執行的環境設定

效能測試結果分為兩組:雲平台的測試結果和客戶端的測試結果。

表4詳述了雲平台的效能測試結果,而表5顯示了客戶端的效能測試結果。

此外,為了更好地理解,圖4以圖表形式展示了雲效能結果。

表4.雲平台效能的響應時間結果

圖4.雲平台效能測試結果

表5.客戶端效能的響應時間結果

結論

由於本文的重點是效能測試的測試用例設計,乙個展示這些測試用例是如何被用於執行的案例研究為本文提供了論點。很顯然,正確的規劃對保證任何效能測試的成功都非常關鍵。效能測試不應該基於「想要時」或「要求時」。效能測試的測試場景和測試用例需盡可能早地被定義和設計,就和其他型別的測試一樣,比如功能測試。這將決定能否順利執行效能測試,其中包括:效能測試工具的選擇,測試環境的設定,如何做出效能衡量和分析應該做的選擇,效能結果不符合指定準則時擴大雲平台的行動計畫,以及執行測試的時間和資源。

這些到位了,任何經過了嚴格效能測試的系統,一旦置於生產環境中,都能夠應付日益增長的負載量,並且對服務其使用者更穩定,更反應靈敏。

基於華為雲部署部落格系統wordpress

基礎環境 雲伺服器已完成 root localhost sed ri selinux cselinux disabled etc selinux config root localhost setenforce 0 root localhost systemctl stop firewalld.se...

測試分析 基於狀態的測試

前言 這一篇比較特別,內容提供者是我的好朋友jingle 專業的ios測試工程師。什麼叫基於狀態的測試 基於狀態的測試,是一種基於模型的測試,常用於事件驅動的系統中,這些系統往往是實時系統,比如數字技術和硬體電路。實際中的系統,比如下面這些通常會用到狀態機 1 作業處理系統 2 atm機 3 介面處...

基於雲的備份軟體

現在的儲存備份軟體,大多數都都是客戶端 伺服器結構的,使用者需要維護自己的儲存裝置 如果能夠有備份軟體能夠把備份建立在雲儲存的基礎上,使用者就省去了維護自己的儲存裝置的費用,而是還是按照使用的空間來付費的,會大大降低成本,這是基於雲的備份相對於傳統備份的優勢,不過缺點也有不少 對於大資料量的備份,要...