軟件測(cè)試技術(shù)(微課版)課件 第9章 軟件測(cè)試工具與自動(dòng)化_第1頁(yè)
軟件測(cè)試技術(shù)(微課版)課件 第9章 軟件測(cè)試工具與自動(dòng)化_第2頁(yè)
軟件測(cè)試技術(shù)(微課版)課件 第9章 軟件測(cè)試工具與自動(dòng)化_第3頁(yè)
軟件測(cè)試技術(shù)(微課版)課件 第9章 軟件測(cè)試工具與自動(dòng)化_第4頁(yè)
軟件測(cè)試技術(shù)(微課版)課件 第9章 軟件測(cè)試工具與自動(dòng)化_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第九章軟件測(cè)試工具與自動(dòng)化

軟件測(cè)試一般分為手工測(cè)試和自動(dòng)化測(cè)試。

自動(dòng)化測(cè)試是通過軟件工具、程序來代替或輔助手工測(cè)試的過程,目的是減少手工測(cè)試的工作量,提高測(cè)試的效率與質(zhì)量。

通過合理地實(shí)施自動(dòng)化測(cè)試,能夠有效地應(yīng)對(duì)大量重復(fù)性的測(cè)試工作,自動(dòng)生成各種測(cè)試結(jié)果的統(tǒng)計(jì)分析報(bào)告,完成很多手工測(cè)試難以完成或無法完成的測(cè)試任務(wù)。前言本章的學(xué)習(xí)目標(biāo):理解軟件測(cè)試工具能力掌握軟件測(cè)試工具的分類掌握軟件測(cè)試工具的選擇理解軟件測(cè)試工具的研發(fā)掌握自動(dòng)化軟件測(cè)試的關(guān)鍵技術(shù)理解自動(dòng)化測(cè)試框架掌握自動(dòng)化測(cè)試工具理解自動(dòng)軟件測(cè)試的引入學(xué)習(xí)目標(biāo)主要內(nèi)容思考題

自動(dòng)軟件測(cè)試的引入自動(dòng)化軟件測(cè)試

軟件測(cè)試工具總結(jié)第一節(jié)軟件測(cè)試工具總結(jié)

測(cè)試工具相比軟件開發(fā)工具而言有著明顯的不同。主流的軟件開發(fā)工具一般根據(jù)程序語(yǔ)言進(jìn)行分類,數(shù)量相對(duì)有限,比較容易選擇,而測(cè)試工具可以根據(jù)測(cè)試技術(shù)、測(cè)試對(duì)象、測(cè)試階段和測(cè)試目的等進(jìn)行分類,又包括免費(fèi)的開源測(cè)試工具和付費(fèi)的商業(yè)測(cè)試工具,并且數(shù)量眾多,全新的或新版本的測(cè)試工具層出不窮。測(cè)試工具的上述特點(diǎn)給測(cè)試工具的選擇造成了一定困難。第一節(jié)軟件測(cè)試工具總結(jié)

軟件測(cè)試工具能力軟件測(cè)試工具的分類軟件測(cè)試工具的選擇軟件測(cè)試工具的研發(fā)(一)軟件測(cè)試工具能力

國(guó)家標(biāo)準(zhǔn)GB/T

41905-2022《軟件與系統(tǒng)工程軟件測(cè)試工具能力》制定的主要目的就是規(guī)范不同類型的測(cè)試工具能力要求,依據(jù)標(biāo)準(zhǔn)開展軟件測(cè)試工具的測(cè)評(píng),可以有效地幫助需方對(duì)測(cè)試工具進(jìn)行評(píng)估和選型。

《軟件與系統(tǒng)工程軟件測(cè)試工具能力》規(guī)定了軟件測(cè)試工具的能力框架和具體要求,用于確定軟件測(cè)試項(xiàng)目中所使用軟件測(cè)試工具產(chǎn)品的能力。標(biāo)準(zhǔn)由軟件測(cè)試工具的對(duì)象模型、測(cè)試實(shí)體分類、測(cè)試對(duì)象特性、軟件測(cè)試工具能力、測(cè)試工具能力技術(shù)要求等幾個(gè)重要部分組成,規(guī)定了動(dòng)態(tài)測(cè)試、代碼分析、測(cè)試管理工具三個(gè)類別下的能力具體技術(shù)要求,涵蓋了三大類12個(gè)小類共計(jì)33個(gè)能力。軟件測(cè)試工具能力項(xiàng)如圖9-1所示,適用于軟件測(cè)試工具的需方、供方、維護(hù)方和獨(dú)立評(píng)價(jià)方開展工具的研發(fā)、評(píng)估和選型。第一節(jié)軟件測(cè)試工具總結(jié)第一節(jié)軟件測(cè)試工具總結(jié)軟件測(cè)試工具能力項(xiàng)(二)軟件測(cè)試工具的分類

根據(jù)測(cè)試工具的應(yīng)用領(lǐng)域可以將它們劃分為白盒測(cè)試工具、黑盒測(cè)試工具和測(cè)試管理工具三種類型。白盒測(cè)試工具用于測(cè)試軟件的源代碼,可以實(shí)現(xiàn)對(duì)程序代碼的靜態(tài)分析和動(dòng)態(tài)測(cè)試,一般用于單元測(cè)試;黑盒測(cè)試工具主要包括功能測(cè)試工具和性能測(cè)試工具,通常用于系統(tǒng)測(cè)試和驗(yàn)收測(cè)試;測(cè)試管理工具主要面向整個(gè)測(cè)試流程的管理,包括測(cè)試計(jì)劃和測(cè)試用例管理、缺陷跟蹤和測(cè)試報(bào)告管理等功能。第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類

1.商業(yè)測(cè)試工具專業(yè)開發(fā)測(cè)試工具的公司有很多,其中以MI(MercuryInteractive)、IBMRational和MicroFocus最為著名。MI被惠普收購(gòu)后公司名稱經(jīng)常被稱為HPMercury,類似于Rational被IBM收購(gòu)后改名為IBMRational一樣。由于同一家公司開發(fā)的多種測(cè)試工具往往能比較好地集成在一起,因此建立測(cè)試系統(tǒng)時(shí)經(jīng)常會(huì)根據(jù)工具生產(chǎn)商來考查測(cè)試工具的適用性。商業(yè)測(cè)試工具的特點(diǎn)通常是功能豐富、強(qiáng)大、適用面廣,但是深入學(xué)習(xí)和掌握具有一定難度,一些工具購(gòu)買費(fèi)用較高。

第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類(1)MI的主要測(cè)試工具M(jìn)I開發(fā)的測(cè)試工具中最著名的是LoadRunner、UFT\QTP、WinRunner和QualityCenter\TestDirector。LoadRunner是熟知的性能測(cè)試工具,能滿足企業(yè)級(jí)應(yīng)用,實(shí)現(xiàn)對(duì)C/S和B/S結(jié)構(gòu)的軟件系統(tǒng)的性能測(cè)試。LoadRunner通過模擬大量的虛擬并發(fā)用戶形成系統(tǒng)負(fù)載,實(shí)時(shí)記錄和檢測(cè)系統(tǒng)在不同負(fù)載下的性能表現(xiàn),預(yù)測(cè)和評(píng)估整個(gè)軟件架構(gòu)的各種性能特征,發(fā)現(xiàn)系統(tǒng)性能問題與性能瓶頸,以此為基礎(chǔ)進(jìn)行系統(tǒng)性能優(yōu)化。LoadRunner能夠在Windows、UNIX、Linux等多種操作系統(tǒng)平臺(tái)上安裝運(yùn)行,支持廣泛的協(xié)議和技術(shù),因此能夠根據(jù)軟件特定運(yùn)行環(huán)境提供個(gè)性化的性能測(cè)試方案。

第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類

UFT\QTP\WinRunner三者都是MI開發(fā)的功能測(cè)試工具。WinRunner是MI的早期產(chǎn)品,基于Windows操作系統(tǒng)。HP已停止對(duì)WinRunner所有版本的支持,因此WinRunner已逐步退出市場(chǎng)。由于WinRunner使用類似C語(yǔ)言的TSL腳本語(yǔ)言,擁有豐富的C語(yǔ)言函數(shù)庫(kù),在系統(tǒng)底層和嵌入式領(lǐng)域具有一定便利性,因此國(guó)內(nèi)一些企業(yè)仍然在使用。QTP(QuickTestProfessional)是MI在WinRunner之后主推的功能測(cè)試工具。QTP具備與WinRunner幾乎相同的功能,同時(shí)還包含一些獨(dú)有的特性,使用更簡(jiǎn)單、更易擴(kuò)展和維護(hù),能夠更好地用于測(cè)試基于JavaEE和.NET架構(gòu)的應(yīng)用程序。QTP使用VBScript語(yǔ)言,比較容易學(xué)習(xí),并且通過關(guān)鍵字驅(qū)動(dòng)測(cè)試使得測(cè)試人員能更好地設(shè)計(jì)測(cè)試腳本。MI將2012年12月發(fā)布的QTP新版本更名為HPUFT11.5,在UFT中整合了原有的QTP和面向Web服務(wù)測(cè)試的HPServiceTest,使UFT成為針對(duì)網(wǎng)絡(luò)、移動(dòng)、API和應(yīng)用程序的統(tǒng)一功能測(cè)試軟件。

第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類

QualityCenter\TestDirector是MI開發(fā)的測(cè)試管理工具。TestDirector(簡(jiǎn)稱TD)是基于Web的測(cè)試管理系統(tǒng),在服務(wù)器端安裝后就可以通過客戶端瀏覽器進(jìn)行訪問,便于測(cè)試人員在測(cè)試過程中進(jìn)行溝通與協(xié)作,能夠完成需求管理、測(cè)試計(jì)劃管理、測(cè)試用例管理和缺陷跟蹤管理。HP收購(gòu)MI后將TD升級(jí)為QualityCenter(簡(jiǎn)稱QC),將軟件遷移到J2EE平臺(tái)。QC能夠與MI的其他測(cè)試工具以及Office和IBMRational等產(chǎn)品很好地集成。

第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類

(2)IBMRational的主要測(cè)試工具IBMRational公司的產(chǎn)品是涵蓋需求管理、軟件建模、配置管理等的全方位軟件工程CASE工具,典型優(yōu)勢(shì)是幾乎所有的工具都支持跨平臺(tái)安裝。IBMRational主要有以下一些測(cè)試工具。Rational功能測(cè)試工具可分為手動(dòng)測(cè)試工具RationalManualTester和自動(dòng)化測(cè)試工具RationalFunctionalTester、RationalRobot。Rational性能測(cè)試工具包括RationalPerformanceTester和RationalRobot。RationalRobot包括功能測(cè)試和性能測(cè)試。Rational白盒測(cè)試工具包括RationalPurifyPlus和RationalTestRealTime。Rational測(cè)試管理工具包括RationalTestManager和RationalClearQuest。

第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類

(3)MicroFocus的主要測(cè)試工具

英國(guó)MicroFocus公司的測(cè)試工具很多源自于Compuware公司和Segue公司。2009年MicroFocus收購(gòu)了Compuware全部的質(zhì)量保證解決方案與產(chǎn)品,Compuware公司的黑盒測(cè)試工具集QACenter里包括功能測(cè)試工具QARun、性能測(cè)試工具QALoad和測(cè)試管理工具QADirector,同時(shí)Compuware公司還有缺陷管理工具TrackRecord、強(qiáng)大的白盒測(cè)試工具DevPartner。但是,2009年Compuware的產(chǎn)品被收購(gòu)之后,QARun在MicroFocus產(chǎn)品中找不到位置,取而代之的是QARun的升級(jí)版MicroFocusTestPartner,側(cè)重于應(yīng)用軟件的業(yè)務(wù)邏輯測(cè)試,讓非技術(shù)的測(cè)試人員能夠進(jìn)行偏向業(yè)務(wù)流層面的自動(dòng)化功能測(cè)試。Segue公司是一家專業(yè)開發(fā)測(cè)試工具的廠商,其產(chǎn)品SilkTest、SilkPerformer完全可以和MercuryQTP、LoadRunner媲美,在國(guó)際市場(chǎng)上占有的份額也相當(dāng)大。

第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類

(3)MicroFocus的主要測(cè)試工具

除了上述三個(gè)公司的測(cè)試工具之外,市場(chǎng)上還有眾多其他公司開發(fā)的測(cè)試工具。表9-1總結(jié)了一些主要公司的商業(yè)測(cè)試工具。

第一節(jié)軟件測(cè)試工具總結(jié)第一節(jié)軟件測(cè)試工具總結(jié)表9-1

主要的商業(yè)測(cè)試工具功能測(cè)試性能測(cè)試白盒測(cè)試測(cè)試管理HPMercuryUFT\QTPLoadRunnerTestDirectorQualityCenterIBMRationalRationalManualTester、RationalFunctionalTester、RationalRobotRationalPerformanceTester、RationalRobotRationalPurifyPlus、PureCoverage、RationalTestRealTimeRationalTestManagerRationalClearQuestMicroFocus(Compuware、Segue)QARun、MicroFocusTestPartner、MicroFocusSilkTestQALoad、MicroFocusSilkPerformerBoundsCheckerTrueCoverageDevPartnerQADirector,TrackRecordTelelogicLogiscopeParasoftWebKingC++Test、JTest、SOATestProgrammingResearchQA?C/C++/JRadviewWebFTWebLoadTestViewManagerMicrosoftACT(ApplicationCenterTest)IntelliTest第一節(jié)軟件測(cè)試工具總結(jié)(二)軟件測(cè)試工具的分類2.開源測(cè)試工具商業(yè)測(cè)試工具雖然功能完善,但也價(jià)格不菲。對(duì)于中小型軟件企業(yè)來講,可以首先考查開源測(cè)試工具是否能滿足要求,不滿足要求時(shí)再購(gòu)買商業(yè)測(cè)試工具以節(jié)省測(cè)試投入。目前開源測(cè)試工具的發(fā)展非常迅猛,從白盒測(cè)試、功能測(cè)試、性能測(cè)試以及測(cè)試管理等方面都可以找到大量?jī)?yōu)秀的開源測(cè)試工具。接下來簡(jiǎn)要介紹一些主要的開源測(cè)試工具。

(1)白盒測(cè)試工具由于白盒測(cè)試涉及程序源代碼,因此一般針對(duì)不同的程序語(yǔ)言有著不同的白盒測(cè)試工具,最著名的是xUnit系列框架中針對(duì)不同語(yǔ)言的測(cè)試工具,例如JUnit(Java)、CppUnit(C++)、DotUnit(.Net)、HtmlUnit(HTML)、JsUnit(JavaScript)、PHPUnit(PHP)、PerlUnit(Pear)等。其中以JUnit最為著名,多數(shù)Java開發(fā)環(huán)境都已經(jīng)集成了JUnit作為單元測(cè)試工具。此外,還有大量的白盒開源測(cè)試工具,下面列出幾種以供參考選用。

第一節(jié)軟件測(cè)試工具總結(jié)(1)白盒測(cè)試工具JsTestDriver是一個(gè)JavaScript單元測(cè)試工具,能很好地與持續(xù)構(gòu)建系統(tǒng)集成。GoogleTest是Google的開源C++單元測(cè)試框架,簡(jiǎn)稱GTest,支持跨平臺(tái)。CppTest是一個(gè)簡(jiǎn)單、輕便的C++

單元測(cè)試框架,有著良好的實(shí)用性與可擴(kuò)展性,支持多種輸出格式。CppTest最大的優(yōu)點(diǎn)是容易理解、便于掌握和使用。Robolectric是一款A(yù)ndroid程序單元測(cè)試工具,與需要運(yùn)行在Android環(huán)境中的AndroidTest相比,Robolectric可以直接運(yùn)行在JVM上,因此可以脫離Android環(huán)境進(jìn)行測(cè)試,速度也更快,可以直接由Jenkins周期性地執(zhí)行。

第一節(jié)軟件測(cè)試工具總結(jié)

國(guó)際貨幣基金組織——IMF(2)功能測(cè)試工具

AutoIT是一個(gè)使用類似于VBScript腳本語(yǔ)言的免費(fèi)軟件,用于測(cè)試基于WindowsGUI操作的軟件。Ruby+Watir組合是近年非常流行的全免費(fèi)自動(dòng)化測(cè)試框架,它通過Ruby腳本的強(qiáng)大編程能力,基于Watir的強(qiáng)大接口,可以實(shí)現(xiàn)對(duì)Web應(yīng)用程序的自動(dòng)化測(cè)試。Selenium是一款全免費(fèi)的自動(dòng)化測(cè)試框架,由ThoughtWorks公司開發(fā),支持Ruby、Java、Perl、Python等腳本語(yǔ)言,目前在國(guó)內(nèi)外日益流行。

第一節(jié)軟件測(cè)試工具總結(jié)

(3)性能測(cè)試工具JMeter是目前業(yè)內(nèi)使用最廣泛的性能測(cè)試工具,最初只是測(cè)試Web應(yīng)用,目前已經(jīng)能夠支持HTTP/HTTPS、SOAP、JDBC、LDAP、JMS等,在國(guó)內(nèi)非常普及。TestMaker是PushToTest公司的免費(fèi)產(chǎn)品,功能相比商業(yè)工具有過之而無不及,可以和Seleinium、SoapUI集成,充分利用Selenium和SoapUI的測(cè)試能力,而TestMarker只是更好地調(diào)度、監(jiān)控和管理測(cè)試的過程,監(jiān)控系統(tǒng)的性能指標(biāo),獲得測(cè)試結(jié)果。ApacheBench能同時(shí)模擬多個(gè)并發(fā)請(qǐng)求,專門用于Web服務(wù)器的基準(zhǔn)測(cè)試。Grinder是一個(gè)負(fù)載測(cè)試框架,被譽(yù)為J2EE上的LoadRunner,支持多種協(xié)議的Web服務(wù)和應(yīng)用服務(wù)器,基于HTTP的測(cè)試可以由瀏覽器記錄整個(gè)測(cè)試過程。Siege是一個(gè)壓力測(cè)試和評(píng)測(cè)工具,用于Web開發(fā)。

第一節(jié)軟件測(cè)試工具總結(jié)(4)測(cè)試管理工具

測(cè)試管理工具開發(fā)難度較小,因此開源免費(fèi)的產(chǎn)品很多,下面是一些常見工具。Bugzilla是目前業(yè)內(nèi)最成熟的開源免費(fèi)缺陷管理工具,可與CVS進(jìn)行無縫集成。Mantis是一款Web缺陷管理工具,國(guó)內(nèi)使用較多。BugFree與Mantis功能類似,是一款輕量級(jí)的Web缺陷管理工具。TestLink可對(duì)測(cè)試需求、測(cè)試計(jì)劃、測(cè)試用例、測(cè)試執(zhí)行、軟件缺陷報(bào)告等進(jìn)行完整管理。

第一節(jié)軟件測(cè)試工具總結(jié)(三)軟件測(cè)試工具的選擇選擇測(cè)試工具并沒有一定規(guī)則,但是以下因素應(yīng)當(dāng)予以考慮:根據(jù)具體測(cè)試需求比較工具的功能、價(jià)格和服務(wù)??紤]引入測(cè)試工具的連續(xù)性和一致性。分析測(cè)試工具對(duì)各種操作系統(tǒng)平臺(tái)的兼容性。評(píng)估測(cè)試工具與其他相關(guān)軟件產(chǎn)品的集成能力。考查測(cè)試工具是否有強(qiáng)大的報(bào)表統(tǒng)計(jì)功能。第一節(jié)軟件測(cè)試工具總結(jié)(四)軟件測(cè)試工具的研發(fā)軟件測(cè)試工具的研發(fā)和普通的軟件類似,可以采用主流的開發(fā)平臺(tái)和編程語(yǔ)言。如果是信息管理類的需求,可以采用B/S模式,使用Java編程語(yǔ)言和Spring框架,前后端分離技術(shù)來進(jìn)行實(shí)現(xiàn)。如果是桌面應(yīng)用程序,可以采用VisualC#編程語(yǔ)言或者QT等完成GUI開發(fā)。需要注意的是,一些測(cè)試工具常常需要模擬真實(shí)的運(yùn)行環(huán)境,因此和一般的軟件開發(fā)有所不同。第二節(jié)自動(dòng)化軟件測(cè)試

完全的手工測(cè)試已經(jīng)不能適應(yīng)軟件測(cè)試行業(yè)的發(fā)展要求,對(duì)于很多操作重復(fù)、創(chuàng)造性要求不高、需要定量化統(tǒng)計(jì)分析的測(cè)試工作都轉(zhuǎn)而采用自動(dòng)化測(cè)試的方式進(jìn)行,以提高整體測(cè)試的質(zhì)量、減少測(cè)試成本、縮短測(cè)試周期,也使得測(cè)試人員能夠不再去處理很多繁雜的測(cè)試工作,充分利用其經(jīng)驗(yàn)和時(shí)間去解決測(cè)試設(shè)計(jì)等更為深層次的測(cè)試問題。第二節(jié)自動(dòng)化軟件測(cè)試(一)自動(dòng)化軟件測(cè)試概述自動(dòng)化測(cè)試是在手工測(cè)試的基礎(chǔ)上發(fā)展而來的,可以有效彌補(bǔ)手工測(cè)試在以下一些方面的不足。手工測(cè)試執(zhí)行時(shí)間長(zhǎng),測(cè)試效率低。由于手工測(cè)試的工作量很大,在測(cè)試人員不足或測(cè)試周期很短的情況下,難以達(dá)到測(cè)試的充分性要求,例如難以覆蓋所有的代碼路徑,同時(shí)也難以及時(shí)評(píng)估測(cè)試的覆蓋率。修改軟件之后,經(jīng)常難以及時(shí)完成有效的回歸測(cè)試。同時(shí),回歸測(cè)試是典型的重復(fù)性測(cè)試工作,會(huì)使測(cè)試人員感到單調(diào)枯燥。第二節(jié)自動(dòng)化軟件測(cè)試(一)自動(dòng)化軟件測(cè)試概述當(dāng)測(cè)試過程包含大量測(cè)試用例和測(cè)試數(shù)據(jù)時(shí),測(cè)試執(zhí)行和管理的細(xì)節(jié)會(huì)很煩瑣,容易出錯(cuò)。難以便捷和全面地對(duì)測(cè)試進(jìn)程及其結(jié)果進(jìn)行統(tǒng)計(jì)分析并生成規(guī)范性的測(cè)試報(bào)告。性能測(cè)試時(shí)無法模擬大規(guī)模軟件系統(tǒng)負(fù)載。難以完成系統(tǒng)可靠性測(cè)試,無法模擬驗(yàn)證系統(tǒng)連續(xù)運(yùn)行幾個(gè)月甚至幾年后是否仍然能夠穩(wěn)定運(yùn)行。第二節(jié)自動(dòng)化軟件測(cè)試(一)自動(dòng)化軟件測(cè)試概述測(cè)試工具的廣泛使用大大提高了軟件測(cè)試的自動(dòng)化程度。通過測(cè)試工具可以模擬手工測(cè)試的步驟,控制被測(cè)軟件的運(yùn)行,自動(dòng)完成測(cè)試用例執(zhí)行結(jié)果的判斷,實(shí)現(xiàn)半自動(dòng)或全自動(dòng)的測(cè)試過程。半自動(dòng)測(cè)試需要測(cè)試人員與測(cè)試工具的交互,選擇測(cè)試對(duì)象和測(cè)試數(shù)據(jù),控制測(cè)試工具的執(zhí)行。全自動(dòng)測(cè)試可以做到無須人工干預(yù),由測(cè)試工具自動(dòng)完成測(cè)試的全過程。自動(dòng)化測(cè)試不可能完全替代手工測(cè)試。第二節(jié)自動(dòng)化軟件測(cè)試(二)自動(dòng)化軟件測(cè)試的優(yōu)勢(shì)

(1)自動(dòng)化的性能測(cè)試

全面的性能測(cè)試是手工測(cè)試無法完成的,一般必須借助性能測(cè)試工具。性能測(cè)試需要模擬大量的負(fù)載,最常見的是模擬成百上千的并發(fā)用戶來測(cè)試系統(tǒng)的性能瓶頸、驗(yàn)證各種性能指標(biāo),離開測(cè)試工具是根本無法完成的。因此,類似性能測(cè)試這種需要模擬大量用戶和并發(fā)任務(wù)的測(cè)試活動(dòng)非常適合采用自動(dòng)化測(cè)試。第二節(jié)自動(dòng)化軟件測(cè)試(二)自動(dòng)化軟件測(cè)試的優(yōu)勢(shì)

(2)自動(dòng)化的回歸測(cè)試 回歸測(cè)試是重復(fù)已執(zhí)行過的測(cè)試,避免修改程序?qū)υ姓9δ墚a(chǎn)生影響?;貧w測(cè)試用例是已經(jīng)完全設(shè)計(jì)好的,即使有些改動(dòng),一般也不會(huì)太多,而且測(cè)試的預(yù)期結(jié)果也是完全可以確定的。第二節(jié)自動(dòng)化軟件測(cè)試

如圖9-2所示,自動(dòng)化測(cè)試在初次測(cè)試時(shí)因?yàn)橐_發(fā)自動(dòng)化測(cè)試用例,工作量會(huì)大于手工測(cè)試。但是隨著回歸測(cè)試的增多,初期產(chǎn)生的工作量被均攤,總工作量明顯小于手工測(cè)試,并且回歸測(cè)試的次數(shù)越多,效果越明顯。因此,對(duì)于回歸測(cè)試應(yīng)當(dāng)盡可能采用自動(dòng)化測(cè)試的方法,充分發(fā)揮測(cè)試工具善于完成機(jī)械重復(fù)性工作的優(yōu)勢(shì),大幅提高測(cè)試效率,縮短測(cè)試時(shí)間。第二節(jié)自動(dòng)化軟件測(cè)試(二)自動(dòng)化軟件測(cè)試的優(yōu)勢(shì)

除了上述兩個(gè)主要優(yōu)勢(shì)之外,自動(dòng)化測(cè)試還具有以下一些優(yōu)勢(shì):通過應(yīng)用測(cè)試管理工具可以規(guī)范整個(gè)測(cè)試流程,改進(jìn)研發(fā)過程,方便地進(jìn)行軟件缺陷跟蹤和管理。在單元測(cè)試中通過白盒測(cè)試工具可以完成全自動(dòng)的代碼掃描,對(duì)代碼規(guī)范性、程序結(jié)構(gòu)、函數(shù)調(diào)用關(guān)系等進(jìn)行靜態(tài)測(cè)試,測(cè)試的全面性明顯優(yōu)于手工測(cè)試。自動(dòng)化的動(dòng)態(tài)單元測(cè)試工具(如JUnit)可以簡(jiǎn)化測(cè)試的編寫,將測(cè)試代碼和程序代碼分開,極大地方便進(jìn)行增量開發(fā)、版本構(gòu)建和測(cè)試用例管理。自動(dòng)化的集成測(cè)試可以更好地支持敏捷開發(fā),可以實(shí)現(xiàn)每日集成構(gòu)建、完全自動(dòng)化的冒煙測(cè)試,及時(shí)發(fā)現(xiàn)和定位集成問題,更好地保證程序代碼、測(cè)試用例和相關(guān)文檔記錄的版本一致性。第二節(jié)自動(dòng)化軟件測(cè)試(二)自動(dòng)化軟件測(cè)試的優(yōu)勢(shì)提高功能測(cè)試基本操作和數(shù)據(jù)驗(yàn)證的質(zhì)量和效率。功能測(cè)試主要測(cè)試基本操作下軟件的邏輯功能是否正確,具有明確的測(cè)試輸入和輸出,便于輸入數(shù)據(jù)后對(duì)輸出進(jìn)行驗(yàn)證,適合自動(dòng)化測(cè)試。功能測(cè)試的工作量大,能從自動(dòng)化中取得較大的效果。當(dāng)軟件界面變動(dòng)不大時(shí),功能測(cè)試用例的復(fù)用率會(huì)很高。但是對(duì)于界面測(cè)試這類主觀性比較強(qiáng)的測(cè)試工作,應(yīng)當(dāng)用手工測(cè)試來完成。便于捕捉偶然發(fā)生的軟件缺陷。測(cè)試人員最頭疼的一個(gè)問題是捕捉偶然發(fā)生的軟件缺陷,這些軟件缺陷的產(chǎn)生經(jīng)常與程序的多進(jìn)程或多線程并行運(yùn)行、消息驅(qū)動(dòng)的復(fù)雜程序運(yùn)行時(shí)序以及死鎖和資源沖突等問題有關(guān)。因?yàn)闇y(cè)試工具可以重復(fù)和持久地運(yùn)行測(cè)試用例,所以便于捕捉此類軟件缺陷。能更好地利用人力資源。將煩瑣、單調(diào)和重復(fù)的工作交由自動(dòng)化測(cè)試來做,測(cè)試人員可以專注于測(cè)試計(jì)劃、設(shè)計(jì)以及必須由手工測(cè)試完成的測(cè)試內(nèi)容。第二節(jié)自動(dòng)化軟件測(cè)試(三)自動(dòng)化軟件測(cè)試的關(guān)鍵技術(shù)1.錄制與回放自動(dòng)化測(cè)試在回歸測(cè)試和功能測(cè)試中的應(yīng)用比較廣泛,為了實(shí)現(xiàn)測(cè)試用例的重用和自動(dòng)執(zhí)行,首先需要錄制對(duì)軟件的操作過程,生成初步的測(cè)試腳本作為可自動(dòng)執(zhí)行的測(cè)試用例。很多軟件或?qū)iT的軟件工具都提供了錄制特定軟件操作的功能,最常見的是MicrosoftWord中的宏。2.代碼分析自動(dòng)化測(cè)試不僅包括動(dòng)態(tài)測(cè)試,也包括靜態(tài)測(cè)試。靜態(tài)測(cè)試主要基于代碼分析技術(shù)。例如,通過白盒測(cè)試工具對(duì)程序代碼進(jìn)行靜態(tài)分析,根據(jù)特定語(yǔ)言的代碼規(guī)則對(duì)代碼進(jìn)行掃描,生成系統(tǒng)的調(diào)用關(guān)系圖,對(duì)代碼復(fù)雜度等質(zhì)量特征進(jìn)行綜合評(píng)價(jià)等。常用的規(guī)則主要可以分為Correctness(正確性)、Badpractice(不良實(shí)踐)、Performance(性能)、Multithreadedcorrectness(多線程的正確性)、Dodgy(不可靠)。第二節(jié)自動(dòng)化軟件測(cè)試(三)自動(dòng)化軟件測(cè)試的關(guān)鍵技術(shù)3.對(duì)象識(shí)別

在進(jìn)行自動(dòng)化的軟件功能測(cè)試時(shí),測(cè)試工具需要模擬人工操作,記錄測(cè)試人員對(duì)軟件圖形用戶界面(GUI)的操作過程,通過回放重復(fù)執(zhí)行這一過程。最簡(jiǎn)單的方式是記錄鼠標(biāo)和鍵盤的操作序列,回放后驅(qū)動(dòng)軟件運(yùn)行。例如,可以通過“按鍵精靈”來模擬用戶物理按鍵操作和鼠標(biāo)在屏幕上任意位置的單擊操作。這種方法有著明顯的局限性,當(dāng)屏幕的分辨率改變時(shí)測(cè)試腳本不再適用。因此,主流的功能測(cè)試工具采用的都是對(duì)象識(shí)別的方法,自動(dòng)識(shí)別軟件GUI上所展現(xiàn)出來的各種控件,例如TextBox、Button、DataGrid等,獲取對(duì)象的類別、名稱、屬性值等信息,在腳本中記錄操作了哪些對(duì)象以及操作順序。對(duì)于一些較高級(jí)的控件,通過一些擴(kuò)展插件,也可以完成對(duì)這些控件的識(shí)別。在自動(dòng)化測(cè)試中,對(duì)象的識(shí)別是成功完成測(cè)試的前提條件。第二節(jié)自動(dòng)化軟件測(cè)試(四)自動(dòng)化測(cè)試框架1.自動(dòng)化測(cè)試框架的基本含義自動(dòng)化測(cè)試框架是一種特殊類型的框架,用于解決特定的自動(dòng)化測(cè)試問題。從廣義上講,自動(dòng)化測(cè)試框架是一組自動(dòng)化測(cè)試的規(guī)范和測(cè)試腳本的基礎(chǔ)代碼,以及測(cè)試思想、方法和慣例的集合;從狹義上講,自動(dòng)化測(cè)試框架是由一個(gè)或多個(gè)自動(dòng)化測(cè)試基礎(chǔ)模塊、自動(dòng)化測(cè)試管理模塊、自動(dòng)化測(cè)試統(tǒng)計(jì)模塊等組成的工具集合,以便于設(shè)計(jì)、維護(hù)和重用測(cè)試用例以及有效地完成測(cè)試執(zhí)行和測(cè)試報(bào)告工作。圖9-3

自動(dòng)化測(cè)試框架的基本模塊第二節(jié)自動(dòng)化軟件測(cè)試(四)自動(dòng)化測(cè)試框架2.自動(dòng)化測(cè)試腳本類型

根據(jù)發(fā)展階段,測(cè)試腳本的類型從低到高經(jīng)歷了如下5個(gè)發(fā)展層次。(1)線性腳本:由測(cè)試工具錄制并記錄軟件操作過程和輸入數(shù)據(jù)后形成的腳本,通過回放來重復(fù)人工操作的過程,一般用于簡(jiǎn)單測(cè)試或者作為基本腳本供修改后進(jìn)一步使用。(2)結(jié)構(gòu)化腳本:類似于結(jié)構(gòu)化程序,具有順序、分支、循環(huán)等邏輯結(jié)構(gòu)。(3)數(shù)據(jù)驅(qū)動(dòng)腳本:將測(cè)試數(shù)據(jù)和具體測(cè)試執(zhí)行過程分離,將測(cè)試輸入數(shù)據(jù)存儲(chǔ)在獨(dú)立的數(shù)據(jù)文件或數(shù)據(jù)庫(kù)中。執(zhí)行相同的測(cè)試步驟,使用不同的測(cè)試數(shù)據(jù)。(4)關(guān)鍵字驅(qū)動(dòng)腳本:用一系列關(guān)鍵字指定要執(zhí)行的測(cè)試任務(wù)。第二節(jié)自動(dòng)化軟件測(cè)試(四)自動(dòng)化測(cè)試框架3.自動(dòng)化測(cè)試框架的類型

基本的自動(dòng)化測(cè)試框架主要分為以下幾種類型。(1)測(cè)試腳本模塊化框架(TestScriptModularityFramework)(2)測(cè)試庫(kù)架構(gòu)框架(TestLibraryArchitectureFramework)(3)數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架(Data-DrivenTestingFramework)(4)關(guān)鍵字驅(qū)動(dòng)或表驅(qū)動(dòng)測(cè)試框架(Keyword-DrivenorTable-DrivenTestingFramework)(5)混合測(cè)試自動(dòng)化框架(HybridTestAutomationFramework)第二節(jié)自動(dòng)化軟件測(cè)試(四)自動(dòng)化測(cè)試框架4.自動(dòng)化測(cè)試框架ATF

ATF的主要特點(diǎn)如下:軟件自動(dòng)化測(cè)試全流程管理、線上化管理、集中化管理平臺(tái)??蓪?shí)現(xiàn)界面、接口、移動(dòng)端功能、移動(dòng)端兼容和移動(dòng)端性能的自動(dòng)化測(cè)試。自動(dòng)化生成高覆蓋的測(cè)試用例??煽珥?xiàng)目定時(shí)、預(yù)約、立即執(zhí)行用例,通過視頻、截圖和日志查看確認(rèn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論