版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 論文題目: 論功能性與性能如何提高軟件的質(zhì)量</p><p> 姓 名: </p><p> 班 級: </p><p> 專 業(yè):
2、 軟件技術(shù) </p><p> 指導(dǎo)教師: </p><p> 完成時間: 2013年3月 </p><p><b> 內(nèi) 容 摘 要</b></p><p> 摘隨著軟件規(guī)模的不斷擴大,軟件設(shè)計的復(fù)雜程度不斷提高,軟件開發(fā)中出
3、現(xiàn)錯誤或缺陷的機會越來越多。同時,市場對軟件質(zhì)量重要性的認(rèn)識逐漸增強。所以,軟件測試在軟件項目實施過程中的重要性日益突出。</p><p> 軟件功能性測試是軟件質(zhì)量保證的關(guān)鍵技術(shù),在軟件生命周期中占有重要的地位。理論上軟件本身的缺陷都可在功能性測試階段被暴漏,因此軟件功能性測試方法是提高軟件可靠性及軟件質(zhì)量最有效、最直接的方法之一。</p><p> 性能是軟件在市場競爭中一個強有力
4、的競爭點,性能的測試與優(yōu)化對于軟件整體提升自己的性能,贏得市場的份額具有決定性因素。性能測試的主要目的就是驗證一個軟件產(chǎn)品可以允許多少用戶并發(fā)訪問,性能指標(biāo)如響應(yīng)時間、CPU和內(nèi)存占用率是多少。一般來說這種測試無法手工做,需要借助于工具,如LoadRunner等等。</p><p> [關(guān)鍵詞] 功能性測試,功能性測試流程,功能性測試方法,性能測試,虛擬用戶,負(fù)載測試,壓力測試,事務(wù),集合點</p>
5、<p><b> Abstract</b></p><p> With the expansion of the scale of software, increasing the complexity of the software design, errors or defects in the software development more and more op
6、portunities. At the same time, the market recognition of the importance of software quality gradually increased. So, the importance of software testing in software project implementation process is becoming more and more
7、 prominent.</p><p> Software functional testing is the key technology of software quality assurance, occupies an important position in the software life cycle. Software itself defects can be theoretically w
8、as exposed in functional testing phase, so the software functional testing method is to improve the software reliability and software quality as one of the most effective and most direct way.</p><p> Softwa
9、re performance is a strong point of competition in market competition, performance testing and optimization software for overall improve their performance, win the market share of the decisive factors. The main purpose o
10、f the performance test is to verify a software product allows concurrent access to many users, the performance indicators such as response time, CPU and memory usage rate is how much. In general the test cannot be made b
11、y hand, need the help of tools, such as LoadRunner, et</p><p> key words:functional testing,functional testing process,functional testing, performance testing,virtual users,load test,stress test,transaction
12、,the collection point.</p><p><b> 目 錄</b></p><p> 軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保障的關(guān)鍵步驟。其定義可簡略概括為:為了發(fā)現(xiàn)錯誤而運行程序的過程。隨著軟件規(guī)模的不斷擴大,軟件質(zhì)量問題已成為制約計算機發(fā)展的主要因素之一。作為保證軟件質(zhì)量和可靠性的手段
13、,軟件測試起著不可替代的作用。</p><p><b> 1.功能性測試概述</b></p><p> 功能測試就是對產(chǎn)品的各功能進行驗證,根據(jù)功能測試用例,逐項測試,檢查產(chǎn)品是否達到用戶要求的功能。</p><p> 功能測試也叫黑盒測試,只需考慮各個功能,不需要考慮整個軟件的內(nèi)部結(jié)構(gòu)及代碼。功能性測試實際上是運用輸入輸出的形式,去驗證
14、一個軟件的某個模塊是否實現(xiàn)了它應(yīng)有的功能。</p><p> 1.1功能性測試的優(yōu)缺點</p><p> 任何程序都可以看作是將從輸入定義域取值映射到輸出值域的函數(shù),將系統(tǒng)看成黒盒,又稱為黒盒測試[1],黒盒的實現(xiàn)是不需要了解的,只需要知道輸入和預(yù)期輸出。</p><p><b> 功能性測試的優(yōu)點:</b></p><
15、;p><b> 圖1—1黑盒測試</b></p><p> 功能性測試的優(yōu)缺點[13]:</p><p> 功能性測試與軟件如何實現(xiàn)無關(guān),如果實現(xiàn)發(fā)生變化,功能性測試用例仍然可用,測試用例開發(fā)可以與軟件開發(fā)同時進行,可節(jié)省軟件開發(fā)時間,通過軟件的用例就可以設(shè)計出大部分功能性測試用例。</p><p><b> 功能性測試
16、的缺點:</b></p><p> 測試用例數(shù)量較大,可能產(chǎn)生很多冗余,業(yè)務(wù)流程步驟多,重復(fù)性大,功能性測試的覆蓋范圍不可能達到100%</p><p> 1.1.1功能性測試方法</p><p> 功能性測試類型[4]</p><p><b> 1)等價類劃分 </b></p><
17、;p> 是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例.該方法是一種重要的,常用的黑盒測試用例設(shè)計方法</p><p><b> 2)邊界值分析 </b></p><p> 長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種
18、邊界情況設(shè)計測試用例,可以查出更多的錯誤.</p><p><b> 3)因果圖法</b></p><p> 考慮輸入條件之間的聯(lián)系,相互組合等. 考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況</p><p><b> 4)錯誤推測</b></p><p> 基于經(jīng)驗和直覺推測程序中所
19、有可能存在的各種錯誤,從而有針對性的設(shè)計測試用例的方法.</p><p> 1.1.2利用功能性測試方法可以發(fā)現(xiàn)軟件中存在的問題</p><p> 在功能界面可以發(fā)現(xiàn)普遍的BUG有[5]:</p><p> 1)功能錯誤或遺漏;</p><p><b> 2)界面錯誤;</b></p><p&
20、gt; 3)功能實現(xiàn)是否滿足用戶需求和系統(tǒng)設(shè)計的隱藏需求?</p><p> 4)初始化和終止錯誤。</p><p> 5)能否正確接收輸入?能否正確輸出結(jié)果?</p><p> 1.1.3功能性測試流程</p><p> 功能性測試一般分為一下幾個步驟[9]:</p><p><b> 制定測試
21、計劃</b></p><p><b> ↓</b></p><p> 編寫測試用例(不同階段)</p><p><b> ↓</b></p><p><b> 測試及BUG管理;</b></p><p> 1)測試計劃是在項目立項之
22、后,理論是和需求分析同時完成,但實際情況要等需求分析完成了,才能制定測試計劃;</p><p> 2)根據(jù)測試計劃,做好需要分析后,要開始設(shè)計確認(rèn)測試用的測試用例,然后按開發(fā)的不同階段執(zhí)行相應(yīng)的測試用例;</p><p> 3)在測試中會發(fā)現(xiàn)各種BUG,這要求測試對BUG進行管理和跟蹤,已確保所測試的功能點實現(xiàn)需求規(guī)定功能;</p><p><b>
23、 2.性能測試研究</b></p><p> 為了驗證系統(tǒng)管理書否達到用戶提出的性能指標(biāo),同時發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸祈禱優(yōu)化系統(tǒng)的目的</p><p><b> 2.1性能測試概述</b></p><p> 相較其他測試軟件,LoadRunner可以更加方便的創(chuàng)建虛擬用戶和創(chuàng)建真實的負(fù)載以定位性能問題,并通過重復(fù)測試以保證系
24、統(tǒng)發(fā)布的高性能。</p><p> 2.1.1 性能測試的目的</p><p> 目的[2]是驗證軟件系統(tǒng)是否能夠達到用戶提出的性能指標(biāo),同時發(fā)現(xiàn)軟件系統(tǒng)中存在的性能缺陷,優(yōu)化軟件,最后起到優(yōu)化系統(tǒng)的目的。相較其他測試軟件,LoadRunner可以更加方便的創(chuàng)建虛擬用戶和創(chuàng)建真實的負(fù)載以定位性能問題,并通過重復(fù)測試以保證系統(tǒng)發(fā)布的高性能。</p><p><
25、;b> 1)評估系統(tǒng)的能力</b></p><p> 測試中得到的負(fù)荷和響應(yīng)時間數(shù)據(jù)可以被用于驗證所計劃的模型的能力,并幫助做出決策。</p><p> 2)識別體系中的弱點</p><p> 受控的負(fù)荷可以被增加到一個極端的水平,并突破它,從而修復(fù)體系的瓶頸或薄弱的地方。</p><p><b> 3)
26、系統(tǒng)調(diào)優(yōu)</b></p><p> 重復(fù)運行測試,驗證調(diào)整系統(tǒng)的活動得到了預(yù)期的結(jié)果,從而改進性能</p><p> 4)驗證穩(wěn)定性、可靠性</p><p> 在一個生產(chǎn)負(fù)荷下執(zhí)行測試一定的時間是評估系統(tǒng)穩(wěn)定性和可靠性是否滿足要求的唯一方法。</p><p> 2.1.2 性能測試類型</p><p&g
27、t; 性能測試類型[3]包括負(fù)載測試,強度測試,容量測試等</p><p> 1)負(fù)載測試:確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時,系統(tǒng)各項性能指標(biāo)的變化情況,例如“響應(yīng)時間”,逐漸增加虛擬用戶的數(shù)量,觀察應(yīng)用程序是否超過預(yù)定指標(biāo)或某種資源使用達到飽和狀態(tài)。這種測試方法可以找到系統(tǒng)處理的極限位系統(tǒng)調(diào)優(yōu)提供依據(jù)</p><p> 2)強度測試:確定在系統(tǒng)資源特別低的
28、條件下軟件系統(tǒng)運行情況。</p><p> 3)容量測試:在用戶可接受的響應(yīng)范圍內(nèi),確定系統(tǒng)可處理同時在線的最大用戶數(shù)。 </p><p> 4)壓力測試在資源飽和的狀態(tài)下系統(tǒng)能夠處理的會話能力,以及系統(tǒng)是否會報錯。例如在大量業(yè)務(wù)長時間運行系統(tǒng)是否會反應(yīng)慢、系統(tǒng)崩潰,能否恢復(fù)。</p><p> 2.1.3性能測試流程</p><p>
29、; 由于工程和項目的不同,所選用的度量,評估方法也有不同之處。不過仍然有一些通用的步驟[11]幫助我們完成一個性能測試項目。</p><p><b> 測試方案設(shè)計</b></p><p> 在軟件性能測試的初始階段,首先應(yīng)對業(yè)務(wù)模型和系統(tǒng)架構(gòu)進行調(diào)研,收集測試需求。然后生戚性能測試計劃</p><p><b> 測試環(huán)境的搭
30、建</b></p><p> 測試環(huán)境的搭建分為軟硬測試系統(tǒng)的環(huán)境搭建和測試相關(guān)的數(shù)據(jù)準(zhǔn)備工作</p><p><b> 測試場景開發(fā)</b></p><p> 測試場景開發(fā)指測試程序(腳本)的開發(fā)</p><p><b> 測試執(zhí)行</b></p><p&g
31、t; 測試執(zhí)行是在測試方案的制定、測試環(huán)境準(zhǔn)備、測試場景開發(fā)工作正確完成的基礎(chǔ)上進行的</p><p><b> 測試報告和分析</b></p><p> 性能測試報告和結(jié)果分析是在測試執(zhí)行完成以后,對性能數(shù)據(jù)進行采集結(jié)果收集工作和針對性能測試過程中暴露的問題進行分析的階段</p><p><b> 回歸測試</b>
32、;</p><p> 回歸測試是開發(fā)部門在性能測試報告的基礎(chǔ)上針對軟件的性能或者效率缺陷進行優(yōu)化或者修復(fù),為了驗證優(yōu)化的效果而進行的再測試</p><p><b> 2.2性能測試工具</b></p><p> HPLoadRunner 是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。通過以模擬上千萬用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查
33、找問題,LoadRunner 能夠?qū)φ麄€企業(yè)架構(gòu)進行測試。通過使用LoadRunner ,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。</p><p> 2.2.1LoadRunner的組成</p><p> LoadRunner由下面三部分組成[11]:</p><p> Virtual UserGenerator用來錄制腳本、</
34、p><p> 編輯腳本Controller用來布置測試場景、</p><p><b> 執(zhí)行測試場景;</b></p><p> Analysis用來對測試結(jié)果進行分析。</p><p> 2.2.2LoadRunner測試流程</p><p> 此流程是性能測試工具LoadRunner的基
35、本測試方法[10]:</p><p><b> 1)創(chuàng)建虛擬用戶</b></p><p> Virtual User Generator,該引擎能夠生成虛擬用戶,以虛擬用戶的方式模擬真實用戶的業(yè)務(wù)操作行為</p><p><b> 2)創(chuàng)建真實的負(fù)載</b></p><p><b>
36、 負(fù)載的測試方法:</b></p><p> 計劃負(fù)載測試,根據(jù)軟件項目相關(guān)需求,定義相關(guān)測試的細(xì)節(jié),撰寫性能測試報告。</p><p> 創(chuàng)建Vuser腳本,將網(wǎng)站最終用戶活動捕獲到自動腳本中。</p><p> 場景定義,使用LoadRunner Controller設(shè)置測試環(huán)境即可,</p><p><b>
37、; 場景執(zhí)行</b></p><p> 監(jiān)視執(zhí)行,監(jiān)視場景通過添加性能計數(shù)器來實現(xiàn)</p><p> 3)結(jié)果分析:使用LoadRunner Analysis創(chuàng)建圖和報告并評估性能。</p><p> 3.功能性測試的實踐</p><p> 3.1項目分析與規(guī)劃測試</p><p><b&g
38、t; 3.1.1項目概述</b></p><p> 本次實踐是一款保險外圍發(fā)票系統(tǒng),這是保險公司對自己所出保險單費用所設(shè)計的一款發(fā)票系統(tǒng),并提供給客戶的依據(jù)。也是配合核心系統(tǒng)打印所要求</p><p><b> 3.1.2項目分析</b></p><p> 本次只介紹發(fā)票系統(tǒng)其中一個項目:完善單證軌跡。</p>
39、<p> 此項目主要是主要是針對單證系統(tǒng),單證軌跡查詢中軌跡記錄不全,順序顛倒造成無法真正的了解一個單證的處理軌跡。現(xiàn)對,單證系統(tǒng)中,軌跡沒有記錄的地方,進行補全,軌跡順序顛倒的地方進行調(diào)整。</p><p> 此項目共涉及以下功能:</p><p> 激活卡手動回收管理:此功能點是在發(fā)票系統(tǒng)出單,去核心繳費,再次回到發(fā)票系統(tǒng)“激活卡手動回收管理”功能菜單進行回收,在進行
40、問題數(shù)據(jù)處理的時候,需要記錄下數(shù)據(jù)的操作軌跡</p><p> 過期單證狀態(tài)更正:此功能點是把過期單證(在單證回收界面操作或者系統(tǒng)自動進行跑過期批處理)修改成“未使用”單證狀態(tài),在進行問題數(shù)據(jù)處理的時候,操作的數(shù)據(jù)軌跡會記錄</p><p> 單證回收:此功能點是對已發(fā)放的單證進行回收或者對在核心系統(tǒng)打印過的發(fā)票數(shù)據(jù)進行遺失、作廢處理。對單證狀態(tài)進行修改的時候,需要記錄下操作的數(shù)據(jù)軌跡
41、而不是只是只是更新狀態(tài)</p><p> 單證回退->回收回退,在操作的時候,同時記錄回退時候的數(shù)據(jù)記錄</p><p> 同時,還要對接口程序中,涉及到單證狀態(tài)變更的記錄,進行記錄,記錄下單證的操作軌跡</p><p> 注:此項目程序的設(shè)計方案是開發(fā)自己設(shè)計,但是作為測試人員也要相應(yīng)了解一下,雖然不能看懂代碼程序,但是在界面操作時數(shù)據(jù)會存到數(shù)據(jù)庫哪個
42、表里,表字段顯示的數(shù)據(jù)信息是否正確也是要進行校驗的</p><p><b> 3.1.3規(guī)劃測試</b></p><p> 根據(jù)需求分析制定測試計劃,根據(jù)測試計劃編寫測試案例,最后準(zhǔn)備功能測試。以下是我對此項目的測試過程:</p><p> 由于此項目是針對單證系統(tǒng),所以所有的數(shù)據(jù)開始都是在“單證入庫”“單證發(fā)放”這兩個菜單錄入數(shù)據(jù),最后
43、在“單證軌跡查詢”界面顯示操作的結(jié)果。</p><p><b> 圖3-1單證入庫</b></p><p><b> 圖3-2單證發(fā)放</b></p><p> 3.1.4編寫測試案例與執(zhí)行測試</p><p> 1)查找打印成功數(shù)據(jù),在單證系統(tǒng)查詢單證的狀態(tài)為打印。通過核心對單證進行打印事
44、后核銷操作,在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)為系統(tǒng)回收的軌跡記錄。</p><p> 圖3-3單證軌跡查詢</p><p> 本條案例測試,是經(jīng)過核心操作掉用單證接口把把操作后的狀態(tài)同步到單證系統(tǒng),會在系統(tǒng)菜單“單證軌跡查詢”界面增加一條記錄,但是在核心操作只會記錄核心同步過來的核銷記錄。</p><p> 2)在單證回收界面進行對發(fā)放的數(shù)據(jù)進行人工回
45、收,在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)為系統(tǒng)回收的軌跡記錄。</p><p> ?。ù私缑娴幕厥疹愋陀卸鄠€,任選。如圖3-4)</p><p><b> 圖3-4回收類型</b></p><p> 圖3-5單證軌跡查詢</p><p> 此案例只是在發(fā)票系統(tǒng)進行操作,要校驗的是在人工回收之后,會有軌跡記錄。&
46、lt;/p><p> 3)在單證類型定義界面停用一類型單證,該單證的狀態(tài)為廢止。在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)由未使用變?yōu)閺U止的軌跡記錄</p><p><b> 圖3-6單證定義</b></p><p> (單證的停用有個廢止期:就是在什么時間廢止期,要在停用期后)</p><p> 此案例是校驗在發(fā)票類
47、型停用之后發(fā)票廢止,在單證軌跡查詢界面會不會有記錄。</p><p> 4)把一批過期的單證在過期單證狀態(tài)更正界面更正過期的單證,單證狀態(tài)由過期變?yōu)槲词褂?。在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)為過期單證更改的軌跡記錄。(過期的途徑有兩種,一種是直接在“單證回收”界面進行操作;另一種是系統(tǒng)自動跑批過期,但是需要的發(fā)放類型不同)</p><p> 圖3-7過期單證狀態(tài)更正</p&
48、gt;<p> 5)在單證系統(tǒng)進行入庫、發(fā)放操作,再在單證回收界面進行“人工回收”。然后去回收回退界面輸入人工回收的單證,單證狀態(tài)由人工回收變?yōu)槲词褂?. 在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)為系統(tǒng)回收的軌跡記錄。</p><p><b> 圖3-8回收回退</b></p><p> 此案例是把數(shù)據(jù)經(jīng)過“來回”操作,校驗“單證軌跡查詢” 界面會
49、不有操作軌跡記錄</p><p> 圖3-9單證軌跡查詢</p><p> 6)在核心系統(tǒng)對單證系統(tǒng)發(fā)放的激活卡進行收費,在激活卡手動回收管理界面回收未使用狀態(tài)的激活卡類型的單證,在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)為系統(tǒng)回收的軌跡記錄。</p><p> 圖3-10激活卡手動回收管理</p><p> 此次功能的校驗數(shù)據(jù)需要從總
50、機構(gòu)進行下發(fā)單證,直到營銷分部,軌跡記錄表會有全部下發(fā)的操作還有最后的狀態(tài)操作</p><p> 7)在核心未打印兼業(yè)保單,發(fā)票在單證系統(tǒng)的狀態(tài)為系統(tǒng)回收,在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)為系統(tǒng)回收的軌跡記錄。在做打印時的數(shù)據(jù)是兼業(yè)出完單的,此次的軌跡記錄跟第一條的結(jié)果一樣,除了會有發(fā)放的記錄,就只是增加一條錯做后的狀態(tài)記錄。</p><p> 8)使用銀保通對單證系統(tǒng)發(fā)票出單
51、,單證的狀態(tài)由未使用變?yōu)橄到y(tǒng)回收,在單證系統(tǒng)查詢單證軌跡,增加一條單證狀態(tài)為系統(tǒng)回收的軌跡記錄。(銀保通出單的狀態(tài)會經(jīng)過人工批處理,在核心進行同步單證系統(tǒng))。再使用另外的單證數(shù)據(jù)進行重出單,這樣上一張數(shù)據(jù)就會作廢,本次的單證數(shù)據(jù)會成為系統(tǒng)回收,在查詢表里有全部操作的記錄</p><p> 圖3-11單證軌跡查詢</p><p> 3.2結(jié)合功能性測試案例進行性能測試</p>
52、<p><b> 3.2.1功能概述</b></p><p> 由于本系統(tǒng)是面向全國30個分公司同時在單證系統(tǒng)進行操作,每個分公司都會有相應(yīng)的人員在期系統(tǒng)上進行操作,所以用性能測試工具LoadRunner創(chuàng)建虛擬用戶模擬操作,在同時操作的情況下,單證軌跡查詢界面會不會有遺漏的估計記錄,宕機的情況下,查詢界面各個字段顯示是否正確。</p><p>
53、3.2.2性能測試準(zhǔn)備</p><p><b> 運行環(huán)境 </b></p><p> 操作系統(tǒng):Windows 2003 Server </p><p> 數(shù)據(jù)庫管理系統(tǒng):oracle</p><p> 連接到系統(tǒng)應(yīng)用程序客戶端數(shù)量:預(yù)計為50-300 </p><p> 操作系統(tǒng)及版
54、本:Windows XP </p><p> 客戶端瀏覽器:Internet Explorer 6.0</p><p> 3.2.3設(shè)計壓力應(yīng)用思路</p><p> 設(shè)計試圖對Web服務(wù)進行壓力測試的壓力測試系統(tǒng)時,必須使它們以某種特定的方式運行代碼,這些代碼超越了功能驗證,目的是要弄清楚被測試的Web服務(wù)器是不是僅能做我們認(rèn)為它能做的事,而且在被施加了某些
55、高強度壓力的情況下仍然繼續(xù)正常運行。概括來說,壓力測試必須對相應(yīng)服務(wù)應(yīng)用以下四個關(guān)鍵條件:</p><p> 重復(fù)(Reptition):測試的重復(fù)就是一遍又一遍地執(zhí)行某個操作或功能,比如重復(fù)調(diào)用一個Web服務(wù)。壓力測試將確定一個操作能否正常執(zhí)行,而且能否在每次執(zhí)行時都正常。這對于推斷一個產(chǎn)品是否適用于某種情況至關(guān)重要。 </p><p> 并發(fā)(Concurrency):并發(fā)就是同時
56、執(zhí)行多個操作的行為。換句話說,就是在同一個服務(wù)器上同時調(diào)用許多Web服務(wù)。由于引入并發(fā)意味著一個線程中的代碼有可能被其他線程中的代碼中斷,所以錯誤只在一個指令集以特定的順序執(zhí)行時才會被發(fā)現(xiàn)。 </p><p> 量級(Magnitude):壓力測試系統(tǒng)應(yīng)該應(yīng)用于產(chǎn)品的另一個條件考慮到了每個操作中的負(fù)載量。壓力測試可以重復(fù)執(zhí)行一個操作,但是操作自身也要盡量給產(chǎn)品增加負(fù)擔(dān)。 </p><p>
57、; 隨機變化:任何壓力系統(tǒng)都多少帶有隨機性。使用重復(fù)時,在重新啟動或者重復(fù)連接服務(wù)之前,可以改變操作間的間隔,重復(fù)次數(shù),或者也可以改變被重復(fù)的Web服務(wù)的順序。 </p><p> 3.2.4經(jīng)功能性測試實際運用分析</p><p> 結(jié)合本項目實際情況,預(yù)計操作用戶人員約5-15人,實際同時操作人數(shù)最大值在10以下。主要操作用戶為普通業(yè)務(wù)員。</p><p>
58、;<b> 測試方案:</b></p><p> 此次對以上第4條進行操作,因為第4條是經(jīng)過“來回”操作,就是發(fā)放核銷后,在把核銷不能用數(shù)據(jù)進行回退管理,并再次進行利用。</p><p> 測試用例以上第4條案例為基準(zhǔn),模擬20普通的業(yè)務(wù)員在單證系統(tǒng)進行單證入庫、出庫,回收和回收回退</p><p><b> 4.創(chuàng)建用戶腳本
59、</b></p><p> LoadRunner使用用戶腳本模擬實際用戶來訪問網(wǎng)站,主要測試目標(biāo)為Web應(yīng)用,因此在本次測試中腳本錄制選擇Web(HTTP/HTML)協(xié)議。</p><p> 圖4-1Web(HTTP/HTML)協(xié)議</p><p> 4.1.1完善測試腳本 </p><p> 當(dāng)錄制完一個基本的用戶腳本后
60、,在正式使用前還必須完善測試腳本,增強腳本的靈活性。</p><p> 事務(wù)(Transaction)[8]:為了衡量服務(wù)器的性能需要定義事物。,在運行測試腳本時,LoadRunner運行到該事務(wù)開始點時就會開始記時,直到運行到該事務(wù)的結(jié)束點,記時結(jié)束,目標(biāo)事務(wù)的運行時間將會在結(jié)果中反映。</p><p> 腳本中事物代碼為: </p><p> lr_sta
61、rt_transaction("SubmitBookData"); </p><p><b> /* </b></p><p><b> 具體事務(wù)操作 </b></p><p><b> */ </b></p><p> lr_end_transac
62、tion("SubmitBookData ",LR_AUTO);</p><p><b> 圖4-2腳本</b></p><p> 4.1.2用參數(shù)化取代常量值</p><p> 用戶將提交數(shù)據(jù)增加數(shù)據(jù)庫記錄(如發(fā)布維修信息和調(diào)配申請),這些操作都被記錄在基本腳本中。若多個虛擬用戶運行相同的腳本,勢必會提交相同的記錄,
63、這并不符合實際情況,也有可能引發(fā)沖突。因此,為更加真實的模擬實際環(huán)境,在該用戶腳本的完善過程中,導(dǎo)入了參數(shù)化輸入。</p><p> 在測試用例中,總共將登陸20個用戶,為避免相同用戶登陸引發(fā)沖突,各個用戶名和密碼并不相同,為032120601至032120650,因此將使用參數(shù)取代常量值。</p><p><b> 圖4-3腳本參數(shù)化</b></p>
64、<p><b> 4.1.3集合點</b></p><p> 在測試計劃中,可能會有要求系統(tǒng)能承受大量的用戶同時提交數(shù)據(jù)或進行操作。LoadRunner可以在提交數(shù)據(jù)前加入集合點,這樣當(dāng)虛擬用戶運行到提交數(shù)據(jù)的集合點時,控制器將檢查有多少個擁護已經(jīng)運行到集合點,并根據(jù)最初設(shè)置的條件產(chǎn)生行為。</p><p> 對于本系統(tǒng)在線的用戶數(shù)量有限,對多用戶
65、同時遞交數(shù)據(jù)的壓力并未要求,也不符合實際情況。所以為了保證預(yù)計的負(fù)載情況,使用了集合點功能。</p><p> 腳本中集合點的代碼為: </p><p> lr_rendezvous("SubmitQueryData");</p><p><b> 4.1.3腳本檢驗</b></p><p>
66、 執(zhí)行“運行”命令后,VuGen[8]將先編譯腳本,檢查是否有語法等錯誤。 </p><p> 下圖是語法錯誤導(dǎo)致運行失敗的例圖</p><p> 圖4-4語法錯誤腳本</p><p> 運行設(shè)置完成后,就可以開始從Generator[14]中調(diào)試腳本了,腳本將按照Runtime Setting的設(shè)置開始運行,并在輸出窗口打印關(guān)鍵日志。</p>
67、<p> 在腳本調(diào)試過程中,所執(zhí)行的腳本是有效的。比如說在該腳本中有一個發(fā)放數(shù)據(jù)信息的動作,當(dāng)調(diào)試腳本成功時,新增加發(fā)放數(shù)據(jù)信息的動作將真正加入到數(shù)據(jù)庫中。</p><p><b> 4.2方案執(zhí)行 </b></p><p> 腳本制作完成,數(shù)據(jù)文件準(zhǔn)備妥當(dāng),需要添加一個虛擬場景,在場景中模仿負(fù)載運行腳本,在LoadRunner中,由Cotroller
68、[15]完成這一功能。</p><p><b> 4.2.1場景創(chuàng)建</b></p><p> 測試用例4模擬20個用戶分批依次登陸系統(tǒng),并在一集束時間內(nèi)對服務(wù)器進行擬真的高強度訪問,與此有關(guān)的設(shè)置中,首先將其負(fù)載數(shù)量設(shè)置為20:</p><p><b> 圖4-5負(fù)載設(shè)置</b></p><p&
69、gt; 負(fù)載生成器是指生成這些虛擬用戶的機器,頁面中顯示的,表示當(dāng)前僅有一個負(fù)載生成器:本機Localhost[3]。其狀態(tài)為Down,平臺為Windows。</p><p><b> 圖4-6負(fù)載生成器</b></p><p><b> 4.2.2加壓計劃</b></p><p> 計劃生成器中包含“按方案”和“
70、按組”兩種計劃模式,但兩種計劃都包含加壓,持續(xù)時間,減壓三個Tab頁。</p><p><b> 圖4-7計劃生成器</b></p><p> 在本測試場景中,虛擬用戶將以每5秒10用戶的順序登陸服務(wù)器,加壓情況如圖:</p><p><b> 圖4-8加壓方式</b></p><p> 當(dāng)
71、測試場景在Controller[2]創(chuàng)建的場景中運行時,測試人員可以添加相應(yīng)的監(jiān)視器,除事物響應(yīng)時間的監(jiān)視器以外,其余監(jiān)視器均需要手動添加。 </p><p> 場景配置完成,監(jiān)視器已添加,則可以開始運行測試腳本了,Controller將按照已經(jīng)定義好的場景配置運行腳本。</p><p><b> 4.3運行結(jié)果</b></p><p>
72、 LoadRunner腳本運行結(jié)果分析處理將運用Analysis[11]工具</p><p> 圖4-9Analysis基本報告</p><p> 透過分解界面可以得到:比較大的響應(yīng)時間到底是哪個頁面的組件引起的,問題出在服務(wù)器上還是網(wǎng)絡(luò)傳輸上。</p><p> 在壓力測試中WebServer和Web應(yīng)用程序是性能的瓶頸,這些瓶頸主要是由于服務(wù)器配置不當(dāng)和資
73、源不足,比如質(zhì)量不完善的代碼以及形成的DLL占用過多處理器資源造成CPU瓶頸,或是對內(nèi)存的操作不當(dāng)和管理不善造成的內(nèi)存瓶頸。</p><p> 5.此項目的總結(jié)分析</p><p> 本項目的重要測試功能點是“單證軌跡查詢”界面的軌跡記錄,在單證系統(tǒng)發(fā)放的數(shù)據(jù)無論是在核心或者本系統(tǒng)操作的軌跡都會記錄在軌跡表,另外調(diào)用接口的部分測試,例如銀保通的出單,單證核銷后會從核心跑批調(diào)用單證接口把
74、狀態(tài)同步到單證系統(tǒng),這樣會在單證系統(tǒng)會有一條軌跡記錄。</p><p> 功能測試就是根據(jù)產(chǎn)品特性、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計需求,確保程序以期望的方式運行而按功能要求對軟件進行的測試,通過對一個系統(tǒng)的所有的特性和功能都進行測試確保符合需求和規(guī)范。當(dāng)然測試流程、用力編寫方法、黑盒測試方法、bug嚴(yán)重級別對于一個測試人員來說是最基本要求,也測試的開始。</p>
75、<p> 性能測試是為描述測試對象與性能相關(guān)的特征并對其進行評價,而實施和執(zhí)行的一類測試,如描述和評價計時配置文件、執(zhí)行流、響應(yīng)時間以及操作的可靠性和限制等特征。不同類型的性能測試側(cè)重于不同的測試目標(biāo),這些性能測試的實施貫穿于整個軟件開發(fā)生命周期 光針對測試而言,我覺得測試工具的掌握是非常重要的。 很好的掌握測試工具,可以使你模擬到很多不同的場景,得到盡量多的測試結(jié)果;(我覺得manager們是貪得無
76、厭的) ,同時,當(dāng)你發(fā)現(xiàn)defect之后,進入調(diào)優(yōu)階段,你也可以利用測試工具盡量地滿足開發(fā)人員的測試要求。通過tester和developer的合作進行調(diào)優(yōu),可以彌補之前所說的測試人員沒有開發(fā)經(jīng)驗。</p><p> 本文對基于功能性和性能測試實例所陳述和講解的,由于經(jīng)驗不足而導(dǎo)致的疏漏再所難免,歡迎指正。</p><p><b> 注釋</b><
77、/p><p> ?。?]陳能技:《軟件測試技術(shù)大全》人民郵電出版社.2008年版。</p><p> ?。?]黃文高:《LoadRunner性能測試完全講義》中國水利水電出版社.2010年版。</p><p> ?。?]劉艷會:《LoadRunner使用手冊》軟件測試中心.2003-8-21。</p><p> [4]鄭人杰:《計算機軟件測試技
78、術(shù)》清華大學(xué)出版社.1990年版。</p><p> ?。?]王健.苗勇.劉郢:《軟件測試員培訓(xùn)教材》電子工業(yè)出版社.2003.9。</p><p> [6]阿曼.奧法特:《軟件測試基礎(chǔ)》機械工業(yè)出版社.2010年版。</p><p> [7]陳能技,郭柏雅:《性能測試診斷分析與優(yōu)化》電子工業(yè)出版社.2012年版。</p><p> ?。?/p>
79、8]段念:《軟件性能測試過程詳解與案例剖析》清華大學(xué)出版社.2012年第2版。</p><p> [9]賀平:《軟件測試教程》電子工業(yè)出版社.2005年版。</p><p> ?。?0]陳紹英,劉建華,金成姬:《LoadRunner性能測試實戰(zhàn)》電子工業(yè)出版社2007年版。</p><p> [11]于涌:《精通軟件性能測試與LoadRunner實戰(zhàn)》人民郵電出
80、版社.2010年版。</p><p> ?。?2]古樂.史九林:《軟件測試技術(shù)概論》清華大學(xué)出版社.2004年版。</p><p> ?。?3]張海潘:《軟件工程》北京清華大學(xué)出版版社.2003年4月第一版。</p><p> ?。?4]Paul C.Jorgensen:《軟件測試》機械工業(yè)出版社. 2005年第二版。</p><p> ?。?/p>
81、15]利馬耶:《軟件測試原理、技術(shù)及工具》清華大學(xué)出版社.2011年版</p><p><b> 參考文獻</b></p><p> 陳能技:《軟件測試技術(shù)大全》, 人民郵電出版社,2008年版</p><p> 黃文高:《LoadRunner性能測試完全講義》,中國水利水電出版社,2010年版 </p><
82、p> 劉艷會:《LoadRunner使用手冊》,軟件測試中心,2003-8-21</p><p> 鄭人杰:《計算機軟件測試技術(shù)》,清華大學(xué)出版社,1990年</p><p> 王健.苗勇.劉郢.編著:《軟件測試員培訓(xùn)教材》.電子工業(yè)出版社.2003.9</p><p> 段念:《軟件性能測試過程詳解與案例剖析》清華大學(xué)出版社.2012年第2版。<
83、;/p><p> 阿曼.奧法特:《軟件測試基礎(chǔ)》機械工業(yè)出版社.2010年版。</p><p> 張海潘:《軟件工程》北京清華大學(xué)出版版社.2003年4月第一版。</p><p> 賀平.編著:《軟件測試教程》.電子工業(yè)出版社.2005.6</p><p> 古樂.史九林:《軟件測試技術(shù)概論》清華大學(xué)出版社.2004年版</p>
84、;<p><b> 致 謝</b></p><p> 光陰似箭,轉(zhuǎn)眼間,三年的大學(xué)生活即將結(jié)束,依依不舍之情難以言表,總結(jié)大學(xué)三年的生活,感覺獲益還是頗多的,在這里需要的感謝的人很多,是他們讓我這大學(xué)三年從知識到人格上有了一個全新的改變。</p><p> 首先,對育我成才者老師。感謝我的指導(dǎo)老師,這篇論文是在老師的的悉心指導(dǎo)與鼓勵下完成的。老師在
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-論述如何提高軟件質(zhì)量
- 軟件測試 黑盒測試
- 軟件測試黑盒測試代碼
- 軟件測試畢業(yè)論文
- 軟件測試畢業(yè)論文
- 軟件測試畢業(yè)論文
- 軟件測試畢業(yè)論文
- 嵌入式軟件測試與軟件質(zhì)量評估【畢業(yè)論文】
- 軟件測試 黑盒測試 邊界值測試
- 如何提高畢業(yè)論文質(zhì)量
- 畢業(yè)論文軟件測試環(huán)境搭建
- 畢業(yè)論文---軟件測試環(huán)境搭建
- 軟件檢查測試結(jié)業(yè)畢業(yè)論文
- 軟件測試方法技術(shù)的研究-畢業(yè)論文
- 軟件測試的概述及方法 畢業(yè)論文
- 軟件測試的概述及方法畢業(yè)論文
- 黑盒測試
- 論單位犯罪之“單位”畢業(yè)論文
- 軟件工程的白盒和黑盒測試歸納
- 畢業(yè)論文---如何提高飯店的服務(wù)質(zhì)量
評論
0/150
提交評論