陳 凱
?
關(guān)于軟件自動(dòng)化測(cè)試技術(shù)應(yīng)用探討
陳 凱
廣州廣電運(yùn)通金融電子股份有限公司,廣東 廣州 510000
隨著軟件規(guī)模的逐漸擴(kuò)大,軟件測(cè)試的成本也越來(lái)越高,因此越來(lái)越多的軟件廠商引入了軟件自動(dòng)化測(cè)試技術(shù)以降低人力和資源成本,另一方面能夠縮短軟件的開發(fā)周期,提高軟件測(cè)試的可靠度和精確度,并在測(cè)試過(guò)程相對(duì)穩(wěn)定。研究將就軟件自動(dòng)化測(cè)試技術(shù)的應(yīng)用展開探討。
軟件;自動(dòng)化測(cè)試技術(shù);技術(shù)應(yīng)用
要確保軟件的質(zhì)量,最有效的方法之一就是進(jìn)行軟件測(cè)試,不論是何種應(yīng)用軟件,從軟件的編寫、系統(tǒng)編碼到系統(tǒng)應(yīng)用的整個(gè)軟件生存環(huán)節(jié),軟件測(cè)試都是必不可少的。[1]數(shù)據(jù)顯示,軟件開發(fā)總工作量和總成本的一半左右都是用于軟件測(cè)試的,目前軟件研發(fā)的重點(diǎn)和難點(diǎn)也是軟件測(cè)試工作,軟件領(lǐng)域?qū)<覍W(xué)者對(duì)軟件測(cè)試技術(shù)也越來(lái)越重視,現(xiàn)階段的軟件測(cè)試技術(shù)逐漸趨向自動(dòng)化和網(wǎng)絡(luò)化,這也是軟件開發(fā)技術(shù)人員的研究重點(diǎn)。
1.1 軟件自動(dòng)化測(cè)試的定義
現(xiàn)階段軟件自動(dòng)化測(cè)試的定義主要有兩種。第一是使用自動(dòng)化測(cè)試工具進(jìn)行軟件測(cè)試,不需要人工干預(yù)測(cè)試進(jìn)程和測(cè)試結(jié)果,這種測(cè)試技術(shù)一般應(yīng)用于性能測(cè)試和軟件GUI測(cè)試;第二種是使用測(cè)試軟件進(jìn)行軟件測(cè)試,控制測(cè)試過(guò)程,構(gòu)建測(cè)試的前提條件,并且能夠?qū)㈩A(yù)期測(cè)試輸出和實(shí)際輸出進(jìn)行對(duì)比,最終得到測(cè)試報(bào)告。軟件自動(dòng)化測(cè)試實(shí)際上是自動(dòng)化技術(shù)和軟件手工測(cè)試流程的有機(jī)結(jié)合。
1.2 對(duì)兩種軟件自動(dòng)化測(cè)試技術(shù)的理解
對(duì)于第一種軟件測(cè)試技術(shù),顯然更加強(qiáng)調(diào)測(cè)試過(guò)程中“不需要人工干預(yù)”,常見的測(cè)試工具有IBM Rational、Segue、Compuware等公司開發(fā)的自動(dòng)化測(cè)試軟件;對(duì)于第二種軟件測(cè)試技術(shù),定義更加廣泛,強(qiáng)調(diào)的工具而不一定是自動(dòng)化測(cè)試工具,并且自動(dòng)化測(cè)試不一定要具備自動(dòng)化測(cè)試步驟,在一些情況下,測(cè)試前提條件也是具有自動(dòng)化的可能和必要的。[2]自動(dòng)化測(cè)試軟件可能是公司根據(jù)實(shí)際需求開發(fā)的,也可能是專業(yè)開發(fā)的,顯然前者更能滿足公司的實(shí)際需求,能夠提高軟件測(cè)試的效率和質(zhì)量。
2.1 引入自動(dòng)化測(cè)試的原因
由于軟件的種類越來(lái)越多,功能也越來(lái)越復(fù)雜,采用傳統(tǒng)人工軟件測(cè)試會(huì)耗費(fèi)大量的時(shí)間和精力,也很難保證測(cè)試的準(zhǔn)確性。引入自動(dòng)化測(cè)試技術(shù),能夠節(jié)省大量的時(shí)間和人力,進(jìn)行無(wú)法自動(dòng)化的、更加深入的測(cè)試,增加測(cè)試的覆蓋率。
2.2 引入自動(dòng)化測(cè)試的利弊分析
雖然自動(dòng)化技術(shù)有很多優(yōu)點(diǎn),但是仍然無(wú)法完全代替人工軟件測(cè)試,在大部分時(shí)候特別是軟件版本升級(jí)需要進(jìn)行大量重復(fù)測(cè)試時(shí),使用自動(dòng)化測(cè)試能夠節(jié)省大量時(shí)間和人力,但是自動(dòng)化測(cè)試技術(shù)只是機(jī)械的重復(fù)人工操作的過(guò)程,尚未實(shí)現(xiàn)真正的自動(dòng)化。程序升級(jí)后代碼后可能修改了一小部分,那么采用原來(lái)的測(cè)試腳本測(cè)試,可能也不會(huì)發(fā)現(xiàn)問(wèn)題,但是這并不代表程序的實(shí)際功能不存在問(wèn)題,有可能是一些新增的功能,測(cè)試腳本并未將其包含在內(nèi);如果程序的原有代碼修改較多,那么原來(lái)的測(cè)試腳本可能無(wú)法再使用,需要再次編輯測(cè)試腳本。
這實(shí)際上體現(xiàn)出測(cè)試腳本的不固定性,導(dǎo)致測(cè)試和維護(hù)工作大大增加,拉低了工作效率。[3]采用自動(dòng)化測(cè)試技術(shù),能夠進(jìn)行回歸驗(yàn)證測(cè)試,確保當(dāng)前版本的軟件功能穩(wěn)定,并能保證在后續(xù)的升級(jí)、應(yīng)用中仍能保持穩(wěn)定性,這部分的功能測(cè)試就能夠采用自動(dòng)化測(cè)試技術(shù)完成。
3.1 按照測(cè)試功能分類
常見的有單元測(cè)試工具JUnit;壓力測(cè)試工具SQA LoadTest;功能級(jí)測(cè)試QARun、SQA Robot、e-Test;Web測(cè)試工具e-Test;數(shù)據(jù)庫(kù)測(cè)試工具TESTBytes;回歸測(cè)試工具WinRunner、Team Test;系統(tǒng)性能測(cè)試工具Performance Tester;缺陷跟蹤工具TrackRecord。
3.2 按照測(cè)試方法分類
用于黑盒測(cè)試的工具主要有SQATeamTest、QACenter和Rational Visual Test等;用于白盒測(cè)試的工具主要有Purify、BounceChecher、Macabe、TrueCoverage等。目前應(yīng)用較為普遍的工具為QACenter,測(cè)試人員能夠使用這個(gè)工具創(chuàng)建能夠重復(fù)利用的、快速的測(cè)試工程,這些測(cè)試工具能夠幫助測(cè)試人員管理測(cè)試過(guò)程、對(duì)程序進(jìn)行分析和調(diào)試等。QACenter主要包括QARun、QALoad、QADirector、TrackRecord、EcoTool模塊,能夠?qū)崿F(xiàn)功能測(cè)試、性能監(jiān)測(cè)和缺陷追蹤等全面的軟件測(cè)試功能。
4.1 運(yùn)用自動(dòng)化測(cè)試的原因分析
要合理的運(yùn)用自動(dòng)化測(cè)試技術(shù),我們首先應(yīng)該明白運(yùn)用自動(dòng)化測(cè)試的原因。軟件是需要不斷維護(hù)和升級(jí)的,升級(jí)后就需要重新測(cè)試,軟件送測(cè)的第二個(gè)版本開始就需要進(jìn)行大量的重復(fù)性測(cè)試,重復(fù)性測(cè)試是確保軟件質(zhì)量的關(guān)鍵因素,但是卻需要測(cè)試人員大量的時(shí)間和精力,并且由于測(cè)試是重復(fù)性的,因此測(cè)試人員勢(shì)必感到枯燥乏味,因此我們迫切需要采用自動(dòng)化測(cè)試技術(shù)代替人工操作,轉(zhuǎn)而進(jìn)行更加深入和全面的軟件測(cè)試。
4.2 了解自動(dòng)化測(cè)試的對(duì)象
要對(duì)自動(dòng)化測(cè)試的對(duì)象有充分的了解,以制定自動(dòng)化測(cè)試方案。例如測(cè)試嵌入式軟件通訊產(chǎn)品,這種產(chǎn)品具有實(shí)時(shí)應(yīng)用性,也就是測(cè)試需要依靠外界網(wǎng)絡(luò),并且網(wǎng)絡(luò)狀況會(huì)影響測(cè)試結(jié)果,因此我們必須考慮哪些項(xiàng)目可以采用自動(dòng)化測(cè)試,也就是哪些測(cè)試項(xiàng)目不會(huì)受到網(wǎng)絡(luò)狀況影響,對(duì)于這些項(xiàng)目運(yùn)用自動(dòng)化測(cè)試技術(shù),能夠有效縮短測(cè)試時(shí)間,提高軟件測(cè)試效率。
4.3 使用自動(dòng)化測(cè)試工具的種類
我們需要根據(jù)軟件的實(shí)際狀況,選擇自動(dòng)化測(cè)試工具的種類。目前市場(chǎng)上有很多自動(dòng)化測(cè)試工具,還有一些工具是開源的,但是并不適合我們的產(chǎn)品,并且錄制腳本比較麻煩,需要較多的后期維護(hù)工作,這些工具軟件本身也可能存在缺陷,會(huì)影響測(cè)試質(zhì)量和效率。對(duì)于自動(dòng)化測(cè)試工具,一般的需求可以體現(xiàn)在如下幾個(gè)方面:(1)工具操作簡(jiǎn)單,防止在使用過(guò)程中工具自身出現(xiàn)問(wèn)題;(2)輸出輸入測(cè)試腳本的編寫較為方便,減少大量后期維護(hù)工作;(3)能夠顯示特殊符號(hào),如換行符、空格等;(4)工具能夠記錄測(cè)試結(jié)果,這樣測(cè)試人員能夠找出錯(cuò)誤所在;(5)對(duì)于測(cè)試中可能發(fā)生的一些簡(jiǎn)單的特殊情況,測(cè)試工具能夠自動(dòng)處理。
4.4 自動(dòng)化測(cè)試腳本的編寫
確定自動(dòng)化測(cè)試工具后,我們需要編寫自動(dòng)化測(cè)試腳本,腳本應(yīng)該做到盡可能覆蓋測(cè)試項(xiàng)目,并且腳本的編輯語(yǔ)言能夠兼顧大部分同類軟件的需求,這樣軟件升級(jí)后,或者有新項(xiàng)目新產(chǎn)品時(shí),只需要將原有的腳本進(jìn)行簡(jiǎn)單的修改和編輯就能繼續(xù)使用,大大減少了編輯和維護(hù)測(cè)試工具的精力。
綜上,軟件自動(dòng)化測(cè)試能夠大大縮短測(cè)試周期,降低測(cè)試人員的壓力,并且有效保證軟件的質(zhì)量。根據(jù)軟件實(shí)際狀況選擇合適的測(cè)試工具,確保測(cè)試的可靠度和效率。
[1]楊雪.基于數(shù)據(jù)驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試框架[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(5):20.
[2]張忠能.基于系統(tǒng)功能測(cè)試的軟件自動(dòng)化測(cè)試可行性分析[J].計(jì)算機(jī)應(yīng)用與軟件,2005(12):65.
[3]趙明.軟件自動(dòng)化測(cè)試概述及應(yīng)用工具分析[J].計(jì)算機(jī)應(yīng)用,2007(1):122.
About Software Test Automation Technology to Explore
Chen Kai
Guangzhou radio and television financial electronic Limited by Share Ltd, Guangzhou, Guangdong 510000
With the gradual expansion of the scale of software,software testing cost is getting higher and higher,so more and more software vendors introduced software test automation technology to reduce the cost of manpower and resources,on the other hand can shorten the software development cycle,improve the reliability and the accuracy of the software testing,and in the test process is relatively stable.This article will discuss the application of software automation testing technology.
software;automated testing technology;technology application
TP311.52
A
1009-6434(2016)6-0156-02