教學(xué)課件·網(wǎng)絡(luò)測試技術(shù)與應(yīng)用_第1頁
教學(xué)課件·網(wǎng)絡(luò)測試技術(shù)與應(yīng)用_第2頁
教學(xué)課件·網(wǎng)絡(luò)測試技術(shù)與應(yīng)用_第3頁
教學(xué)課件·網(wǎng)絡(luò)測試技術(shù)與應(yīng)用_第4頁
教學(xué)課件·網(wǎng)絡(luò)測試技術(shù)與應(yīng)用_第5頁
已閱讀5頁,還剩144頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 第二部分 WEB應(yīng)用測試1 web應(yīng)用程序測試入門軟件測試過程目標(biāo)系統(tǒng)(被測系統(tǒng))測試用例輸入數(shù)據(jù)希望的輸出結(jié)果usernamepassword登錄成功得到實際輸出結(jié)果?錄入輸入數(shù)據(jù)常見的目標(biāo)系統(tǒng)Web系統(tǒng)應(yīng)用程序游戲多機(jī)應(yīng)用B/S架構(gòu)C/S架構(gòu)單機(jī)應(yīng)用移動應(yīng)用B/S架構(gòu)的目標(biāo)系統(tǒng)互聯(lián)網(wǎng)瀏覽器瀏覽器瀏覽器瀏覽器目標(biāo)系統(tǒng)(被測系統(tǒng))網(wǎng)站系統(tǒng)用戶與網(wǎng)站系統(tǒng)的交互過程打開瀏覽器,鍵入網(wǎng)站系統(tǒng)的URL地址網(wǎng)站系統(tǒng)向網(wǎng)站系統(tǒng)發(fā)送HTTP請求網(wǎng)站系統(tǒng)收到并解析HTTP請求網(wǎng)站系統(tǒng)處理HTTP請求網(wǎng)站系統(tǒng)將請求處理結(jié)果封裝成HTTP響應(yīng)瀏覽器收到并解析HTTP響應(yīng)得到HTML頁面用戶做出下一步操作HTTP

2、請求HTTP響應(yīng)網(wǎng)站系統(tǒng)的演進(jìn)單機(jī)多機(jī)集群用戶數(shù)量增加業(yè)務(wù)更加復(fù)雜網(wǎng)絡(luò)速度變快提升用戶體驗單機(jī)網(wǎng)站系統(tǒng)組成應(yīng)用程序應(yīng)用服務(wù)器數(shù)據(jù)庫文件多機(jī)網(wǎng)站系統(tǒng)組成應(yīng)用程序應(yīng)用服務(wù)器數(shù)據(jù)庫文件文件服務(wù)器數(shù)據(jù)庫服務(wù)器應(yīng)用緩存技術(shù)應(yīng)用程序應(yīng)用服務(wù)器數(shù)據(jù)庫文件文件服務(wù)器數(shù)據(jù)庫服務(wù)器分布式緩存服務(wù)器1分布式緩存分布式緩存服務(wù)器2分布式緩存本地緩存應(yīng)用程序本地緩存應(yīng)用服務(wù)器2使用集群技術(shù)應(yīng)用服務(wù)器文件服務(wù)器數(shù)據(jù)庫服務(wù)器分布式緩存服務(wù)器1分布式緩存分布式緩存服務(wù)器2分布式緩存本地緩存應(yīng)用程序1Nginx/LVS/H5負(fù)載均衡器數(shù)據(jù)庫文件分布式緩存服務(wù)器2分布式緩存數(shù)據(jù)庫改造應(yīng)用程序本地緩存應(yīng)用服務(wù)器2應(yīng)用服務(wù)器文件服務(wù)

3、器數(shù)據(jù)庫服務(wù)器1本地緩存應(yīng)用程序1Nginx/LVS/H5負(fù)載均衡器數(shù)據(jù)庫文件分布式緩存服務(wù)器1分布式緩存數(shù)據(jù)庫服務(wù)器2數(shù)據(jù)庫主備寫操作讀操作同步CDN和反向代理分布式緩存服務(wù)器2分布式緩存應(yīng)用程序本地緩存應(yīng)用服務(wù)器2應(yīng)用服務(wù)器文件服務(wù)器數(shù)據(jù)庫服務(wù)器1本地緩存應(yīng)用程序1Nginx/LVS/H5負(fù)載均衡器數(shù)據(jù)庫文件分布式緩存服務(wù)器1分布式緩存數(shù)據(jù)庫服務(wù)器2數(shù)據(jù)庫主備反向代理服務(wù)器CDNCDN文件服務(wù)器2文件使用分布式文件系統(tǒng)分布式緩存服務(wù)器2分布式緩存應(yīng)用程序本地緩存應(yīng)用服務(wù)器2應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器1本地緩存應(yīng)用程序1Nginx/LVS/H5負(fù)載均衡器數(shù)據(jù)庫文件服務(wù)器1文件分布式緩存服務(wù)器1分

4、布式緩存數(shù)據(jù)庫服務(wù)器2數(shù)據(jù)庫主備反向代理服務(wù)器CDNCDN使用NoSQL和搜索引擎文件服務(wù)器2文件分布式緩存服務(wù)器2分布式緩存應(yīng)用程序本地緩存應(yīng)用服務(wù)器2應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器1本地緩存應(yīng)用程序1Nginx/LVS/H5負(fù)載均衡器數(shù)據(jù)庫文件服務(wù)器1文件分布式緩存服務(wù)器1分布式緩存數(shù)據(jù)庫服務(wù)器2數(shù)據(jù)庫主備反向代理服務(wù)器CDNCDNNoSQL數(shù)據(jù)庫搜索引擎拆分應(yīng)用服務(wù)器文件服務(wù)器2文件分布式緩存服務(wù)器2分布式緩存應(yīng)用程序本地緩存A業(yè)務(wù)應(yīng)用服務(wù)器2數(shù)據(jù)庫服務(wù)器1Nginx/LVS/H5負(fù)載均衡器數(shù)據(jù)庫文件服務(wù)器1文件分布式緩存服務(wù)器1分布式緩存數(shù)據(jù)庫服務(wù)器2數(shù)據(jù)庫主備反向代理服務(wù)器CDNCDNNoS

5、QL數(shù)據(jù)庫搜索引擎A業(yè)務(wù)應(yīng)用服務(wù)器1應(yīng)用程序本地緩存B業(yè)務(wù)應(yīng)用服務(wù)器2B業(yè)務(wù)應(yīng)用服務(wù)器1WEB系統(tǒng)技術(shù)架構(gòu)的革新未曾停止等待你的發(fā)現(xiàn) 第二部分 WEB應(yīng)用測試1 web性能測試軟件性能測試狹義的性能測試是指在給定條件基準(zhǔn)的前提下被測目標(biāo)系統(tǒng)能達(dá)到的運(yùn)行程度。測試被測目標(biāo)系統(tǒng)在給定環(huán)境下的運(yùn)行性能,度量其性能與預(yù)定義目標(biāo)的差距。 。廣義的性能測試則是壓力測試、負(fù)載測試、強(qiáng)度測試、并發(fā)(用戶)測試、大數(shù)據(jù)量測試、配置測試、可靠性測試等和性能相關(guān)的測試統(tǒng)稱。軟件性能測試定義:在極限負(fù)載(大數(shù)據(jù)量、大量并發(fā)用戶等)情況下的測試,查看應(yīng)用系統(tǒng)在峰值使用情況下操作行為,以及當(dāng)負(fù)載降低后系統(tǒng)的狀態(tài),從而有效

6、地發(fā)現(xiàn)系統(tǒng)的某項功能隱患、系統(tǒng)是否具有良好的容錯能力和可恢復(fù)能力。分類:壓力測試分為高負(fù)載下的長時間(如24小時以上)的穩(wěn)定性壓力測試和極限負(fù)載情況下導(dǎo)致系統(tǒng)崩潰的破壞性壓力測試。 目的:發(fā)現(xiàn)在什么條件下系統(tǒng)的性能變得不可接受,并通過對應(yīng)用程序施加越來越大的負(fù)載,直到發(fā)現(xiàn)應(yīng)用程序性能下降的拐點。幾種性能測試間的區(qū)別負(fù)載測試:載重20噸,汽車是否能以100公里時速行駛;或者載重20噸,汽車的最快速度是多少。壓力測試:在20噸、30噸、40噸的情況下,汽車是否還能正常行駛,當(dāng)載重多少時汽車將無法行駛,當(dāng)汽車無法行駛后減少載重量,汽車是否還能繼續(xù)正常行駛。容量測試:如果要去汽車以時速100公里的速度

7、行駛,最多可以載重多少噸。 為什么要實現(xiàn)性能測試自動化 自動化性能測試的核心是向預(yù)部署系統(tǒng)施加工作負(fù)載,同 時評估系統(tǒng)性能和最終用戶體驗。 應(yīng)用程序?qū)δ繕?biāo)用戶的響應(yīng)是否足夠迅速? 應(yīng)用程序是否能夠游刃有余地處理預(yù)期用戶負(fù)載? 應(yīng)用程序是否能夠處理業(yè)務(wù)所需的事務(wù)數(shù)? 在預(yù)期和非預(yù)期用戶負(fù)載下應(yīng)用程序是否穩(wěn)定? 是否能夠確保用戶在使用此應(yīng)用程序時感到滿意? HP LoadRunner介紹與負(fù)載測試設(shè)計LoadRunner工具使用工具簡介工具方法論VuGen的使用Controller的使用Analysis的使用工具簡介LoadRunner產(chǎn)品包括五個核心組件:Virtual User Generat

8、or:虛擬用戶生成器,簡稱VuGen,用來錄制被測目標(biāo)系統(tǒng)客戶端的操作,并自動生成虛擬用戶腳本。Controller:控制器,它是整個負(fù)載測試的控制中心,用來管理、設(shè)計、驅(qū)動及監(jiān)控負(fù)載測試場景的執(zhí)行以及被測目標(biāo)系統(tǒng)的資源使用情況。Load Generator:負(fù)載生成器,可以是壓力機(jī)操作系統(tǒng)中的一個進(jìn)程或線程,它執(zhí)行虛擬用戶腳本以模擬真實用戶的行為對被測目標(biāo)系統(tǒng)發(fā)出請求并接收響應(yīng),進(jìn)而模擬真實的負(fù)載。Analysis:分析器,它讀取控制器收集的測試過程數(shù)據(jù),分析負(fù)載測試的結(jié)果,進(jìn)一步生成測試報告。Launcher:加載器,負(fù)責(zé)提供一個集成的操作界面,從中測試人員可以啟動LoadRunner的所

9、有其他組件。 術(shù)語場景場景文件根據(jù)性能要求定義每次測試期間發(fā)生的事件。Vuser在場景中,LoadRunner 用虛擬用戶 (或稱 Vuser)代替真實用戶。 Vuser 模仿真實用戶的操作來使用應(yīng)用系統(tǒng)。一個場景可以包含數(shù)十、數(shù)百乃至數(shù)千個 Vuser。Vuser 腳本Vuser 腳本描述 Vuser 在場景中執(zhí)行的操作。由Init、Action、End三部分組成,其中在虛擬用戶設(shè)置中可以讓Action部分重復(fù)執(zhí)行多次,而Init和End部分僅能執(zhí)行1次。 事務(wù) 要評測服務(wù)器性能,需要定義事務(wù)。事務(wù)代表要評測的終端用戶業(yè)務(wù)流程。 術(shù)語系統(tǒng)用戶數(shù)Nu:使用被測目標(biāo)系統(tǒng)的總?cè)藬?shù)在線用戶數(shù)Nou:

10、高峰時同時訪問被測目標(biāo)系統(tǒng)在線人數(shù)并發(fā)用戶數(shù)Ncu:在同一時刻與服務(wù)器進(jìn)行了交互的在線用戶數(shù)三者存在如下關(guān)系:Nu Nou Ncu性能需求一個擁有4000員工的公司,需要開發(fā)一個僅供公司內(nèi)部員工使用的辦公自動化系統(tǒng)(OA系統(tǒng)),最高峰時有500人同時在線。對于系統(tǒng)的典型用戶來說,一天之內(nèi)用戶使用訪問OA系統(tǒng)的平均時長為4小時,通常用戶僅會在8小時工作時間內(nèi)訪問該系統(tǒng)。那么,系統(tǒng)的并發(fā)用戶數(shù)是多少呢?給出了一個并發(fā)用戶數(shù)的推導(dǎo)公式:L為在線用戶的平均會話時長,T為考察時間長度,為并發(fā)用戶數(shù)的峰值。 工具方法論測試計劃:測試前要規(guī)劃測試對象的性能需求,定義壓力指標(biāo);腳本編制:捕獲實際用戶的業(yè)務(wù)操作

11、流程,形成自動腳本;定義場景:設(shè)定所采用的負(fù)載方案、業(yè)務(wù)流程組合和虛擬用戶數(shù)量;執(zhí)行場景:設(shè)定壓力管理和執(zhí)行壓力場景,進(jìn)行性能參數(shù)的監(jiān)控;分析結(jié)果:使用分析器導(dǎo)出結(jié)果生成分析圖表;分析結(jié)果;診斷結(jié)論:給出診斷結(jié)論;調(diào)優(yōu):針對診斷結(jié)果進(jìn)行調(diào)優(yōu);生成Vuser的流程錄制業(yè)務(wù)流程修改強(qiáng)化腳本參數(shù)化關(guān)聯(lián)檢查點集合點事務(wù)化參數(shù)化參數(shù)化的作用 通過將一組待提交的數(shù)據(jù)進(jìn)行變量化來達(dá)到在腳本運(yùn)行時引入多樣數(shù)據(jù)的目的;關(guān)聯(lián)關(guān)聯(lián)的作用 將執(zhí)行過程中從服務(wù)端獲取即時數(shù)據(jù)保存在某個變量中,在后續(xù)業(yè)務(wù)中進(jìn)行提交的機(jī)制檢查點檢查點的作用 從業(yè)務(wù)過程的角度檢查用例結(jié)果是否正確; 運(yùn)行正確的兩個層次:服務(wù)器響應(yīng)正確;業(yè)務(wù)處理

12、正確; HTTP狀態(tài)碼 服務(wù)響應(yīng)正確不等于業(yè)務(wù)處理正確集合點集合點的作用 保證用戶的絕對并發(fā)執(zhí)行;在模擬多用戶對業(yè)務(wù)流程進(jìn)行操作時,能夠模擬絕對的并發(fā)壓力;事務(wù)化事務(wù)化的作用LoadRunner中默認(rèn)一個action是一個事務(wù),統(tǒng)計事務(wù)處理時間是以整個action來統(tǒng)計。例如,腳本中包含用戶登錄、機(jī)票檢索、訂票、支付等活動,那么此時度量的結(jié)果是完成上述所有操作的總時間。如果希望知道虛擬用戶完成每個不同操作的時間,需要使用事務(wù)(Transaction)對上述操作進(jìn)行界定。通過創(chuàng)建事務(wù),可以將連續(xù)的業(yè)務(wù)過程進(jìn)行事務(wù)化分割,能夠明確統(tǒng)計每一步驟的處理性能。Controller的使用場景的設(shè)定運(yùn)行時設(shè)

13、定監(jiān)控設(shè)定網(wǎng)絡(luò)模擬及IP欺騙場景設(shè)定Manual Scenario(手工場景設(shè)置)手工設(shè)置壓力的分布和增長、降低的策略,測試時工具根據(jù)設(shè)定的壓力分配各條腳本的訪問用戶數(shù)量分布,可以選擇根據(jù)百分比或直接設(shè)置絕對數(shù)量兩種;適用于對預(yù)計訪問壓力的性能評估需要。Goal-Oriented Scenario(目標(biāo)場景設(shè)置)設(shè)定壓力運(yùn)行的性能目標(biāo),由工具自動調(diào)整訪問壓力來嘗試達(dá)到;適用于對系統(tǒng)性能需求明確進(jìn)行驗證需要。場景設(shè)定Scenario的設(shè)置starttime convert scenarioload generatorsschedule enable ip spooferResultsRendez

14、vous運(yùn)行時設(shè)定Run LogicPacingThink TimesMiscellaneousSpeed SimulationProxyPreferencesContent Check監(jiān)控設(shè)定性能監(jiān)控 trans response time trans / sec (passed)網(wǎng)絡(luò)監(jiān)控throughput服務(wù)器監(jiān)控%processor time(Memory) available bytes%disk timeprocessor queue length專項監(jiān)控Analysis的使用導(dǎo)出結(jié)果讀取圖表組合圖表取樣間隔總結(jié) 使用LoadRunner配合合理的方案,能夠?qū)ο到y(tǒng)進(jìn)行有效的性能測試

15、;性能測試是一項團(tuán)隊合作的工作,需要各個技術(shù)角色的參與,從被測系統(tǒng)的開發(fā)人員到被測系統(tǒng)的軟硬件維護(hù)人員多方的配合;HTTP協(xié)議狀態(tài)碼的含義100 : Continue 101 : witching Protocols 200 : OK 201 : Created 202 : Accepted 203 : Non-Authoritative Information 204 : No Content 205 : Reset Content 206 : Partial Content 300 : Multiple Choices 301 : Moved Permanently 302 : Found

16、 303 : See Other 304 : Not Modified 305 : Use Proxy 307 : Temporary Redirect 400 : Bad Request 401 : Unauthorized 402 : Payment Required 403 : Forbidden404 : Not Found 405 : Method Not Allowed 406 : Not Acceptable 407 : Proxy Authentication Required 408 : Request Time-out 409 : Conflict 410 : Gone 4

17、11 : Length Required 412 : Precondition Failed 413 : Request Entity Too Large 414 : Request-URI Too Large 415 : Unsupported Media Type 416 : Requested range not satisfiable 417 : Expectation Failed 500 : Internal Server Error 501 : Not Implemented 502 : Bad Gateway 503 : Service Unavailable 504 : Ga

18、teway Time-out 505 : HTTP Version not supported Run Logic腳本塊由一組腳本組成的集合,腳本塊區(qū)別于腳本組在于工具的腳本組是固定的,而腳本塊使客戶自定添加的;腳本組可以含有腳本塊;腳本組腳本組是腳本或腳本塊的組合,工具有三類固有的腳本組:Init:Init腳本組在一個虛擬并發(fā)用戶的整個執(zhí)行周期內(nèi)只會運(yùn)行一次;所有該組的腳本或腳本塊都只會順序執(zhí)行一次;Run:Run腳本組在一個虛擬并發(fā)用戶的整個執(zhí)行周期內(nèi)可以運(yùn)行多次;End:同Init腳本組End腳本組在一個虛擬并發(fā)用戶的整個執(zhí)行周期內(nèi)只會運(yùn)行一次;IterationIteration特指的

19、是Run腳本組的迭代;設(shè)置Iteration迭代次數(shù)時,將影響整個Run腳本組的迭代次數(shù);當(dāng)Run腳本組需要內(nèi)迭代時,則可以通過腳本塊來進(jìn)行內(nèi)循環(huán)的設(shè)置;Preferencesadvanced-Winlnet replay instead of Sockets(Windows only)Socket和Winsocket ,Socket是通用的TCP/IP的協(xié)議實現(xiàn), Winsocket是Socket在Windows下的針對windo Windows ws特性的封裝實現(xiàn),能發(fā)揮win Windows dows的特性但通用性較不足;Winlnet是實現(xiàn)了Winsocket的動態(tài)庫;Content

20、Check將系統(tǒng)的錯誤封裝成便于識別和定位的日志記錄;檢索服務(wù)器返回的數(shù)據(jù)包是否含有目標(biāo)內(nèi)容,存在即說明錯誤發(fā)生;通過LoadRunner進(jìn)行負(fù)載測試負(fù)載測試步驟準(zhǔn)備工作,在Jforum系統(tǒng)中注冊test01-test10共10個用戶錄制腳本,創(chuàng)建Vuser創(chuàng)建場景,運(yùn)行測試形成測試報告,分析結(jié)果創(chuàng)建VUSER創(chuàng)建用戶登錄和登出的Vuser腳本啟動界面單擊創(chuàng)建/編輯腳本。這時將打開 VuGen 起 始頁。創(chuàng)建Web腳本在歡迎使用 Virtual User Generator 區(qū)域中,單擊新建腳本按鈕。 這時將打開 “新建虛擬用戶”對話框,顯示 “新建單協(xié)議腳本”選項。創(chuàng)建Web腳本請確保 “類

21、別”是熱門協(xié)議。 VuGen 將列出適用于單協(xié)議腳本的所有可用協(xié)議。 向下滾動列表,選擇 Web (HTTP/HTML) 并單擊創(chuàng)建,創(chuàng)建一個空白 Web 腳本。開始錄制單擊Next單擊Start Recording準(zhǔn)備開始錄制在URL中填入JForum論壇的鏈接地址,注意此處需要替換成虛擬機(jī)中論壇的IP地址http:/0:8080/jforum/forums/list.page打開IE初始化Vuser,記錄生成的多個事件點擊“登入”連接登錄輸入之前已經(jīng)注冊的正確用戶名和密碼單擊“登錄”按鈕注銷單擊“注銷test01”連接。停止錄制單擊浮動窗口上的“停止”按鈕出現(xiàn)錄制概要“錄制概要”包含協(xié)議信

22、息以及會話期間創(chuàng)建的一系列操作。 VuGen 為錄制期間 執(zhí)行的每個步驟生成一個快照,即錄制期間各窗口的圖片。保存腳本單擊工具欄保存按鈕,輸入需要保存的文件名,如login-logout。查看錄制的腳本單擊“Action”連接,查看剛剛錄制的Vuser腳本要在腳本視圖中查看腳本,請選擇視圖 腳本視圖,或者單擊腳本按鈕。查看錄制的腳本可以在該窗口中直接輸入 C 或 LoadRunner API 函數(shù)以及控制流語句?;胤配浿频哪_本單擊Tasks中的Verify Replay按鈕,回放已經(jīng)錄制的腳本回放成功后,出現(xiàn)右圖所示提示。此時僅能說明錄制腳本執(zhí)行正確。回放錄制的腳本若需要確保運(yùn)行邏輯正確,需要

23、對比錄制和回放時快照的差別。VuGen為錄制期間執(zhí)行的每個步驟生成一個快照,即錄制期間各窗口的圖片。添加事務(wù)單擊Add Transaction的鏈接單擊New Transaction按鈕,先后添加login和logout兩個事務(wù)查看事務(wù)代碼單擊Script按鈕,切換到腳本視圖,可以查看到剛剛添加的事務(wù)參數(shù)化用戶登錄信息選擇視圖 樹視圖進(jìn)入樹視圖;或者單擊Tree按鈕進(jìn)入樹視圖。在測試樹中雙擊 Submit Data: jforum.page步驟。將打開 “提交數(shù)據(jù)步驟 屬性”對話框。單擊“ABC”按鈕,在彈出的對話框中,在“參數(shù)名”輸入框中輸入“username”,單擊“Properties”

24、按鈕。將常量值更改為變量值 輸入文件名“userinfo.dat”單擊“Create Table”按鈕在彈出的對話框中單擊“確定”按鈕將常量值更改為變量值 通過“Add Column”和“Add Row”按鈕,增加用戶名和密碼字段,錄入test01-test10十個用戶的信息在“By number”輸入框中輸入1單擊“Close”按鈕以相同的方式將password參數(shù)化將常量值更改為變量值 將常量值更改為變量值 完成username和password兩個的參數(shù)化,單擊“確定”按鈕。將常量值更改為變量值 切換到腳本視圖。可以查看到username和password被參數(shù)化將登出中的test01替

25、換為username,從而一起參數(shù)化保存對腳本的修改,完成Vuser腳本的制作。關(guān)閉Vugen。創(chuàng)建場景創(chuàng)建新場景打開Controller選擇“Manual Scenario”選擇login_logout腳本,單擊“Add”按鈕單擊“OK”按鈕,將login_logout腳本加入到新場景中。設(shè)計場景給場景命名“l(fā)ogin-logout”設(shè)置“Start Vusers”、“Duration”和“Stop Vusers”單擊“Run”按鈕,切換到運(yùn)行界面。增加Load Generator單擊“Load Generators”按鈕。在彈出對話框中單擊“Add”按鈕在彈出對話框中,Name輸入框中輸入

26、“l(fā)ocalhost”,單擊“OK”按鈕,將本機(jī)添加到Controller的控制中。設(shè)置被監(jiān)視Windows系統(tǒng)進(jìn)入被監(jiān)視windows系統(tǒng),在開始運(yùn)行中輸入services.msc開啟RemoteProcedureCall(RPC)和RemoteRegistry兩個服務(wù)。進(jìn)入被監(jiān)視windows系統(tǒng),在控制面板中,進(jìn)入“用戶帳戶和家庭安全用戶帳戶管理帳戶”選擇管理員賬戶,單擊“創(chuàng)建密碼”連接,輸入密碼,如123456單擊“創(chuàng)建密碼”按鈕增加對Windows主機(jī)的監(jiān)控右鍵單擊“Windows Resources”監(jiān)視窗口,在彈出菜單中選擇“Add Measurements”按鈕。在彈出對話框中

27、單擊“Add”按鈕在彈出對話框中,Name輸入框中輸入運(yùn)行Tomcat的虛擬機(jī)IP地址,如“0”,選擇Platform為“Windows Vista”,單擊“OK”按鈕,將測試機(jī)添加到監(jiān)控中。設(shè)置用戶名和密碼單擊“Add”按鈕在彈出對話框中,輸入被監(jiān)控的Windows操作系統(tǒng)的管理員的用戶名Administrator和密碼123456單擊“OK”按鈕,設(shè)置被監(jiān)控服務(wù)器的用戶名和密碼。單擊“保存”按鈕,保存修改后的場景。運(yùn)行測試單擊“Start Scenario”按鈕,開始測試在運(yùn)行測試過程中,觀察運(yùn)行時的指標(biāo)參數(shù),如Hits/Second、Passed Transactions等。測試完成后,

28、查看結(jié)果,如右圖。形成測試報告形成測試報告單擊“Analyze Results”按鈕,開始對測試結(jié)果進(jìn)行分析。分析保存測試報告分析測試報告單擊“保存”按鈕,保存測試報告。謝謝! 第二部分 WEB應(yīng)用測試3 web自動化測試URL和HTTP協(xié)議瀏覽器服務(wù)器請求相應(yīng)HTTPURL全稱是資源描述符,一個URL地址,它用于描述一個網(wǎng)絡(luò)上的資源,如: /20150921/n421640241.shtml完整的URL組成: 協(xié)議:/用戶名:密碼域名:端口號/目錄/文件名.文件后綴?參數(shù)=值#標(biāo)志HTTP協(xié)議定義了與服務(wù)器交互的不同方法,最基本的方法有4種:GET,POST,PUT,DELETE,分別對應(yīng)著

29、對這個資源的查,改,增,刪4個操作。GET一般用于獲取/查詢資源信息,而POST一般用于更新資源信息。GET方法最常見的解釋:GET使用URL或Cookie傳參。而POST將數(shù)據(jù)放在BODY中。GET的URL會有長度上的限制,則POST的數(shù)據(jù)則可以非常大。POST比GET安全,因為數(shù)據(jù)在地址欄上不可見。實際上,在HTTP中GET和POST與數(shù)據(jù)如何傳遞沒有關(guān)系;HTTP協(xié)議對GET和POST都沒有對長度的限制;安全不安全和GET、POST沒有關(guān)系。GET請求的數(shù)據(jù)會附在URL之后,以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,如:login.action?name=hyddd&password=

30、idontknow&verify=%E4%BD%A0%E5%A5%BD。如果數(shù)據(jù)是英文字母/數(shù)字,原樣發(fā)送,如果是空格,轉(zhuǎn)換為+,如果是中文/其他字符,則直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中XX中的XX為該符號以16進(jìn)制表示的ASCIIPOST方法右鍵單擊瀏覽器中的Web頁面,選擇查看源代碼,定位到form使用WebScarab進(jìn)行測試軟件安裝雙擊jar文件執(zhí)行安裝或者在命令行中執(zhí)行如下命令:java -jar webscarab-installer-20070504-1631.jar注:需要到安裝包所在目錄執(zhí)行相應(yīng)程序軟件安裝(續(xù))進(jìn)入安裝程序,

31、根據(jù)向?qū)瓿砂惭b運(yùn)行程序軟件在桌面或開始菜單選擇已安裝的程序運(yùn)行模式切換WebScarab有兩種運(yùn)行模式LiteFull本實驗中需要使用Full模式運(yùn)行從“Tool”中可以對模式進(jìn)行切換切換后需要重啟程序IE瀏覽器設(shè)置代理WebScarab具有代理功能,可作為用戶和應(yīng)用間的橋梁需要修改IE設(shè)置IE瀏覽器設(shè)置代理將代理指向為地址:localhost端口:8008此時,系統(tǒng)發(fā)往外部的請求都會經(jīng)過代理服務(wù)器轉(zhuǎn)發(fā)。設(shè)置WebScrab代理選擇Proxy-Manual Edit,選中Intercept requests前的復(fù)選框,保持GET和POST方法被選中這樣,可以攔截所有瀏覽器發(fā)往外部的請求,除了

32、所有圖片和ping_session的請求。注:包括瀏覽器插件對外的鏈接訪問JForum網(wǎng)站啟動論壇系統(tǒng),在IE地址欄輸入本機(jī)的IP地址注:此處需要本機(jī)的IP地址。在命令行中鍵入ipconfig,查看本機(jī)的IP地址分析通信機(jī)制對網(wǎng)頁的請求會被WebScrab攔截選擇“會員注冊”功能單擊“會員注冊”按鈕,IE瀏覽器發(fā)往服務(wù)器的請求將被攔截單擊Accept changes按鈕,直到進(jìn)入注冊頁面。進(jìn)入注冊頁面填寫注冊信息會員:wtj,電子郵件:wtj登錄密碼:123分析截獲請求注意請求連接及填寫的表單信息,POST方法定位用戶注冊請求定位到forum.page的請求,其編號為71查看截獲的請求雙擊fo

33、rum.page請求,打開71號會話注:具體的請求編號因人而異Fuzzer功能右鍵單擊71號會話,選擇Use as fuzz templateFuzzer選擇Fuzzer選項卡,查看模板信息添加測試數(shù)據(jù)用記事本生成類型如右圖所示內(nèi)容的文本文件,分別保存為userinfo.txt和usermail.txt。文件中每行代表一次請求的數(shù)據(jù),可以用作用戶名、密碼、確認(rèn)密碼等信息。實際測試中可根據(jù)測試用例定義生成不同的測試數(shù)據(jù)文件。導(dǎo)入測試數(shù)據(jù)導(dǎo)入userinfo.txt中記錄的用戶信息導(dǎo)入測試數(shù)據(jù)同樣的步驟導(dǎo)入usermail.txt中記錄的郵件信息進(jìn)行測試依次為表單項中的元素進(jìn)行參數(shù)化,即導(dǎo)入測試數(shù)

34、據(jù)點擊“Start”開始測試,請求數(shù)會減少可修改測試數(shù)據(jù),以重復(fù)多次完成測試用例檢查測試結(jié)果可以查看到測試結(jié)果使用測試腳本添加的用戶進(jìn)行登錄測試使用Selenium進(jìn)行測試Selenium-IDE介紹使用Selenium IDE對JForum的用戶注冊模塊進(jìn)行測試Selenium-IDE是用來開發(fā)Selenium測試用例的一個工具。它以易于使用的FireFox插件形式出現(xiàn),在瀏覽器顯示的頁面中,通過在瀏覽器插件的上下文菜單中執(zhí)行Selenium的命令,選擇向插件傳遞頁面顯示內(nèi)容相關(guān)的參數(shù),快速地實現(xiàn)測試用例的開發(fā)。安裝Firefox瀏覽器選擇典型安裝模式不需要把firefox設(shè)為默認(rèn)瀏覽器安裝

35、Firefox瀏覽器不安裝第三方工具完成安裝,立即運(yùn)行firefox安裝Firefox瀏覽器不導(dǎo)入任何數(shù)據(jù)下次啟動不檢查是否默認(rèn)瀏覽器安裝Firefox插件單擊Alt鍵顯示菜單,從“工具”菜單選擇“附加組件”選擇“從文件安裝附加組件”選項在彈出文件選擇窗口中選擇selenium-ide-2.9.0.xpi插件,在瀏覽器將彈出的菜單中選擇“安裝”按鈕選擇“立即重啟”安裝Selenium IDE重啟瀏覽器后,在“工具”菜單中選擇“Selenium IDE”運(yùn)行之。注意:首先打開需要運(yùn)行測試用例的頁面,然后再啟動Selenium IDE。Selenium IDE功能按鈕介紹詳見/docs/02_se

36、lenium_ide.html 錄制腳本修改腳本系統(tǒng)同時會記錄用戶所有輸入,包括錯誤輸入信息在錄制腳本后需要修改輸入,包括刪除錯誤輸入內(nèi)容加入校驗信息選擇成功注冊用戶后系統(tǒng)的提示信息“恭喜您!”在右鍵菜單中選擇“verifyText css=center b恭喜您!”選項此時會在IDE中出現(xiàn)校驗命令運(yùn)行測試用例保存測試用例運(yùn)行測試用例運(yùn)行測試用例分析錯誤原因修改測試用例代碼,直到測試用例通過SELENIUM WEBDRIVER高級內(nèi)容:通過Java編程對JForum的登錄模塊進(jìn)行測試安裝Maven解壓Maven壓縮文件apache-maven-3.0.3-bin.zip到C盤根目錄,目錄結(jié)構(gòu)如

37、右圖所示設(shè)置系統(tǒng)環(huán)境變量M2_HOME,變量值為Maven的解壓路徑,例如:C:apache-maven-3.0.3修改系統(tǒng)環(huán)境變量PATH將M2_HOME下的bin目錄加入系統(tǒng)環(huán)境變量PATH中輔助選項設(shè)置MAVEN_OPTS環(huán)境變量為:-Xms256m -Xmx512m避免運(yùn)行maven時出現(xiàn)內(nèi)存溢出錯誤檢查Maven安裝在命令行中輸入mvn -version,正確安裝后應(yīng)該有類似如下輸出結(jié)果注意:安裝Maven前必須已經(jīng)正確安裝配置JDK,并設(shè)置JAVA_HOME創(chuàng)建本地倉庫創(chuàng)建c:m2目錄,并將repository.rar壓縮文件解壓到c:m2目錄下,生成本地倉庫。設(shè)置環(huán)境變量M2_R

38、EPO,指向本地倉庫的路徑配置用戶訪問的settings.xml修改安裝目錄下conf文件夾里的settings.xml文件,在圖示位置增加一行本地倉庫的配置。將修改后的settings.xml位置文件拷貝到本地資源庫中,即C:m2repository目錄下。檢查m2eclipse插件依次點擊菜單欄中的FileNewProject,在彈出的對話框中,找到Maven一項,再將其展開看到如圖所示選項,說明Eclipse環(huán)境中已經(jīng)安裝了Maven的插件;否則需要手工安裝該插件。禁用內(nèi)嵌m2eclipse內(nèi)嵌Maven模塊通過Windows - Preferences打開Eclipse系統(tǒng)選項在彈出的

39、對話框中展開左邊的Maven項,選擇Installation子項點擊Add然后選擇我們的Maven安裝目錄M2_HOME添加完畢之后選擇這一個外部的Maven檢查Eclipse中的Maven插件設(shè)置單擊User Settings選項,確保用戶設(shè)置和本地資源庫設(shè)置正確編寫pom.xml文件在任意位置創(chuàng)建MySel20Proj目錄,編寫如下pom.xml文件 4.0.0 MySel20Proj MySel20Proj 1.0 org.seleniumhq.selenium selenium-java 2.47.1 創(chuàng)建maven項目在工程目錄下運(yùn)行:mvn clean install如果本地資源庫

40、配置正確,Maven將從本地資源庫生成原始工程出現(xiàn)BUILD SUCCESS字樣說明創(chuàng)建成功。生成項目框架運(yùn)行結(jié)束后,Maven將在工程目錄下的target文件夾中生成如下項目框架。該框架即為Selenium-WebDriver項目導(dǎo)入MySel20Proj項目到Eclipse運(yùn)行命令mvn eclipse:eclipse導(dǎo)入MySel20Proj項目到EclipseFile - Import. General - Existing Projects into Workspace 選擇“Browse” 定位到MySel20Proj目錄選擇“ Finish”,完成項目導(dǎo)入創(chuàng)建源文件夾創(chuàng)建src/

41、main/java源文件夾這是Maven的默認(rèn)源文件夾,然后創(chuàng)建主測試文件登錄頁面代碼分析通過FireFox瀏覽器的“查看元素”功能查看登錄窗口的源代碼對比登錄前后頁面變化登錄前,頁面頂部有“登錄”連接,對于id為login登錄后,頁面頂部有“注銷”連接,對于id為logout對比登錄前后頁面變化登錄前,頁面頂部左側(cè)僅顯示當(dāng)前系統(tǒng)時間登錄后,頁面頂部左側(cè)顯示用戶最后一次登錄時間創(chuàng)建測試主文件創(chuàng)建一個新的Class填寫包名和類名創(chuàng)建測試主文件package .cuit.cs.selenium.example;import org.openqa.selenium.By;import org.ope

42、nqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.ExpectedCondition;import org.openqa.selenium.support.ui.WebDriverWait;public class TestLogin public static String username = TiejunWang;public static String password = justatest;創(chuàng)建測試主文件public static void main(String args) / Create a new

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論