性能測試知多少---性能測試流程

看到好多新手,在性能需求模糊的狀況下,隨便找一個性能測試工具,而後就開始進行性能測試了,在這種狀況下獲得的性能測試結果很難體現系統真實的能力,或者可能與系統真實的性能相距甚遠。html

  與功能測試相比,性能測試在技術層面具備更大的複雜性。在以往的測試流程中,性能測試只是測試流程的一部分,是系統或驗收測試的一個可選項。但隨着測試技術的發展。許多公司也單獨把性能測試獨立出來,創建專門的性能測試小組或團隊。那麼性能測試在實施的過程當中也須要創建獨立的流程與規範。java

  蟲師提出了本身性能測試流程,與其它書本提出的流程在些小不一樣。流程的實施沒有絕對的對錯,適合自身的流程就是正確。mysql

 

下面看我所提到的流程linux

 

性能需求分析web

 

  性能需求分析是整個性能測試工做開展的基礎,若是你連性能的需求都沒弄清楚,後面的性能測試工具就無從談起了。sql

  在這一階段,性能測試人員須要與需求人員(客戶)、領導及項目相關的人員進行溝通,同時收集各類項目資料,對系統進行分析,確認測試的意圖。固然,還須要客戶對性能的態度。數據庫

  測試需求分析階段的主要任務是肯定測試策略和測試範圍。策略主要根據軟件類型以及用戶對系統的性能的需求來定,測試範圍則主要分析系統的功能模塊進行調研與分析。最終確認明確的需求。apache

 

性能測試計劃編程

 

   肯定明確的需求以後,咱們要作的工做就是制定性能測試計劃。對性能測試過程當中全部須要工做制定與規劃。windows

測試計劃的大致內容:

  項目的簡單背景描述,本次性能測試的需求與目的,性能需求分析的結果是什麼。測試環境的準備,須要什麼樣的軟硬件配置,網絡情況登陸。測試數據的準備,對於某些性能測試是須要事先準備測試數據的。

  測試的策略,前面進行需求分析的目的是制定測試策略,也就是設計符合需求的測試場景,須要對系統的哪些業務模塊進行測試,如何進行?須要設計哪些場景以及設計這些場景的目的。

最後會明確一下人員配備,好比須要開發、DBA、運維都人員的參與協助,性能測試的時間安排。

 

測試環境搭建

 

測試環境搭建,分硬件環境與軟件環境,硬件環境主要是向上級審批硬件配備,在某些大型性能測試,可能須要公司購置或租用硬件設備來進行。或者是未來原有設置進行調配與重組,這個時候就須要網絡工程師的參與或協助。

軟件環境的搭建對於開發人員來講應該毫無壓力,好比常見的三大環境,微軟的windows + IIS+SQL server 2005+.NET平臺、windows/linux+tomcat/weblogic+mysql+java 、linux+ apache+mysql+PHP 等環境。固然身爲性能測試人員,不只也須要會搭建軟件平臺,更須要對每一個平臺中的部分有比較深刻的瞭解。由於性能測試的分析並非死盯着系統應用那一層。中間件、數據庫、系統、硬件都有可能成爲系統的瓶頸。

 

 

性能工具的引入

 

其實走到這一步進才須要引入性能測試工具,咱們在平常的工做中每每是先選定好測試工具而後再分析需求,制定計劃進行測試。這樣咱們在作性能需求分析的時候每每會每每會考慮所選的工具是否能實現,沒法實現可能就放棄這個需求或改變這個需求。這樣以某一工具爲基礎點作出的性能測試結果多是不許確的。

工具的引入分爲自行開發與引入市面上的現有工具。市面上的現有工具又分爲收費與開源免費,各有各的優缺點。咱們要作的是對需求進行分析,從成本,購買成本,開發成本,現有開源工具的二次開發成本,人員學習使用成本以及時間成本等。

在這裏再強調一點,不是隻有壓力測試工具屬於性能工具,在性能測試過程當中所用到的工具都屬於性能工具,如測試數據生成工具,性能監控工具等。

 

測試的執行

 

  測試的執行應該是很大範圍的一塊內容。也就是我在上一節中性能測試架構所提到的內容。用戶行爲生成-->壓力產生器-->用戶代理-->測試調度-->系統監控等。 

  咱們所選擇的工具如何來實現咱們的需求,這個性能測試工程師對引入的有足夠的瞭解。對協議的瞭解,可能須要編程的能力等。其實好多新手對性能的學習也是從某一工具的使用開始的。

 

測試結果的分析

 

  這裏再重複一次,測試工具只是提供多種不一樣的數據揭示和呈現方法而已。工具自己並不能幫咱們進行性能結果的分析。

  對於性能測試結果的分析,這個須要性能測試工程師對整個被測環境的各類軟硬件都要有深刻的瞭解。固然,在這個過程當中咱們每每須要各個崗位人員的協助,開發人員、DBA、運維等。致力成爲一位資深的性能測試工程師要走路還很長。

 

軟件硬件配置調整與優化

 

  說的簡單點這個環節屬於系統調優階段。這一項不是一個必須的環節。這個要看你本次性能測試的需求與目的。若是隻是爲了驗證系統的能力的話。在分析完測試結果後就能夠出性能測試報告了。

  對於咱們測試人員來講,咱們對一個系統進行功能測試的目的是驗證系統功能是不是符合需求並可用的,但發現了缺陷以後是須要對缺陷進行跟蹤和修復的,並非把發現的缺陷寫在報告裏就完事的。固然,功能缺陷與性能缺陷存在着本質的缺陷。若是在性能測試過程當中發現不知足需求的缺陷,進行調優是一個不可缺乏的過程。

   若是要對系統進行調優的話,測試執行、結果分析、系統調優將會造成一個循環持續的過程。直到知足客戶的需求爲止。

 

轉載:http://www.cnblogs.com/fnng/archive/2012/08/09/2631002.html

相關文章
相關標籤/搜索