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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  軟件測(cè)試方法技術(shù)的研究與對(duì)比</p><p>  作 者 姓 名: </p><p>  學(xué)科、專(zhuān)業(yè) : </p><p>  學(xué) 號(hào) : </p><p>  指 導(dǎo) 教 師:

2、 </p><p>  完 成 日 期: </p><p><b>  XX大學(xué)</b></p><p>  XXXX University</p><p><b>  摘 要</b></p><p&

3、gt;  軟件測(cè)試是保證軟件質(zhì)量的重要手段。隨著計(jì)算機(jī)硬件性能的不斷提高,軟件的功能也越來(lái)越強(qiáng)大,軟件結(jié)構(gòu)越來(lái)越復(fù)雜,軟件質(zhì)量越來(lái)越難以控制。對(duì)于比較大型的軟件系統(tǒng)集成測(cè)試來(lái)說(shuō),單純的手工測(cè)試不但效率低下,而且很多測(cè)試僅靠手工測(cè)試無(wú)法完成。為減少測(cè)試開(kāi)銷(xiāo),在有限的時(shí)間內(nèi)執(zhí)行更多地測(cè)試,并且降低人為引起的錯(cuò)誤,自動(dòng)化測(cè)試是非常必要的。</p><p>  一個(gè)完整地自動(dòng)化軟件測(cè)試工具,應(yīng)該包括測(cè)試管理工具、功能測(cè)試

4、工具、性能測(cè)試工具三個(gè)部分。論文闡述了軟件自動(dòng)化測(cè)試相關(guān)概念和理論,概括和比較了其適用范圍和組織結(jié)構(gòu)。MI公司、Rational公司、Compuware公司開(kāi)發(fā)的產(chǎn)品是當(dāng)今市場(chǎng)上三種主流的測(cè)試工具,本文從測(cè)試步驟、對(duì)象識(shí)別等方面對(duì)上述三個(gè)公司的功能測(cè)試產(chǎn)品;從測(cè)試項(xiàng)目管理、人員管理、測(cè)試計(jì)劃等方面對(duì)其測(cè)試管理工具產(chǎn)品作了詳細(xì)的分析和比較,為自動(dòng)化測(cè)試研究提供參考。</p><p>  關(guān)鍵詞:軟件測(cè)試,自動(dòng)化測(cè)試

5、,測(cè)試管理工具</p><p><b>  Abstract</b></p><p>  Software testing is important to ensure software quality. With the enhancement of the computer hardware and the increasing complexity of sof

6、tware functionality and structure, software quality control is more and more challenge. For integration testing on large software, manual testing is usually effort consuming while insufficient to achieve certain testing

7、objectives such as stress testing. Therefore, automatic testing is necessary.</p><p>  Functional testing, performance testing and test management are three key characters of testing tools. The concept and t

8、heory related to software automated testing are expounded. The scope of application and the archichecture of software automated testing is summed up and compared. Testing tools delivered by MI, Rational and Compuware occ

9、upy most of the testing market. This thesis analyzes and compares function testing tools from、testing procedure、object recognization, etc. And it analyzes and c</p><p>  Keywords:Software Testing , Automated

10、 Testing , Software Testing Management Tools</p><p><b>  目 錄</b></p><p><b>  1.緒論1</b></p><p>  1.1論文的研究背景及意義1</p><p>  1.2論文的主要研究工作及成果1&l

11、t;/p><p>  1.3論文的組織結(jié)構(gòu)2</p><p>  2.軟件測(cè)試技術(shù)的概論3</p><p>  2.1軟件測(cè)試的定義與目的3</p><p>  2.2軟件測(cè)試的過(guò)程3</p><p>  2.3軟件測(cè)試的分類(lèi)及主要方法4</p><p>  2.3.1按測(cè)試過(guò)程劃分4&

12、lt;/p><p>  2.3.2按工作狀態(tài)劃分5</p><p>  2.3.3按測(cè)試用例設(shè)計(jì)方法劃分6</p><p>  2.3.4按測(cè)試目的劃分8</p><p>  3.自動(dòng)化測(cè)試技術(shù)基礎(chǔ)9</p><p>  3.1自動(dòng)化測(cè)試概念9</p><p>  3.1.1自動(dòng)化測(cè)試9

13、</p><p>  3.1.2自動(dòng)化測(cè)試的優(yōu)點(diǎn)9</p><p>  3.1.3自動(dòng)化測(cè)試的局限性11</p><p>  3.2自動(dòng)化測(cè)試的適用范圍12</p><p>  4.主流自動(dòng)化測(cè)試工具簡(jiǎn)介15</p><p>  4.1 MI(Mercury Interactive)公司的測(cè)試軟件15<

14、/p><p>  4.1.1管理工具16</p><p>  4.1.2測(cè)試工具16</p><p>  4.2 Rational公司的測(cè)試軟件17</p><p>  4.2.1管理工具17</p><p>  4.2.2測(cè)試工具19</p><p>  4.3 Compuware公司的

15、測(cè)試軟件20</p><p>  4.3.1管理工具21</p><p>  4.3.2測(cè)試工具22</p><p>  5.自動(dòng)化功能測(cè)試工具的分析比較與總結(jié)23</p><p>  5.1測(cè)試環(huán)境和對(duì)象23</p><p>  5.2工具功能模塊詳細(xì)劃分25</p><p>  

16、5.3測(cè)試步驟28</p><p>  5.4 GUI對(duì)象識(shí)別29</p><p>  5.5腳本執(zhí)行與被測(cè)程序響應(yīng)的同步問(wèn)題32</p><p>  5.6測(cè)試信息收集33</p><p>  5.7結(jié)合測(cè)試管理工具33</p><p>  5.8比較總結(jié)34</p><p>  

17、6.測(cè)試管理工具的分析與比較35</p><p>  6.1工具特點(diǎn)35</p><p>  6.2測(cè)試項(xiàng)目37</p><p>  6.3測(cè)試人員管理38</p><p>  6.4測(cè)試計(jì)劃39</p><p>  6.5比較總結(jié)42</p><p><b>  7.總結(jié)

18、語(yǔ)44</b></p><p><b>  參考文獻(xiàn)45</b></p><p>  附錄1外文譯文47</p><p>  附錄2外文原文54</p><p><b>  致 謝63</b></p><p><b>  1.緒論</b

19、></p><p>  1.1論文的研究背景及意義</p><p>  近幾年,隨著軟件規(guī)模不斷擴(kuò)大,軟件復(fù)雜度不斷增加,客戶(hù)要求不斷提高,如何保證軟件質(zhì)量,提高軟件可靠性也越來(lái)越受到各研究機(jī)構(gòu)、相關(guān)企業(yè)的普遍關(guān)注,同時(shí)成為軟件開(kāi)發(fā)機(jī)構(gòu)特別關(guān)注的方向。目前,許多能有效提高軟件質(zhì)量的質(zhì)量保證技術(shù)相繼問(wèn)世,例如,幾乎所有的大型軟件開(kāi)發(fā)機(jī)構(gòu)都結(jié)合自身軟件開(kāi)發(fā)實(shí)際和經(jīng)驗(yàn)制定了相關(guān)的質(zhì)量標(biāo)準(zhǔn)來(lái)

20、規(guī)范企業(yè)內(nèi)部的軟件開(kāi)發(fā)過(guò)程,有些機(jī)構(gòu)在這兩年陸續(xù)成立了與軟件開(kāi)發(fā)相獨(dú)立的軟件測(cè)試中心來(lái)保證開(kāi)發(fā)出來(lái)的軟件可用,在開(kāi)發(fā)過(guò)程中增加了許多環(huán)節(jié)(如軟件配置管理、階段性測(cè)試和評(píng)審)用來(lái)保證開(kāi)發(fā)出來(lái)的軟件具有高可靠性。軟件測(cè)試技術(shù)作為保障軟件質(zhì)量最直接、最有效的手段之一也成為重要的研究熱點(diǎn),但是由于軟件本身的復(fù)雜性和不確定性,軟件測(cè)試技術(shù)始終具有極大的難度。深入研究軟件測(cè)試技術(shù)方法,提高軟件可靠性,已經(jīng)成為國(guó)內(nèi)外軟件行業(yè)和相關(guān)機(jī)構(gòu)重要的研究方向[

21、1]。</p><p>  正確選擇和有效地運(yùn)用各種測(cè)試方法、技術(shù)和工具,對(duì)提高軟件工程的應(yīng)用水平和提高軟件產(chǎn)品的質(zhì)量與可靠性至關(guān)重要。而在軟件測(cè)試中使用優(yōu)秀的測(cè)試管理工具不但可以大大減少測(cè)試過(guò)程中出現(xiàn)錯(cuò)誤的可能性,還可以極大的提高測(cè)試的效率,加快測(cè)試進(jìn)程。</p><p>  1.2論文的主要研究工作及成果</p><p>  論文主要對(duì)軟件測(cè)試、測(cè)試技術(shù)(工具、

22、方法)、自動(dòng)化測(cè)試以及測(cè)試管理技術(shù)(工具、方法)進(jìn)行理論闡述和綜合論述;然后進(jìn)行綜合分析、比較、總結(jié)。</p><p>  通過(guò)查閱文獻(xiàn)資料和對(duì)主流工具軟件和相關(guān)技術(shù)的深入學(xué)習(xí)可完成軟件測(cè)試技術(shù)方法的比較與分析研究?jī)?nèi)容。在這個(gè)論文研究過(guò)程中,可以學(xué)會(huì)正確選擇和有效地運(yùn)用各種測(cè)試方法、技術(shù)和工具。</p><p>  1.3論文的組織結(jié)構(gòu)</p><p>  論文的組

23、織結(jié)構(gòu)如圖1.1所示:</p><p>  圖1.1 論文的組織結(jié)構(gòu)</p><p>  2.軟件測(cè)試技術(shù)的概論</p><p>  2.1軟件測(cè)試的定義與目的</p><p>  軟件測(cè)試就是使用人工或者自動(dòng)的手段來(lái)運(yùn)行或測(cè)定某個(gè)軟件產(chǎn)品系統(tǒng)的過(guò)程,其目的是在于檢驗(yàn)軟件產(chǎn)品是否滿(mǎn)足規(guī)定的需求[2]。簡(jiǎn)單地說(shuō),軟件測(cè)試過(guò)程就是制造條件,促使錯(cuò)

24、誤發(fā)生的過(guò)程。</p><p>  軟件測(cè)試的目的是[3]:</p><p>  (1)測(cè)試的最終目的是為了避免錯(cuò)誤的發(fā)生,確保應(yīng)用程序能夠正常高效的運(yùn)行;</p><p>  (2)好的測(cè)試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;</p><p>  (3)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試;</p><p>  (4)

25、好的測(cè)試工程師應(yīng)該做到不僅發(fā)現(xiàn)問(wèn)題,還能夠幫助開(kāi)發(fā)人員分析問(wèn)題。</p><p>  2.2軟件測(cè)試的過(guò)程</p><p>  軟件測(cè)試是一個(gè)貫穿整個(gè)軟件生命周期的活動(dòng),那種等待整個(gè)系統(tǒng)開(kāi)發(fā)完畢,再對(duì)其進(jìn)行測(cè)試的想法是錯(cuò)誤的,把測(cè)試放到軟件開(kāi)發(fā)的最后是很危險(xiǎn)的,因?yàn)樗苋菀讓?dǎo)致整個(gè)軟件系統(tǒng)無(wú)法集成。另外,對(duì)軟件的測(cè)試并不僅限于軟件程序的本身,因?yàn)殄e(cuò)誤并不一定是代碼引起的。很有可能是軟件需求

26、、軟件系統(tǒng)的詳細(xì)設(shè)計(jì)等階段引起的。錯(cuò)誤在初期也許只是范圍很小的隱藏問(wèn)題,但由于軟件開(kāi)發(fā)的各階段的連續(xù)性,會(huì)使錯(cuò)誤逐步擴(kuò)展,如果早期的開(kāi)發(fā)中出現(xiàn)的錯(cuò)誤不能排除,將帶到設(shè)計(jì)、編碼、測(cè)試等各階段,影響逐步擴(kuò)大。所以對(duì)軟件的測(cè)試還應(yīng)該包括與軟件有關(guān)的所有的文檔。一個(gè)典型的軟件測(cè)試過(guò)程如下圖:</p><p>  圖2.1 典型的軟件測(cè)試過(guò)程</p><p>  一個(gè)軟件的測(cè)試過(guò)程是一個(gè)不斷回歸的過(guò)

27、程。舊的錯(cuò)誤的修改可能會(huì)引起新的錯(cuò)誤的出現(xiàn),所以每修改一個(gè)新的錯(cuò)誤,都要針對(duì)系統(tǒng)再作一次測(cè)試,直到?jīng)]有新的錯(cuò)誤出現(xiàn)為止,這是一個(gè)很繁瑣的過(guò)程。</p><p>  2.3軟件測(cè)試的分類(lèi)及主要方法</p><p>  針對(duì)不同規(guī)模、不同類(lèi)型的軟件,以及軟件開(kāi)發(fā)的不同階段,所用的測(cè)試方法各異,下面我們就主要針對(duì)上面的幾種情況對(duì)軟件測(cè)試做一個(gè)簡(jiǎn)單的分類(lèi)。</p><p>

28、  2.3.1按測(cè)試過(guò)程劃分</p><p>  我們知道對(duì)于軟件開(kāi)發(fā)商來(lái)說(shuō),比較大的軟件系統(tǒng)都是由許多人協(xié)作開(kāi)發(fā)的,一般都是把一個(gè)大的軟件系統(tǒng)分割成不同的功能模塊,然后再將這些模塊分給開(kāi)發(fā)團(tuán)中的每個(gè)人去完成,在開(kāi)發(fā)的過(guò)程中針對(duì)每個(gè)模塊的完成情況,邊開(kāi)發(fā)、邊測(cè)試、邊集成,然后各個(gè)模塊集成的完整的系統(tǒng)還要進(jìn)行測(cè)試,當(dāng)系統(tǒng)交付用戶(hù)使用后,還要對(duì)系統(tǒng)進(jìn)行維護(hù)、升級(jí),這里面也伴隨著測(cè)試。根據(jù)上面的過(guò)程,我們按軟件開(kāi)發(fā)過(guò)程

29、的可以將軟件測(cè)試劃分為下面五個(gè)步驟,它們的關(guān)系如圖2.2:</p><p>  圖2.2 軟件測(cè)試步驟</p><p>  單元測(cè)試是對(duì)軟件中的基本組成單位進(jìn)行的測(cè)試,如一個(gè)模塊、一個(gè)過(guò)程等等。它是軟件動(dòng)態(tài)測(cè)試的最基本的部分,也是最重要的部分之一,其目的是檢驗(yàn)軟件基本組成單位的正確性。一個(gè)軟件單元的正確性是相對(duì)于該單元的規(guī)約而言的。因此,單元測(cè)試以被測(cè)試單位的規(guī)約為基準(zhǔn)。單元測(cè)試的主要方法

30、有控制流測(cè)試、數(shù)據(jù)流測(cè)試、排錯(cuò)測(cè)試、分域測(cè)試等等[3-5]。</p><p>  集成測(cè)試是在軟件系統(tǒng)集成過(guò)程中所進(jìn)行的測(cè)試,其主要目的是檢查軟件單位之間的接口是否正確。它根據(jù)集成測(cè)試計(jì)劃,一邊將模塊或其他軟件單位組合成越來(lái)越大的系統(tǒng),一邊運(yùn)行該系統(tǒng),以分析所組成的系統(tǒng)是否正確,各組成部分是否合拍。集成測(cè)試的策略主要有自頂向下和自底向上兩種[3-5]。</p><p>  系統(tǒng)測(cè)試是對(duì)已經(jīng)

31、集成好的軟件系統(tǒng)進(jìn)行徹底的測(cè)試,以驗(yàn)證軟件系統(tǒng)的正確性和性能等滿(mǎn)足其規(guī)約所指定的要求,檢查軟件的行為和輸出是否正確并非一項(xiàng)簡(jiǎn)單的任務(wù),它被稱(chēng)為測(cè)試的“先知者問(wèn)題”。因此,系統(tǒng)測(cè)試應(yīng)該按照測(cè)試計(jì)劃進(jìn)行,其輸入、輸出和其他動(dòng)態(tài)運(yùn)行行為應(yīng)該與軟件規(guī)約進(jìn)行對(duì)比。軟件系統(tǒng)測(cè)試方法很多,主要有功能測(cè)試、性能測(cè)試、隨機(jī)測(cè)試等等[3-5]。</p><p>  驗(yàn)收測(cè)試旨在向軟件的購(gòu)買(mǎi)者展示該軟件系統(tǒng)滿(mǎn)足其用戶(hù)的需求。它的測(cè)試數(shù)

32、據(jù)通常是系統(tǒng)測(cè)試的測(cè)試數(shù)據(jù)的子集。所不同的是,驗(yàn)收測(cè)試常常有軟件系統(tǒng)的購(gòu)買(mǎi)者代表在現(xiàn)場(chǎng),甚至是在軟件安裝使用的現(xiàn)場(chǎng)。這是軟件在投入使用之前的最后測(cè)試。</p><p>  回歸測(cè)試是在軟件維護(hù)階段對(duì)軟件進(jìn)行修改之后進(jìn)行的測(cè)試。其目的是檢驗(yàn)對(duì)軟件進(jìn)行的修改是否正確。這里修改的正確性有兩重含義:一是所作的修改達(dá)到了預(yù)定目的,如錯(cuò)誤得到改正,能夠適應(yīng)新的運(yùn)行環(huán)境等等;二是不影響軟件的其他功能的正確性[1]。</p

33、><p>  2.3.2按工作狀態(tài)劃分</p><p>  軟件測(cè)試是一個(gè)對(duì)測(cè)試經(jīng)驗(yàn)、測(cè)試計(jì)劃、測(cè)試環(huán)境和測(cè)試工具依賴(lài)性非常強(qiáng)的工作,按工作狀態(tài)分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試兩個(gè)階段[6]。</p><p>  靜態(tài)測(cè)試主要是針對(duì)所有文檔資料、編程規(guī)范、數(shù)據(jù)定義、控制和數(shù)據(jù)使用、代碼與需求的一致性、代碼與設(shè)計(jì)的一致性等方面的分析,其對(duì)測(cè)試經(jīng)驗(yàn)和測(cè)試計(jì)劃的依賴(lài)性極強(qiáng)。</p

34、><p>  靜態(tài)測(cè)試是在不需運(yùn)行軟件系統(tǒng)的情況下,對(duì)系統(tǒng)進(jìn)行的測(cè)試。其采用的方法主要有[6]:</p><p>  (1)文檔資料瀏覽,達(dá)到正確的理解,并對(duì)任何改變具有統(tǒng)一的認(rèn)知;</p><p>  (2)討論決定,對(duì)文檔資料進(jìn)行討論,并作出決定,如:做什么、不做什么、如何做等;</p><p>  (3)檢查,根據(jù)規(guī)范和定義,找出可能存在的

35、問(wèn)題,如:市場(chǎng)和商業(yè)策略、系統(tǒng)需求和系統(tǒng)設(shè)計(jì)、程序代碼、測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)、測(cè)試案例、測(cè)試結(jié)果、用戶(hù)手冊(cè)、培訓(xùn)教材等;</p><p>  (4)利用工具對(duì)程序代碼進(jìn)行靜態(tài)分析,如:程序復(fù)雜度、系統(tǒng)結(jié)構(gòu)、控制流程、數(shù)據(jù)流程等。</p><p>  動(dòng)態(tài)測(cè)試是被測(cè)系統(tǒng)在運(yùn)行當(dāng)中,根據(jù)其動(dòng)態(tài)的行為進(jìn)行的測(cè)試。根據(jù)測(cè)試規(guī)模,可分為:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試及應(yīng)用測(cè)試等幾個(gè)階段。</p&

36、gt;<p>  2.3.3按測(cè)試用例設(shè)計(jì)方法劃分</p><p>  軟件測(cè)試的方法和技術(shù)是多種多樣的,按測(cè)試用例設(shè)計(jì)方法,可分為黑盒測(cè)試和白盒測(cè)試,并且黑盒測(cè)試和白盒測(cè)試還是目前通用的測(cè)試技術(shù) [2,7-8]。</p><p>  黑盒測(cè)試著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行的測(cè)試。</p><p>  黑盒測(cè)試也稱(chēng)功

37、能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明的測(cè)試,它在已知產(chǎn)品應(yīng)具有的功能的條件下,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。</p><p>  黑盒測(cè)試是以用戶(hù)的

38、觀點(diǎn),從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的,它不涉及到程序的內(nèi)部結(jié)構(gòu)。黑盒測(cè)試注重于測(cè)試軟件的功能需求,主要試圖發(fā)現(xiàn)軟件中的功能錯(cuò)誤、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤、性能錯(cuò)誤、初始化和終止錯(cuò)誤等。</p><p>  白盒測(cè)試是基于代碼的測(cè)試,測(cè)試人員通過(guò)閱讀程序代碼或者通過(guò)使用開(kāi)發(fā)工具中的單步調(diào)試來(lái)判斷軟件的質(zhì)量。</p><p>  白盒測(cè)試也稱(chēng)結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或

39、基于程序本身的測(cè)試,它是知道產(chǎn)品內(nèi)部工作過(guò)程,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不涉及它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。</p><p>  白盒測(cè)試需要全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。白盒測(cè)試是窮舉路徑測(cè)試,在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)

40、構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。</p><p>  黑盒測(cè)試與白盒測(cè)試的比較如下表2.1。</p><p>  表2.1 黑盒測(cè)試與白盒測(cè)試的比較</p><p>  2.3.4按測(cè)試目的劃分</p><p>  對(duì)于一個(gè)軟件系統(tǒng),衡量它的好壞有兩個(gè)最重要的指標(biāo),一是它的功能是否符合要求,二是它的性能是否符合要求。那么針對(duì)這兩個(gè)指標(biāo)

41、,我們可以將軟件測(cè)試分為:功能測(cè)試和性能測(cè)試兩個(gè)部分[2]。</p><p>  功能測(cè)試:針對(duì)軟件的功能測(cè)試,目的是為了驗(yàn)證軟件的功能是否符合軟件需求規(guī)格說(shuō)明的要求,找出軟件不符合用戶(hù)需求的地方。功能測(cè)試要盡量測(cè)試到軟件的每一個(gè)功能單元,找出軟件中的缺陷,確保軟件的每一個(gè)部分都能正常、正確的工作。</p><p>  性能測(cè)試:就是用來(lái)測(cè)試軟件在系統(tǒng)中的運(yùn)行性能的。性能測(cè)試可以發(fā)生在各個(gè)

42、測(cè)試階段中,即使是在單元層,一個(gè)單獨(dú)模塊的性能也可以使用白盒測(cè)試來(lái)進(jìn)行評(píng)估,然而,只有當(dāng)整個(gè)系統(tǒng)的所有成分都集成到一起之后,才能檢查一個(gè)系統(tǒng)的真正性能。性能測(cè)試經(jīng)常和壓力測(cè)試一起進(jìn)行,而且常常需要硬件和軟件測(cè)試設(shè)備,這就是說(shuō),常常有必要的在一種苛刻的環(huán)境中衡量資源的使用(比如,處理器周期)。外部的測(cè)試設(shè)備可以監(jiān)測(cè)測(cè)試執(zhí)行,當(dāng)出現(xiàn)情況(如中斷)時(shí)記錄下來(lái)。通過(guò)對(duì)系統(tǒng)的檢測(cè),測(cè)試者可以發(fā)現(xiàn)導(dǎo)致效率降低和系統(tǒng)故障的原因。</p>

43、<p>  3.自動(dòng)化測(cè)試技術(shù)基礎(chǔ)</p><p>  3.1自動(dòng)化測(cè)試概念</p><p>  隨著軟件系統(tǒng)的規(guī)模越來(lái)越大,整個(gè)系統(tǒng)的復(fù)雜性也越來(lái)越大,那么單純的手工測(cè)試已經(jīng)不適合這種大系統(tǒng)的測(cè)試了。首先手工測(cè)試的效率低下,其次有些測(cè)試是手工測(cè)試所無(wú)法完成的。為了解決手工測(cè)試效率低下和手工測(cè)試不能解決的一些測(cè)試等問(wèn)題,自動(dòng)化測(cè)試就應(yīng)運(yùn)而生了。</p><p

44、>  軟件自動(dòng)化測(cè)試就是執(zhí)行某種程序設(shè)計(jì)語(yǔ)言編制的自動(dòng)測(cè)試程序,控制被測(cè)軟件的執(zhí)行,模擬手動(dòng)測(cè)試步驟,完成全自動(dòng)或半自動(dòng)測(cè)試。其目的在于縮短測(cè)試周期,增強(qiáng)對(duì)軟件性能方面的測(cè)試能力等,從而達(dá)到保證軟件質(zhì)量并使軟件能夠提前上線[9]。</p><p>  3.1.1自動(dòng)化測(cè)試</p><p>  自動(dòng)化測(cè)試就是希望能夠通過(guò)自動(dòng)化測(cè)試工具或其他手段,按照測(cè)試工程師的預(yù)定計(jì)劃進(jìn)行自動(dòng)的測(cè)試,

45、目的是減輕手工測(cè)試的勞動(dòng)量,從而達(dá)到提高軟件質(zhì)量的目的。自動(dòng)化測(cè)試的目的在于發(fā)現(xiàn)老缺陷;而手工測(cè)試的目的在于發(fā)現(xiàn)新缺陷。測(cè)試自動(dòng)化涉及到測(cè)試流程、測(cè)試體系、自動(dòng)化化編譯、持續(xù)集成、自動(dòng)發(fā)布測(cè)試系統(tǒng)以及自動(dòng)化測(cè)試等方面整合。也就是說(shuō)要讓測(cè)試能夠自動(dòng)化,不僅是技術(shù)、工具的問(wèn)題,更是一個(gè)公司和組織的文化問(wèn)題。首先公司從資金、管理上支持您,其次要有專(zhuān)門(mén)的測(cè)試團(tuán)隊(duì)去建立適合自動(dòng)化測(cè)試的測(cè)試流程、測(cè)試體系;其次就是把原代碼從受控庫(kù)中取出、編譯、集成

46、、發(fā)布可運(yùn)行系統(tǒng)、進(jìn)行自動(dòng)化的單元測(cè)試和自動(dòng)化的功能測(cè)試的過(guò)程[9]。</p><p>  3.1.2自動(dòng)化測(cè)試的優(yōu)點(diǎn)</p><p>  當(dāng)正確實(shí)施軟件自動(dòng)化測(cè)試并嚴(yán)格遵守制定的測(cè)試過(guò)程時(shí),自動(dòng)化測(cè)試可帶來(lái)若干好處。假定對(duì)于給定的企業(yè)需求,測(cè)試工程師必須評(píng)估潛在的好處是否符合所要求的改進(jìn)標(biāo)準(zhǔn),在項(xiàng)目實(shí)施自動(dòng)化測(cè)試是否仍然是合適的[10-11]。</p><p>&

47、lt;b>  (1)提高測(cè)試效率</b></p><p>  一般來(lái)說(shuō),軟件產(chǎn)品的發(fā)布周期很短,而在測(cè)試期間是每天都可能要發(fā)布一個(gè)版本供測(cè)試人員測(cè)試,一個(gè)系統(tǒng)的功能點(diǎn)有幾千個(gè)上萬(wàn)個(gè),手工測(cè)試是一個(gè)勞動(dòng)密集型的工作,并且容易出錯(cuò)。引入自動(dòng)化測(cè)試能夠用更有效、可重復(fù)的自動(dòng)化測(cè)試環(huán)境代替繁瑣的手工測(cè)試活動(dòng),而且能在更少的時(shí)間內(nèi)完成更多的測(cè)試工作,從而提高了測(cè)試工程師的工作效率。</p>

48、<p>  (2)令軟件新版本進(jìn)行回歸測(cè)試的開(kāi)銷(xiāo)最小</p><p>  產(chǎn)品發(fā)現(xiàn)錯(cuò)誤以后的改動(dòng),代碼變了,但要求的功能并沒(méi)有變,所以測(cè)試用例也不必改變,自動(dòng)化測(cè)試就可以很方便地進(jìn)行回歸測(cè)試,另外,對(duì)于產(chǎn)品型的軟件,每次發(fā)布一個(gè)新的版本,其中大部分功能和界面都和上一個(gè)版本相似或完全相同,這部分功能特別適合于自動(dòng)化測(cè)試,從而可以讓測(cè)試達(dá)到測(cè)試每個(gè)特征的需求。</p><p>  (

49、3)可以完成一些手工測(cè)試不能或難以完成的測(cè)試</p><p>  對(duì)于一些非功能性方面的測(cè)試,如:壓力測(cè)試、并發(fā)測(cè)試、大數(shù)據(jù)量測(cè)試、崩潰性測(cè)試等,這些測(cè)試用手工測(cè)試是很難,甚至是不可能完成的。但自動(dòng)化測(cè)試則能方便地執(zhí)行這些測(cè)試,比如并發(fā)測(cè)試,使用自動(dòng)化測(cè)試工具就可以模擬來(lái)自多方的并發(fā)操作了。</p><p>  (4)具有一致性和可重復(fù)性</p><p>  由于每

50、次自動(dòng)化測(cè)試運(yùn)行的腳本是相同的,所以可以進(jìn)行重復(fù)的測(cè)試,使得每次執(zhí)行的測(cè)試具有一致性,手工測(cè)試則很難做到這點(diǎn)。</p><p>  (5)更好地利用資源</p><p>  將繁瑣的測(cè)試任務(wù)自動(dòng)化,可以使測(cè)試人員解脫出來(lái),將精力更多地投入到測(cè)試案例的設(shè)計(jì)和必要的手工測(cè)試當(dāng)中。并且,理想的自動(dòng)化測(cè)試能夠按計(jì)劃完全自動(dòng)地運(yùn)行,使得完全可以利用周末和晚上的時(shí)間執(zhí)行自動(dòng)測(cè)試。</p>

51、<p>  (6)解決測(cè)試與開(kāi)發(fā)之間的矛盾</p><p>  通常在開(kāi)發(fā)的末期,進(jìn)入集成測(cè)試階段,由于每發(fā)布一個(gè)版本的初期,測(cè)試系統(tǒng)的錯(cuò)誤比較少,這時(shí)開(kāi)發(fā)人員有等待測(cè)試人員測(cè)出錯(cuò)誤的時(shí)間。事實(shí)上在迭代周期很短的開(kāi)發(fā)模式中,存在更多的矛盾,但自動(dòng)化測(cè)試可以解決其中的主要矛盾。</p><p>  (7)增加軟件信任度</p><p>  每一個(gè)測(cè)試人員都

52、有自己特殊的經(jīng)歷和技術(shù)背景,有自己的一些操作習(xí)慣和先入為主的觀念,這就導(dǎo)致不是所有的測(cè)試都是可信的,而且有時(shí)測(cè)試會(huì)把一些新的錯(cuò)誤帶入軟件產(chǎn)品之中。自動(dòng)化測(cè)試則會(huì)在很大程度上避免這些問(wèn)題。一旦得知軟件通過(guò)強(qiáng)有力的自動(dòng)測(cè)試后,軟件發(fā)布時(shí)對(duì)其的信任度也高(假設(shè)已做過(guò)很好的測(cè)試)。</p><p>  總而言之,測(cè)試自動(dòng)化的優(yōu)點(diǎn)在于通過(guò)較少的開(kāi)銷(xiāo)就可以獲得更徹底的測(cè)試能力,以及提高產(chǎn)品的質(zhì)量。</p>&l

53、t;p>  3.1.3自動(dòng)化測(cè)試的局限性</p><p>  當(dāng)然,軟件自動(dòng)化測(cè)試也并非萬(wàn)能,人們對(duì)軟件自動(dòng)化測(cè)試的理解也存在許多誤區(qū),認(rèn)為自動(dòng)化測(cè)試能完成一切工作,從測(cè)試計(jì)劃到測(cè)試執(zhí)行,都不需要人工干預(yù)。其實(shí)軟件自動(dòng)化測(cè)試所完成的測(cè)試功能也是有限的。以下幾點(diǎn)是自動(dòng)化測(cè)試的不足所在[10-11]:</p><p>  (1)不能完全取代手工測(cè)試。軟件自動(dòng)化測(cè)試不可能也沒(méi)必要取代手工測(cè)

54、試來(lái)完成所有的測(cè)試任務(wù)。因?yàn)橛行y(cè)試使用手工測(cè)試比自動(dòng)化測(cè)試要簡(jiǎn)單,這時(shí)將測(cè)試自動(dòng)化的開(kāi)銷(xiāo)就比較大了。如以下一些情況:</p><p>  ①測(cè)試很少運(yùn)行。對(duì)于很少運(yùn)行的測(cè)試任務(wù),例如一年只需測(cè)試一次,對(duì)測(cè)試自動(dòng)化則是一種浪費(fèi)。</p><p>  ②軟件不穩(wěn)定。如果在某段時(shí)間內(nèi)軟件的界面和功能更新頻繁,那么修改相應(yīng)的自動(dòng)化測(cè)試點(diǎn)開(kāi)銷(xiāo)較大,因此只有當(dāng)軟件達(dá)到相對(duì)的穩(wěn)定,沒(méi)有界面性嚴(yán)重錯(cuò)誤和

55、中斷錯(cuò)誤才適合開(kāi)始自動(dòng)化測(cè)試。</p><p>  ③涉及感觀方面的測(cè)試。例如界面的美觀、聲音的體驗(yàn)、易用性的測(cè)試等,這類(lèi)測(cè)試很容易通過(guò)人來(lái)驗(yàn)證,自動(dòng)化測(cè)試反而難以執(zhí)行。</p><p> ?、苌婕拔锢斫换サ臏y(cè)試。自動(dòng)化測(cè)試很難完成與物理設(shè)備的交互,比如刷卡的測(cè)試等。</p><p>  (2)手工測(cè)試比軟件自動(dòng)化測(cè)試發(fā)現(xiàn)的缺陷更多</p><p

56、>  自動(dòng)化測(cè)試的最大特點(diǎn)在于適合重復(fù)測(cè)試。一般情況下,以前運(yùn)行過(guò)的測(cè)試再次用來(lái)檢查軟件的新版本往往暴露的缺陷要少得多。測(cè)試專(zhuān)家 JamesBach總結(jié)出,85%的缺陷靠手工發(fā)現(xiàn),而自動(dòng)化測(cè)試只能發(fā)現(xiàn)15%的缺陷。自動(dòng)化測(cè)試能夠很好的發(fā)現(xiàn)老缺陷。</p><p>  (3)軟件自動(dòng)化測(cè)試不能提高有效性</p><p>  自動(dòng)化測(cè)試并不會(huì)比手工運(yùn)行相同測(cè)試更有效,它可以提高測(cè)試效率,

57、但也可能對(duì)測(cè)試的進(jìn)展起反作用。</p><p>  (4)軟件自動(dòng)化測(cè)試可能會(huì)制約軟件開(kāi)發(fā)</p><p>  應(yīng)用軟件的變化對(duì)自動(dòng)化測(cè)試的影響要比手工測(cè)試更大一些,軟件的部分改變有可能使自動(dòng)化測(cè)試軟件崩潰。而設(shè)計(jì)和實(shí)施自動(dòng)化測(cè)試要比手工測(cè)試開(kāi)銷(xiāo)大,并需要維護(hù),所以對(duì)自動(dòng)化測(cè)試影響較大的軟件修改可能受到限制。</p><p>  (5)軟件自動(dòng)化測(cè)試本身沒(méi)有想象力&

58、lt;/p><p>  自動(dòng)化測(cè)試是通過(guò)軟件進(jìn)行,測(cè)試程序只是按照運(yùn)行機(jī)制執(zhí)行。手工測(cè)試時(shí)可以直接判斷結(jié)果的正確性,而自動(dòng)測(cè)試許多情況下測(cè)試結(jié)果還需要人工干預(yù)判斷。手工測(cè)試可以處理意外事件網(wǎng)絡(luò)連接中斷,此時(shí)必須重新建立連接。手工測(cè)試時(shí)可以及時(shí)處理該意外,而自動(dòng)化測(cè)試時(shí)該意外事件一般會(huì)導(dǎo)致測(cè)試的中止。</p><p>  總的說(shuō)來(lái),軟件自動(dòng)化測(cè)試的優(yōu)點(diǎn)和收益是顯而易見(jiàn)的,但它同時(shí)也并非萬(wàn)能,只有

59、對(duì)其進(jìn)行合理的設(shè)計(jì)和順利的實(shí)施才能從中獲益。</p><p>  3.2自動(dòng)化測(cè)試的適用范圍</p><p>  Peer給出了對(duì)各類(lèi)型測(cè)試進(jìn)行自動(dòng)化的參考[12]。</p><p>  表3.1 各類(lèi)型測(cè)試進(jìn)行自動(dòng)化</p><p>  可見(jiàn)重復(fù)性比較高的回歸測(cè)試,以及手工測(cè)試難以完成的性能測(cè)試是自動(dòng)化測(cè)試最有潛力應(yīng)用和最能體現(xiàn)價(jià)值的地方,

60、而早期的單元測(cè)試中如果引入自動(dòng)化,也將大大提高開(kāi)發(fā)出的代碼質(zhì)量。</p><p>  當(dāng)決定在一個(gè)產(chǎn)品的測(cè)試過(guò)程中實(shí)現(xiàn)自動(dòng)化測(cè)試的時(shí)候,必須將自動(dòng)化測(cè)試手工測(cè)試結(jié)合起來(lái)使用。目的就是用較少的開(kāi)銷(xiāo),獲得徹底的測(cè)試,并提高商品的質(zhì)量。</p><p>  下表對(duì)何時(shí)使用自動(dòng)化測(cè)試和何時(shí)使用手工測(cè)試進(jìn)行了一個(gè)概要的總結(jié)。</p><p>  表3.2 何時(shí)使用自動(dòng)化測(cè)試和

61、手工測(cè)試</p><p>  4.主流自動(dòng)化測(cè)試工具簡(jiǎn)介</p><p>  自動(dòng)化測(cè)試需要不同類(lèi)型的自動(dòng)化測(cè)試工具進(jìn)行支持。目前,軟件市場(chǎng)上已經(jīng)有很多優(yōu)秀的自動(dòng)化測(cè)試工具,它們功能強(qiáng)大,有針對(duì)功能的,也有針對(duì)性能的,有執(zhí)行白盒測(cè)試的測(cè)試工具也有執(zhí)行黑盒的測(cè)試工具。主流的商業(yè)化的自動(dòng)化測(cè)試工具軟件開(kāi)發(fā)公司是:Mercury Interactive公司、IBM Rational公司和Comp

62、uware公司。三個(gè)公司都開(kāi)發(fā)了一整套自動(dòng)化測(cè)試工具,這些自動(dòng)化測(cè)試工具都經(jīng)過(guò)無(wú)數(shù)的實(shí)際運(yùn)用,都是非常優(yōu)秀的自動(dòng)化測(cè)試工具。</p><p>  一個(gè)完整地自動(dòng)化軟件測(cè)試工具,應(yīng)該包括測(cè)試管理工具、功能測(cè)試工具、性能測(cè)試工具三個(gè)部分。下面就目前Windows操作系統(tǒng)下的主流的自動(dòng)化測(cè)試工具作一個(gè)整體的介紹。</p><p>  4.1 MI(Mercury Interactive)公司的測(cè)

63、試軟件</p><p>  Mercury Interactive公司是商業(yè)技術(shù)優(yōu)化的業(yè)界領(lǐng)導(dǎo)者。它成立于1989年,目前,和全球超過(guò)35個(gè)國(guó)家都有貿(mào)易往來(lái)。全球100強(qiáng)公司中有將近90%的公司依靠MI公司的軟件和服務(wù)來(lái)實(shí)施他們的商業(yè)技術(shù)優(yōu)化策略。這使得MI公司成為世界上最大的、成長(zhǎng)最快的企業(yè)級(jí)軟件公司。該公司開(kāi)發(fā)的自動(dòng)化測(cè)試工具以其功能強(qiáng)大、完善的售后服務(wù)和支持,使其成為了自動(dòng)化測(cè)試軟件開(kāi)發(fā)領(lǐng)域的領(lǐng)先者。MI主

64、要測(cè)試軟件的構(gòu)成如下圖[13]:</p><p>  圖4.1 MI主要測(cè)試軟件的構(gòu)成</p><p>  下面對(duì)上圖的工具作一個(gè)概括的介紹。</p><p><b>  4.1.1管理工具</b></p><p>  TestDirector是MI自動(dòng)化測(cè)試工具集中的測(cè)試管理工具,它是業(yè)界第一個(gè)基于WEB的測(cè)試管理系統(tǒng)

65、。使用TD及其配套的功能和性能等測(cè)試工具,可以組織全球范圍的測(cè)試。TestDirector通過(guò)在一個(gè)整體的應(yīng)用系統(tǒng)中提供并且集成了測(cè)試需求管理、測(cè)試計(jì)劃、測(cè)試日程控制及測(cè)試執(zhí)行和錯(cuò)誤跟蹤等功能,通過(guò)使用這些功能可以使測(cè)試專(zhuān)業(yè)化,提高測(cè)試的效率,加速測(cè)試的過(guò)程。</p><p>  TestDirector主要有三大功能模塊構(gòu)成:</p><p>  (1)Site Administrato

66、r</p><p>  該模塊的主要功能是:創(chuàng)建測(cè)試域,創(chuàng)建和維護(hù)測(cè)試項(xiàng)目,管理測(cè)試人員,查看測(cè)試項(xiàng)目的訪問(wèn)情況,配置注冊(cè)碼。</p><p>  (2)Customer</p><p>  在該功能模塊中,TD用戶(hù)(即測(cè)試人員或其他與測(cè)試相關(guān)的人員)可以訂制和修改用戶(hù)的一些信息。包括:修改用戶(hù)信息、創(chuàng)建新的用戶(hù)類(lèi)型和用戶(hù)組類(lèi)型,訂制模塊的訪問(wèn)權(quán)限,訂制項(xiàng)目實(shí)體和列

67、表,配置郵件,調(diào)整工作流等。</p><p>  (3)TestManager</p><p>  這個(gè)模塊是TestDirector的主要功能的所在。它主要集成了需求指定、建立測(cè)試計(jì)劃、執(zhí)行測(cè)試、缺陷跟蹤四個(gè)功能模塊。</p><p><b>  4.1.2測(cè)試工具</b></p><p>  MI的測(cè)試工具主要有功能

68、測(cè)試工具WinRunner和性能測(cè)試工具LoadRunner,下面對(duì)這兩個(gè)工具作一個(gè)概括的介紹。</p><p>  (1)WinRunner</p><p>  針對(duì)Windows應(yīng)用程序的一個(gè)企業(yè)級(jí)的功能測(cè)試工具,用于檢測(cè)應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行。它通過(guò)自動(dòng)錄制、檢測(cè)和回放用戶(hù)的應(yīng)用操作,來(lái)發(fā)現(xiàn)程序中的錯(cuò)誤??梢杂行У貛椭鷾y(cè)試人員對(duì)復(fù)雜的企業(yè)級(jí)應(yīng)用軟件的不同發(fā)布版本進(jìn)行

69、測(cè)試,提高測(cè)試人員的工作效率和質(zhì)量。確保跨平臺(tái)的、復(fù)雜的企業(yè)級(jí)應(yīng)用軟件無(wú)故障發(fā)布和長(zhǎng)期穩(wěn)定的運(yùn)行。</p><p>  (2)LoadRunner</p><p><b>  黑盒性能測(cè)試工具。</b></p><p>  4.2 Rational公司的測(cè)試軟件</p><p>  Rational公司是軟件業(yè)中領(lǐng)先的應(yīng)

70、用開(kāi)發(fā)工具供應(yīng)商,提供基于業(yè)界開(kāi)放標(biāo)準(zhǔn)的工具、最佳方案和服務(wù),用于開(kāi)發(fā)商業(yè)應(yīng)用和構(gòu)建軟件產(chǎn)品和系統(tǒng)。2002年Rational公司被IBM公司收購(gòu)。對(duì)于Rational公司的產(chǎn)品,我們比較熟悉的是它的建模工具,它的測(cè)試工具同它的建模工具一樣優(yōu)秀。Rational的測(cè)試工具Rational Suite TestStudio的構(gòu)成如下圖[14]:</p><p>  圖4.2 Rational Suite TestS

71、tudio的構(gòu)成</p><p><b>  4.2.1管理工具</b></p><p>  Rational Suite TestStudio測(cè)試工具集中的管理工具主要有五個(gè)子工具組成,它們結(jié)合起來(lái),完成一個(gè)完整的測(cè)試管理工具的功能。下面就上面各個(gè)管理工具的功能作一個(gè)概括的介紹。</p><p>  (1)Rational TestManag

72、er</p><p>  TestManager 處于測(cè)試管理工具的核心位置。它是一個(gè)開(kāi)放的可擴(kuò)展的架構(gòu),將其它的工具和測(cè)試數(shù)據(jù)聯(lián)合為一個(gè)整體。在TestManager中主要可以完成建立測(cè)試計(jì)劃、安排測(cè)試、執(zhí)行測(cè)試、查看測(cè)試結(jié)果和分析測(cè)試結(jié)果等工作。</p><p>  (2)Rational Administrator</p><p>  Rational Adm

73、inistrator集中了測(cè)試項(xiàng)目的管理功能,可以創(chuàng)建測(cè)試項(xiàng)目,管理相關(guān)的人員,包括測(cè)試人員和有關(guān)的開(kāi)發(fā)人員。它的詳細(xì)功能如下:</p><p> ?、賱?chuàng)建一個(gè)Rational測(cè)試項(xiàng)目,配置項(xiàng)目的有關(guān)信息。</p><p> ?、谶B接某個(gè)測(cè)試項(xiàng)目。</p><p> ?、弁ㄟ^(guò)網(wǎng)絡(luò)操作遠(yuǎn)程的測(cè)試項(xiàng)目。</p><p>  ④刪除一個(gè)測(cè)試項(xiàng)目。&

74、lt;/p><p>  ⑤創(chuàng)建和管理測(cè)試人員和用戶(hù)組。</p><p> ?、迍?chuàng)建和管理包含RequisitePro項(xiàng)目和Rose項(xiàng)目的測(cè)試項(xiàng)目。</p><p> ?、呖刂埔粋€(gè)Rational測(cè)試項(xiàng)目的測(cè)試數(shù)據(jù)的安全權(quán)限。</p><p>  (3)Rational RequisitePro</p><p>  Rati

75、onal RequisitePro是一個(gè)需求管理的工具,它可幫助項(xiàng)目團(tuán)隊(duì)控制開(kāi)發(fā)的進(jìn)度。它通過(guò)將Microsoft Word和一個(gè)需求倉(cāng)庫(kù)連接來(lái)組織測(cè)試需求,它還提供了跟蹤功能,并且在整個(gè)項(xiàng)目的生命周期內(nèi)可以隨時(shí)改變需求。</p><p>  利用RequisitePro你可以完成如下工作:</p><p> ?、俣ㄖ菩枨髷?shù)據(jù)庫(kù)和管理多種不同類(lèi)型的測(cè)試。</p><p&

76、gt; ?、谥付▋?yōu)先級(jí),排序和安排需求。</p><p>  ③控制特征變形,確保軟件質(zhì)量。</p><p> ?、芨櫘a(chǎn)生的變化,包括這些改變是誰(shuí)做出的、什么時(shí)候、為什么。</p><p>  (4)Rational ClearQuest</p><p>  在ClearQuest中進(jìn)行缺陷的跟蹤和管理。通過(guò)ClearQuest可以將測(cè)試中

77、發(fā)現(xiàn)的缺陷直接發(fā)送給相應(yīng)的測(cè)試人員,集中管理某個(gè)測(cè)試項(xiàng)目的缺陷,并跟蹤缺陷的修復(fù)情況。</p><p>  (5)Rational SoDA</p><p>  文檔生成工具,測(cè)試需求、測(cè)試結(jié)果、缺陷報(bào)告等測(cè)試信息可以通過(guò)SoDA這個(gè)工具生成詳細(xì)的報(bào)表。</p><p><b>  4.2.2測(cè)試工具</b></p><p&

78、gt;  Rational Suite TestStudio測(cè)試工具集中的測(cè)試工具比較全面,既有功能和性能的測(cè)試工具,也有代碼級(jí)的黑盒和白盒測(cè)試工具。</p><p>  (1)Rational Robot </p><p>  Rational Robot集成了功能測(cè)試和性能測(cè)試兩種功能。使用Robot可以創(chuàng)建兩種類(lèi)型的測(cè)試腳本:基于GUI對(duì)象的功能測(cè)試腳本和用于性能測(cè)試的腳本。功能測(cè)試

79、腳本可以在Robot中直接運(yùn)行,而性能測(cè)試的腳本要在TestManager中運(yùn)行。</p><p>  (2)Rational Quantify</p><p>  Rational Quantify提供了一個(gè)完整的、精確的針對(duì)被測(cè)應(yīng)用程序和相關(guān)組件的一個(gè)性能測(cè)試數(shù)據(jù)集合,同過(guò)圖表等易于理解和觀察的方式顯示出來(lái),可以很容易看出被測(cè)程序那個(gè)地方耗費(fèi)了較多時(shí)間,然后優(yōu)化修改耗費(fèi)時(shí)間較多的代碼,

80、提高程序執(zhí)行效率。</p><p>  Rational Quantify主要適用的應(yīng)用程序的對(duì)象是:Visual C/C++開(kāi)發(fā)的.exe,.dlls,OLE/ActiveX控件以及COM對(duì)象組件;Visual Basic開(kāi)發(fā)的應(yīng)用程序;Java語(yǔ)言開(kāi)發(fā)的應(yīng)用程序;C#語(yǔ)言開(kāi)發(fā)的應(yīng)用程序等。</p><p>  (3)Rational Purify</p><p>

81、;  檢測(cè)內(nèi)存泄露的白盒測(cè)試工具。</p><p>  (4)Rational PureCoverage </p><p>  測(cè)試代碼覆蓋率的白盒測(cè)試工具。</p><p>  (5)Rational TestFactory</p><p>  它是一個(gè)基于組件的測(cè)試工具,主要功能如下:</p><p> ?、俑鶕?jù)程

82、序的導(dǎo)航結(jié)構(gòu)自動(dòng)生成TestFactory腳本。</p><p>  ②自動(dòng)創(chuàng)建和維護(hù)一個(gè)被測(cè)軟件的詳細(xì)map。</p><p>  ③不用記錄,自動(dòng)生成提供擴(kuò)展代碼覆蓋率的腳本和發(fā)現(xiàn)缺陷的腳本。</p><p> ?、茏粉欉\(yùn)行過(guò)的或未運(yùn)行過(guò)的源代碼,并且報(bào)告它的詳細(xì)的發(fā)現(xiàn)。</p><p>  ⑤通過(guò)最大限度的縮短花費(fèi)在書(shū)寫(xiě)導(dǎo)航代碼上的時(shí)間

83、來(lái)縮短產(chǎn)品的測(cè)試周期。</p><p> ?、拊赥estFactory中可以回放Robot功能測(cè)試腳本一觀察擴(kuò)展代碼覆蓋率的信息以創(chuàng)建回歸測(cè)試集;在Robot中也可以回放TestFactory腳本用以調(diào)試腳本。</p><p>  (6)Rational SiteCheck</p><p>  網(wǎng)頁(yè)測(cè)試工具,利用Rational SiteCheck 可以檢查企業(yè)內(nèi)部

84、互聯(lián)網(wǎng)的結(jié)構(gòu)完整性以及網(wǎng)頁(yè)錯(cuò)誤??梢詭椭榭础⒏櫤途S護(hù)迅速變化的頁(yè)面。</p><p>  利用SiteCheck具體可以做如下事情:</p><p>  ①顯示網(wǎng)頁(yè)的結(jié)構(gòu)以及各頁(yè)面間的關(guān)系。</p><p> ?、谧R(shí)別和分析帶有動(dòng)態(tài)內(nèi)容的Web頁(yè)面,如:forms, Java, JavaScript, ActiveX, VBScript。</p>

85、<p>  ③過(guò)濾信息,以利于你觀察制定的文件類(lèi)型和缺陷,包括斷開(kāi)的連接。</p><p>  ④檢查和編輯任意網(wǎng)頁(yè)的源代碼。</p><p> ?、堇眉傻木庉嬈鞲禄蛐迯?fù)文件。</p><p> ?、迣?duì)安全網(wǎng)頁(yè)執(zhí)行全面的測(cè)試。SiteCheck提供了Secure Scoket Layer(SSL)支持,代理服務(wù)器配置以及多密碼域。</p>

86、<p>  (7)Rational TeamTest</p><p><b>  團(tuán)隊(duì)合作測(cè)試工具。</b></p><p>  4.3 Compuware公司的測(cè)試軟件</p><p>  Compuware公司是世界上最大的軟件和專(zhuān)業(yè)服務(wù)供應(yīng)商之一。Compuware開(kāi)發(fā)的QACenter測(cè)試工具集的主要構(gòu)成如下圖[15]:&

87、lt;/p><p>  圖4.3 QACenter測(cè)試工具集</p><p><b>  4.3.1管理工具</b></p><p>  (1)QADirector</p><p>  QADirector處于QACenter管理工具的核心位置,它協(xié)調(diào)整個(gè)測(cè)試過(guò)程,并提供了一下功能:</p><p>

88、  計(jì)劃和組織測(cè)試需求。</p><p>  調(diào)用相應(yīng)的自動(dòng)測(cè)試工具執(zhí)行測(cè)試。</p><p>  測(cè)試過(guò)程允許使用手動(dòng)測(cè)試。</p><p>  觀察和分析測(cè)試結(jié)果。</p><p>  方便的將測(cè)試結(jié)果信息加載到測(cè)試缺陷跟蹤系統(tǒng)。</p><p><b>  針對(duì)需求驗(yàn)證測(cè)試。</b><

89、/p><p>  將分析過(guò)程和測(cè)試過(guò)程結(jié)合。</p><p>  (2)Reconcile</p><p>  需求管理工具,組織和管理測(cè)試需求。</p><p>  (3)TrackRecord</p><p>  TrackRecord是一個(gè)高級(jí)的需求變更和缺陷管理工具,可以幫助組織建立一個(gè)系統(tǒng)方法來(lái)協(xié)調(diào)軟件開(kāi)發(fā)、調(diào)試

90、、測(cè)試和實(shí)現(xiàn)??蛇M(jìn)行自動(dòng)化的軟件缺陷的跟蹤管理。</p><p><b>  4.3.2測(cè)試工具</b></p><p><b>  (1)QARun</b></p><p>  QARun可以提供C/S系統(tǒng)、電子商務(wù)系統(tǒng)和企業(yè)資源計(jì)劃應(yīng)用提供企業(yè)級(jí)的功能測(cè)試。同WinRunner和Rational Robot能提供的功能

91、一樣,可以執(zhí)行自動(dòng)化的功能測(cè)試。</p><p><b>  (2)QALoad</b></p><p>  QALoad是C/S系統(tǒng)、企業(yè)資源計(jì)劃(ERP)和電子商務(wù)應(yīng)用的自動(dòng)化負(fù)載測(cè)試工具。它是QACenter測(cè)試工具集性能版的一部分。它通過(guò)可重復(fù)使用的、真實(shí)的測(cè)試能夠徹底的度量應(yīng)用程序的可擴(kuò)展性和性能。它可以模擬成百上千的用戶(hù)并發(fā)執(zhí)行關(guān)鍵的業(yè)務(wù)完成對(duì)應(yīng)用程的性能

92、測(cè)試,并針對(duì)所發(fā)現(xiàn)的問(wèn)題對(duì)系統(tǒng)性能進(jìn)行優(yōu)化,確保軟件的成功部署。</p><p>  (3)WebCheck</p><p>  全面的站點(diǎn)分析和測(cè)試工具。</p><p>  5.自動(dòng)化功能測(cè)試工具的分析比較與總結(jié)</p><p>  WinRunner、Rational Robot和QARun這三個(gè)工具都是自動(dòng)化的功能測(cè)試工具,它們針對(duì)的

93、測(cè)試對(duì)象都是使用IDEs(如:支持Java、C/C++、VB、HTML等語(yǔ)言的集成開(kāi)發(fā)環(huán)境)開(kāi)發(fā)的帶有GUI對(duì)象的應(yīng)用程序,都能夠大大降低重復(fù)性的測(cè)試所耗費(fèi)的時(shí)間,將測(cè)試人員從復(fù)雜好事的測(cè)試工作中解脫出來(lái)。</p><p>  我們目前所分析比較WinRunner、Rational Robot、QARun這個(gè)三個(gè)自動(dòng)化功能測(cè)試工具,都是比較新的版本,并不是最新的版本。但這些不同版本的測(cè)試工具首先從功能、原理上都是

94、一樣的,而且整體的架構(gòu)和細(xì)節(jié)的功能也不會(huì)有太大的變化。所以針對(duì)下面三個(gè)較新版本的工具進(jìn)行分析和比較,對(duì)新版本的工具選擇同樣具有參考價(jià)值。</p><p>  分析和比較的工具對(duì)象的版本及軟件平臺(tái)情況如下表:</p><p>  表5.1 工具對(duì)象的版本及軟件平臺(tái)</p><p>  下面,將從測(cè)試步驟、測(cè)試結(jié)果等方面對(duì)這三種工具先作一個(gè)詳細(xì)的分析和介紹,然后根據(jù)分析

95、在對(duì)這三個(gè)工具進(jìn)行橫向的詳細(xì)比較。</p><p>  5.1測(cè)試環(huán)境和對(duì)象</p><p>  (1)WinRunner</p><p>  我們使用的WinRunner版本是WinRunner7.50。是MI測(cè)試軟件中比較新的版本?;旧峡梢酝瓿蒞indows操作系統(tǒng)下的不同類(lèi)型軟件的自動(dòng)化功能測(cè)試。下表是對(duì)WinRunner7.50所支持的環(huán)境和被測(cè)軟件對(duì)象的

96、一個(gè)總結(jié)[16-17]</p><p>  表5.2 WinRunner7.50所支持的環(huán)境和被測(cè)軟件對(duì)象</p><p>  (2)Rational Robot</p><p>  表5.3 Rational Robot所支持的環(huán)境和被測(cè)軟件對(duì)象</p><p><b>  (3)QARun</b></p>

97、<p>  表5.4 QARun所支持的環(huán)境和被測(cè)軟件對(duì)象</p><p>  5.2工具功能模塊詳細(xì)劃分</p><p>  雖然三個(gè)工具都是自動(dòng)化的功能測(cè)試工具,從大的方面來(lái)說(shuō),它們的功能都是一樣的,但有許多細(xì)節(jié)的功能還是有很大區(qū)別的。所以,為了更清楚、更詳細(xì)的認(rèn)識(shí)和比較這三個(gè)工具,將這個(gè)工具按它的功能模塊進(jìn)行劃分,然后針對(duì)每個(gè)細(xì)節(jié)的功能進(jìn)行分析和比較,最后從整體上把握,

98、是最好的方法。</p><p>  (1)WinRunner</p><p>  WinRunner為了支持完整的功能測(cè)試,簡(jiǎn)化測(cè)試難度,使測(cè)試人員能夠輕松正確的執(zhí)行測(cè)試,內(nèi)置了許多強(qiáng)大的功能。下圖是結(jié)合WinRunner的實(shí)際使用情況,對(duì)它從主要功能上的一個(gè)詳細(xì)的劃分[13]。</p><p>  圖5.1 WinRunner功能劃分</p><

99、;p>  從上面的功能模塊劃分圖我們可以看出,WinRunner主要13個(gè)主功能模塊,每個(gè)功能模塊還有一些更具體的功能。這些功能模塊集成到到一起,達(dá)到了WinRunner執(zhí)行完整的自動(dòng)化功能測(cè)試的功能。</p><p>  (2)Rational Robot</p><p>  Rational Robot兼具功能測(cè)試的完整功能和性能測(cè)試腳本生成的功能,所以從整體上Robot可以分為

100、兩大模塊:功能測(cè)試模塊和性能測(cè)試模塊。對(duì)于性能測(cè)試來(lái)說(shuō),Robot只是負(fù)責(zé)性能測(cè)試腳本的生成,所以性能測(cè)試模塊的功能相對(duì)比較單一,而功能測(cè)試模塊相對(duì)的就比較復(fù)雜[18]。對(duì)Robot的主要功能的詳細(xì)劃分如下圖:</p><p>  圖5.2 Robot功能劃分</p><p><b>  (3)QARun</b></p><p>  同WinR

101、unner一樣,QARun可以執(zhí)行完整的功能測(cè)試,它的所有的功能模塊都是為了能夠正確、方便的進(jìn)行功能測(cè)試而存在的。QARun的主要功能模塊的詳細(xì)劃分如下[15]:</p><p>  圖5.3 QARun功能劃分</p><p><b>  (4)比較</b></p><p>  對(duì)于功能測(cè)試,從整體上來(lái)看的話(huà)三個(gè)工具區(qū)別不是太大。都有腳本的錄

102、制、回放;檢查點(diǎn);一些與腳本的錄制和回放有關(guān)的選項(xiàng)設(shè)置</p><p>  WinRunner與其兩個(gè)工具主要有如下幾個(gè)不同的地方:Font Expert功能模塊,腳本的執(zhí)行模塊,GUI Map模塊。Font Expert是為了WinRunner能夠識(shí)別不同的字體而加入的一個(gè)具有字體學(xué)習(xí)功能的模塊;腳本執(zhí)行模塊提供了三種模式下的腳本回放,這三種模式下面會(huì)詳細(xì)分析;GUI Map是為了簡(jiǎn)化腳本,識(shí)別GUI對(duì)象和提高

103、腳本的可維護(hù)性而設(shè)立的一個(gè)功能模塊,這個(gè)模塊和QARun中的Map模塊的功能是一樣的。</p><p>  Robot區(qū)別于其它兩個(gè)工具的一個(gè)顯著的特點(diǎn),就是Robot可以執(zhí)行部分性能測(cè)試的功能,即性能測(cè)試腳本的生成。而其它兩個(gè)公司將性能測(cè)試工具和功能測(cè)試工具分的很清楚,MI公司的性能測(cè)試工具就是LoadRunner,LoadRunner負(fù)責(zé)從腳本的生成、執(zhí)行到測(cè)試結(jié)果的查看等全部與性能測(cè)試有關(guān)的工作。和MI公司

104、的分法一樣,Compuware公司將性能測(cè)試功能完全交由QALoad完成。像Rational公司這種將功能測(cè)試和部分性能測(cè)試集成到一個(gè)工具中的做法,雖然對(duì)功能測(cè)試沒(méi)有什么影響,但總讓人感覺(jué)工具劃分不清楚,特別是性能測(cè)試,腳本生成在Robot中,而執(zhí)行要在TestManager中,顯得有點(diǎn)麻煩。而其它兩個(gè)公司的工具劃分就感覺(jué)很好,功能測(cè)試、性能測(cè)試和管理工具都是相互獨(dú)立的,學(xué)習(xí)和使用起來(lái)比較方便。</p><p>

105、  另外一個(gè)特點(diǎn)就是Robot雖然能夠執(zhí)行功能測(cè)試,但是測(cè)試結(jié)果要在測(cè)試管理工具TestManager中查看,所以Robot對(duì)管理工具的依賴(lài)性比較強(qiáng),從而顯得其獨(dú)立性比較差。</p><p>  QARun比較特殊的地方是有一個(gè)Events的模塊和一個(gè)Dialog模塊,Events模塊和WinRunner中的同步點(diǎn)模塊的功能是相近的,是為了使腳本執(zhí)行和被測(cè)應(yīng)用程序響應(yīng)更好的同步而設(shè)立的。Dialog模塊是為了增強(qiáng)

106、腳本功能而設(shè)立的,下面會(huì)詳細(xì)介紹。</p><p><b>  5.3測(cè)試步驟</b></p><p>  (1)WinRunner</p><p>  使用WinRunner進(jìn)行自動(dòng)化功能測(cè)試,主要有下面六個(gè)步驟:</p><p>  圖5.4 WinRunner進(jìn)行功能測(cè)試步驟</p><p>

107、;  其中Create GUI Map、Debug Tests這兩個(gè)步驟不是必須的。</p><p>  (2)Rational Robot</p><p>  使用Robot進(jìn)行功能測(cè)試有如下八個(gè)步驟:</p><p>  圖5.5 Robot進(jìn)行功能測(cè)試步驟</p><p>  其中Debug Tests、Compile Tests(Ru

108、n Tests步驟中會(huì)先進(jìn)行腳本的編譯)這兩個(gè)步驟不是必須的。</p><p><b>  (3)QARun</b></p><p>  使用QARun進(jìn)行功能測(cè)試主要有下面九個(gè)步驟:</p><p>  圖5.6 QARun進(jìn)行功能測(cè)試步驟</p><p>  其中Create Map、Debug Tests、Comp

109、ile Tests(Run Tests步驟中會(huì)先進(jìn)行腳本的編譯)這三個(gè)步驟不是必須的。</p><p><b>  (4)比較</b></p><p>  從上面三個(gè)工具的測(cè)試步驟圖,可以看出,三者都要有創(chuàng)建測(cè)試、調(diào)試測(cè)試、運(yùn)行測(cè)試、查看測(cè)試結(jié)果、報(bào)告缺陷這些步驟。Robot比其它兩個(gè)工具少了創(chuàng)建對(duì)象映射這個(gè)步驟(不是說(shuō)Robot中沒(méi)有對(duì)象映射,而是Robot中對(duì)象映

110、射只可以查看和捕獲,不能手工修改某個(gè)對(duì)象的映射)。WinRunner比其它兩個(gè)工具少了創(chuàng)建測(cè)試項(xiàng)目、登錄項(xiàng)目、編譯測(cè)試這三個(gè)步驟。從測(cè)試步驟上我們也可以看出,WinRunner的獨(dú)立性比Robot和QARun要強(qiáng),Robot、QARun與測(cè)試管理工具的結(jié)合更緊密[19-22]。</p><p>  5.4 GUI對(duì)象識(shí)別</p><p>  三種工具都是基于捕捉/回放的測(cè)試原理,既然要回放

111、用戶(hù)的操作,那么用戶(hù)操作的對(duì)象的識(shí)別就是一個(gè)很重要的要解決的問(wèn)題。在這三種工具中都采用了一種叫做對(duì)象映射的技術(shù),就是一個(gè)實(shí)際的窗口對(duì)象用一個(gè)邏輯名來(lái)標(biāo)示,而這個(gè)邏輯名對(duì)應(yīng)的是這個(gè)對(duì)象的實(shí)際物理描述。這種技術(shù)的第一個(gè)好處就是即使某個(gè)對(duì)象在窗口中的位置變了,該對(duì)象仍可以被正確的識(shí)別,這就大大增強(qiáng)了腳本的生命力;另外一個(gè)好處就是如果一個(gè)對(duì)象的物理描述變了,不必去修改腳本,只需要修改該對(duì)象的映射即可,當(dāng)然前提是在工具中提供這種對(duì)象映射修改的功能

112、。在WinRunner和QARun里面這些對(duì)象映射是可以編輯的,Robot中不可以編輯。所以就這一點(diǎn)來(lái)說(shuō)Robot的腳本的可維護(hù)性不如另外兩個(gè)工具。</p><p>  下面讓我們?cè)敿?xì)看一下三個(gè)工具都為GUI對(duì)象識(shí)別提供了那些功能[19,21-22]:</p><p>  (1)WinRunner</p><p>  GUI Map是WinRunner 在Conte

溫馨提示

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

評(píng)論

0/150

提交評(píng)論