1. 程式人生 > >【蟲師--系列09】效能測試知多少---效能測試流程

【蟲師--系列09】效能測試知多少---效能測試流程

來自:http://www.cnblogs.com/fnng/archive/2012/08/09/2631002.html    作者:蟲師

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

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

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

下面看我所提到的流程

效能需求分析

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

  在這一階段,效能測試人員需要與需求人員(客戶)、領導及專案相關的人員進行溝通,同時收集各種專案資料,對系統進行分析,確認測試的意圖。當然,還需要客戶對效能的態度。

  測試需求分析階段的主要任務是確定測試策略和測試範圍。策略主要根據軟體型別以及使用者對系統的效能的需求來定,測試範圍則主要分析系統的功能模組進行調研與分析。最終確認明確的需求。

效能測試計劃

   確定明確的需求之後,我們要做的工作就是制定效能測試計劃。對效能測試過程中所有需要工作制定與規劃。

測試計劃的大體內容:

  專案的簡單背景描述,本次效能測試的需求與目的,效能需求分析的結果是什麼。測試環境的準備,需要什麼樣的軟硬體配置,網路狀況登入。測試資料的準備,對於某些效能測試是需要事先準備測試資料的。

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

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

測試環境搭建

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

軟體環境的搭建對於開發人員來說應該毫無壓力,比如常見的三大環境,微軟的windows + IIS+SQL server 2005+.NET平臺、windows/linux+tomcat/weblogic+mysql+java linux+ apache+mysql+PHP 等環境。當然身為效能測試人員,不僅也需要會搭建軟體平臺,更需要對每個平臺中的部分有比較深入的瞭解。因為效能測試的分析並不是死盯著系統應用那一層。中介軟體、資料庫、系統、硬體都有可能成為系統的瓶頸。

效能工具的引入

其實走到這一步進才需要引入效能測試工具,我們在日常的工作中往往是先選定好測試工具然後再分析需求,制定計劃進行測試。這樣我們在做效能需求分析的時候往往會往往會考慮所選的工具是否能實現,無法實現可能就放棄這個需求或改變這個需求。這樣以某一工具為基礎點做出的效能測試結果可能是不準確的。

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

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

測試的執行

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

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

測試結果的分析

  這裡再重複一次,測試工具只是提供多種不同的資料揭示和呈現方法而已。工具本身並不能幫我們進行效能結果的分析。

  對於效能測試結果的分析,這個需要效能測試工程師對整個被測環境的各種軟硬體都要有深入的瞭解。當然,在這個過程中我們往往需要各個崗位人員的協助,開發人員、DBA、運維等。致力成為一位資深的效能測試工程師要走路還很長。

軟體硬體配置調整與優化

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

  對於我們測試人員來說,我們對一個系統進行功能測試的目的是驗證系統功能是否是符合需求並可用的,但發現了缺陷之後是需要對缺陷進行跟蹤和修復的,並不是把發現的缺陷寫在報告裡就完事的。當然,功能缺陷與效能缺陷存在著本質的缺陷。如果在效能測試過程中發現不滿足需求的缺陷,進行調優是一個不可缺少的過程。

   如果要對系統進行調優的話,測試執行、結果分析、系統調優將會形成一個迴圈持續的過程。直到滿足客戶的需求為止。

 -----------------------------------------------

對於上面測試流程中所列出的部分,我在後續的博文中會細講,當然,你也可以對我提出的這個流程進行交流,歡迎留言拍磚,歡迎加效能測試群。



相關推薦

--系列09效能測試多少---效能測試流程

來自:http://www.cnblogs.com/fnng/archive/2012/08/09/2631002.html    作者:蟲師 看到好多新手,在效能需求模糊的情況下,隨便找一個性能測試工具,然後就開始進行效能測試了,在這種情況下得到的效能測試結果很難體

--系列07效能測試多少---瞭解前端效能

轉自:http://www.cnblogs.com/fnng/archive/2012/07/11/2587196.html       作者:蟲師 我的上一篇博文中講到了響應時間,我們在做效能測試時,能過工具可以遮蔽客戶端呈現時間,通過區域網的高寬頻可以忽略資料傳輸速

--系列08效能測試多少---效能測試工具原理與架構

來自:http://www.cnblogs.com/fnng/archive/2012/07/31/2617546.html      作者:蟲師 在效能測試的學習過程中,堅持思想與工具(分開)並行,當前面世面上的效能測試書籍大多把理論與loadrunner融為一體講解

--系列02在做效能測試之後需要知道些什麼

來自:http://www.cnblogs.com/fnng/archive/2012/03/04/2379744.html    作者:蟲師 之前寫過一篇《在做效能測試之前應該知道什麼》有博文,自我感覺講的不好,舉了兩個例子,和做效能測試之前需要知道的一些要點。離我的

--系列14最近讀的那些效能測試

來自:http://www.cnblogs.com/fnng/archive/2012/09/25/2703133.html     作者:蟲師 我所要介紹的這幾本書都是國內作者出的,沒辦法!主要是英語太挫,英語阻擋了我閱讀國外作品的道路。剛入測試就有幸接觸效能測試,j

--系列20效能測試多少---效能分析與調優的原理

轉自: http://www.cnblogs.com/fnng/archive/2013/03/19/2970315.html   作者:蟲師 最近一直糾結效能分析與調優如何下手,先從硬體開始,還是先從程式碼或資料庫。從作業系統(CPU排程,記憶體管理,程序排程,磁碟I

--系列01在做效能測試之前需要知道什麼

來自: http://www.cnblogs.com/fnng/archive/2011/11/15/2250445.html    作者: 蟲師 最近群裡來了很多新朋友,大都是新做測試或準備做測試工作的,見好多新來上來就問關於LoadRunner的使用上的問題。對效能

--系列03效能測試多少----效能測試分類之我見

來自:http://www.cnblogs.com/fnng/archive/2012/06/09/2543274.html  作者:蟲師 從這一篇開始,蟲師向性能方面發力。翻看自己的部落格,最早的時候熱衷於jmeter,於是寫了幾篇圖文並茂的文章(其實,主要是操作截圖

--系列06效能測試多少---響應時間

來自:http://www.cnblogs.com/fnng/archive/2012/07/01/2571990.html    作者:蟲師 在上一節中,我們講到吞吐量,做為一個使用者你可以對吞吐量毫不關心,但響應時間卻是使用者感受系統性能的主要體現。   從使用者

--系列10cookie、session、sessionid 與jsessionid

轉自:http://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html    作者:蟲師 cookie、session、sessionid 與jsessionid,要想明白他們之間的關係,下面來看個有趣的場景來幫你理

--系列JMeter基礎之一 一個簡單的效能測試

來自:http://www.cnblogs.com/fnng/archive/2012/12/22/2829479.html     作者:蟲師 上一節中,我們瞭解了jmeter的一此主要元件,那麼這些元件如何使用到效能測試中呢。這一節建立一個簡單的測試計劃來使用這些元

--系列使用JMeter建立FTP測試計劃

來自: http://www.cnblogs.com/fnng/archive/2011/07/01/2095654.html    作者: 蟲師 FTP服務主要提供上傳和下載功能。有時間需要我們測試伺服器上傳和下載的效能。在這裡我通過JMeter做一個FTP測試計劃的

--系列使用JMeter建立資料庫(Mysql)測試

來自:http://www.cnblogs.com/fnng/archive/2011/07/26/2117600.html    作者:蟲師 好吧!我一直覺得我不聰明,所以,我用最詳細,最明瞭的方式來書寫這個文章。我相信,我能明白的,你們一定能明白。 我的環境:M

--系列JMeter基礎之--元件的作用域與執行順序

來自: http://www.cnblogs.com/fnng/archive/2012/12/27/2836506.html    作者:蟲師 前面有介紹過jmeter的元件類別,對於新手來說,jmeter的元件是還是不少的,如果我們按照每一個元件的每一個引數的含義去

--系列LR有的JMeter也有之一“引數化”

來自:http://www.cnblogs.com/fnng/archive/2011/07/28/2119896.html   作者:蟲師 醞釀了幾天,一直想寫點JMeter的東西,算是對學習東西的一個整理。:) 恩,一直覺得自己領悟能力不強,別人寫的東西總要看老半

--系列JMeter 聚合報告之 90% Line 引數說明

來自:http://www.cnblogs.com/fnng/archive/2013/02/26/2934317.html   作者:蟲師 其實要說明這個引數的含義非常簡單,可能你早就知道他的含義,但我對這個引數一直有誤解,而且還一直以為是“真理”,原於一次面試,被問到了

--系列LR有的JMeter也有之二“檢查點”

來自:http://www.cnblogs.com/fnng/archive/2011/07/28/2119921.html          作者:蟲師 好吧!接著上一篇文章的內容和思路,繼續前進。 檢查點:簡單的來理解一下,上一章講到,我們對使用者名稱和密碼進行

--系列Jmeter基礎之---jmeter基礎概念

轉自:http://www.cnblogs.com/fnng/archive/2012/12/21/2828440.html   作者:蟲師 JMeter 介紹: 一個非常優秀的開源的效能測試工具。 優點:你用著用著就會發現它的重多優點,當然不足點也會呈現出來。

講Selenium+Python第三講:操作測試對象

最大 寬度 運行 sub alt mail rom baidu bdr 一、首先呢,選擇一個編輯器,我們這裏選擇的是Sublime Text >Ctrl+B為運行當前腳本的快捷方式 二、編寫代碼 1 #coding==utf-8 2 from selenium

Gatling 菜鳥實踐Maven+Gatling實現效能測試指令碼開發過程和總結

背景:最近在朋友圈,有不少人在使用Gatling效能測試工具,都說相比jmeter開源工具有不少優勢,於是在IntelliJ IDEA開發工具中實踐和體驗了一番maven+Gatling的效能測試,實踐如下: 1、搭建IntelliJ IDEA、scala、maven、Ga