2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢 業(yè) 論 文</b></p><p>  論文題目:從功能性與性能性角度論述如何提高軟件質(zhì)量 </p><p><b>  摘 要</b></p><p>  軟件功能性測試是軟件質(zhì)量保證的關(guān)鍵技術(shù),在軟件生命周期中占有重要的位置。理論上軟件本身的缺陷都可在功能性測試階段被暴露,因此軟件功能

2、性測試方法是提高軟件可靠性及軟件質(zhì)量最有效、最直接的方法之一。 </p><p>  本文對軟件功能測試的概念以及主要的實現(xiàn)方法進行了研究。以具體的軟件項目結(jié)合功能測試方法,分析了針對幾種不同軟件項目模型下的軟件功能測試策略、功能測試的測試流程、測試點的分解及覆蓋方法、測試用例的設計方法及建立測試用例集的方法等。</p><p>  隨著當前軟件開發(fā)技術(shù)的發(fā)展與成熟,越來越多復雜的軟件系統(tǒng)

3、應用于人們生活的各個領(lǐng)域,軟件系統(tǒng)運行時的性能表現(xiàn)已經(jīng)成為衡量軟件產(chǎn)品質(zhì)量的一個重要標準。研究了軟件系統(tǒng)性能測試的整體的流程,并結(jié)合自動化測試工具LoadRunner,對軟件性能測試的相關(guān)信息進行了分析。</p><p>  [關(guān)鍵詞] 功能性測試,測試流程,性能測試,測試工具</p><p><b>  Abstract</b></p><p&g

4、t;  Software functional testing is the key technology of software quality assurance, occupies an important position in the software life cycle. Theoretical defects of the software itself may be exposed at functional test

5、ing phase, software functional testing methods are improved software reliability and software quality in one of the most effective and direct way to. </p><p>  This essay probes into both the concept of soft

6、ware functionality testing and the main method of realizing it deeply. Combining specific software project and functionality testing method together, it makes an analysis of the strategies and process of functionality te

7、sting, the decomposition and covering method of test point, the design method of test cases and the method to tablish collection of test cases, etcfor several different software project model.</p><p>  As wh

8、en Kwame software development technology develops and matures, more and more complex software system used in all areas of people's lives, software, system runtime performance has become an important standard for meas

9、uring software product quality. Examined the overall process of software system performance testing, combined with automated testing tools LoadRunner, software performance testing conducted an analysis of related informa

10、tion.</p><p>  Key words: function testing,Test procedure, performance,testing tools</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p><b

11、>  1.1課題背景1</b></p><p><b>  1.2研究意義1</b></p><p>  1.3國內(nèi)外發(fā)展的現(xiàn)狀2</p><p>  1.4 研究內(nèi)容2</p><p>  2 功能性測試基本理論2</p><p>  2.1 軟件功能測試的定義2

12、</p><p>  2.2 功能測試在測試階段中得定位3</p><p>  2.3 軟件性能的指標3</p><p>  2.4 基于軟件模型的功能測試策略3</p><p>  2.4.1 原型模型3</p><p>  2.4.2 V模型4</p><p>  2.4.3 P

13、TGM測試過程模型4</p><p>  3. 功能性測試方法5</p><p>  3.1 功能性測試流程5</p><p>  3.1.1 測試需求分析5</p><p>  3.1.2 功能點分解6</p><p>  3.1.3 建立測試用例6</p><p>  3.1.4

14、 測試執(zhí)行6</p><p>  3.1.5 BUG管理6</p><p>  3.2 測試用例設計方法6</p><p>  3.2.1等價類劃分法6</p><p>  3.2.2 邊界值分析法7</p><p>  4. 性能性測試8</p><p>  4.1 軟件性能測試的

15、目標8</p><p>  4.1.1 發(fā)現(xiàn)缺陷8</p><p>  4.1.2性能調(diào)優(yōu)8</p><p>  4.1.3 能力檢驗與規(guī)劃8</p><p><b>  4.2性能分析8</b></p><p>  4.2.1 性能下降曲線的分析8</p><p&

16、gt;  4.2.2 性能計數(shù)器的分析9</p><p>  4.3性能測試報告和分析9</p><p>  4.4 軟件性能測試工具LoadRunner9</p><p><b>  5. 總結(jié)10</b></p><p><b>  注釋11</b></p><p&

17、gt;<b>  參考文獻12</b></p><p><b>  致謝13</b></p><p><b>  1 緒論</b></p><p>  軟件質(zhì)量是軟件產(chǎn)品或服務的特征或特征的整體,它取決于滿足給定需求的能力。我國1996 年公布的“計算機軟件工程規(guī)范國家標準匯編”中關(guān)于軟件質(zhì)量的

18、定義如下:</p><p> ?。?)軟件產(chǎn)品滿足給定需求的特征及特征的總體能力; </p><p> ?。?)軟件擁有所期望的各種屬性組合的程度;</p><p>  (3)顧客或用戶認為軟件滿足他們綜合期望的程度;</p><p> ?。?)軟件組合特性在使用中,將滿足用戶預期需求的程度。</p><p>  軟件

19、功能性是為了發(fā)現(xiàn)軟件功能錯誤而執(zhí)行程序的過程,因此軟件功能性測試目的就是盡可能多地發(fā)現(xiàn)并改正軟件中的功能錯誤,以提高軟件質(zhì)量。</p><p>  軟件性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。</p><p><b>  1.1課題背景</b></p><p>  隨著人類社會的進步,各種

20、領(lǐng)域應用計算機技術(shù)的普及,全球的信息化已經(jīng)有了長足深入的發(fā)展,作為計算機“靈魂”的各種軟件系統(tǒng),時時刻刻的出現(xiàn)在各個場合,為人們的辦公、生活、學習、休閑等提供了前所未有的方便。當一個軟件由雛形前進到真正在一臺計算機上運行的時候,沒有人能夠保證制作出的軟件能夠一步到位的滿足客戶或使用者的需求,以及良好的使用體驗,因此軟件生產(chǎn)周期中需要一個環(huán)節(jié)來檢驗并保證軟件具備了人們期望的功能與運行的穩(wěn)定,并且確認這些功能以正確的方式完成了人們期望的工作

21、。因此為了滿足這樣的要求,應運而生了軟件功能性測試技術(shù)與軟件性能性測試技術(shù)[1]。</p><p><b>  1.2研究意義</b></p><p>  軟件功能性測試是一種以用戶視角進行的驗證軟件是否滿足預期需求、是否具備預期功能、功能是否正確執(zhí)行的測試方法。在實際情況中軟件功能復雜而多樣,如何保證所有功能都被加以檢測,理論上只有采取窮舉輸入法,把所有可能[2]的

22、輸入都作為測試情況進行考慮,才能查出程序中的所有錯誤 。但實際上將軟件所有功能點及所有的輸入進行窮舉驗證是不現(xiàn)實的,所以我們需要進行有針對性的測試,通過制定測試方案指導測試的進行,保證軟件有組織、按步驟、有計劃的進行測試。因此功能測試行為必須能夠加以量化,才能真正保證軟件功能的質(zhì)量。</p><p>  軟件性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。負載測試和

23、壓力測試都屬于性能測試,兩者可以結(jié)合進行。通過負載測試,確定在各種工作負載下系統(tǒng)的性能,目標是測試當負載逐漸增加時,系統(tǒng)各項性能指標的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務級別的測試。</p><p>  研究軟件功能性與性能性測試方法即是研究如何分解軟件中的功能點,建立測試用例來將測試量化的辦法 。作為一名計算機專業(yè)的學生,掌握軟件功能性測試的方法與技術(shù),對提

24、高自己的專業(yè)技術(shù)水平,豐富軟件工程知識,以及為今后參加工作打下基礎(chǔ)都是具有理論價值和實際意義的工作。</p><p>  1.3國內(nèi)外發(fā)展的現(xiàn)狀</p><p>  為推進和協(xié)調(diào)軟件測試的研究工作,1999 年在美國洛杉磯召開的第 21 屆國 際軟件工程會議上,軟件測試及其過程作為技術(shù)專題開展了討論。近年來,國外 在軟件測試過程方面的理論和技術(shù)上均有了很大的發(fā)展,形成了一套較為完善的 [

25、3]軟件測試過程技術(shù)和管理理論體系,測試方法與手段日趨成熟和多樣化。</p><p>  軟件測試在我國起步較晚,但在軟件測試管理、軟件測試技術(shù)以及軟件測試 工程方法上取得了一些研究成果。例如,中國科學院計算技術(shù)研究所進行的軟件 測試方法研究,華中科技大學計算機學院基于并行工程的軟件測試模型研究,上海計算機軟件技術(shù)開發(fā)中心進行的軟件測試管理研究等。研究表明,軟件測試的[4]過程必須在軟件投入生產(chǎn)運行之前盡早開始,

26、提高軟件質(zhì)量。然而,無論是傳統(tǒng)還是最新的軟件測試理論和技術(shù),在軟件測試管理、測試過程的理解和實施方法上仍然存在著局限性,因此,在實施測試過程改進的工作中,不能直接照搬他人的成功經(jīng)驗,要結(jié)合所在組織和具體項目研究適用有的 改進方法。</p><p>  在國內(nèi)大部分軟件開發(fā)組織依然存在“重開發(fā),輕測試”的現(xiàn)象,對于軟件功能與性能質(zhì)量的控制并不重視,但一些電信通訊或軟件外包公司等高端領(lǐng)域的開發(fā)企業(yè)已經(jīng)開始意識到軟件測

27、試對保證和提升軟件質(zhì)量與軟件運行穩(wěn)定性的重要性,并逐步加大了對產(chǎn)品 測試的力度及相關(guān)測試方法的學習和研究。</p><p><b>  1.4 研究內(nèi)容</b></p><p>  本課題通過對軟件功能性測試的概念和方法的研究,分析了軟件功能性測試中功能測試流程、測試用例建立規(guī)則及測試性能的建立方法。并對實際應用軟件進行功能性測試與性能性測試。</p&

28、gt;<p>  介紹課題來源、研究背景、國內(nèi)外研究現(xiàn)狀以及論文的目標與主要內(nèi)容。</p><p>  介紹相關(guān)的軟件測試基本理論,分析針對幾種不同軟件項目模型下的功能測試策略。</p><p>  介紹軟件功能性測試概念、功能性測試方法。</p><p>  介紹軟件行能性測試概念、性能性測試方法、軟件性能測試工具LoadRunner。</p&

29、gt;<p>  對功能測試與性能測試方法進行總結(jié),并結(jié)合在實習單位測試功能中總結(jié)經(jīng)驗教訓</p><p>  2 功能性測試基本理論</p><p>  2.1 軟件功能測試的定義</p><p>  早期的測試理論通常使用黑盒測試的概念定義功能性測試,但經(jīng)過測試技術(shù)的不斷發(fā)展,僅以功能性測試作為黑盒測試的全部過程已經(jīng)不能滿足軟件質(zhì)量的要求,因此功能

30、性測試的內(nèi)容被更加細化,目標及其定義也變得更加明確。</p><p>  恰當?shù)墓δ苄詼y試被定義為:根據(jù)軟件產(chǎn)品的特征、操作、描述和用戶方案對軟件系統(tǒng)特性和可操作行為進行測試,以確定它們滿足需求中預期功能性的行為 稱為軟件的功能性測試。[5] </p><p>  功能測試通常在已知軟件應當具有哪些功能后,以用戶角度來進行程序功能的使用,參照需求分析和規(guī)格說明書作為評定標準,以確保軟件中各

31、個可以功能滿足用戶需求,并且功能可以有效運行。</p><p>  2.2 功能測試在測試階段中得定位</p><p>  一般來講,對軟件產(chǎn)品進行的測試統(tǒng)稱為軟件測試,軟件測試大致可分為單元測試、集成測試、功能測試、性能測試、兼容性測試、可靠性測試、驗收測試[6]等7個階段,軟件的功能性測試屬于軟件測試中黑盒測試的一部分。</p><p>  軟件的功能性測試是在

32、單元測試與集成測試完成后進行的一項檢驗軟件功能是否符合預期要求及功能正確性的測試過程[7]。</p><p>  2.3 軟件性能的指標</p><p>  為了能夠客觀地度量軟件的性能,人們定義了一系列性能指標,比便于在不同情況下度量軟件的性能。合理的性能指標應該記能夠以客觀的方式進行度量,也能夠基本與人對軟件性能的主觀感受比較一致。之所以人們在性能測試中使用多種性能指標,是因為不同人員

33、對軟件性能的視角不同,關(guān)注點也不同。</p><p>  圖2-1顯示了功能測試與性能測試在軟件測試過程中的定位,及測試進行的順序。</p><p>  圖2-1 軟件測試中的功能測試</p><p>  因此,功能性測試與性能性測試的開展是有前提條件的。在軟件未實現(xiàn)功能的集成前進行的單一功能測試都含有風險,無法保證后續(xù)集成進的模塊不會對之前正確的功能帶來負面影響。

34、</p><p>  2.4 基于軟件模型的功能測試策略</p><p>  軟件測試工作是有組織有計劃的對某個軟件進行的缺陷暴露工作。因此為了做到有計劃有針對性,在不同軟件開發(fā)模式下都應當有相對應的軟件開發(fā)模型,使得測試工作能夠滿足整個軟件制造流程的風格要求,并且能與各階段順暢銜接。</p><p>  2.4.1 原型模型</p><p>

35、;  原型模型是指在軟件開發(fā)過程中,開發(fā)方通過制作形象化的模型展示最終軟件系統(tǒng)的外觀(原型體現(xiàn)軟件的功能外觀,并輔以功能機制說明來掩飾工作流程與處理邏輯,并非實際的軟件程序),來響應客戶需求的方法。在基于原型模型進行的開發(fā)中,開發(fā)方和客戶在項目初始階段不斷審評該原型,以最終確定的軟件原型生成系統(tǒng)需求、規(guī)格說明書,并以此作為項目開發(fā)的基礎(chǔ)。</p><p>  因此,在測試以原型模型進行的項目的功能時,評判功能是否

36、完備、以及功能是否正確的標準來自最終的系統(tǒng)需求、規(guī)格說明書,并且功能測試應當在根據(jù)需求、規(guī)格研發(fā)出軟件實體之后進行。</p><p>  根據(jù)以上分析,基于原型模型的功能測試應如圖2-2所示。</p><p>  圖2-2 基于原型模型的功能測試</p><p>  原型模型是比較簡單的軟件工程模型,依照此模型進行的功能測試只能測試出軟件產(chǎn)品針對于需求、規(guī)格說明文檔

37、中不符的缺陷。對于軟件需求中存在的錯[8]誤,通過基于此模型進行的功能測試是很難發(fā)現(xiàn)其缺陷所在的。</p><p>  2.4.2 V模型</p><p>  V模型是在古老的瀑布模型基礎(chǔ)上演變而來的軟件工程模型,由于將軟件開發(fā)與測試構(gòu)造成一個 V字形而得名。V模型中的功能測試被定義在了整個軟件開發(fā)過程的后半部分,它強調(diào)了測試活動與軟件設計間的關(guān)系,將軟件實現(xiàn)和驗證有機的結(jié)合起來,以確保

38、較高的軟件質(zhì)量。在 V 模型中各個測試階段的測試標準都參考相對應的設計文檔,若測試出缺陷則通過相對應的文檔入手返回開發(fā)階段按照模型一次修改。</p><p>  因此,在測試以 V模型進行的項目時,功能測試的依據(jù)主要來自于軟件的概要設計、規(guī)格說明書,以驗證集成在一起的軟件系統(tǒng)是否符合概要設計、規(guī)格說明書內(nèi)的要求。 </p><p>  根據(jù)以上分析,基于 V模型的功能測試應如圖 2-3所示

39、。</p><p>  圖2-3 基于V模型的功能測試</p><p>  V模型是標準的軟件開發(fā)模型,具備完善的各類設計與文檔,功能測試階段具有自己獨立的測試參考標準——概要設計,因此在進行功能測試的時候只需要分析概要設計中對軟件功能的描述,即可對系統(tǒng)進行測試[6]。但使用 V只有在后期的功能測試中才可發(fā)現(xiàn)前期設計上面的問題,發(fā)現(xiàn)缺陷后需要較多的工序來進行修改。雖可保證軟件產(chǎn)品的質(zhì)量,但

40、是整個周期較長。</p><p>  2.4.3 PTGM測試過程模型</p><p>  與功能性測試相比,性能測試的復雜性更高,測試執(zhí)行的困難更大,對測試工具的依賴也更強,更需要過程模型的指導。圖2-4給出一個性能測試的過程模型——性能測試通用模型(Performance Testing General Model,PTGM),該模型的實質(zhì)是將針對功能測試的自動化測試模型進行適當調(diào)整,

41、以適應性能測試的需要,在第四章中進行詳細介紹[9]</p><p>  圖2-4 PTGM模型示意圖</p><p>  3. 功能性測試方法</p><p>  3.1 功能性測試流程</p><p>  功能性測試按步驟可劃分為7個部分,即獲取測試系統(tǒng)、測試方法選定、進行測試需求分析、功能點分解、建立測試用例、測試執(zhí)行、BUG管理。

42、 </p><p>  圖3-1展示了功能性測試經(jīng)歷的 7個步驟。</p><p>  圖3-1 功能性測試流程</p><p>  每一步按照箭頭所示方向向下進行,最終完成功能性測試過程。</p><p>  3.1.1 測試需求分析</p><p>  測試需求分析階段是研究用戶需求,完全理解用戶對

43、軟件所需求的完功能,并確認用戶對軟件功能的需求,建立可評判的、可驗證的基本依據(jù)的的過程。</p><p>  因此,測試需求分析階段就是對用戶需求的理解過程,通過研究需求分析文檔把用戶想要哪些功能摸清,把用戶對于每個功能想要達到的目標摸清,就完成了測試需求的分析。</p><p>  3.1.2 功能點分解</p><p>  軟件的功能繁多而復雜,即使是單一的文本

44、輸入框在功能測試時也不只是測試能否輸入文本這么簡單,能輸入的最大字符長度、可輸入的字符類型、輸入超過超過規(guī)格限定的數(shù)據(jù)時的系統(tǒng)反饋等都是需要進行測試的項目。</p><p>  功能測試的功能點分解階段即是將軟件中所有功能的測試點分解出來,建立一個可視化的、有規(guī)律的、全面性的文檔指導之后的測試用例建立,以及測試執(zhí)行時覆蓋這些功能點的依據(jù)。</p><p>  3.1.3 建立測試用例<

45、;/p><p>  建立測試用例階段在功能分解之后進行,此階段主要進行的是根據(jù)測試需求分析階段獲得的功能正確性評判依據(jù)對分解出的每個功能點進行測試執(zhí)行時具體操作的規(guī)劃。建立出的測試用例集可</p><p>  以作為執(zhí)行測試時每一步操作的依據(jù),并記錄測試執(zhí)行的結(jié)果以備分析缺陷情況使用。</p><p>  3.1.4 測試執(zhí)行</p><p> 

46、 測試執(zhí)行階段是在之前的準備工作完成后具體實施測試操作的環(huán)節(jié),在此環(huán)節(jié)中通過已建立的評判體系對系統(tǒng)各個功能點進行驗證,以求暴露出所有存在的缺陷。通過實習期間的親身體會,在測試執(zhí)行時,一昧的按照測試用例去執(zhí)行,以期單純的使用這樣的方法來發(fā)現(xiàn)軟件缺陷往往是不夠的。更多時候,需要測試操作者通過自己已有的知識、經(jīng)驗和靈感增加隨機的測試用例,豐富按照固定模式生成的測試用例集的覆蓋的場景,才可更多的暴露出軟件潛藏的缺陷與不足。</p>

47、<p>  3.1.5 BUG管理</p><p>  BUG管理階段是對已發(fā)現(xiàn)的軟件缺陷進行確認、上報、跟蹤、回歸的過程[10]。在測試執(zhí)行中發(fā)現(xiàn)的軟件缺陷應通過有序、詳細、規(guī)范的 BUG匯報呈現(xiàn)出來,以方便開發(fā)人員根據(jù)缺陷產(chǎn)生條件定位錯誤原因。在 BUG被修改時,測試人員應當密切關(guān)注 BUG 的狀態(tài)以及修復情況,積極與開發(fā)員人溝通,摸清 BUG 產(chǎn)生的原因。待缺陷被修復后通過輸入缺陷產(chǎn)生的條件來驗

48、證修復完成度。</p><p>  BUG 管理階段是功能測試中非常重要的階段,只有將發(fā)現(xiàn)的缺陷處理好,才能真正改善軟件功能質(zhì)量。</p><p>  3.2 測試用例設計方法</p><p>  針對分解出的不同功能項,在生成測試用例時應采用合適、恰當?shù)臏y試方法生成測試用例,但實際情況下需要考慮更多的問題,有時需要測試設計人員根據(jù)經(jīng)驗編寫出恰當?shù)臏y試用例,以下介紹

49、常用的生成測試的方法,包括:等價類劃分法、邊界值分析法。</p><p>  3.2.1等價類劃分法</p><p>  等價類劃分法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數(shù)的代表性數(shù)據(jù)當作測試用例的方法。</p><p>  等價類是指某個輸入域的子集合。每一子集合代的代表性數(shù)據(jù)在測試中的作用都是等效于這一子集合中的其他值。如果這一類中的一個例子發(fā)

50、現(xiàn)了錯誤,則這一類中的其他例子也能發(fā)現(xiàn)同樣的錯誤;反之,如果某一類中的一個例子沒有發(fā)現(xiàn)錯誤,則這一類中的其他例子也不會查出錯誤。這就可以用少量代表性的測試數(shù)據(jù)取得較好的測試結(jié)果。使用這一方法設計測試用例,必須在分析需求規(guī)格說明、功能說明的基礎(chǔ)上找出每個輸入條件,然后為每個輸入條件劃分兩個或多個等價類,列出等價類表。等價類可分為有效等價類和無效等價類。[11] </p><p>  有效等價類:有效等價類是指對于程

51、序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合。</p><p>  無效等價類:與有效等價類相反,是指由對程序的規(guī)格說明不合理或無意義的輸入數(shù)據(jù)所構(gòu)成的集合。</p><p>  在劃分等價類時應遵循以下基本原則:</p><p>  在輸入條件規(guī)定了取值范圍或值的情況下,則可以確立一個有效等價類和兩個無效等價類;</p><p>

52、  在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何”條件的情況下,可確立一個有效等價類和一個無效等價類;</p><p>  在輸入條件是一個布爾值的情況下一個有效等價類和一個無效等價類;</p><p>  在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個符合規(guī)則的有效等價類和若干個不符合規(guī)則的無效等價類(以不同角度違反規(guī)則); </p><p>  在確定已劃

53、分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。</p><p>  3.2.2 邊界值分析法</p><p>  邊界值分析法用于列出單元功能、輸入、狀態(tài)及控制的合法邊界值和非法邊界值,對數(shù)據(jù)進行測試,檢查用戶輸入的信息、返回結(jié)果以及中間計算結(jié)果是否正確。是用來補充等價類劃分的測試用例設計方法。邊界值分析法用于考察正處于等價類劃分邊界或在邊界

54、附近的狀態(tài),選擇輸入和輸出等價類的邊界,選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù)。典型的邊界值分析包括 if 語句中的判別值、定義域、值域邊界、空或畸形輸入等[12]。</p><p>  在對邊界值設計測試用例時應遵循以下基本原則:</p><p>  若輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范

55、圍邊界的值作為測試輸入數(shù)據(jù);</p><p>  若輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最小個數(shù)少一、比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù);</p><p>  若程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個原則作為測試數(shù)據(jù);</p><p>  若程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測

56、試數(shù)據(jù)。</p><p><b>  4. 性能性測試</b></p><p>  4.1 軟件性能測試的目標</p><p>  由于軟件的性能在開發(fā)時難以準確確定,而且影響軟件性能的因素不僅僅包括軟件本身,因此軟件性能測試的目標不僅僅是發(fā)現(xiàn)(和改正)性能缺陷(Performance Bug),還包括探索和規(guī)劃軟件的實際性能,具體而言,軟件性

57、能測試包括以下幾方面的目標。[13]</p><p>  4.1.1 發(fā)現(xiàn)缺陷</p><p>  和其他測試一樣,性能測試的首要目標是發(fā)現(xiàn)缺陷。對于軟件而言,在開發(fā)階段完全避免引入缺陷幾乎是不可能的,性能缺陷也是如此。由于性能缺陷的揭示必須基于整個系統(tǒng)的運行,此時的性能測試一般是伴隨系統(tǒng)測試進行的。通常,性能測試需要精心設置測試環(huán)境。例如,某軟件有這樣的性能需求“在電腦配置一定的情況下,

58、最多支持多少臺抓拍機”,則需要在模擬多臺抓拍機并發(fā)運行環(huán)境的基礎(chǔ)上才能測試該電腦最多支持多少臺抓拍機同時使用。</p><p><b>  4.1.2性能調(diào)優(yōu)</b></p><p>  性能調(diào)優(yōu)類似于其他測試中得調(diào)試。人們一般 不把調(diào)試看做測試的一個環(huán)節(jié),但測試的確應該為調(diào)試提供更多幫助,否則即使發(fā)現(xiàn)軟件中有錯誤也不得不發(fā)布包含錯誤的軟件。與調(diào)試不同的是,性能調(diào)優(yōu)并

59、不一定針對發(fā)現(xiàn)的性能缺陷,也可能是為了更好地發(fā)揮系統(tǒng)的潛能。</p><p>  4.1.3 能力檢驗與規(guī)劃</p><p>  由于軟件的實際使用場景在未來可能發(fā)生變化,軟件性能測試不但需要測試軟件在規(guī)定的場景下是否滿足性能需求,往往還需要測試在其他場景下是否滿足性能需求或能否通過性能調(diào)優(yōu)滿足要求。</p><p><b>  4.2性能分析</b

60、></p><p>  4.2.1 性能下降曲線的分析</p><p>  對于性能測試來說,分析“性能下降曲線”往往可以獲得許多重要信息。所謂性能下降曲線,就是指性能指標隨用戶的增加而變化的曲線,由于性能總體來說是隨用戶數(shù)的增加而下降的,故稱為性能下降曲線。一般來說,分析性能下降曲線會把曲線分為以下幾個區(qū)間。</p><p>  性能平坦期:隨著用戶數(shù)的增加

61、性能指標首先會出現(xiàn)一個平坦區(qū)。是軟件運行的正常狀態(tài),因此人們希望該期間越長越好。而該指標對于性能分析和性能調(diào)優(yōu)有重要的參考意義。</p><p>  性能輕微下降期:當用戶數(shù)繼續(xù)增加,就會出現(xiàn)性能輕微下降區(qū)。通常認為該下降區(qū)是軟件承受高負載的緩沖區(qū),該區(qū)間也是越長越好</p><p>  性能急劇下降區(qū):通過性能輕微下降區(qū),軟件的性能會出現(xiàn)急劇下降。此時,不是軟件運行的正常區(qū)間,但該區(qū)間對

62、于分析性能瓶頸缺有很大作用。一般來說,性能急劇下降區(qū)的起始點(也稱性能拐點)就是性能瓶頸出現(xiàn)的地方,此時進一步分析資源利用率就可以找到造成性能瓶頸的原因[13]。</p><p>  4.2.2 性能計數(shù)器的分析</p><p>  性能測試其實就是一些測試數(shù)據(jù)的體現(xiàn)與現(xiàn)有測試資源的綜合利用的指標,這些指標通常可以利用操作系統(tǒng)、應用服務器或數(shù)據(jù)庫服務器提供的命令或系統(tǒng)調(diào)用獲得。</p

63、><p>  4.3性能測試報告和分析</p><p>  性能測試報告和結(jié)果分析是在測試執(zhí)行完成以后,對性能數(shù)據(jù)進行采集結(jié)果收集工作和針對性能測試過程中暴露的問題進行分析的階段。性能測試報告是對性能測試過程中的監(jiān)控結(jié)果以及報表進行匯總,按照一定的模板整理出的一份結(jié)論性文檔。開發(fā)團隊和性能測試團隊應依據(jù)對性能測試實施過程中監(jiān)控和記錄的數(shù)據(jù)和表格,分析系統(tǒng)中存在的性能問題和程序缺陷。并有針對性的

64、在報告中闡述問題、分析原因、提出解決或優(yōu)化方案。[14]</p><p>  4.4 軟件性能測試工具LoadRunner</p><p>  作為軟件質(zhì)量控制中的重要一環(huán),性能測試已經(jīng)越來越受到軟件開發(fā)商和用戶的重視,成為軟件測試的重中之重。性能測試通常在系統(tǒng)測試階段執(zhí)行,常常與強度測試結(jié)合起來,一般需要使用測試工具。一個優(yōu)秀的軟件測試工具,不僅可以輔助測試工作,滿足科學測試的基本要求;

65、而且可以自動化測試過程,節(jié)約大量的時間、成本、人員和資源,提高軟件產(chǎn)品的質(zhì)量。目前市場上主要使用的測試工具有微軟公司的WAS(Web Application Stress Tool)、 RadView公司的WebRunner、HP(Mercury)公司的LoadRunner。下面以LoadRunner為例。簡單介紹軟件測試工具的工作流程。</p><p>  LoadRunner是一種預測系統(tǒng)行為和性能的負載測試

66、工具。通過模擬上千萬用戶實施并發(fā)負載及實時性能檢測來確認和查找問題,能夠?qū)φ麄€企業(yè)架構(gòu)進行測試。通過使用LoadRunner,企業(yè)能夠最大限度的縮短測試時間,優(yōu)化性能和加速應用系統(tǒng)的發(fā)布周期。LoadRunner能支持廣泛的協(xié)議和技術(shù),功能比較強大,可以為特殊環(huán)境提供特殊的解決方案。LoadRunner由下面三部分組成:Virtual UserGenerator用來錄制腳本、編輯腳本Controller用來布置測試場景、執(zhí)行測試場景;A

67、nalysis用來對測試結(jié)果進行分析。</p><p>  用LoadRunner進行負載測試的流程通常由五個階段組成:計劃、腳本創(chuàng)建、場景定義、場景執(zhí)行、監(jiān)視執(zhí)行和結(jié)果分析。[15]1)計劃負載測試:定義性能測試要求,例如并發(fā)用戶的數(shù)量、典型業(yè)務流程和所響應時間;根據(jù)軟件項目相關(guān)需求,定義相關(guān)測試的細節(jié),撰寫性能測試報告。2)創(chuàng)建Vuser腳本:將最終用戶活動捕獲到自動腳本中LoadRunner的腳本是C語

68、言代碼,LoadRunner有自己的一整套函數(shù)接口,可以供外部調(diào)用。腳本可分INIT、ACTION、END三部分,其中:INIT部分可以理解為初始部分。ACTION可以理解為事務部分,也是測試的主體,END是退出結(jié)束。當錄制完一個基本的用戶腳本后,在正式使用前我們還需要完善測試腳本,增強腳本的靈活性。一般情況下,我們通過以下幾種方法來完善測試腳本。插人事務、插入結(jié)合點、插入注解、參數(shù)化輸入。3)定義場景:使用LoadRunner Co

69、ntroller設置測試環(huán)境;錄制好腳本之后,就可以把腳本加入到場景里面去了,這里只介紹一下LR的場景類型。</p><p>  LR的場景類型:  ①Manual Scenario:該項要完全手動的設置場景,這項下面還可以設置為每一個腳本分配要運行的虛擬用戶的百分比,可在Controller的Scenario菜單下設置。</p><p><b>  5. 總結(jié)</b&g

70、t;</p><p>  軟件測試本質(zhì)上是一種“比對”技術(shù),測試就是試圖制定一種可判定是非的規(guī)則和標準,從而用以確認軟件是否滿足其預定設計規(guī)格。目前,軟件測試最核心的技術(shù)是用例技術(shù),用例是當前承載這種規(guī)則和技術(shù)的唯一手段。為了保證測試用例的正確有效建立,測試設計人員對于軟件需求、規(guī)格的熟悉程度、分析力度以及建立測試用例的方法正確性是至關(guān)重要的,只有保證了透徹分析用戶需求,熟悉軟件規(guī)格,采用正確的用例建立方法才能獲

71、得有意義,有價值的功能測試與性能測試的結(jié)論。</p><p>  本文通過對軟件功能性測試方法的研究,闡述了功能測試的基本模型理論,在軟件項目基于不同開發(fā)方式下進行功能測試的方式與大致策略。對功能測試一般性流程、步驟進行了劃分,明確了各階段的定義和主要任務。對性能測試的目標、分析與性能測試工具進行了解釋,明確了測試了目的。</p><p>  在實際項目的功能與性能測試中對傳統(tǒng)的測試方法進

72、行了創(chuàng)新的嘗試,通過實例的操作,此種性能測試工具具有可行性,不僅縮短了測試環(huán)境搭建時間還提高了測試的準確性。</p><p><b>  注釋</b></p><p>  [1]黎連業(yè),王華,李淑春.軟件測試與測試技術(shù)[M].北京:清華大學出版社,2009版,第298頁。</p><p>  [2]朱少民,全程軟件測試[M].北京:電子工業(yè)出版

73、社,2007版,第275頁。</p><p>  [3]袁玉宇.軟件測試與質(zhì)量保證[M].北京:北京郵電大學出版社,2008版,第382頁。</p><p>  [4]梁伯,許珊,徐歆愷.測試有道[M].北京:電子工業(yè)出版社,2009版,第183頁。</p><p>  [5]李龍,李向函,馮海寧,等.軟件測試實用技術(shù)與常用模板[M].北京:機械工業(yè)出版社,2010

74、版,第308頁。</p><p><b>  [6] </b></p><p>  [7] 張路,軟件性能測試和可靠性測試.高等教育出版社,2010版,第175~184頁。</p><p>  [8] 何國偉,王緯.軟件可靠性[M].北京:國防大學出版社,1998版 第200~300頁。</p><p>  [9] 阮鐮

75、,劉斌,陳雪松.軟件可靠性測試及其測試環(huán)境[J].測控技術(shù),2000 第200~201頁。</p><p><b>  [10] </b></p><p>  [11]趙斌,軟件測試技術(shù)經(jīng)典教程.北京:科學出版社,2007版,第390頁。</p><p>  [12]王軼辰,軟件測試從入門到精通[M].北京:電子工業(yè)出版社,2009版,第38

76、0頁。</p><p>  [13]蔡開元,可靠性工程基礎(chǔ)[M],北京:清華大學出版社,,1995版,第228頁。</p><p>  [14] 張路,軟件性能測試和可靠性測試.高等教育出版社,2010版,第293頁。</p><p>  [15] 袁玉宇.軟件測試與質(zhì)量保證[M].北京:北京郵電大學出版社,2008版,第552頁。</p><p

77、><b>  參考文獻</b></p><p>  黎連業(yè),王華,李淑春.軟件測試與測試技術(shù)[M].北京:清華大學出版社,2009版,第298頁。</p><p>  朱少民,全程軟件測試[M].北京:電子工業(yè)出版社,2007版,第275頁。</p><p>  袁玉宇.軟件測試與質(zhì)量保證[M].北京:北京郵電大學出版社,2008版,第3

78、82頁。</p><p>  梁伯,許珊,徐歆愷.測試有道[M].北京:電子工業(yè)出版社,2009版,第183頁。</p><p>  李龍,李向函,馮海寧,等.軟件測試實用技術(shù)與常用模板[M].北京:機械工業(yè)出版社,2010版,第308頁。</p><p>  張路,軟件性能測試和可靠性測試.高等教育出版社,2010版,第175~184頁。</p>&

79、lt;p>  何國偉,王緯.軟件可靠性[M].北京:國防大學出版社,1998版 第200~300頁。</p><p>  阮鐮,劉斌,陳雪松.軟件可靠性測試及其測試環(huán)境[J].測控技術(shù),2000 第200~201頁。</p><p>  趙斌,軟件測試技術(shù)經(jīng)典教程.北京:科學出版社,2007版,第390頁。</p><p>  王軼辰,軟件測試從入門到精通[

80、M].北京:電子工業(yè)出版社,2009版,第380頁。</p><p>  蔡開元,可靠性工程基礎(chǔ)[M],北京:清華大學出版社,1995版,第228頁。</p><p><b>  致謝</b></p><p>  非常感謝老師在我大學的最后學習階段—畢業(yè)設計階段給自己的指導,從最初的定題,到資料收集,到寫作、修改,到論文定稿,她給了我耐心的指導

溫馨提示

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

評論

0/150

提交評論