性能測試基本理論 -1

1、初步概念web

一、功能測試:測試產品的功能是否達到要求算法

二、性能測試:測試產品的性能是否達到要求。(性能的要求高於功能的要求)數據庫

 

市場招聘的需求主要有兩方面:編程

   A、功能測試(手工、自動化)瀏覽器

   B、性能測試(自能經過工具)待遇高於功能自動化,要求比功能高,好比須要查找產品慢的緣由:網絡、服務器、中間件、數據庫等層面問題服務器

 

2、性能測試的課程安排:網絡

一、性能測試的基本概念 ---- 性能測試概念(1天)架構

對性能測試要求比較高的行業:通信、櫻花、金融、證券、保險、百度、谷歌等系統併發

對性能要求比較低的:OA辦公自動化app

 

二、性能測試的工具部分-- LoadRunner   (全球至少一半以上的性能,使用LoadRunner)

1) LoadRunner的初級部分 -- 三大組件的簡單運行

a、腳本生成器:調代碼、腳本的地方

b、控制檯:比如指揮部

c、結果分析器:好比,每隔三秒鐘出一個結果,分析海量的結果,還能夠繼續的分析。

 

2) LoadRunner的高級部分 -- 三大組件逐個深刻掌握。

3)性能測試的高級部分 :性能測試工程中,遇到問題(瓶頸),如何查找、定性,進行性能調優。

 

 

LR   HP官網下載   大概4G 免費    問題:用戶數有限  單用戶等

    多個用戶,須要買Licence須要註冊

基本測試流程:

1)建立/編輯腳本

2)運行壓力測試

3)分析測試結果

 

 

從奧運門票提及~

官方新聞以下:10月30日,北京奧組委想境內公衆啓動第二階段奧運會門票預售。然而,爲讓更多的公衆實現奧運夢想

的「先到先得,售完爲止「的銷售政策拔苗助長,公衆紛紛搶在第一時間訂票,導致票務官網壓力激增,...... 致使系統癱瘓。

     從上午9點開始售票到中午12點,3個小時內,票務網站被瀏覽次數達到2000萬此。這雨他們提供的100萬次/小時流量

相差甚遠。

信息提取:    壓力激增 ----  瞬時壓力:併發壓力(性能測試)

                      系統癱瘓 ----  宕機(down機了)

                      3個小時內,網站的流量次數達到2000萬次

                      他們提供的100次/小時     他們:奧組委

  甲方:奧組委                乙方:開發方                   第三方:測試團隊

 

報道~   

       從今天上午的狀況看,公衆購買門票的熱情極其高漲。有些羣衆很早就來到中國銀行排隊等候;官方票務網站的瀏覽量在第一小時

就達到800萬次,每秒鐘從網上提交的門票申請超過20萬張;票務呼叫中心熱線從9點到10點的呼入量超過了200萬人次。

 

信息提取:    瀏覽量第一小時 800萬次           8000000/3600 = 2222次/秒

                      每秒鐘從網上提交的門票申請超過20萬張

瀏覽量(PV,  Page View) :即頁面訪問量或點擊量,用戶每次刷新即被計算一次。

 

客戶端                    服務器

北京 ---------------->    上海    網絡延遲0.2     每秒鐘差了0.2 *20萬張 = 4萬張 

上海 ----------------->   上海

 

 

項目經理常常安排次測試工程師進行下面的工做:

 ----  測試系統的最大併發用戶數

 ---- 測試系統8小時的最大業務吞吐量

 ---- 測試系統的穩定性和健壯性

 ---- 測試系統在數據達到100萬條記錄時的性能

 ---- 測試系統的核心事物相應時間是否知足用戶的需求

 

 


3、性能測試的概念:

一、性能測試:模擬真實的生產環境,以各類不一樣的壓力(模擬大量用戶)去測試被測系統,去」攻擊「測試系統。同時

記錄下被測系統中各臺服務器的各類重要資源狀況,包括cpu、內存、磁盤和網絡等資源。

二、注意:性能測試以前要作好系統備份。

三、性能測試時首先看性能需求,若是沒有需求,這時要根據與客戶交流、被測系統的相關資料、以及性能測試工程師的

經驗,去編寫測試計劃,進行測試。

四、負載測試和壓力測試的區別:

(國內混用,國外有差異,筆試時須要注意)

1)負載測試是在正常的範圍內測試(也是逐步加壓)

2)壓力測試能夠在極端的範圍內測試

負載測試:是經過逐步增長系統負載,測試系統性能的變化,最終肯定在知足性能指標的狀況下,系統所能承受的最大負載量的測試。

壓力測試 :逐步增長系統負載,測試系統性能的變化,並最終肯定在什麼負載條件下系統性能處於失效狀態,並以此來獲的系統能提供的最大服務級別的測試。

舉例:一座大橋,橋身上寫最大載重車輛,不能超過60噸(負載測試)。可是在橋樑的內部資料裏面規定最大載重車輛,不能超過70噸(壓力測試)。

五、性能測試的背景課程:

1)數據庫 (不誇張的說,60%-90%的性能問題和數據庫有關)

2)操做系統(Unix、Linux)

3 )其餘:網絡協議、防火牆等知識.....

六、影響系統性能的主要因素:

硬件 - cpu、內存、硬盤、網卡及其餘網絡設備

操做系統

網絡

中間件、web服務器

數據庫服務器

客戶端

編程語言、程序實現方法、算法

 

六、被測系統:

SUT(System Under Test)

AUT(Application Under Test)

EUT(Environment Under Test)

就是WebServer 和DB Server 兩部分的統稱。

 

進程和線程的區別:線程是由進程分出的,讓更多的任務同時執行。

每一個虛擬用戶就是一個線程,線程比較省資源

 

4、LoadRunner的工做原理:(錄製--回放)和QTP相似

一、錄製時,loadRunner記錄下客戶端和服務器兩者之間的對話。

二、回放時,LoadRunner模擬真實的客戶端向服務器發起請求,並按照腳本去驗證服務器的應答。

 

說明:有時腳本錄不下來,本身寫腳本,發現測試經過了,但實際運行是服務器癱了。

緣由:沒有模擬真的是客戶端相關,接收出現問題,致使失敗。因此本身寫腳本也要模擬真實的客戶端。

 

LoadRunner的三大組件:(三個火槍手)   QAload工具相似

1)虛擬用戶腳本生成器(Virtual User Generator) VUG

功能:錄製、編輯測試腳本

2)壓力調度控制檯(Controller)

功能:建立場景、運行場景、監控場景、收集測試數據

(場景:就是一個大型的配置文件)

3)壓力結果分析器(Analysis)

功能:把收集到的測試數據以圖表的形式展現出來,生成測試報告。

 

熟悉AUT:LR自帶的一個B/S架構的系統

HP LoadRunner -> Sample ->Web -> Start Web Server 先啓動服務器

 

HP LoadRunner ->Sample ->Web ->Hp WebTour打開應用

 

5、關注AUT,進行腳本的錄製

Web tours 航班訂票系統

用戶名:jojo

密碼:bean

 

注意:(瀏覽器指定使用IE)

一、使用LR以前,瀏覽器配置修改:Internet 選項 ->設置 ->選中「每次訪問此頁時檢查」。

緣由:當腳本更新時,會及時查看到

二、拷貝AUT的網址,準備測試(測試時關閉被測網址網頁)

http://127.0.0.1:1080/WebTours/

 

功能:

Flights      訂票

Itinerary    看到訂票路線 訂單

Home        主界面

Sign  Off    退出

 

錄製腳本:使用VUG

HP LoadRunner ->Application ->HP Vurtual User Generator 打開

 

案例:錄製用戶的登錄腳本

  點擊New圖標 -> New Virtual User ->默認協議 ->Create 開始錄製->填入基本信息點擊ok ->自動打開瀏覽器,開始錄製

填寫基本信息:

Application Type 選擇軟件的架構:B/S(Interner application) 或 C/S(Win32 application)

Program to record 選擇瀏覽器類型 -> 默認IE

URL Address: 被測系統的網址  

Working directory: LR工做路徑  默認

Record into Action: 錄製腳本的位置  默認Action(vuser_init 初始化   Action   vuser_end 結束)

關注小操做條(錄製控制功能)

--> 輸入jojo    bean

--> 開始事物   名稱login (插入事物) -> OK

--> Login 按鈕    登錄

--> 結束事物  login  -> OK

--> 改成vuser_end模式,點擊Sing Off 退出

--> 關閉瀏覽器  -> 點擊藍色的Stop鍵結束錄製

 

注意:當LR 的腳本運行得出的result中所有爲pass時,不必定證實腳本正確。由於lr只是在網絡層面上驗證了服務器收到了客戶端發送的數據包

而且返回,可是,返回的應答中數據是否正確(應答頁面是否正確)沒有驗證。

相關文章
相關標籤/搜索