回顧day1:web
一、什麼是性能測試?數據庫
模擬真實的生產環境,以各類不一樣的壓力(模擬大量用戶)去測試被測系統,去」攻擊「測試系統。同時服務器
記錄下被測系統中各臺服務器的各類重要資源狀況,包括cpu、內存、磁盤和網絡等資源。網絡
二、簡述LoadRunner的工做原理。併發
一、錄製時,loadRunner記錄下客戶端和服務器兩者之間的對話。函數
二、回放時,LoadRunner模擬真實的客戶端向服務器發起請求,並按照腳本去驗證服務器的應答。工具
三、簡介LoadRunner的三大組件,寫出其中英文名稱。性能
1)虛擬用戶腳本生成器(Virtual User Generator) VUG測試
功能:錄製、編輯測試腳本spa
2)壓力調度控制檯(Controller)
功能:建立場景、運行場景、監控場景、收集測試數據
(場景:就是一個大型的配置文件)
3)壓力結果分析器(Analysis)
功能:把收集到的測試數據以圖表的形式展現出來,生成測試報告。
四、併發和在線的區別。
五、簡述點擊率和吞吐量的概念,並簡述其區別。
點擊率:每秒鐘用戶向Web服務器提交的HTTP請求數。
- 點擊率越大,對服務器的壓力也越大。
- 注意:點擊不是鼠標的一次「單擊」操做,由於在一次「單擊」操做中,客戶端可能向服務器發出多個HTTP請求。
吞吐量:用戶在任意給定一秒從服務器端得到的所有數據量,單位是字節。吞吐量/傳輸時間就是吞吐率。
=========================================================================================
1、做業講解
一、性能測試中,腳本不建議調試過於複雜,腳本中action過多。
------ 腳本過於複雜,則系統測試結果出現問題後不易查找性能瓶頸,定位較難,下降工做效率。
通常的狀況,一個測試點(操做)對應一個腳本。
二、錄製腳本不要過急,要待也沒資源下載完畢後,再進行下一步,不然腳本沒法錄製完成,不能調試成功。
三、腳本中檢查點不須要加過多,一兩個便可,由於檢查點也是函數,執行時也要耗費資源。----若是腳本添加函數過多,過於複雜,則須要耗費額外的資源,可是全部服務器的資源監控數據都會記錄在被測系統的結果報告中,形成報告中數據不許確。
四、性能測試中的在線測試是以循環爲主,如查詢稿件,則腳本的運行方式:登陸--查詢稿件 - 查詢稿件-查詢稿件 - 退出系統;即腳本中init --- action ---action---action ---end
五、LR腳本中的註釋:
1)註釋單行:// 2)註釋多行:/* .....*/
六、LR和QTP的相同點和區別:
1)LR和QTP的相同點:工做方式都是錄製-- 回放
2)區別:
a、LR關心的是客戶端和服務器直接的對話(數據包),關心的是請求(客戶端發出)和應答(服務器端發出),關心的是網絡協議(網絡上的語言:http)
b、qtp關心的是aut的界面,以及界面上的對象及對象的屬性。
七、正常來講,一臺PC機能夠支持上百個進程或者上千個線程,若是使用線程來運行虛擬用戶,則一臺PC機通常能夠支持1000-2000用戶,若是遇到5000用戶在線,則須要聯機測試(多臺筆記本)。
2、性能測試策略:(基準測試、併發測試、綜合場景測試、疲勞強度測試、內存泄漏測試、數據容量測試、極限測試、遞增測試)
一、在進行性能測試以前,功能測試要先經過。
二、基準測試(Benchmark Testing):單用戶測試,目的是爲其餘測試提供參考依據。
三、遞增測試:每隔一段時間(如5秒、10秒)加載不一樣數目的虛擬用戶執行測試操做,對測試點進行遞增用戶壓力加載測試。
遞增測試存在的意義:若是全部的虛擬用戶同時加載,可能形成AUT的資源忽然增大,進而影響後續測試中關心的測試點的數據,全部前面能夠稍稍放緩,遞增長載虛擬用戶。
四、在線綜合場景測試:號稱能幹最真實的模擬實際的生產場景,通常狀況下綜合場景中要求腳本爲3個以上,將虛擬用戶分紅不一樣的組,每組執行不一樣的腳本。
注意:通常不要將Login腳本加到綜合場景中,由於綜合場景通常持續時間很長(1個小時左右),這段時間內,全部的用戶在循環執行操做,登陸不適合作循環。
如:10%的用戶執行瀏覽首頁,50%的用戶執行查詢訂單,40%的用戶執行訂購機票,最大限度的模擬系統的真實場景,使用戶宇宙系統投入使用後的性能水平。
5、注意:在設置綜合場景中用戶執行操做比例時,大部分的用戶應該作瀏覽或者查詢,少部分作提交操做。
6、解決端口衝突的問題:
1)查明哪一個服務佔用了1080端口:netstat -ano 查看1080端口對應的PID(cmd)。
2)再進入任務管理器中進程列表下所對應的PID(進程標識符),將其禁用就能夠了(或者在服務中禁掉)。
七、併發測試:多用戶在同一時刻同時執行某個操做。併發測試就是考察被測系統的瞬間壓力的承受能力。
八、疲勞強度測試:通常指長時間的在線綜合場景測試,即在必定的壓力強度下,進行長時間的測試,測試的時間常常爲7*24小時,或者24小時等等。
九、內存泄漏:指系統運行時,佔用的內存沒有獲得及時的釋放,隨着運行時間的增長,被佔用的內存愈來愈多,致使能夠物理內存被用光,系統運行緩慢甚至宕機,這種現象稱爲內存泄漏。
十、內存泄漏檢測:使用相應的測試軟件進行內存指定計數器的監控,觀察釋放符合內存泄漏的曲線走勢,還可使用專門的內存泄漏檢測工具進行測試。
十一、數據容量測試:考察AUT(被測系統)中數據庫服務器中存儲不一樣容量數據時,AUT的性能反應。
十二、數據容量的單位:
1)1024Byte=1K
2)1024K =1M
3)1024M =1G
4)1024G =1T
5)1024T=1P
1三、極限測試:也稱「摸高測試」,即便用性能測試,逐漸增長被測系統的壓力,測試出AUT的極限值,如最大用戶數、最大的吞吐量等。
1四、LoadRunner的工做方式:
1)腳本生產器將用戶的操做錄製成腳本(至關於武器)。
2)每一個虛擬用戶都執行這個腳本(至關於每一個士兵都手持武器)。
3)控制檯同一管理全部的虛擬用戶(至關於總司令部)。
4)被攻擊的城堡至關於AUT(被測系統,部署在服務器上)。
1五、事務(Transaction):爲度量服務器的性能,須要定義事務。事務表示要度量的最終用戶業務流程或操做。
1六、場景(Scenario):場景是一種文件,用於根據性能要求定義在每個測試回話運行期間發生的時間。模擬真實環境中,用戶運行情況。
1七、如何去設置場景的參數:把握一個原則 ---模擬時間的生產環境。
1八、Agent的做用:當控制檯統一對各個壓力生成器(load generator)進行控制,每臺壓力生成器須要啓動agent, agent負責實時偵聽來自控制檯的指令,以達到協調各壓力生成器中虛擬用戶的做用。
1九、在作聯機測試時,聯機的機器須要知足兩個條件:
1)安裝壓力生成器
2)啓動agent
20、監控器:在性能測試過程當中,要監控全部的服務器的重要資源。
2一、LoadRunner的工做流程:
1)LR的腳本生成器對AUT進行捕捉和錄製(選擇正確的協議,模擬Java客戶端或者IE客戶端),造成腳本。對於腳本能夠在run_time settings中進行設置,進而造成場景。
2)在控制檯中,對VUS(虛擬用戶)進行部署,連同場景,造成各類測試場景(包括基準測試,併發測試,綜合場景測試等)。場景能夠啓動或者中止,包括對於壓力生成器的控制,還能夠在測試過程當中對AUT的服務器進行監控。
3)測試過程當中造成的海量數據,在測試結束後統一提交到結果分析器,造成各式圖表。
2二、控制檯和腳本生成器中都有Run_time settings,控制檯的優先級更高。
2三、LoadRunner錄製原理:
-- 自動監控指定的URL或應用程序所發出的請求及服務器返回的響應。
-- 它做爲一個第三方監視客戶端與服務器的全部對話,而後把這些對話記錄下來,生成腳本。
-- 再次運行時模擬客戶端發出的請求,捕獲服務器的響應。
2四、若是遇到查詢的腳本,通常狀況下,檢查點爲查詢總條數的信息,可是若是系統中信息條數會變化,則須要避開總條數去驗證。
25:、錄製腳本的過程(以bug爲例)
1)new一個新腳本
2)點擊「init」
3)填入登陸信息(jojo/bean)
4)插入login事務起始點
5)點擊login按鈕
6)點擊「login」事務結束點
7)切換到「action」
8)購票(到最後一個continue按鈕截止)
9)插入bug事務起始點
10)點擊「continue」按鈕
11)插入檢查點
12)插入bug事務結束點
13)切換到「end」
14)退出系統(若是直接關閉頁面,則用戶沒有真正退出系統,與服務器的鏈接還在)
15)關閉頁面
16)結束錄製
2六、上述步驟3和4能夠調換位置,由於在輸入界面信息時,對服務器沒有提交請求,只有當點擊「login」按鈕時,纔將輸入的信息提交給服務器。
2七、LR腳本中,LR函數都是以web_和lr_開頭。
2八、Lr腳本中,使用類C語言做爲腳本,支持lr函數和C語言函數。
2九、思考時間:兩個步驟之間的停頓時間。
30、通常在測試過程當中(控制檯),須要設置思考時間(根據測試的需求);而在腳本生成器中,通常忽略思考時間,越快越好。
3、LoadRunner工具組成(組件):
一、虛擬用戶腳本生成器(Virtual User Gennerator) -- 捕獲最終用戶業務流程和建立自動性能測試腳本,即產生測試腳本。
二、控制檯(Controller) -- 根據用戶對場景的設置,設置不一樣腳本的虛擬用戶數量。
三、結果分析器(Analysis) -- 分析測試結果
四、負載生成器(Load Gennerator) -- 經過運行虛擬用戶產生實際的負載。
代理程序(Agent) -- 部署在各個客戶端,協調獲得步調一致的虛擬用戶。
監控系統(Monitor) -- 監控主要的性能計數器。