第09章軟件測試_第1頁
第09章軟件測試_第2頁
第09章軟件測試_第3頁
第09章軟件測試_第4頁
第09章軟件測試_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第9章軟件測試自動化

9.1軟件自動化測試基礎(chǔ)9.2自動化測試的作用和優(yōu)勢9.3軟件自動化測試的引入條件9.4軟件測試自動化的實施過程9.5軟件測試工具分類9.6幾種常用軟件測試工具9.1軟件自動化測試基礎(chǔ)1.軟件自動化測試的產(chǎn)生隨著計算機(jī)日益廣泛的應(yīng)用,計算機(jī)軟件越來越龐大和復(fù)雜,軟件測試的工作量也越來越大。隨著人們對軟件測試工作的重視,大量的軟件測試自動化工具不斷涌現(xiàn)出來,自動化測試能夠滿足軟件公司想在最短的進(jìn)度內(nèi)充分測試其軟件的需求,一些軟件公司在這方面的投入,會對整個開發(fā)工作的質(zhì)量、成本和周期帶來非常明顯的效果。9.1軟件自動化測試基礎(chǔ)2.軟件自動化測試的概念

軟件測試自動化就是通過測試工具或其他手段,按照測試工程師的預(yù)定計劃對軟件產(chǎn)品進(jìn)行自動的測試,它是軟件測試的一個重要組成部分,能夠完成許多手工無法完成或者難以實現(xiàn)的一些測試工作。正確、合理地實施自動化測試,能夠快速、全面地對軟件進(jìn)行測試,從而提高軟件質(zhì)量、節(jié)省經(jīng)費(fèi)、縮短產(chǎn)品發(fā)布周期。9.1軟件自動化測試基礎(chǔ)自動化測試能夠替代大量手工測試工作,避免重復(fù)測試,同時,它還能夠完成大量手工無法完成的測試工作,如并發(fā)用戶測試、大數(shù)據(jù)量測試、長時間運(yùn)行可靠性測試等。9.1軟件自動化測試基礎(chǔ)9.2自動化測試的作用和優(yōu)勢使用測試工具的目的就是要提高軟件測試的效率和軟件測試的質(zhì)量。通常,自動化測試的好處有:產(chǎn)生可靠的系統(tǒng);改進(jìn)測試工作質(zhì)量;減少測試工作量并加快測試進(jìn)度。1.產(chǎn)生可靠的系統(tǒng)測試工作的主要目標(biāo)一是找出缺陷,從而減少應(yīng)用中的錯誤;另一個是確保系統(tǒng)的性能滿足用戶的期望。為了有效地支持這些目標(biāo),在開發(fā)生存周期的需求定義階段,當(dāng)開發(fā)和細(xì)化需求時則應(yīng)著手測試工作。9.2自動化測試的作用和優(yōu)勢使用自動化測試可改進(jìn)所有的測試領(lǐng)域,包括測試程序開發(fā)、測試執(zhí)行,測試結(jié)果分析、故障狀況和報告生成。它還支持所有的測試階段,其中包括單元測試、集成測試、系統(tǒng)測試、驗收測試與回歸測試等。9.2自動化測試的作用和優(yōu)勢通過使用自動化測試可獲得的效果可歸納如下。(1)需求定義的改進(jìn)(2)性能測試的改進(jìn)(3)負(fù)載/壓力測試的改進(jìn)(4)高質(zhì)量測量與測試最佳化(5)改進(jìn)系統(tǒng)開發(fā)生存周期(6)增加軟件信任度9.2自動化測試的作用和優(yōu)勢2.改進(jìn)測試工作質(zhì)量通過使用自動化測試工具,可增加測試的深度與廣度,改進(jìn)測試工作質(zhì)量。其具體好處可歸納如下。9.2自動化測試的作用和優(yōu)勢(1)改進(jìn)多平臺兼容性測試(2)改進(jìn)軟件兼容性測試(3)改進(jìn)普通測試執(zhí)行(4)使測試集中于高級測試問題(5)執(zhí)行手工測試無法完成的測試(6)重現(xiàn)軟件缺陷的能力9.2自動化測試的作用和優(yōu)勢3.提高測試工作效率善于使用測試工具來進(jìn)行測試,其節(jié)省時間并加快測試工作進(jìn)度是毋庸置疑的,這也是自動化測試的主要優(yōu)點。9.2自動化測試的作用和優(yōu)勢表9-1列出了采用手工和自動化測試方式完成各測試步驟所需工作量的基準(zhǔn)對比結(jié)果。該測試涉及1750個測試程序和700個錯誤。表9-1中的數(shù)字反映出通過測試自動化,測試工作總量減少75%。9.2自動化測試的作用和優(yōu)勢9.2自動化測試的作用和優(yōu)勢軟件自動化測試是軟件測試技術(shù)的一個重要的組成部分,引入自動化測試可以提高軟件質(zhì)量,節(jié)省經(jīng)費(fèi),縮短產(chǎn)品發(fā)布周期。自動化測試可以進(jìn)行基于功能、路徑、數(shù)據(jù)流或控制流的覆蓋測試,許多工作是手工測試所無法完成的。測試自動化如果實施正確的話,可以減小了測試工作規(guī)模、加快了測試進(jìn)度、生產(chǎn)出可靠的產(chǎn)品以及增強(qiáng)了測試過程。9.2自動化測試的作用和優(yōu)勢9.3軟件自動化測試的引入條件1.軟件測試自動化實施面臨的主要問題⑴一些小規(guī)模公司和企業(yè)由于人員、資金、資源都不足,干脆認(rèn)為測試自動化是個遙不可及的事情,認(rèn)為不必實施測試自動化。⑵一些公司和企業(yè)一時熱血沸騰實施測試自動化,購買了工具,推行了新的測試流程??墒且欢螘r間后,工具卻放在那里成了共享資源,測試流程又仍然依舊,回到原來的模式。

⑶一些公司和企業(yè)雖實施了自動化測試,然由于開發(fā)與測試之間,甚至與項目經(jīng)理之間矛盾重重,出了事情不知如何追究責(zé)任,雖還在勉強(qiáng)維持自動化測試,但實施成本比手工測試增加了,工作量比從前更大了,從而造成項目團(tuán)隊人員怨聲載道,更懷念手工測試的歲月,很難發(fā)揮出自動化測試的優(yōu)勢。⑷一些公司和企業(yè)自動化測試實施相對比較成功,但或多或少還有些問題,比如工具選擇不準(zhǔn)確,培訓(xùn)不到位,文檔不完備,人員分配不合理,腳本可維護(hù)度不高等,造成一種表面上的自動化測試流程,其實是一幅空架子,影響了測試質(zhì)量和測試效率的提高。9.3軟件自動化測試的引入條件2.軟件自動化測試的引入條件⑴管理層要充分意識到軟件測試自動化的重要性⑵對軟件測試自動化有正確認(rèn)識⑶有一個很好的計劃和穩(wěn)定的應(yīng)用行為⑷實施測試自動化必須進(jìn)行多方面的培訓(xùn)

(5)一個專注的、有著豐富技能的測試團(tuán)隊,并且被分配了足夠的時間和資源9.3軟件自動化測試的引入條件9.4軟件測試自動化的實施過程(1)熟悉、分析測試用例(2)把已有的測試用例歸類,寫成比較簡單的測試自動化計劃書(3)開始自動化測試程序的編寫(4)盡量用“數(shù)據(jù)驅(qū)動”來將測試覆蓋率提高(5)將測試用例寫成自動化測試程序(6)不斷地完善自動化測試系統(tǒng)9.5軟件測試工具分類

軟件測試工具的種類不少,有些以用途來分類,有些以價位來分類,有些則以使用特性來分類?;旧?,分類只是一種歸納的方式,這里按照測試工具的主要用途和應(yīng)用領(lǐng)域?qū)y試軟件做了一個整理歸納,將自動化測試工具分為以下幾類:捕獲錯誤用途;一般用途;

GUI自動化用途;專項用途;軟件產(chǎn)品功能、性能測試用途;測試管理工具;測試輔助工具。9.5軟件測試工具分類1.捕獲錯誤用途顧名思義就是用于捕獲軟件錯誤或程序調(diào)試。2.一般用途這里所說的一般用途,是指這個測試工具在進(jìn)行測試時,可以適用于大部分的軟件。9.5軟件測試工具分類3.GUI自動化用途目前許多以測試用軟件為主要產(chǎn)品的軟件公司,大多提供這類的自動化測試軟件。這類軟件除了提供在窗口界面中使用外,也有不少是針對瀏覽器接口開發(fā)的自動化測試工具。9.5軟件測試工具分類4.專項用途以專項用途為主的測試工具,就是某種專項測試的軟件。(1)專用代碼測試工具(2)白盒測試工具(3)黑盒測試工具(4)網(wǎng)絡(luò)測試工具9.5軟件測試工具分類5.軟件產(chǎn)品功能、性能測試用途這類測試工具通過自動錄制、檢測和回放用戶的應(yīng)用操作,將被測系統(tǒng)的輸出記錄同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果進(jìn)行比較。9.5軟件測試工具分類6.測試管理工具測試管理工具用于對測試進(jìn)行管理。7.測試輔助工具

這些工具本身并不執(zhí)行測試,例如它們可以生成測試數(shù)據(jù),為測試提供數(shù)據(jù)準(zhǔn)備等。9.5軟件測試工具分類9.6幾種常用軟件測試工具9.6.1QACenter

QACenter自動化測試系列工具是Compuware公司的產(chǎn)品,它能夠幫助測試人員創(chuàng)建快速、可重用的測試過程。這些測試工具可以幫助管理測試過程,快速分析和調(diào)試程序,包括針對回歸、強(qiáng)度、單元、并發(fā)、集成、移植、容量、負(fù)載測試、自動執(zhí)行測試和產(chǎn)生測試結(jié)果文檔。QACenter主要包括ˉQARun:應(yīng)用的功能測試工具ˉQALoad:強(qiáng)負(fù)載下應(yīng)用的性能測試工具ˉQADirector:測試的組織設(shè)計和創(chuàng)建以及管理工具ˉTrackRecord:集成的缺陷跟蹤管理工具ˉEcoTools:高層次的性能監(jiān)測工具ˉ

TESTBytes:測試數(shù)據(jù)生成工具9.6幾種常用軟件測試工具9.6.2WinRunner

WinRunner是MercuryInteractive公司提供的一個企業(yè)級的功能檢測工具。WinRunner使功能測試得以自動化,從而保證了應(yīng)用程序按照預(yù)定方式運(yùn)行。它以測試腳本形式將業(yè)務(wù)的過程記錄下來,并隨著相應(yīng)的應(yīng)用程序的開發(fā)或更新來支持對腳本的改進(jìn)。執(zhí)行腳本及報告結(jié)果在整個的應(yīng)用周期中可對腳本重復(fù)使用。9.6幾種常用軟件測試工具9.6.2WinRunner的測試過程主要包括如下6個階段:1).創(chuàng)建GUIMap文件:WinRunner可以通過它來識別被測試應(yīng)用程序中的GUI對象。2).創(chuàng)建測試腳本:通過錄制,編程,或兩者的組合創(chuàng)建。在錄制測試腳本時,在你想檢查被測試應(yīng)用程序響應(yīng)的地方插入驗證點。3).調(diào)試腳本:用調(diào)試(Debug)的模式運(yùn)行測試腳本以確保它們可以平穩(wěn)地運(yùn)行。還可以使用WinRunner提供的Step,StepInto,Stepout功能來調(diào)試腳本。9.6幾種常用軟件測試工具4).運(yùn)行測試:用驗證(Verify)的模式運(yùn)行測試腳本來測試你的應(yīng)用程序。當(dāng)WinRunner在運(yùn)行中碰到驗證點時,它會將被測應(yīng)用程序中的當(dāng)前數(shù)據(jù)和以前捕捉的期望數(shù)據(jù)進(jìn)行比較,如果發(fā)現(xiàn)了任何不匹配,WinRunner將會把目前的情況捕捉下來作為真實的結(jié)果。5).檢查結(jié)果:確定測試腳本的成功或是失敗。在每次測試腳本運(yùn)行結(jié)束之后,WinRunner會將結(jié)果顯示在報告中。它描述了所有在運(yùn)行中碰到的重要的事件,例如驗證點,錯誤信息,系統(tǒng)信息或是用戶信息。如果發(fā)現(xiàn)在運(yùn)行中有任何不匹配的驗證點,你可以在測試結(jié)果窗口中查看期望的和實際的結(jié)果。6).提交缺陷:如果一個測試腳本是由于所測試應(yīng)用程序中的缺陷而導(dǎo)致失敗的,你可以直接從測試結(jié)果窗口中提取缺陷的相關(guān)信息。9.6幾種常用軟件測試工具9.6.3LoadRunner

LoadRunner是MercuryInteractive公司開發(fā)的一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具,它可以通過模擬成千上用戶和實施實時監(jiān)測來確認(rèn)和查找問題。對于有實力的大公司而言,這款軟件可能比較適合,它的功能和QALoad相比不相上下。通過使用LoadRunner,企業(yè)能夠最大限度地縮短測試時間、優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。9.6幾種常用軟件測試工具

LoadRunner是一種具有較高規(guī)模適應(yīng)性的自動負(fù)載測試工具,它能預(yù)測系統(tǒng)行為,優(yōu)化性能,強(qiáng)調(diào)的是整個企業(yè)的系統(tǒng)。通過模擬實際用戶的操作行為和實行實時性能監(jiān)測,來查找和確認(rèn)存在的問題。9.6幾種常用軟件測試工具9.6幾種常用軟件測試工具步驟I:計劃測試要成功地進(jìn)行負(fù)載測試,需要制定完整的測試計劃。定義明確的測試計劃將確保制定的LoadRunner

場景能完成您的負(fù)載測試目標(biāo)。步驟II:創(chuàng)建Vuser

腳本

Vuser

通過與基于Web的應(yīng)用程序的交互來模擬真實用戶。Vuser

腳本包含場景執(zhí)行期間每個Vuser

執(zhí)行的操作。9.6幾種常用軟件測試工具步驟III:創(chuàng)建場景場景描述測試會話期間發(fā)生的事件。場景中包括運(yùn)行Vuser

的計算機(jī)列表、Vuser

運(yùn)行的腳本列表以及場景執(zhí)行期間運(yùn)行的指定數(shù)量的Vuser

或Vuser

組。您可以使用LoadRunnerController創(chuàng)建場景,創(chuàng)建手動場景或者創(chuàng)建面向目標(biāo)的場景。步驟IV:運(yùn)行場景您可以通過指示多個Vuser

同時執(zhí)行任務(wù)來模擬服務(wù)器上的用戶負(fù)載。增加或減少同時執(zhí)行任務(wù)的Vuser

數(shù)可以設(shè)置負(fù)載級別。運(yùn)行場景之前,需要設(shè)置場景配置和計劃。這將決定運(yùn)行場景時所有負(fù)載生成器和Vuser

的行為??梢赃\(yùn)行整個場景、Vuser

組或單個Vuser。場景運(yùn)行時,LoadRunner

將度量,并錄制每個Vuser

腳本中定義的事務(wù)。還可以聯(lián)機(jī)監(jiān)控系統(tǒng)的性能。9.6幾種常用軟件測試工具步驟V:監(jiān)控場景您可以使用LoadRunner

聯(lián)機(jī)運(yùn)行時、事務(wù)、系統(tǒng)資源、Web資源、Web服務(wù)器資源、Web應(yīng)用程序服務(wù)器資源、數(shù)據(jù)庫服務(wù)器資源、網(wǎng)絡(luò)延時、流媒體資源、防火墻服務(wù)器資源、ERP/CRM服務(wù)器資源、Java性能、J2EE/.NET事務(wù)細(xì)分、應(yīng)用程序部署、中間件性能、應(yīng)用程序組件和基礎(chǔ)結(jié)構(gòu)資源監(jiān)控器來監(jiān)控場景執(zhí)行。步驟VI:分析測試結(jié)果在場景執(zhí)行期間,LoadRunner

將錄制不同負(fù)載下應(yīng)用程序的性能。您可以使用LoadRunner

的圖和報告來分析應(yīng)用程序的性能。9.6.4全球測試管理系統(tǒng)

TestDirector是全球最大的軟件測試工具提供商MercuryInteractive公司生產(chǎn)的企業(yè)級測試管理工具,也是業(yè)界第一個基于Web的測試管理系統(tǒng),它可以在您公司內(nèi)部或外部進(jìn)行全球范圍內(nèi)測試的管理。通過在一個整體的應(yīng)用系統(tǒng)中集成了測試管理的各個部分,包括需求管理,測試計劃,測試執(zhí)行以及錯誤跟蹤等功能,TestDirector極大地加速了測試過程。9.6幾種常用軟件測試工具TestDirector的基本特性和功能如下:

⑴需求管理⑵計劃測試⑶測試維護(hù)⑷自動化切換機(jī)制9.6幾種常用軟件測試工具9.6.5GUI接口自動化測試工具

目前市場上有關(guān)GUI形式的自動化測試軟件種類相當(dāng)多,而且所支持的操作平臺也越來越多?;旧螱UI自動測試的原理就是以錄制和播放(RecordandReplay)為主要的操作方式。由于每一家開發(fā)公司所采用的開發(fā)技術(shù)不同,因此使用者所要學(xué)習(xí)的指令編寫方式也大不相同。9.6幾種常用軟件測試工具

雖然學(xué)習(xí)這些指令并不困難,但是要將這些測試軟件的功能發(fā)揮好,就必須非常熟悉軟件所提供的API及函數(shù),所以如果要學(xué)會所有的GUI自動測試軟件指令,也不是一件容易的事。由于GUI自動化測試軟件有相當(dāng)多的種類,在這里只介紹兩種GUI自動化測試軟件。它們分別是Rational公司發(fā)行的VisualTest與Seapine公司發(fā)行的QAWizardforWeb版本。9.6幾種常用軟件測試工具(1)VisualTest

使用VisualTest并不困難,而且熟悉MicrosoftVisualStudio的使用者會發(fā)現(xiàn)它與VisualStudio的使用界面幾乎相同。它使用類似VisualBasic的語言,編程進(jìn)行起來簡單直接,同時它也具備使用指針處理復(fù)雜數(shù)據(jù)結(jié)構(gòu)的高級功能,這讓用VisualTest更容易調(diào)用WindowsAPI。9.6幾種常用軟件測試工具(2)QAWizardQAWizard是由Seapine軟件公司開發(fā)的?;旧螿AWizard也是一個錄制和播放的自動化測試。9.6幾種常用軟件測試工具目前的版本只支持Microsoft的IE瀏覽器,而未來將推出支持Netscape瀏覽器的版本。

QAWizard最大的好處是它已經(jīng)不需要再去對所產(chǎn)生的Script進(jìn)行修改,當(dāng)然如果有必要的話,使用者也可以很容易地進(jìn)行修改。在資料存儲上它采用微軟的AccessMDB。9.6幾種常用軟件測試工具在使用QAWizard錄制使用者的操作行為時,在瀏覽器的上端會嵌入QAWizard的功能欄,這個功能欄提供了Record、Run、Pause、Stop、Checkpoint及Properties6種功能鍵。這6種功能可以讓使用者自由地操作錄制的過程。9.6幾種常用軟件測試工具9.6.6BoundsChecker

BoundsChecker是用于VisualC++開發(fā)環(huán)境所開發(fā)的程序代碼的一個很優(yōu)秀的自動捕捉錯誤及調(diào)試工具。它最主要的功能是協(xié)助程序開發(fā)人員快速找出與內(nèi)存及資源有關(guān)的錯誤,并且指出是哪一行程序代碼所導(dǎo)致的。9.6幾種常用軟件測試工具9.6.7JTEST

jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現(xiàn)java的單元測試和代碼標(biāo)準(zhǔn)校驗,來提高代碼的可靠性。9.6幾種常用軟件測試工具9.6.8JUNIT

JUnit是一個開源的java測試框架,它是Xuint測試體系架構(gòu)的一種實現(xiàn)。在JUnit單元測試框架的設(shè)計時,設(shè)定了三個總體目標(biāo),第一個是簡化測試的編寫,這種簡化包括測試框架的學(xué)習(xí)和實際測試單元的編寫;第二個是使測試單元保持持久性;第三個則是可以利用既有的測試來編寫相關(guān)的測試。9.6幾種常用軟件測試工具9.6.9JCheck

JCheck是用來分析Java執(zhí)行過程與事件的工具,它可實時監(jiān)控程序執(zhí)行的狀態(tài)。

JCheck的最大特點是能將Java語言的執(zhí)行過程以圖形化的方式表現(xiàn)出來。

JCheck提供的圖形分析讓開發(fā)人員能夠更容易了解所開發(fā)程序的邏輯部署與控制流程。9.6幾種常用軟件測試工具9.6.10CodeReview

CodeReview是針對VisualBasic開發(fā)環(huán)境所開發(fā)的程序代碼分析工具。這套工具可以檢測出Visu

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論