軟件測試方法技術(shù)的研究與對比-畢業(yè)論文_第1頁
軟件測試方法技術(shù)的研究與對比-畢業(yè)論文_第2頁
軟件測試方法技術(shù)的研究與對比-畢業(yè)論文_第3頁
軟件測試方法技術(shù)的研究與對比-畢業(yè)論文_第4頁
軟件測試方法技術(shù)的研究與對比-畢業(yè)論文_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件測試方法技術(shù)的研究與對比作 者學(xué)科、學(xué)指 導(dǎo)完 成姓 名: 專業(yè) : 號 : 教 師: 日 期:XX 大學(xué)XXXX University軟件測試方法技術(shù)的研究與對比總計(jì): 畢業(yè)論文 64 頁表 格 14 表插 圖 22 幅指導(dǎo)教師:評 閱 人:完成日期:摘 要軟件測試是保證軟件質(zhì)量的重要手段。隨著計(jì)算機(jī)硬件性能的不斷提高,軟件的功能也越來越強(qiáng)大,軟件結(jié)構(gòu)越來越復(fù)雜, 軟件質(zhì)量越來越難以控制。對于比較大型的軟件系統(tǒng)集成測試來說,單純的手工測試不但效率低下,而且很多測試僅靠手工測試無法完成。為減少測試開銷,在有限的時(shí)間內(nèi)執(zhí)行更多地測試,并且降低人為引起的錯(cuò)誤,自動(dòng)化測試是非常必要的。一個(gè)完整地

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

3、th the enhancement of the computer hardware and the increasing complexity of software 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

4、objectives such as stress testing. Therefore, automatic testing is necessary.Functional testing, performance testing and test management are three key characters of testing tools. The concept and theory related to software automated testing are expounded. The scope of application and the archichectu

5、re of software automated testing is summed up and compared. Testing tools delivered by MI, Rational and Compuware occupy most of the testing market. This thesis analyzes and compares function testing tools from、testing procedure、object recognization, etc. And it analyzes and compares test management

6、 tools from testing project management 、people management、testing plan, etc. This survey provides basis for the research on automatic testing technique.Keywords :Software Testing , Automated Testing , Software Testing Management Tools目 錄1. 緒論 . . 11.1論文的研究背景及意義 . . 11.2論文的主要研究工作及成果 . . 11.3論文的組織結(jié)構(gòu) .

7、 . 22. 軟件測試技術(shù)的概論 . . 32.1軟件測試的定義與目的 . . 32.2軟件測試的過程 . . 32.3軟件測試的分類及主要方法 . . 43自動(dòng)化測試技術(shù)基礎(chǔ) . . 93.1自動(dòng)化測試概念 . . 93.2自動(dòng)化測試的適用范圍 . . 124. 主流自動(dòng)化測試工具簡介 . . 154.1 MI(Mercury Interactive)公司的測試軟件 . 154.2 Rational公司的測試軟件 . . 174.3 Compuware公司的測試軟件 . . 205. 自動(dòng)化功能測試工具的分析比較與總結(jié) . . 235.1測試環(huán)境和對象 . . 235.2工具功能模塊詳細(xì)劃分

8、 . . 255.3測試步驟 . . 285.4 GUI對象識(shí)別 . . 295.5腳本執(zhí)行與被測程序響應(yīng)的同步問題 . . 325.6測試信息收集 . . 335.7結(jié)合測試管理工具 . . 335.8比較總結(jié) . . 346. 測試管理工具的分析與比較 . . 356.1工具特點(diǎn) . . 356.2測試項(xiàng)目 . . 376.3測試人員管理 . . 386.4測試計(jì)劃 . . 396.5比較總結(jié) . . 427. 總結(jié)語 . . 44參考文獻(xiàn) . 45附錄1外文譯文 . . 47附錄2外文原文 . . 54致 謝 . 63軟件測試技術(shù)方法的比較與分析1. 緒論1.1論文的研究背景及意義近幾年

9、,隨著軟件規(guī)模不斷擴(kuò)大,軟件復(fù)雜度不斷增加,客戶要求不斷提高,如何保證軟件質(zhì)量,提高軟件可靠性也越來越受到各研究機(jī)構(gòu)、相關(guān)企業(yè)的普遍關(guān)注,同時(shí)成為軟件開發(fā)機(jī)構(gòu)特別關(guān)注的方向。目前,許多能有效提高軟件質(zhì)量的質(zhì)量保證技術(shù)相繼問世,例如,幾乎所有的大型軟件開發(fā)機(jī)構(gòu)都結(jié)合自身軟件開發(fā)實(shí)際和經(jīng)驗(yàn)制定了相關(guān)的質(zhì)量標(biāo)準(zhǔn)來規(guī)范企業(yè)內(nèi)部的軟件開發(fā)過程,有些機(jī)構(gòu)在這兩年陸續(xù)成立了與軟件開發(fā)相獨(dú)立的軟件測試中心來保證開發(fā)出來的軟件可用,在開發(fā)過程中增加了許多環(huán)節(jié)(如軟件配置管理、階段性測試和評審)用來保證開發(fā)出來的軟件具有高可靠性。軟件測試技術(shù)作為保障軟件質(zhì)量最直接、最有效的手段之一也成為重要的研究熱點(diǎn),但是由于軟

10、件本身的復(fù)雜性和不確定性,軟件測試技術(shù)始終具有極大的難度。深入研究軟件測試技術(shù)方法,提高軟件可靠性,已經(jīng)成為國內(nèi)外軟件行業(yè)和相關(guān)機(jī)構(gòu)重要的研究方向1。正確選擇和有效地運(yùn)用各種測試方法、技術(shù)和工具,對提高軟件工程的應(yīng)用水平和提高軟件產(chǎn)品的質(zhì)量與可靠性至關(guān)重要。而在軟件測試中使用優(yōu)秀的測試管理工具不但可以大大減少測試過程中出現(xiàn)錯(cuò)誤的可能性,還可以極大的提高測試的效率,加快測試進(jìn)程。1.2論文的主要研究工作及成果論文主要對軟件測試、測試技術(shù)(工具、方法)、自動(dòng)化測試以及測試管理技術(shù)(工具、方法)進(jìn)行理論闡述和綜合論述;然后進(jìn)行綜合分析、比較、總結(jié)。通過查閱文獻(xiàn)資料和對主流工具軟件和相關(guān)技術(shù)的深入學(xué)習(xí)

11、可完成軟件測試技術(shù)方法的比較與分析研究內(nèi)容。在這個(gè)論文研究過程中,可以學(xué)會(huì)正確選擇和有效地運(yùn)用各種測試方法、技術(shù)和工軟件測試技術(shù)方法的比較與分析具。1.3論文的組織結(jié)構(gòu)論文的組織結(jié)構(gòu)如圖1.1所示:圖1.1 論文的組織結(jié)構(gòu) 軟件測試技術(shù)方法的比較與分析2. 軟件測試技術(shù)的概論2.1軟件測試的定義與目的軟件測試就是使用人工或者自動(dòng)的手段來運(yùn)行或測定某個(gè)軟件產(chǎn)品系統(tǒng)的過程,其目的是在于檢驗(yàn)軟件產(chǎn)品是否滿足規(guī)定的需求2。簡單地說,軟件測試過程就是制造條件,促使錯(cuò)誤發(fā)生的過程。軟件測試的目的是3:(1測試的最終目的是為了避免錯(cuò)誤的發(fā)生,確保應(yīng)用程序能夠正常高效的運(yùn)行;(2好的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)

12、的錯(cuò)誤;(3成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試;(4好的測試工程師應(yīng)該做到不僅發(fā)現(xiàn)問題,還能夠幫助開發(fā)人員分析問題。2.2軟件測試的過程軟件測試是一個(gè)貫穿整個(gè)軟件生命周期的活動(dòng),那種等待整個(gè)系統(tǒng)開發(fā)完畢,再對其進(jìn)行測試的想法是錯(cuò)誤的,把測試放到軟件開發(fā)的最后是很危險(xiǎn)的,因?yàn)樗苋菀讓?dǎo)致整個(gè)軟件系統(tǒng)無法集成。另外,對軟件的測試并不僅限于軟件程序的本身,因?yàn)殄e(cuò)誤并不一定是代碼引起的。很有可能是軟件需求、軟件系統(tǒng)的詳細(xì)設(shè)計(jì)等階段引起的。錯(cuò)誤在初期也許只是范圍很小的隱藏問題,但由于軟件開發(fā)的各階段的連續(xù)性,會(huì)使錯(cuò)誤逐步擴(kuò)展,如果早期的開發(fā)中出現(xiàn)的錯(cuò)誤不能排除,將帶到設(shè)計(jì)、編碼、測試等各階段,影響

13、逐步擴(kuò)大。所以對軟件的測試還應(yīng)該包括與軟件有關(guān)的所有的文檔。一個(gè)典型的軟件測試過程如下圖:軟件測試技術(shù)方法的比較與分析圖2.1 典型的軟件測試過程一個(gè)軟件的測試過程是一個(gè)不斷回歸的過程。舊的錯(cuò)誤的修改可能會(huì)引起新的錯(cuò)誤的出現(xiàn),所以每修改一個(gè)新的錯(cuò)誤,都要針對系統(tǒng)再作一次測試,直到?jīng)]有新的錯(cuò)誤出現(xiàn)為止,這是一個(gè)很繁瑣的過程。2.3軟件測試的分類及主要方法針對不同規(guī)模、不同類型的軟件,以及軟件開發(fā)的不同階段,所用的測試方法各異,下面我們就主要針對上面的幾種情況對軟件測試做一個(gè)簡單的分類。我們知道對于軟件開發(fā)商來說,比較大的軟件系統(tǒng)都是由許多人協(xié)作開發(fā)的,一般都是把一個(gè)大的軟件系統(tǒng)分割成不同的功能模

14、塊,然后再將這些模塊分給開發(fā)團(tuán)中的每個(gè)人去完成,在開發(fā)的過程中針對每個(gè)模塊的完成情況,邊開發(fā)、邊測試、邊集成,然后各個(gè)模塊集成的完整的系統(tǒng)還要進(jìn)行測試,當(dāng)系統(tǒng)交付用戶使用后,還要對系統(tǒng)進(jìn)行維護(hù)、升級,這里面也伴隨著測試。根據(jù)上面的過程,我們按軟件開發(fā)過程的可以將軟件測試劃分為下面五個(gè)步驟,它們的關(guān)系如圖2.2:圖2.2 軟件測試步驟 軟件測試技術(shù)方法的比較與分析單元測試是對軟件中的基本組成單位進(jìn)行的測試,如一個(gè)模塊、一個(gè)過程等等。它是軟件動(dòng)態(tài)測試的最基本的部分,也是最重要的部分之一,其目的是檢驗(yàn)軟件基本組成單位的正確性。一個(gè)軟件單元的正確性是相對于該單元的規(guī)約而言的。因此,單元測試以被測試單位

15、的規(guī)約為基準(zhǔn)。單元測試的主要方法有控制流測試、數(shù)據(jù)流測試、排錯(cuò)測試、分域測試等等3-5。集成測試是在軟件系統(tǒng)集成過程中所進(jìn)行的測試,其主要目的是檢查軟件單位之間的接口是否正確。它根據(jù)集成測試計(jì)劃,一邊將模塊或其他軟件單位組合成越來越大的系統(tǒng),一邊運(yùn)行該系統(tǒng),以分析所組成的系統(tǒng)是否正確,各組成部分是否合拍。集成測試的策略主要有自頂向下和自底向上兩種3-5。系統(tǒng)測試是對已經(jīng)集成好的軟件系統(tǒng)進(jìn)行徹底的測試,以驗(yàn)證軟件系統(tǒng)的正確性和性能等滿足其規(guī)約所指定的要求,檢查軟件的行為和輸出是否正確并非一項(xiàng)簡單的任務(wù),它被稱為測試的“先知者問題”。因此,系統(tǒng)測試應(yīng)該按照測試計(jì)劃進(jìn)行,其輸入、輸出和其他動(dòng)態(tài)運(yùn)行行

16、為應(yīng)該與軟件規(guī)約進(jìn)行對比。軟件系統(tǒng)測試方法很多,主要有功能測試、性能測試、隨機(jī)測試等等3-5。驗(yàn)收測試旨在向軟件的購買者展示該軟件系統(tǒng)滿足其用戶的需求。它的測試數(shù)據(jù)通常是系統(tǒng)測試的測試數(shù)據(jù)的子集。所不同的是,驗(yàn)收測試常常有軟件系統(tǒng)的購買者代表在現(xiàn)場,甚至是在軟件安裝使用的現(xiàn)場。這是軟件在投入使用之前的最后測試?;貧w測試是在軟件維護(hù)階段對軟件進(jìn)行修改之后進(jìn)行的測試。其目的是檢驗(yàn)對軟件進(jìn)行的修改是否正確。這里修改的正確性有兩重含義:一是所作的修改達(dá)到了預(yù)定目的,如錯(cuò)誤得到改正,能夠適應(yīng)新的運(yùn)行環(huán)境等等;二是不影響軟件的其他功能的正確性1。軟件測試是一個(gè)對測試經(jīng)驗(yàn)、測試計(jì)劃、測試環(huán)境和測試工具依賴性

17、非常強(qiáng)的工作,按工作狀態(tài)分為靜態(tài)測試和動(dòng)態(tài)測試兩個(gè)階段6。軟件測試技術(shù)方法的比較與分析靜態(tài)測試主要是針對所有文檔資料、編程規(guī)范、數(shù)據(jù)定義、控制和數(shù)據(jù)使用、代碼與需求的一致性、代碼與設(shè)計(jì)的一致性等方面的分析,其對測試經(jīng)驗(yàn)和測試計(jì)劃的依賴性極強(qiáng)。靜態(tài)測試是在不需運(yùn)行軟件系統(tǒng)的情況下,對系統(tǒng)進(jìn)行的測試。其采用的方法主要有6:(1文檔資料瀏覽,達(dá)到正確的理解,并對任何改變具有統(tǒng)一的認(rèn)知;(2討論決定,對文檔資料進(jìn)行討論,并作出決定,如:做什么、不做什么、如何做等;(3檢查,根據(jù)規(guī)范和定義,找出可能存在的問題,如:市場和商業(yè)策略、系統(tǒng)需求和系統(tǒng)設(shè)計(jì)、程序代碼、測試計(jì)劃、測試設(shè)計(jì)、測試案例、測試結(jié)果、用戶

18、手冊、培訓(xùn)教材等;(4利用工具對程序代碼進(jìn)行靜態(tài)分析,如:程序復(fù)雜度、系統(tǒng)結(jié)構(gòu)、控制流程、數(shù)據(jù)流程等。動(dòng)態(tài)測試是被測系統(tǒng)在運(yùn)行當(dāng)中,根據(jù)其動(dòng)態(tài)的行為進(jìn)行的測試。根據(jù)測試規(guī)模,可分為:單元測試、集成測試、系統(tǒng)測試及應(yīng)用測試等幾個(gè)階段。軟件測試的方法和技術(shù)是多種多樣的,按測試用例設(shè)計(jì)方法,可分為黑盒測試和白盒測試,并且黑盒測試和白盒測試還是目前通用的測試技術(shù) 2,7-8。黑盒測試著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對軟件界面和軟件功能進(jìn)行的測試。黑盒測試也稱功能測試、數(shù)據(jù)驅(qū)動(dòng)測試或基于規(guī)格說明的測試,它在已知產(chǎn)品應(yīng)具有的功能的條件下,通過測試來檢測每個(gè)功能是否都能正常使用。在測試時(shí),把程序看

19、作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信軟件測試技術(shù)方法的比較與分析息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試是以用戶的觀點(diǎn),從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系出發(fā)進(jìn)行測試的,它不涉及到程序的內(nèi)部結(jié)構(gòu)。黑盒測試注重于測試軟件的功能需求,主要試圖發(fā)現(xiàn)軟件中的功能錯(cuò)誤、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤、性能錯(cuò)誤、初始化和終止錯(cuò)誤等。白盒測試是基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發(fā)工具中的單步調(diào)試來判斷軟件的質(zhì)量。

20、白盒測試也稱結(jié)構(gòu)測試、邏輯驅(qū)動(dòng)測試或基于程序本身的測試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不涉及它的功能,白盒測試的主要方法有邏輯驅(qū)動(dòng)、基路測試等,主要用于軟件驗(yàn)證。白盒測試需要全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進(jìn)行測試。白盒測試是窮舉路徑測試,在使用這一方案時(shí),測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。黑盒測試與白盒測試的比較如下表2.1。表2.1 黑盒測試與白盒測試的比較 軟件測試技術(shù)方法的比較與分析對于一個(gè)軟件系統(tǒng),衡量它的好

21、壞有兩個(gè)最重要的指標(biāo),一是它的功能是否符合要求,二是它的性能是否符合要求。那么針對這兩個(gè)指標(biāo),我們可以將軟件測試分為:功能測試和性能測試兩個(gè)部分2。功能測試:針對軟件的功能測試,目的是為了驗(yàn)證軟件的功能是否符合軟件需求規(guī)格說明的要求,找出軟件不符合用戶需求的地方。功能測試要盡量測試到軟件的每一個(gè)功能單元,找出軟件中的缺陷,確保軟件的每一個(gè)部分都能正常、正確的工作。性能測試:就是用來測試軟件在系統(tǒng)中的運(yùn)行性能的。性能測試可以發(fā)生在各個(gè)測試階段中,即使是在單元層,一個(gè)單獨(dú)模塊的性能也可以使用白盒測試來進(jìn)行評估,然而,只有當(dāng)整個(gè)系統(tǒng)的所有成分都集成到一起之后,才能檢查一個(gè)系統(tǒng)的真正性能。性能測試經(jīng)常

22、和壓力測試一起進(jìn)行,而且常常需要硬件和軟件測試設(shè)備,這就是說,常常有必要的在一種苛刻的環(huán)境中衡量資源的使用(比如,處理器周期)。外部的測試設(shè)備可以監(jiān)測測試執(zhí)行,當(dāng)出現(xiàn)情況(如中斷)時(shí)記錄下來。通過對系統(tǒng)的檢測,測試者可以發(fā)現(xiàn)導(dǎo)致效率降低和系統(tǒng)故障的原因。 軟件測試技術(shù)方法的比較與分析3自動(dòng)化測試技術(shù)基礎(chǔ)3.1自動(dòng)化測試概念隨著軟件系統(tǒng)的規(guī)模越來越大,整個(gè)系統(tǒng)的復(fù)雜性也越來越大,那么單純的手工測試已經(jīng)不適合這種大系統(tǒng)的測試了。首先手工測試的效率低下,其次有些測試是手工測試所無法完成的。為了解決手工測試效率低下和手工測試不能解決的一些測試等問題,自動(dòng)化測試就應(yīng)運(yùn)而生了。軟件自動(dòng)化測試就是執(zhí)行某種程

23、序設(shè)計(jì)語言編制的自動(dòng)測試程序,控制被測軟件的執(zhí)行,模擬手動(dòng)測試步驟,完成全自動(dòng)或半自動(dòng)測試。其目的在于縮短測試周期,增強(qiáng)對軟件性能方面的測試能力等,從而達(dá)到保證軟件質(zhì)量并使軟件能夠提前上線9。自動(dòng)化測試就是希望能夠通過自動(dòng)化測試工具或其他手段,按照測試工程師的預(yù)定計(jì)劃進(jìn)行自動(dòng)的測試,目的是減輕手工測試的勞動(dòng)量,從而達(dá)到提高軟件質(zhì)量的目的。自動(dòng)化測試的目的在于發(fā)現(xiàn)老缺陷;而手工測試的目的在于發(fā)現(xiàn)新缺陷。測試自動(dòng)化涉及到測試流程、測試體系、自動(dòng)化化編譯、持續(xù)集成、自動(dòng)發(fā)布測試系統(tǒng)以及自動(dòng)化測試等方面整合。也就是說要讓測試能夠自動(dòng)化,不僅是技術(shù)、工具的問題,更是一個(gè)公司和組織的文化問題。首先公司從資

24、金、管理上支持您,其次要有專門的測試團(tuán)隊(duì)去建立適合自動(dòng)化測試的測試流程、測試體系;其次就是把原代碼從受控庫中取出、編譯、集成、發(fā)布可運(yùn)行系統(tǒng)、進(jìn)行自動(dòng)化的單元測試和自動(dòng)化的功能測試的過程9。當(dāng)正確實(shí)施軟件自動(dòng)化測試并嚴(yán)格遵守制定的測試過程時(shí),自動(dòng)化測試可帶來若干好處。假定對于給定的企業(yè)需求,測試工程師軟件測試技術(shù)方法的比較與分析必須評估潛在的好處是否符合所要求的改進(jìn)標(biāo)準(zhǔn),在項(xiàng)目實(shí)施自動(dòng)化測試是否仍然是合適的10-11。(1提高測試效率一般來說,軟件產(chǎn)品的發(fā)布周期很短,而在測試期間是每天都可能要發(fā)布一個(gè)版本供測試人員測試,一個(gè)系統(tǒng)的功能點(diǎn)有幾千個(gè)上萬個(gè),手工測試是一個(gè)勞動(dòng)密集型的工作,并且容易出

25、錯(cuò)。引入自動(dòng)化測試能夠用更有效、可重復(fù)的自動(dòng)化測試環(huán)境代替繁瑣的手工測試活動(dòng),而且能在更少的時(shí)間內(nèi)完成更多的測試工作,從而提高了測試工程師的工作效率。(2令軟件新版本進(jìn)行回歸測試的開銷最小產(chǎn)品發(fā)現(xiàn)錯(cuò)誤以后的改動(dòng),代碼變了,但要求的功能并沒有變,所以測試用例也不必改變,自動(dòng)化測試就可以很方便地進(jìn)行回歸測試,另外,對于產(chǎn)品型的軟件,每次發(fā)布一個(gè)新的版本,其中大部分功能和界面都和上一個(gè)版本相似或完全相同,這部分功能特別適合于自動(dòng)化測試,從而可以讓測試達(dá)到測試每個(gè)特征的需求。(3可以完成一些手工測試不能或難以完成的測試對于一些非功能性方面的測試,如:壓力測試、并發(fā)測試、大數(shù)據(jù)量測試、崩潰性測試等,這些

26、測試用手工測試是很難,甚至是不可能完成的。但自動(dòng)化測試則能方便地執(zhí)行這些測試,比如并發(fā)測試,使用自動(dòng)化測試工具就可以模擬來自多方的并發(fā)操作了。(4具有一致性和可重復(fù)性由于每次自動(dòng)化測試運(yùn)行的腳本是相同的,所以可以進(jìn)行重復(fù)的測試,使得每次執(zhí)行的測試具有一致性,手工測試則很難做到這點(diǎn)。(5更好地利用資源將繁瑣的測試任務(wù)自動(dòng)化,可以使測試人員解脫出來,將精力更多地投入到測試案例的設(shè)計(jì)和必要的手工測試當(dāng)中。并且,理想的自動(dòng)化測試能夠按計(jì)劃完全自動(dòng)地運(yùn)行,使得完全可以利用周末和晚上的時(shí)間執(zhí)行自動(dòng)測試。軟件測試技術(shù)方法的比較與分析(6解決測試與開發(fā)之間的矛盾通常在開發(fā)的末期,進(jìn)入集成測試階段,由于每發(fā)布一

27、個(gè)版本的初期,測試系統(tǒng)的錯(cuò)誤比較少,這時(shí)開發(fā)人員有等待測試人員測出錯(cuò)誤的時(shí)間。事實(shí)上在迭代周期很短的開發(fā)模式中,存在更多的矛盾,但自動(dòng)化測試可以解決其中的主要矛盾。(7增加軟件信任度每一個(gè)測試人員都有自己特殊的經(jīng)歷和技術(shù)背景,有自己的一些操作習(xí)慣和先入為主的觀念,這就導(dǎo)致不是所有的測試都是可信的,而且有時(shí)測試會(huì)把一些新的錯(cuò)誤帶入軟件產(chǎn)品之中。自動(dòng)化測試則會(huì)在很大程度上避免這些問題。一旦得知軟件通過強(qiáng)有力的自動(dòng)測試后,軟件發(fā)布時(shí)對其的信任度也高(假設(shè)已做過很好的測試)。總而言之,測試自動(dòng)化的優(yōu)點(diǎn)在于通過較少的開銷就可以獲得更徹底的測試能力,以及提高產(chǎn)品的質(zhì)量。當(dāng)然,軟件自動(dòng)化測試也并非萬能,人們

28、對軟件自動(dòng)化測試的理解也存在許多誤區(qū),認(rèn)為自動(dòng)化測試能完成一切工作,從測試計(jì)劃到測試執(zhí)行,都不需要人工干預(yù)。其實(shí)軟件自動(dòng)化測試所完成的測試功能也是有限的。以下幾點(diǎn)是自動(dòng)化測試的不足所在10-11:(1不能完全取代手工測試。軟件自動(dòng)化測試不可能也沒必要取代手工測試來完成所有的測試任務(wù)。因?yàn)橛行y試使用手工測試比自動(dòng)化測試要簡單,這時(shí)將測試自動(dòng)化的開銷就比較大了。如以下一些情況:測試很少運(yùn)行。對于很少運(yùn)行的測試任務(wù),例如一年只需測試一次,對測試自動(dòng)化則是一種浪費(fèi)。軟件不穩(wěn)定。如果在某段時(shí)間內(nèi)軟件的界面和功能更新頻繁,那么修改相應(yīng)的自動(dòng)化測試點(diǎn)開銷較大,因此只有當(dāng)軟件達(dá)到相對的穩(wěn)定,沒有界面性嚴(yán)重錯(cuò)

29、誤和中斷錯(cuò)誤才適合開始自動(dòng)化測試。軟件測試技術(shù)方法的比較與分析涉及感觀方面的測試。例如界面的美觀、聲音的體驗(yàn)、易用性的測試等,這類測試很容易通過人來驗(yàn)證,自動(dòng)化測試反而難以執(zhí)行。涉及物理交互的測試。自動(dòng)化測試很難完成與物理設(shè)備的交互,比如刷卡的測試等。(2手工測試比軟件自動(dòng)化測試發(fā)現(xiàn)的缺陷更多自動(dòng)化測試的最大特點(diǎn)在于適合重復(fù)測試。一般情況下,以前運(yùn)行過的測試再次用來檢查軟件的新版本往往暴露的缺陷要少得多。測試專家 JamesBach總結(jié)出,85%的缺陷靠手工發(fā)現(xiàn),而自動(dòng)化測試只能發(fā)現(xiàn)15%的缺陷。自動(dòng)化測試能夠很好的發(fā)現(xiàn)老缺陷。(3軟件自動(dòng)化測試不能提高有效性自動(dòng)化測試并不會(huì)比手工運(yùn)行相同測試

30、更有效,它可以提高測試效率,但也可能對測試的進(jìn)展起反作用。(4軟件自動(dòng)化測試可能會(huì)制約軟件開發(fā)應(yīng)用軟件的變化對自動(dòng)化測試的影響要比手工測試更大一些,軟件的部分改變有可能使自動(dòng)化測試軟件崩潰。而設(shè)計(jì)和實(shí)施自動(dòng)化測試要比手工測試開銷大,并需要維護(hù),所以對自動(dòng)化測試影響較大的軟件修改可能受到限制。(5軟件自動(dòng)化測試本身沒有想象力自動(dòng)化測試是通過軟件進(jìn)行,測試程序只是按照運(yùn)行機(jī)制執(zhí)行。手工測試時(shí)可以直接判斷結(jié)果的正確性,而自動(dòng)測試許多情況下測試結(jié)果還需要人工干預(yù)判斷。手工測試可以處理意外事件網(wǎng)絡(luò)連接中斷,此時(shí)必須重新建立連接。手工測試時(shí)可以及時(shí)處理該意外,而自動(dòng)化測試時(shí)該意外事件一般會(huì)導(dǎo)致測試的中止。

31、總的說來,軟件自動(dòng)化測試的優(yōu)點(diǎn)和收益是顯而易見的,但它同時(shí)也并非萬能,只有對其進(jìn)行合理的設(shè)計(jì)和順利的實(shí)施才能從中獲益。3.2自動(dòng)化測試的適用范圍Peer 給出了對各類型測試進(jìn)行自動(dòng)化的參考12。軟件測試技術(shù)方法的比較與分析可見重復(fù)性比較高的回歸測試,以及手工測試難以完成的性能 軟件測試技術(shù)方法的比較與分析測試是自動(dòng)化測試最有潛力應(yīng)用和最能體現(xiàn)價(jià)值的地方,而早期的單元測試中如果引入自動(dòng)化,也將大大提高開發(fā)出的代碼質(zhì)量。當(dāng)決定在一個(gè)產(chǎn)品的測試過程中實(shí)現(xiàn)自動(dòng)化測試的時(shí)候,必須將自動(dòng)化測試手工測試結(jié)合起來使用。目的就是用較少的開銷,獲得徹底的測試,并提高商品的質(zhì)量。下表對何時(shí)使用自動(dòng)化測試和何時(shí)使用手

32、工測試進(jìn)行了一個(gè)概要的總結(jié)。表3.2 何時(shí)使用自動(dòng)化測試和手工測試 軟件測試技術(shù)方法的比較與分析4. 主流自動(dòng)化測試工具簡介自動(dòng)化測試需要不同類型的自動(dòng)化測試工具進(jìn)行支持。目前,軟件市場上已經(jīng)有很多優(yōu)秀的自動(dòng)化測試工具,它們功能強(qiáng)大,有針對功能的,也有針對性能的,有執(zhí)行白盒測試的測試工具也有執(zhí)行黑盒的測試工具。主流的商業(yè)化的自動(dòng)化測試工具軟件開發(fā)公司是:Mercury Interactive公司、IBM Rational公司和Compuware 公司。三個(gè)公司都開發(fā)了一整套自動(dòng)化測試工具,這些自動(dòng)化測試工具都經(jīng)過無數(shù)的實(shí)際運(yùn)用,都是非常優(yōu)秀的自動(dòng)化測試工具。一個(gè)完整地自動(dòng)化軟件測試工具,應(yīng)該包

33、括測試管理工具、功能測試工具、性能測試工具三個(gè)部分。下面就目前Windows 操作系統(tǒng)下的主流的自動(dòng)化測試工具作一個(gè)整體的介紹。4.1 MI(Mercury Interactive)公司的測試軟件Mercury Interactive公司是商業(yè)技術(shù)優(yōu)化的業(yè)界領(lǐng)導(dǎo)者。它成立于1989年,目前,和全球超過35個(gè)國家都有貿(mào)易往來。全球100強(qiáng)公司中有將近90%的公司依靠MI 公司的軟件和服務(wù)來實(shí)施他們的商業(yè)技術(shù)優(yōu)化策略。這使得MI 公司成為世界上最大的、成長最快的企業(yè)級軟件公司。該公司開發(fā)的自動(dòng)化測試工具以其功能強(qiáng)大、完善的售后服務(wù)和支持,使其成為了自動(dòng)化測試軟件開發(fā)領(lǐng)域的領(lǐng)先者。MI 主要測試軟件

34、的構(gòu)成如下圖13:圖4.1 MI主要測試軟件的構(gòu)成下面對上圖的工具作一個(gè)概括的介紹。 軟件測試技術(shù)方法的比較與分析TestDirector 是MI 自動(dòng)化測試工具集中的測試管理工具,它是業(yè)界第一個(gè)基于WEB 的測試管理系統(tǒng)。使用TD 及其配套的功能和性能等測試工具,可以組織全球范圍的測試。TestDirector 通過在一個(gè)整體的應(yīng)用系統(tǒng)中提供并且集成了測試需求管理、測試計(jì)劃、測試日程控制及測試執(zhí)行和錯(cuò)誤跟蹤等功能,通過使用這些功能可以使測試專業(yè)化,提高測試的效率,加速測試的過程。TestDirector 主要有三大功能模塊構(gòu)成:(1Site Administrator該模塊的主要功能是:創(chuàng)建

35、測試域,創(chuàng)建和維護(hù)測試項(xiàng)目,管理測試人員,查看測試項(xiàng)目的訪問情況,配置注冊碼。(2Customer在該功能模塊中,TD 用戶(即測試人員或其他與測試相關(guān)的人員)可以訂制和修改用戶的一些信息。包括:修改用戶信息、創(chuàng)建新的用戶類型和用戶組類型,訂制模塊的訪問權(quán)限,訂制項(xiàng)目實(shí)體和列表,配置郵件,調(diào)整工作流等。(3TestManager這個(gè)模塊是TestDirector 的主要功能的所在。它主要集成了需求指定、建立測試計(jì)劃、執(zhí)行測試、缺陷跟蹤四個(gè)功能模塊。MI 的測試工具主要有功能測試工具WinRunner 和性能測試工具LoadRunner ,下面對這兩個(gè)工具作一個(gè)概括的介紹。(1WinRunner

36、針對Windows 應(yīng)用程序的一個(gè)企業(yè)級的功能測試工具,用于檢測應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行。它通過自動(dòng)錄制、檢測和回放用戶的應(yīng)用操作,來發(fā)現(xiàn)程序中的錯(cuò)誤。可以有效地幫助測試人員對復(fù)雜的企業(yè)級應(yīng)用軟件的不同發(fā)布版本進(jìn)行測試,提高測試人員的工作效率和質(zhì)量。確??缙脚_(tái)的、復(fù)雜的企業(yè)軟件測試技術(shù)方法的比較與分析級應(yīng)用軟件無故障發(fā)布和長期穩(wěn)定的運(yùn)行。(2LoadRunner黑盒性能測試工具。4.2 Rational公司的測試軟件Rational 公司是軟件業(yè)中領(lǐng)先的應(yīng)用開發(fā)工具供應(yīng)商,提供基于業(yè)界開放標(biāo)準(zhǔn)的工具、最佳方案和服務(wù),用于開發(fā)商業(yè)應(yīng)用和構(gòu)建軟件產(chǎn)品和系統(tǒng)。2002年Rationa

37、l 公司被IBM 公司收購。對于Rational 公司的產(chǎn)品,我們比較熟悉的是它的建模工具,它的測試工具同它的建模工具一樣優(yōu)秀。Rational 的測試工具Rational Suite TestStudio的構(gòu)成如下圖14:圖4.2 Rational Suite TestStudio的構(gòu)成Rational Suite TestStudio測試工具集中的管理工具主要有五個(gè)子工具組成,它們結(jié)合起來,完成一個(gè)完整的測試管理工具的功能。下面就上面各個(gè)管理工具的功能作一個(gè)概括的介紹。(1Rational TestManagerTestManager 處于測試管理工具的核心位置。它是一個(gè)開放的可擴(kuò)展的架構(gòu)

38、,將其它的工具和測試數(shù)據(jù)聯(lián)合為一個(gè)整體。在TestManager 中主要可以完成建立測試計(jì)劃、安排測試、執(zhí)行測試、查看測試結(jié)果和分析測試結(jié)果等工作。 軟件測試技術(shù)方法的比較與分析(2Rational AdministratorRational Administrator集中了測試項(xiàng)目的管理功能,可以創(chuàng)建測試項(xiàng)目,管理相關(guān)的人員,包括測試人員和有關(guān)的開發(fā)人員。它的詳細(xì)功能如下:創(chuàng)建一個(gè)Rational 測試項(xiàng)目,配置項(xiàng)目的有關(guān)信息。連接某個(gè)測試項(xiàng)目。通過網(wǎng)絡(luò)操作遠(yuǎn)程的測試項(xiàng)目。刪除一個(gè)測試項(xiàng)目。創(chuàng)建和管理測試人員和用戶組。創(chuàng)建和管理包含RequisitePro 項(xiàng)目和Rose 項(xiàng)目的測試項(xiàng)目。控

39、制一個(gè)Rational 測試項(xiàng)目的測試數(shù)據(jù)的安全權(quán)限。(3Rational RequisiteProRational RequisitePro是一個(gè)需求管理的工具,它可幫助項(xiàng)目團(tuán)隊(duì)控制開發(fā)的進(jìn)度。它通過將Microsoft Word和一個(gè)需求倉庫連接來組織測試需求,它還提供了跟蹤功能,并且在整個(gè)項(xiàng)目的生命周期內(nèi)可以隨時(shí)改變需求。利用RequisitePro 你可以完成如下工作:定制需求數(shù)據(jù)庫和管理多種不同類型的測試。指定優(yōu)先級,排序和安排需求??刂铺卣髯冃危_保軟件質(zhì)量。跟蹤產(chǎn)生的變化,包括這些改變是誰做出的、什么時(shí)候、為什么。(4Rational ClearQuest在ClearQuest

40、中進(jìn)行缺陷的跟蹤和管理。通過ClearQuest 可以將測試中發(fā)現(xiàn)的缺陷直接發(fā)送給相應(yīng)的測試人員,集中管理某個(gè)測試項(xiàng)目的缺陷,并跟蹤缺陷的修復(fù)情況。(5Rational SoDA文檔生成工具,測試需求、測試結(jié)果、缺陷報(bào)告等測試信息可以通過SoDA 這個(gè)工具生成詳細(xì)的報(bào)表。軟件測試技術(shù)方法的比較與分析Rational Suite TestStudio測試工具集中的測試工具比較全面,既有功能和性能的測試工具,也有代碼級的黑盒和白盒測試工具。(1Rational RobotRational Robot集成了功能測試和性能測試兩種功能。使用Robot 可以創(chuàng)建兩種類型的測試腳本:基于GUI 對象的功能

41、測試腳本和用于性能測試的腳本。功能測試腳本可以在Robot 中直接運(yùn)行,而性能測試的腳本要在TestManager 中運(yùn)行。(2Rational QuantifyRational Quantify提供了一個(gè)完整的、精確的針對被測應(yīng)用程序和相關(guān)組件的一個(gè)性能測試數(shù)據(jù)集合,同過圖表等易于理解和觀察的方式顯示出來,可以很容易看出被測程序那個(gè)地方耗費(fèi)了較多時(shí)間,然后優(yōu)化修改耗費(fèi)時(shí)間較多的代碼,提高程序執(zhí)行效率。Rational Quantify 主要適用的應(yīng)用程序的對象是:Visual C/C+開發(fā)的.exe ,.dlls ,OLE/ActiveX控件以及COM 對象組件;Visual Basic開發(fā)

42、的應(yīng)用程序;Java 語言開發(fā)的應(yīng)用程序;語言開發(fā)的應(yīng)用程序等。(3Rational Purify檢測內(nèi)存泄露的白盒測試工具。(4Rational PureCoverage測試代碼覆蓋率的白盒測試工具。(5Rational TestFactory它是一個(gè)基于組件的測試工具,主要功能如下:根據(jù)程序的導(dǎo)航結(jié)構(gòu)自動(dòng)生成TestFactory 腳本。自動(dòng)創(chuàng)建和維護(hù)一個(gè)被測軟件的詳細(xì)map 。不用記錄,自動(dòng)生成提供擴(kuò)展代碼覆蓋率的腳本和發(fā)現(xiàn)缺陷的腳本。追蹤運(yùn)行過的或未運(yùn)行過的源代碼,并且報(bào)告它的詳細(xì)的發(fā)現(xiàn)。軟件測試技術(shù)方法的比較與分析通過最大限度的縮短花費(fèi)在書寫導(dǎo)航代碼上的時(shí)間來縮短產(chǎn)品的測試周期。在T

43、estFactory 中可以回放Robot 功能測試腳本一觀察擴(kuò)展代碼覆蓋率的信息以創(chuàng)建回歸測試集;在Robot 中也可以回放TestFactory 腳本用以調(diào)試腳本。(6Rational SiteCheck網(wǎng)頁測試工具,利用Rational SiteCheck 可以檢查企業(yè)內(nèi)部互聯(lián)網(wǎng)的結(jié)構(gòu)完整性以及網(wǎng)頁錯(cuò)誤??梢詭椭榭?、跟蹤和維護(hù)迅速變化的頁面。利用SiteCheck 具體可以做如下事情: 顯示網(wǎng)頁的結(jié)構(gòu)以及各頁面間的關(guān)系。識(shí)別和分析帶有動(dòng)態(tài)內(nèi)容的Web 頁面,如:forms, Java, JavaScript, ActiveX, VBScript。過濾信息,以利于你觀察制定的文件類型和缺

44、陷,包括斷開的連接。檢查和編輯任意網(wǎng)頁的源代碼。 利用集成的編輯器更新或修復(fù)文件。對安全網(wǎng)頁執(zhí)行全面的測試。SiteCheck 提供了Secure Scoket Layer(SSL支持,代理服務(wù)器配置以及多密碼域。(7Rational TeamTest 團(tuán)隊(duì)合作測試工具。4.3 Compuware公司的測試軟件Compuware 公司是世界上最大的軟件和專業(yè)服務(wù)供應(yīng)商之一。Compuware 開發(fā)的QACenter 測試工具集的主要構(gòu)成如下圖15:軟件測試技術(shù)方法的比較與分析圖4.3 QACenter測試工具集(1QADirectorQADirector 處于QACenter 管理工具的核心位

45、置,它協(xié)調(diào)整個(gè)測試過程,并提供了一下功能: 計(jì)劃和組織測試需求。 調(diào)用相應(yīng)的自動(dòng)測試工具執(zhí)行測試。 測試過程允許使用手動(dòng)測試。 觀察和分析測試結(jié)果。 方便的將測試結(jié)果信息加載到測試缺陷跟蹤系統(tǒng)。 針對需求驗(yàn)證測試。 將分析過程和測試過程結(jié)合。 (2Reconcile需求管理工具,組織和管理測試需求。 (3TrackRecordTrackRecord 是一個(gè)高級的需求變更和缺陷管理工具,可以幫助組織建立一個(gè)系統(tǒng)方法來協(xié)調(diào)軟件開發(fā)、調(diào)試、測試和實(shí)現(xiàn)。可進(jìn)行自動(dòng)化的軟件缺陷的跟蹤管理。 軟件測試技術(shù)方法的比較與分析(1QARunQARun 可以提供C/S系統(tǒng)、電子商務(wù)系統(tǒng)和企業(yè)資源計(jì)劃應(yīng)用提供企業(yè)級

46、的功能測試。同WinRunner 和Rational Robot能提供的功能一樣,可以執(zhí)行自動(dòng)化的功能測試。(2QALoadQALoad 是C/S系統(tǒng)、企業(yè)資源計(jì)劃(ERP )和電子商務(wù)應(yīng)用的自動(dòng)化負(fù)載測試工具。它是QACenter 測試工具集性能版的一部分。它通過可重復(fù)使用的、真實(shí)的測試能夠徹底的度量應(yīng)用程序的可擴(kuò)展性和性能。它可以模擬成百上千的用戶并發(fā)執(zhí)行關(guān)鍵的業(yè)務(wù)完成對應(yīng)用程的性能測試,并針對所發(fā)現(xiàn)的問題對系統(tǒng)性能進(jìn)行優(yōu)化,確保軟件的成功部署。(3WebCheck全面的站點(diǎn)分析和測試工具。軟件測試技術(shù)方法的比較與分析5. 自動(dòng)化功能測試工具的分析比較與總結(jié)WinRunner 、Ratio

47、nal Robot和QARun 這三個(gè)工具都是自動(dòng)化的功能測試工具,它們針對的測試對象都是使用IDEs (如:支持Java 、C/C+、VB 、HTML 等語言的集成開發(fā)環(huán)境)開發(fā)的帶有GUI 對象的應(yīng)用程序,都能夠大大降低重復(fù)性的測試所耗費(fèi)的時(shí)間,將測試人員從復(fù)雜好事的測試工作中解脫出來。我們目前所分析比較WinRunner 、Rational Robot、QARun 這個(gè)三個(gè)自動(dòng)化功能測試工具,都是比較新的版本,并不是最新的版本。但這些不同版本的測試工具首先從功能、原理上都是一樣的,而且整體的架構(gòu)和細(xì)節(jié)的功能也不會(huì)有太大的變化。所以針對下面三個(gè)較新版本的工具進(jìn)行分析和比較,對新版本的工具選

48、擇同樣具有參考價(jià)值。分析和比較的工具對象的版本及軟件平臺(tái)情況如下表:表5.1 工具對象的版本及軟件平臺(tái) 下面,將從測試步驟、測試結(jié)果等方面對這三種工具先作一個(gè)詳細(xì)的分析和介紹,然后根據(jù)分析在對這三個(gè)工具進(jìn)行橫向的詳細(xì)比較。5.1測試環(huán)境和對象(1WinRunner我們使用的WinRunner 版本是WinRunner7.50。是MI 測試軟件中比較新的版本。基本上可以完成Windows 操作系統(tǒng)下的不同類型軟件的自動(dòng)化功能測試。下表是對WinRunner7.50所支持的環(huán)境和被測軟件對象的一個(gè)總結(jié)16-17軟件測試技術(shù)方法的比較與分析 (2Rational Robot表5.3 Rational

49、 Robot所支持的環(huán)境和被測軟件對象 軟件測試技術(shù)方法的比較與分析(3QARun 5.2工具功能模塊詳細(xì)劃分雖然三個(gè)工具都是自動(dòng)化的功能測試工具,從大的方面來說,它們的功能都是一樣的,但有許多細(xì)節(jié)的功能還是有很大區(qū)別的。所以,為了更清楚、更詳細(xì)的認(rèn)識(shí)和比較這三個(gè)工具,將這個(gè)工具按它的功能模塊進(jìn)行劃分,然后針對每個(gè)細(xì)節(jié)的功能進(jìn) 行分析和比較,最后從整體上把握,是最好的方法。(1WinRunnerWinRunner 為了支持完整的功能測試,簡化測試難度,使測試人員能夠輕松正確的執(zhí)行測試,內(nèi)置了許多強(qiáng)大的功能。下圖是結(jié)合WinRunner 的實(shí)際使用情況,對它從主要功能上的一個(gè)詳細(xì)的劃分13。圖5

50、.1 WinRunner功能劃分軟件測試技術(shù)方法的比較與分析從上面的功能模塊劃分圖我們可以看出,WinRunner 主要13個(gè)主功能模塊,每個(gè)功能模塊還有一些更具體的功能。這些功能模塊集成到到一起,達(dá)到了WinRunner 執(zhí)行完整的自動(dòng)化功能測試的功能。(2Rational RobotRational Robot兼具功能測試的完整功能和性能測試腳本生成的功能,所以從整體上Robot 可以分為兩大模塊:功能測試模塊和性能測試模塊。對于性能測試來說,Robot 只是負(fù)責(zé)性能測試腳本的生成,所以性能測試模塊的功能相對比較單一,而功能測試模塊相對的就比較復(fù)雜18。對Robot 的主要功能的詳細(xì)劃分如

51、下圖:圖5.2 Robot功能劃分(3QARun同WinRunner 一樣,QARun 可以執(zhí)行完整的功能測試,它的所有的功能模塊都是為了能夠正確、方便的進(jìn)行功能測試而存在的。QARun 的主要功能模塊的詳細(xì)劃分如下15:圖5.3 QARun功能劃分 軟件測試技術(shù)方法的比較與分析(4比較對于功能測試,從整體上來看的話三個(gè)工具區(qū)別不是太大。都有腳本的錄制、回放;檢查點(diǎn);一些與腳本的錄制和回放有關(guān)的選項(xiàng)設(shè)置WinRunner 與其兩個(gè)工具主要有如下幾個(gè)不同的地方:Font Expert 功能模塊,腳本的執(zhí)行模塊,GUI Map模塊。Font Expert是為了WinRunner 能夠識(shí)別不同的字體

52、而加入的一個(gè)具有字體學(xué)習(xí)功能的模塊;腳本執(zhí)行模塊提供了三種模式下的腳本回放,這三種模式下面會(huì)詳細(xì)分析;GUI Map是為了簡化腳本,識(shí)別GUI 對象和提高腳本的可維護(hù)性而設(shè)立的一個(gè)功能模塊,這個(gè)模塊和QARun 中的Map 模塊的功能是一樣的。Robot 區(qū)別于其它兩個(gè)工具的一個(gè)顯著的特點(diǎn),就是Robot 可以執(zhí)行部分性能測試的功能,即性能測試腳本的生成。而其它兩個(gè)公司將性能測試工具和功能測試工具分的很清楚,MI 公司的性能測試工具就是LoadRunner ,LoadRunner 負(fù)責(zé)從腳本的生成、執(zhí)行到測試結(jié)果的查看等全部與性能測試有關(guān)的工作。和MI 公司的分法一樣,Compuware 公司將性能測試功能完全交由QALoad 完成。像Rational 公司這種將功能測試和部分性能測試集成到一個(gè)工具中的做法,雖然對功能測試沒有什么影響,但總讓人感覺工具劃分不清楚,特別是性能測試,腳本生成在Robot 中,而執(zhí)行要在TestManager 中,顯得有點(diǎn)麻煩。而其它兩個(gè)公司的工具劃分就感覺很好,功能測試、性能測試和管理工具都是相互獨(dú)立的,學(xué)習(xí)和使用起來比較方便。另外一個(gè)特點(diǎn)就是Robot 雖然能夠執(zhí)行功能測試,但是測試結(jié)果要在測試管理工具TestManager 中查看,所以Robot 對管理工具的依賴性比較強(qiáng),從而顯得其獨(dú)立

溫馨提示

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

最新文檔

評論

0/150

提交評論