在沒有網絡沒有得到廣泛應用之前,人們通常使用單機版的軟件.隨著互聯網的廣泛應用,軟件制作廠商不但要注意軟件的功能,而且還要重視軟件的性能.
很多時候軟件的功能已經達到了要求,但是在系統上線后卻發現隨著大量并發用戶訪問的增加,最終導致系統崩潰,為企業帶來重大的經濟損失.
本教程會以實例的方式講解在實際工作中使用LoadRunner如何完成性能測試。
教程需要的測試環境請大家自行搭建,本站提供相關實例的源代碼。
因為本人時間不多,同時寫教程也是個很費時間的事情,教程的進度會有些緩慢,請大家諒解!
好了,前言已經寫完了,下面我們將正式開始。
定義需求
不管我們做什么類型的測試,必須有一個測試目標,這個測試目標就是我們的測試需求。在大部分情況下是沒有明確的需求,我們需要自己來定義需求。
看看這個例子:某互聯網IT公司開發了一個 WEB應用系統,系統完成r后需要進行測試。如果你是一名測試人員,你會經常到聽老板對你說 ”對系統進行性能測試,測試了告訴我結果“ ,聽起來很簡單需求,在仔細的思考之后我們就會發現太多模糊的需求。對系統的哪一部分進行?測試通過的標準是什么?應該如何運用并發用戶策略?
如果你不知道有性能測試工具可以使用,你還會發愁如何制造多用戶同時訪問的測試?如果公司的人數較多,你可能還會想可以讓大家一起來訪問這個網站看看效果如何,在現實中也確有這種測試方法,我就遇到過,公司在沒有引入性能測試工具之前真的就是找了100多人在內部進行了并發測試,很顯然這是一個無可奈何的方法,希望大家不要進行同樣的測試,如果你正在考慮做類似的事情,那么你需要仔細的閱讀以后的教程。
繼續回到我們的話題定義需求,對于上面的例子我們應該如何定義需求呢?
其實有兩種方法可以使用:
一、性能測試的需求已經明確寫入了《設計說明書》。我們知道系統大約有多少個并發用戶,用戶要求完成哪些類型的操作……,這種需求的確定通常是基于設計需求,或來源于實際的數據。
二、性能測試的需求是找到系統性能瓶頸,這個需求聽起來比較大,我們需要確定操作類型和操作習慣,這些可以來源于對系統的分析,在實施過程中需要找出系統的性能瓶頸。這個對于初學者有一定難度,同時也是我們最常見的測試需求。
很顯然對于這個例子我們的目標可以將測試需求定義為找出系統的性能瓶頸。
好了,現在我們已經知道自己的測試目標是什么了,接下來我們考慮如何進行具體的操作與實施。
在上一節中我們已經知道了自己的工作目標,接下來我們要思考如何完成這些工作。
此時為了完成測試目標我們會去尋找一些工具,接下來我們將會介紹如何使用LoadRuner 完成性能測試。
確定了測試工具后,我們需要制定工作流程。在LoadRunner的技術手冊給出了性能測試的基本工作流程。這里我們一起來看看這個工作流程包含哪些工作,以及這個流程為我們帶來了哪些概念。
建立測試計劃 -> 制作測試腳本 -> 設定測試場景 -> 運行測試場景 -> 監視測試場景 -> 分析測試結果
以上是性能測試的基本流程。由于我們是第一次進行性能測試,對于測試計劃可以先跳過由制作測試腳本開始我們的測試工作。
制作測試腳本:制作一系列的操作動作,以B/S結構為例我們要告訴測試工具我們需要打開哪些鏈接,輸入哪些數據。
設計測試場景:是標明制作好的腳本應該如何運行,要多少個虛擬用戶?虛擬用戶如何運行?運行多少時間?
監視測試場景:是指在測試運行過程中對指定服務器的性能進行監視,監控數據用于后期的數據分析。
分析結果:從數據中找出性能瓶頸。
在這里插播一下LoadRunner的測試原理(剛才忘了說明)LoadRunner的測試原理很簡單,用多線程或多進程的方式向服務器端發送大量的數據包,同時接收服務器的返回結果。舉個例子:用戶注冊的性能測試,打開注冊頁,輸入注冊信息,然后提交,對于性能測試而言注冊信息的收入過程 LoadRunner并不會進行記錄,當提交時客戶端向服務器端發送請求,這個才是LoadRunner真正關心的內容。不知道我說清楚了沒有,如果有疑問的朋友可以跟帖提出疑問。
回到我們的上一個話題測試流程,當知道了流程中每一步的工作任務后,我們要開始一步步的完成每一個任務。
在LoadRunner中分別不同的工具對應測試流程中的每一步。
制作測試腳本 ----- Virtual User Generator
設定測試場景 ----- Controller
運行測試場景 ----- Controller
監視測試場景 ------ Controller
分析測試結果 ------ Analysis
對測試流程、測試流程中的每個任何所需要的工具我們已經有了一個初步了解,接下來我們會實例的方式完成一次性能測試。(未完待續)
文章來源于領測軟件測試網 http://www.kjueaiud.com/