如何有效開展效能測試

2021-04-15 07:40:13 字數 4278 閱讀 3183

一、 效能測試型別

效能測試是一種廣義上的說法,包括了以下各種不同的效能測試型別,每種測試型別都帶著明確的測試目的。

1. 效能測試(performance testing)

效能測試的方法是通過模擬生產執行的業務壓力量和使用場景組合,測試系統的效能是否滿足生產的效能要求。即在特定的執行條件下驗證系統的能力狀況。

主要強調在特定的軟硬體環境、特定的測試業務場景下,獲得系統的各個效能指標。

2. 負載測試(load testing)

在給定的測試環境下,通過在被測系統上不斷增加壓力,直到效能指標超過預定指標或某種資源使用已經達到飽和狀態,目的是了解系統效能容量和處理能力極限。負載測試的主要用途是發現系統效能的拐點,尋找系統能夠支援的最大使用者、業務等處理能力的約束。

負載測試是在固定測試環境,在其它測試角度(負載方面)不變的情況下,變化乙個測試角度並持續增加壓力,檢視系統的效能曲線和處理極限,以及是否有效能瓶頸存在(拐點)。主要意義是從多個不同的測試角度去探測分析系統的效能變化情況,配合效能調優。測試角度可以是併發使用者數、業務量、資料量等不同方面的負載。

3. 壓力測試(stress testing)

測試系統在一定飽和狀態下系統能夠處理的會話能力,以及是否出現錯誤,一般用於穩定性測試。

可以理解為資源的極限測試。測試關注在資源處於飽和或超負荷的情況下,系統能否正常執行,是一種在極端壓力下的穩定性測試。其主要意義是通過測試、調優保證系統即使在使用者的極端壓力下也不會出錯甚至系統崩潰。

壓力測試的目的是調查系統在其資源超負荷的情況下的表現,尤其是對系統的處理時間有什麼影響。這類測試在一種需要在反常數量、頻率或資源的方式下執行系統。目標是通過極限測試方法,發現系統在極限或惡劣環境中自我保護能力。

主要驗證系統的可靠性。

4. 配置測試(configuration testing)

通過對被測系統的軟硬體環境的調整,了解各種不同環境對效能影響的程度,從而找到系統各項資源的最有分配原則。

主要用於效能調優,在經過測試獲得了基準測試資料後,進行環境調整(包括硬體配置、網路、作業系統、應用伺服器、資料庫等),再將測試結果與基準資料進行對比,判斷調整是否達到最佳狀態。

5. 併發測試(concurrency testing)

模擬併發訪問,測試多使用者併發訪問同乙個應用、模組、資料時是否產生隱藏的併發問題,如記憶體洩漏、執行緒鎖、資源爭用問題。

6. 可靠性測試(reliability testing)

通過給系統載入一定的業務壓力的情況下,讓應用持續執行一段時間,測試系統在這種條件下是否能夠穩定執行。

需要和壓力測試區分開,兩者的測試環境和測試目的不一樣。壓力測試強調在資源極限情況下系統是否出錯,可靠性測試強調在一定的業務壓力下長時間(如24×7)執行系統,關注系統的運**況(如資源使用率是否逐漸增加、響應時間是否越來越慢),是否有不穩定徵兆。

1. 引言

作為評價產品效能的重要手段,效能測試在軟體測試工作中佔的比重一直很大,要最終提供乙份準確,權威的測試報告,測試人員的努力工作自然不可或缺,但更重要的是測試人員清晰的工作思路,簡潔的測試流程和良好的測試方法。

2. 目前效能測試存在的問題

總結以往進行的效能測試,雖然測試人員自始至終對測試工作都做到了認真負責,但測試報告出爐後,大家總覺得美中不足,對測試結果都心存疑慮,尤其在那些時間跨度較長、針對不同的測試物件的效能對比測試中,或多或少都存在以下幾個方面的問題:

① 測試準備不充分,測試目標不明確,測試計畫不詳細;

② 缺乏測試以及針對測試物件的技術儲備;

③ 測試環境的穩定性及前後一致性不足;

④ 測試資料精確性和代表性不足;

⑤ 測試描述不精練;

下面,我們就剖析以上問題的同時,**一下如何解決這些問題。

三、 效能測試準備

這是乙個經常被忽略的環節,在接到測壓任務後,基於種種其它因素的考慮,測試人員往往急於進度,立即投入到具體的測試工作去了,測試、記錄、分析,忙的不亦樂乎,工作進行了一半才發現,或是硬體配置不符合要求,或是網路環境不理想,甚至軟體版本不對,一時弄得騎虎難下,這都是沒有做好測試準備惹的禍。

那麼我們應該如何做好效能測試的準備工作呢?

做軟體專案有需求調查、需要分析,我們做測試也一樣。在拿到測試任務後,我們首要的任務就是分析測試任務,在開始測試前,我們至少要弄清以下幾個問題:

1. 要測試什麼或測試的物件是誰?

2. 要測試什麼問題或我們想要弄清楚或是論證的是什麼問題?

3. 哪些因素會影響測試結果?

4. 需要怎樣的測試環境(軟體、硬體、網路環境)?

5. 應該怎樣測試?

只有在認真調查測試需求和仔細分析測試任務後,才有可能弄清以上一系列的問題,只有對測試任務非常清楚,測試目標極其明確的前提下,我們才可能制定出切實可行的測試計畫。明確測試目標,詳盡測試計畫在對測試需求充分了解的基礎上,制定盡可能詳細的測試計畫,對測試的實施是大有裨益的。

3.1 測試技術準備

在目前的大環境下,要求測試人員在短時間掌握所有的軟、硬體知識是不太現實的,但平時測試人員應抓緊對測試工具和測試理論的研究,在測試計畫中,應給研究測試物件和測試工具分配充足的學習時間,只有在充分撐握測試工具,完全了解測試物件的前提下,我們才能夠實施測試。建立在錯誤的認識上的測試,既使你再努力,結果也是背道而馳,也很難證明問題,更不用說用這樣的測試報告去說服使用者。

技術準備列表:

1) 紮實的計算機專業基礎知識;

2) 大量的實際效能測試及優化經驗;

3) 效能測試相關工具的使用;

4) 作業系統的原理:熟悉作業系統的體系架構、作業系統的重要基礎概念,以及記憶體管理、儲存/檔案系統、驅動/硬體的管理、網路協議的實現及構成、效能的監控方法和原理,熟悉常用的效能計數器;

5) 資料庫原理:能進行一般的資料庫管理操作,熟悉sql指令碼的使用,熟悉常用的資料調優工具和常用的效能計數器;

6) web應用伺服器原理:了解一般的配置,熟悉常用的伺服器效能監控方法和原理,熟悉常用的效能計數器;

7) 計算機網路原理:至少熟悉tcp/ip協議,熟悉http協議,至少見過並了解三層、四層交換或者路由器的使用和配置。了解常用的與網路效能相關的效能計數器;

8) 行業知識:熟悉專屬行業的業務知識和使用者場景,例如銀行**後台管理系統所涉及的業務知識和使用者場景,**交易系統所涉及的業務知識和使用者場景。

3.2 配置測試環境

配置測試環境是測試實施的乙個重要環節,測試環境適合與否會嚴重影響測試結果的真實性和正確性。測試環境包括硬體環境和軟體環境,硬體環境指測試必需的伺服器、客戶端、網路連線裝置,以及印表機/掃瞄器等輔助硬體裝置所構成的環境;軟體環境指被測軟體執行時的作業系統、資料庫及其他應用軟體構成的環境。考慮到其它因素,如網路鎖、網速、顯示解析度,資料庫許可權、容量等對測試結果的影響。

如條件允許,我們最好能配置幾組不同的測試環境。

搭建測試環境步驟:

1) 測試環境規劃

測試環境的規劃包括硬體、軟體及所有構建測試環境所需的資源的規劃,可以利用checklist或是測試環境部署矩陣的方式完成;

2) 測試環境建立

按照checklist中的網路拓撲、硬體配置、網絡卡型號的要求建立測試環境的硬體和網路環境,搭建完畢後,每個裝置(pc或伺服器)要整理出《硬體配置表》,以便於維護

3) 測試環境配置

按照checklist中的軟體配置、軟體要求、網路資訊、使用者許可權配置測試環境中pc和伺服器的軟體環境,配置完畢後,每個裝置(pc或伺服器)要整理出《環境配置文件》,以便於後期的環境維護。

4) 應用程式部署

按照checklist中的應用軟體列表和應用軟體要求,將應用程式部署到測試環境中,部署完畢後,每個應用程式的部署要整理出《應用軟體部署文件》,以便於後期的公升級維護。

5) 測試環境的使用

在使用過程中可能會對測試環境做一定的調整,每次調整後,都要對相應的文件《測試環境部署checklist》、《硬體配置表》、《應用軟體部署文件》和《應用軟體部署文件》進行修改,以保持環境和文件的一致。

6) 測試環境**

專案結束後,需要對專案中使用的資源進行整理,並將不使用的資源進行釋放。

硬體資源:pc機、伺服器、磁碟空間、交換機等

網路資源:ip位址

3.3 測試資料的獲取和處理

功能測試的資料獲取主要有三個方式

1) 「造」資料:針對正常業務,異常情況,邊界情況等構建測試資料,不僅僅包括最基本的基礎資料,比如:使用者、許可權、配置、基礎編碼、原資料等,還包括系統的業務資料;

3) 「積累」資料:使用現實的業務流程將現有的非電子化業務資料手工錄入系統,在驗證業務的同時也完成了測試資料的積累,即邊測試邊積累資料。但是這種情況積累的資料往往有一定侷限性,因為已經發生的業務資料基本是正確的、一致的,而且可能缺少某些特定業務的資料(不常發生的分支業務)。

這樣就需要根據對測試需求的分析,追加新的測試資料,以便能完整覆蓋業務型別。

關於國有企業如何有效開展效能監察工作的思考

摘要 本就如何能夠將有效的監督滲透到企業生產經營活動的重點領域 關鍵部位和重要環節,促進企業加強和改進管理,預防廉潔風險的發生,從強化教育 健全機構 突出重點 完善制度等幾方面做了初步探索。關鍵詞 國有企業廉政建設效能監察 效能監察是提高國有企業經濟效益和管理水平的重要手段,也是企業紀檢監察工作融入...

化學教學中如何有效開展性學習

科學 是一種重要的學習方式,也是義務教育階段化學課程的重要內容,對發展學生的科學素養具有不可替代的作用。性學習是指在教學過程中創設一種類似科學研究的情境,讓學生通過自主參與主動地探索,發現和體驗所學的內容,從而獲得新的知識,並由此培養學生的創造性 終身學習等能力。我們從以下幾個方面在化學教學中實施 ...

個人開展效能風暴整改方案

效能風暴個人整改方案 現代科學技術的飛速發展,科學教育更注重訓練學生的科學思維方式,培養科學精神和科學態度,提高科學研究和創新能力。所以各學科擔負著向學生進行科學啟蒙教育的任務,更注重學生對周圍世界與生俱來的 興趣和需要。那麼在教學中如何提高課堂效率?我是從這幾個方面來不斷的嘗試 第一 轉變教學觀念...