[測試工具]

漫步雲端ly發表於2018-05-23

導讀

  如果你是正在學LoadRunner,或者已經精通LoadRunner,你也許會有這樣的感覺:做效能測試我離不開LoadRunner了。是的,LR太棒了,不愛都不行。從現在開始,我們來走入LoadRunner的世界。

  LoadRunner介紹

  LoadRunner是原Mercury公司是產品,2006年Mercury公司被HP收購。LoadRunner(以下簡稱LR)是一種高規模適應性的自動負載測試工具,它能預測系統行為,優化效能。LR強調強調是的對整個企業應用架構進行測試,它通過模擬實際使用者的操作行為和實行實時效能監控,來幫助客戶更快的確認和查詢問題。LR能支援廣泛的協議的技術,為客戶的特殊環境,提供特殊的解決方案。

  LR的特點:

  1、能很輕鬆地建立虛擬使用者

  2、能建立真實的負載

  3、定位效能問題

  4、分析結果精確定位問題所在

  5、完整的企業應用環境支援

  LR的結構:

  1、Virtual User Generator:虛擬使用者生成器,簡稱VuGen,用來錄製操作者的操作,建立虛擬使用者指令碼。

  2、Controller:壓力控制器,整個壓力測試的控制中心,用來管理,設計,驅動及監控壓力測試場景。

  3、Load Generator:壓力生成器,執行虛擬使用者指令碼以產生虛擬使用者,對被測系統發出請求和接收響應,模擬實際的負載。

  4、Analysis:結果分析器,通過測試結果的資料,用來分析壓力測試結果。

  5、Launcher:提供一個集中的介面,啟動LR所有模組。

  LoadRunner的工作原理:

  LR的工作原理是通過使用者執行被測程式的客戶端,在VuGen中錄製被測系統的客戶端和伺服器的協議互動,生成指令碼,然後在Controller中控制Load Generator,按照一定的配置(又稱為場景),模擬一定數量的使用者,對伺服器產生壓力,同時對被測系統涉及的作業系統資料庫,中介軟體筆資源進行監控,收集壓力情況下的資源資訊,測試結束後形成測試結果和監控資料,在結果分析器中進行分析,最後生成測試結果報告。在下一篇中我會以一個具體的測試案例來具體說明,敬請留意。

  OK,按照上面的原理,我們來畫一個圖來說明,這樣更容易理解了,如下圖所示:

  OK,這就是LR了,當然在實際的操作中可不象那麼簡單,RL的功能非常強大,在下一篇中會講到,插入事務,引數化技術,精確搜尋資料和篩選特定資料等等。

  做軟體效能測試前的準備

  做測試的都知道,做效能測試比做功能測試難許多,主要是因為效能涉及的範圍太廣,所考慮的不僅僅是軟體本身,還要考慮到硬體,作業系統,網路和各種用到的伺服器等等。在做效能測試是都要對這些進行監控,收集資料,光是工作量就比做功能大很多。功能主要關注的是軟體系統能做什麼,而效能測試關注更多的則是在一定條件下軟體系統能做得多好。

  想要做軟體效能測試,首先你得搞懂幾個概念性的術語。

一、什麼是軟體效能

  軟體效能是軟體的一種非功能特性,它關注的不是軟體是否完成特定的功能,而是在完成該功能時展示出來的及時性。

二、軟體效能的指標

  1、響應時間:是指系統對請求作出響應的時間。這裡的響應時間只是一個很籠統的概念,其實響應時間是可以被進一步分解為系統響應時間和呈現時間。響應時間是衡量一個系統效能的重要指標,但需要說明的是,軟體效能的高底實際上取決於使用者對該響應時間的接受程度。

  2、吞吐量:是指系統在單位時間內處理請求的數量。對無併發的應用系統而言,吞吐量與響應時間成嚴格的反比關係,此時吞吐量就是響應時間的倒數。

  3、併發使用者數:是指系統可以同時承載的正常使用系統功能的使用者數量。與吞吐量相比,併發數量是一個更直觀但也是更籠統的效能指標。

  4、資源利用率:資源利用率反映的是在一段時間只資源平均佔用的情況,

  5、效能計數器:是描述伺服器或作業系統效能的一些資料指標。例如,對Windows系統來說,使用記憶體數(Memory In Usage),程式時間(Total Process Time)等都是常見的計數器。

  6、思考時間(think time):也被稱為“休眠時間”,從業務的角度來說,這個時間指的是使用者在進行操作時,每個請求之間的間隔時間。從自動化測試實現的角度來說,要真實地模擬使用者操作,就必須在測試指令碼中讓各個操作之間等待一段時間,體現在指令碼中,具體而言,就是在操作之間放置一個lr_think_time()的函式,使得指令碼在執行兩個操作之間等待一段時間。但在實際測試中,設定多長的think time才算最合理,不影響迭代次數、併發使用者數和吞吐量,是值得我們思考的問題。

  三、軟體效能測試的分類

  根據測試目的不同,可以把軟體效能測試以及效能有關的其它一些測試分為以下幾類。

  1、效能測試   這裡的效能測試是一個狹義的概念,是指測試軟體的效能是否符合需求中規定的效能。

  2、併發測試

  3、壓力測試

  4、可靠性測試

  5、負載測試

  6、配置測試

  7、失效恢復測試

  其他方面的準備

  OK,到這裡,我們就可以做測試前的準備了。瞭解專案背景,制定測試計劃,參於人員有人數用各自的任務,測試範圍和目標,測試模型,測試資料,系統資訊,搭建測試環境等等,所有這些都準備好了,在下一篇,我以一個自己寫的部落格網為例用LR來現實其效能測試。