當(dāng)一個(gè)軟件從雛形到真正的在一臺(tái)計(jì)算機(jī)上運(yùn)行的時(shí)候,誰(shuí)也不能保證計(jì)算機(jī)軟件能一步到位的滿(mǎn)足人們的需求。所以就有了軟件測(cè)試。以下是小編整理的軟件的自動(dòng)化測(cè)試論文,希望能讓你更加了解軟件的自動(dòng)化測(cè)試。
1、軟件測(cè)試自動(dòng)化簡(jiǎn)介
談到自動(dòng)化測(cè)試,一般就會(huì)提到測(cè)試工具。許多人覺(jué)得使用測(cè)試工具就是實(shí)現(xiàn)了測(cè)試自動(dòng)化,這種理解是不對(duì)的,至少是片面的。的確,測(cè)試工具的使用是自動(dòng)化測(cè)試的一部分工作,但“用測(cè)試工具進(jìn)行測(cè)試”不等于“自動(dòng)化測(cè)試”。
自動(dòng)化為測(cè)試而存在的,所以自動(dòng)化測(cè)試的真正含義可以理解為“一切可以由測(cè)試是相對(duì)手計(jì)算機(jī)系統(tǒng)自動(dòng)完成的測(cè)試任務(wù)都已經(jīng)由計(jì)算機(jī)系統(tǒng)或軟件工具、程序來(lái)承擔(dān)并自動(dòng)執(zhí)行”。它包含了下列3層含義:
“一切”,不僅僅指測(cè)試執(zhí)行的工作——對(duì)被測(cè)試的對(duì)象進(jìn)行驗(yàn)證,還包括測(cè)試的其它工作,如缺陷管理、測(cè)試管理、環(huán)境安裝、設(shè)置和維護(hù)等。
“可以”,意味著某些工作無(wú)法由系統(tǒng)自動(dòng)完成,如腳本的開(kāi)發(fā)、測(cè)試用例的設(shè)計(jì),需要?jiǎng)?chuàng)造性,其工作需要手工處理。
即使由系統(tǒng)進(jìn)行自動(dòng)化測(cè)試,還少不了人的干預(yù),包括事先安排自動(dòng)化測(cè)試任務(wù)、測(cè)試結(jié)果分析、調(diào)試測(cè)試腳本等。
嚴(yán)格意義上,“自動(dòng)化測(cè)試(Automated Testing)”不等于“測(cè)試自動(dòng)化(Test Automation)”。自動(dòng)化測(cè)試,模擬手工測(cè)試步驟,通過(guò)執(zhí)行程序語(yǔ)言編制的測(cè)試腳本自動(dòng)地測(cè)試軟件,自動(dòng)地實(shí)施軟件的單元測(cè)試、功能測(cè)試、負(fù)載測(cè)試或性能測(cè)試等。自動(dòng)化測(cè)試集中體現(xiàn)在實(shí)際測(cè)試執(zhí)行(test execution)的過(guò)程,也就是由手工逐個(gè)地運(yùn)行測(cè)試用例的操作過(guò)程被測(cè)試工具自動(dòng)執(zhí)行的過(guò)程所代替。自動(dòng)化測(cè)試,強(qiáng)調(diào)借助工具(不僅僅是工具,有時(shí)包括策略和工件)來(lái)完成測(cè)試的執(zhí)行,也就是用工具來(lái)幫助或輔助測(cè)試,這個(gè)執(zhí)行過(guò)程可能是全自動(dòng)的,也可能是半自動(dòng)的。
測(cè)試自動(dòng)化的要求高得多,側(cè)重說(shuō)明將測(cè)試用自動(dòng)化設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程,即所有的測(cè)試工作都能有計(jì)算機(jī)系統(tǒng)自動(dòng)完成,包括:測(cè)試環(huán)境的搭建和設(shè)置,如上載安裝包到服務(wù)器;腳本自動(dòng)生成,如根據(jù)UML狀態(tài)圖、時(shí)序圖等生成可運(yùn)行的測(cè)試腳本;測(cè)試數(shù)據(jù)的自動(dòng)產(chǎn)生,例如自動(dòng)產(chǎn)生數(shù)據(jù)負(fù)載測(cè)試所需要的大量數(shù)據(jù);測(cè)試操作步驟的自動(dòng)執(zhí)行,包括測(cè)試執(zhí)行過(guò)程的控制;測(cè)試結(jié)果分析,實(shí)際輸出和預(yù)期輸出的自動(dòng)對(duì)比分析;測(cè)試流程的自動(dòng)處理,即測(cè)試工作流的自動(dòng)實(shí)現(xiàn),包括測(cè)試計(jì)劃復(fù)審和批準(zhǔn)、測(cè)試任務(wù)安排和執(zhí)行、缺陷生命周期等流程的自動(dòng)化處理。測(cè)試報(bào)告自動(dòng)生成功能等。
這樣,測(cè)試自動(dòng)化意味著測(cè)試全過(guò)程的自動(dòng)化和測(cè)試管理工作的完全自動(dòng)化,是測(cè)試工程師所追求的一種理想境界,但是很難實(shí)現(xiàn)的。
自動(dòng)化測(cè)試方案選擇需要考慮的方面:
自動(dòng)化測(cè)試和手工測(cè)試都不影響測(cè)試的有效性和仿效性,自動(dòng)化測(cè)試只是對(duì)測(cè)試的經(jīng)濟(jì)性和修改性有影響,自動(dòng)化測(cè)試通常要比手動(dòng)測(cè)試經(jīng)濟(jì)得多,自動(dòng)化測(cè)試的方法越好,長(zhǎng)期使用獲得的收益就越大。
2、采用什么樣的自動(dòng)化測(cè)試方案,需要考慮以下幾個(gè)方面的因素
1)項(xiàng)目的影響:自動(dòng)化測(cè)試能否幫助你的項(xiàng)目進(jìn)度、覆蓋率、風(fēng)險(xiǎn),或者讓開(kāi)發(fā)更敏捷?
2)復(fù)雜度:自動(dòng)化是否容易實(shí)現(xiàn),包括數(shù)據(jù)和其他環(huán)境的影響。
3)時(shí)間:自動(dòng)化測(cè)試的實(shí)現(xiàn)需要多少時(shí)間?
4)早期需求和代碼的穩(wěn)定性:需求或早期的代碼是否能證明是在范圍內(nèi)變化的?
5)維護(hù)工作量:代碼是否能長(zhǎng)期保持相對(duì)穩(wěn)定?功能特性是否會(huì)進(jìn)化?
6)覆蓋率:自動(dòng)化測(cè)試能否覆蓋程序的關(guān)鍵特性和功能?
7)資源:測(cè)試組是否擁有足夠的人力資源、硬件資源和數(shù)據(jù)資源來(lái)運(yùn)行自動(dòng)化測(cè)試。
8)自動(dòng)化測(cè)試的執(zhí)行:負(fù)責(zé)執(zhí)行自動(dòng)化測(cè)試的小組是否擁有足夠的技能和時(shí)間去運(yùn)行自動(dòng)化測(cè)試。
3、適合自動(dòng)化測(cè)試的場(chǎng)景主要為
1)測(cè)試任務(wù)明確,不會(huì)頻繁變動(dòng)。2)每日構(gòu)建后的測(cè)試驗(yàn)證。3)回歸測(cè)試、壓力測(cè)試、性能測(cè)試。4)軟件系統(tǒng)界面穩(wěn)定,改動(dòng)較少。5)需要在多種平臺(tái)上運(yùn)行相同的測(cè)試案例、組合遍歷型的測(cè)試、大量重復(fù)的測(cè)試任務(wù)。6)軟件維護(hù)周期長(zhǎng)。7)待測(cè)軟件系統(tǒng)開(kāi)發(fā)比較規(guī)范,能夠保證系統(tǒng)的可測(cè)性。8)項(xiàng)目進(jìn)度壓力不大。9)具備大容量的自動(dòng)化測(cè)試平臺(tái)。10)測(cè)試人員具備較強(qiáng)的編程能力。
4、軟件測(cè)試自動(dòng)化的實(shí)施步驟
我們對(duì)自動(dòng)化測(cè)試充滿(mǎn)了希望,然而,自動(dòng)化測(cè)試卻經(jīng)常帶給我們沮喪和失望。雖然,自動(dòng)化測(cè)試可以把我們從困難的環(huán)境中解放出來(lái),在實(shí)施自動(dòng)化測(cè)試解決問(wèn)題的同時(shí),又帶來(lái)同樣多的問(wèn)題。本文介紹自動(dòng)化測(cè)試的6個(gè)步驟:改進(jìn)自動(dòng)化測(cè)試過(guò)程,定義需求,驗(yàn)證概念,支持產(chǎn)品的可測(cè)試性,具有可延續(xù)性的設(shè)計(jì)(design for sustainability),有計(jì)劃的部署等。
首先了解下幾個(gè)使自動(dòng)化測(cè)試項(xiàng)目陷入困境的原因:
1)自動(dòng)化測(cè)試時(shí)間不充足。
2)缺乏經(jīng)驗(yàn):嘗試測(cè)試自己的程序的程序員經(jīng)常采用自動(dòng)化測(cè)試。由于缺乏經(jīng)驗(yàn),很難保證自動(dòng)化測(cè)試的順利開(kāi)展。
3)更新?lián)Q代頻繁(High turnover):當(dāng)自動(dòng)化測(cè)試更新?lián)Q代頻繁的時(shí)候,你就喪失了剛剛學(xué)習(xí)到的自動(dòng)化測(cè)試經(jīng)驗(yàn)。
4)不愿思考軟件測(cè)試:很多人發(fā)現(xiàn)實(shí)現(xiàn)產(chǎn)品的自動(dòng)化測(cè)試比測(cè)試本身更有趣。自動(dòng)化工程師不參與到軟件測(cè)試的具體活動(dòng)中。
5)關(guān)注于技術(shù):如何實(shí)現(xiàn)軟件的自動(dòng)化測(cè)試是個(gè)技術(shù)問(wèn)題。不過(guò),過(guò)多的關(guān)注如何實(shí)現(xiàn)自動(dòng)化測(cè)試,導(dǎo)致忽略了自動(dòng)化測(cè)試方案是否符合測(cè)試需要。
在自動(dòng)化測(cè)試開(kāi)發(fā)過(guò)程中遵守已經(jīng)建立的軟件開(kāi)發(fā)規(guī)則,按照在軟件開(kāi)發(fā)項(xiàng)目中采用的標(biāo)準(zhǔn)步驟,實(shí)現(xiàn)測(cè)試自動(dòng)化:
步驟一:改進(jìn)軟件測(cè)試過(guò)程。
采用列有產(chǎn)品特性的列表,然后對(duì)照列表檢查。回歸測(cè)試檢查列表可以告訴應(yīng)該測(cè)試哪些方面。在開(kāi)始測(cè)試之前,需要完善回歸測(cè)試檢查表,并且確保已經(jīng)采用了確定的的測(cè)試方法,指明測(cè)試中需要什么樣的數(shù)據(jù),并給出設(shè)計(jì)數(shù)據(jù)的完整方法。確認(rèn)可以提供上面提到的文檔后,需要明確測(cè)試設(shè)計(jì)的細(xì)節(jié)描述,還應(yīng)該描述測(cè)試的預(yù)期結(jié)果。在開(kāi)始更為完全意義上的測(cè)試自動(dòng)化之前,必須已經(jīng)完成了測(cè)試設(shè)計(jì)文檔。測(cè)試設(shè)計(jì)是測(cè)試自動(dòng)化最主要的測(cè)試需求說(shuō)明。
步驟二:定義需求。
應(yīng)該有一份自動(dòng)化測(cè)試需求,用來(lái)描述需要測(cè)試什么。測(cè)試需求應(yīng)該在測(cè)試設(shè)計(jì)階段詳細(xì)描述出來(lái),自動(dòng)化測(cè)試需求描述了自動(dòng)化測(cè)試的目標(biāo)。
步驟三:驗(yàn)證概念。
盡可能快地驗(yàn)證采用的測(cè)試工具和測(cè)試方法的可行性,站在產(chǎn)品的角度驗(yàn)證所測(cè)試的產(chǎn)品采用自動(dòng)化測(cè)試的可行性。需要盡快地找出可行性問(wèn)題的答案,需要確定你的測(cè)試工具和測(cè)試方法對(duì)于被測(cè)試的產(chǎn)品和測(cè)試人員是否合適。
驗(yàn)證概念的試驗(yàn)主要有:
回歸測(cè)試:回歸測(cè)試是最宜采用自動(dòng)化測(cè)試的環(huán)節(jié)。
配置測(cè)試:你的軟件支持多少種不同的平臺(tái)?你打算在所有支持的平臺(tái)上測(cè)試執(zhí)行所有的測(cè)試用例嗎?那么采用自動(dòng)化測(cè)試是有幫助的。
測(cè)試環(huán)境建立:對(duì)于大量不同的測(cè)試用例,可能需要相同的測(cè)試環(huán)境搭建過(guò)程。在開(kāi)展自動(dòng)化測(cè)試執(zhí)行之前,先把測(cè)試環(huán)境搭建實(shí)現(xiàn)自動(dòng)化。
非GUI測(cè)試:實(shí)現(xiàn)命令行和API的測(cè)試自動(dòng)化比GUI自動(dòng)化測(cè)試容易的多。
步驟四:支持產(chǎn)品的可測(cè)試性。
軟件產(chǎn)品一般會(huì)用到下面三種不同類(lèi)別的接口:命令行接口(command line interfaces,縮寫(xiě)CLIs)、應(yīng)用程序接口(API)、圖形用戶(hù)接口(GUI)。
無(wú)論你需要支持圖形界面接口、命令行接口還是API接口,如果你盡可能早的在產(chǎn)品設(shè)計(jì)階段提出產(chǎn)品的可測(cè)試性設(shè)計(jì)需求,你很可能成功。
步驟五:具有可延續(xù)性的設(shè)計(jì)。
自動(dòng)化測(cè)試設(shè)計(jì)中考慮自動(dòng)化在未來(lái)的可擴(kuò)充性是很關(guān)鍵的,不過(guò),自動(dòng)化測(cè)試的完整性也是很重要的。把注意力放在通過(guò)設(shè)計(jì)保證測(cè)試的可延續(xù)性上,選擇一個(gè)合適的測(cè)試體系架構(gòu),將進(jìn)一步邁向成功的自動(dòng)化測(cè)試。主要從以下幾方面考慮,測(cè)試的可檢視性、測(cè)試的可維護(hù)性、測(cè)試的完整性、測(cè)試的獨(dú)立性、測(cè)試的可重復(fù)性。
步驟六:有計(jì)劃的部署。
需要提供自動(dòng)化測(cè)試程序的安裝文檔和使用文檔,保證自動(dòng)化測(cè)試程序容易安裝和配置。
5、結(jié)束語(yǔ)
最后,我們還不得不承認(rèn),自動(dòng)化測(cè)試和手工測(cè)試往往交織在一起,相互補(bǔ)充,工具執(zhí)行過(guò)程往往需要人工分析,手工測(cè)試時(shí)也可以借助工具處理某些數(shù)據(jù)、日志或顯示某些信息。也就是說(shuō),不是試圖用自動(dòng)化測(cè)試來(lái)代替所有的手工測(cè)試,而應(yīng)該在尊重手工測(cè)試的同時(shí),遵守已經(jīng)建立的軟件開(kāi)發(fā)規(guī)則,按照在軟件開(kāi)發(fā)項(xiàng)目中采用的標(biāo)準(zhǔn)步驟,實(shí)現(xiàn)測(cè)試自動(dòng)化。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。