《自動(dòng)化測(cè)試實(shí)踐》由會(huì)員分享,可在線閱讀,更多相關(guān)《自動(dòng)化測(cè)試實(shí)踐(7頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、不久樂(lè)今天有機(jī)會(huì)和人們討論一下軟件測(cè)試自動(dòng)化的實(shí)踐,今天的話題分為兩個(gè)部分:一是軟件自動(dòng)化功能測(cè)試;尚有一部分會(huì)簡(jiǎn)介一下軟件自動(dòng)化性能測(cè)試。實(shí)踐重要涉及兩個(gè)部分:一部分是簡(jiǎn)介HP在軟件的功能和性能自動(dòng)化測(cè)試的理念,以及產(chǎn)品和技術(shù)在這方面的支持。另一部分是某些實(shí)踐案例,涉及在國(guó)內(nèi)外哪些顧客使用我們的測(cè)試工具,她們是如何去做的。
一方面是自動(dòng)化功能測(cè)試,我們討論一下她的合用范疇,或使用時(shí)機(jī)是何時(shí)。對(duì)于一種新的項(xiàng)目,例如項(xiàng)目周期很緊的功能測(cè)試項(xiàng)目,如果臨時(shí)分派30個(gè)人,按測(cè)試方案進(jìn)行手工測(cè)試的效率也許要比自動(dòng)化測(cè)試工具錄制腳本在測(cè)試的效率好的多。那么自動(dòng)化測(cè)試工具的價(jià)值在什么地方?
我們可以看一
2、下,諸多客戶如果想增長(zhǎng)某些新的功能,或者是修復(fù)bug,常常會(huì)推出產(chǎn)品新的版本,在推出的過(guò)程中,我們也懂得,除了測(cè)試修改正的模塊外,每次都要反復(fù)測(cè)試有關(guān)聯(lián)的模塊,這樣諸多時(shí)候會(huì)做大量的反復(fù)工作,人員很疲倦也達(dá)不到測(cè)試效果,自動(dòng)化功能測(cè)試工具就可以創(chuàng)立整個(gè)測(cè)試生命周期的可重用模塊,同步還能覆蓋大部分的系統(tǒng)測(cè)試,更重要的是錄制好腳本后來(lái),自動(dòng)去執(zhí)行,機(jī)器去操作,減少了人為主觀的錯(cuò)誤,同步使測(cè)試人員解脫出來(lái),專(zhuān)注新的模塊。自動(dòng)化測(cè)試最大的價(jià)值在于回歸測(cè)試。在產(chǎn)品提交過(guò)來(lái)之后要執(zhí)行“冒煙測(cè)試”,自動(dòng)化測(cè)試工具可以節(jié)省時(shí)間和金錢(qián)。圖中是國(guó)際上某金融機(jī)構(gòu)的記錄,在過(guò)去三年內(nèi)使用使用自動(dòng)化測(cè)試工具的投資回報(bào)率
3、達(dá)到 1500%。下面我們看一下自動(dòng)化測(cè)試的原理是什么。
自動(dòng)化測(cè)試發(fā)展到目前,諸多廠商走的技術(shù)路線都是類(lèi)似的,一是通過(guò)錄制生成腳本,業(yè)務(wù)人員或測(cè)試人員按正常的業(yè)務(wù)執(zhí)行流程,同步自動(dòng)化工具錄制并生成腳本,要注意的是,它錄制的不是鼠標(biāo)和鍵盤(pán)的操作,而是對(duì)象的操作,如某個(gè)button被click了一下,或某個(gè)文本框輸入了數(shù)據(jù),這樣的好處是當(dāng)button位置發(fā)生了變化,腳本會(huì)根據(jù)對(duì)象的屬性精擬定位到對(duì)象,然后進(jìn)行腳本回放,可以不需要反復(fù)修改,來(lái)執(zhí)行自動(dòng)化測(cè)試。當(dāng)錄制好腳本后,也許要執(zhí)行測(cè)試數(shù)據(jù)的參數(shù)化。
錄制的也許是一套數(shù)據(jù),如錄制登錄操作,也許錄制的是對(duì)的的顧客名和密碼,但實(shí)際執(zhí)行測(cè)試的時(shí)候也
4、許需要諸多的組合,例如對(duì)的的顧客名、錯(cuò)誤的密碼,空顧客名、空密碼等等,這時(shí)候你需要對(duì)輸入的數(shù)據(jù)進(jìn)行參數(shù)化。那么需要這種參數(shù)表對(duì)參數(shù)進(jìn)行定義。接下來(lái)第三點(diǎn)是自動(dòng)化測(cè)試以功能測(cè)試與否對(duì)的作為成果來(lái)判斷的,它需要定義對(duì)的的檢查點(diǎn),就是說(shuō)我可以通過(guò)對(duì)象的屬性或界面的文字去判斷我的功能執(zhí)行是不是對(duì)的的。尚有一種比較重要的,也是諸多朋友容易忽視的,就是最后的測(cè)試報(bào)告。測(cè)試運(yùn)營(yíng)完后來(lái),我需要根據(jù)我的檢查點(diǎn)去判斷我的運(yùn)營(yíng)成果如何,有的產(chǎn)品的報(bào)告也許是文字型的,但事實(shí)上對(duì)于諸多測(cè)試需要圖形化的報(bào)告,可以看到我的檢查點(diǎn)是什么,執(zhí)行的時(shí)候是什么狀況,為什么會(huì)浮現(xiàn)錯(cuò)誤?;谝陨线@些,我們可以看到當(dāng)使用軟件測(cè)試自動(dòng)化工
5、具的時(shí)候需要考慮什么問(wèn)題:
1.工具要有對(duì)對(duì)象較好的辨認(rèn)和維護(hù)的能力,支持多種老式和新的技術(shù),象今天上午的調(diào)研報(bào)告里反映的,諸多朋友也都關(guān)懷自動(dòng)化測(cè)試工具與否支持某些新的技術(shù),此外,還需要統(tǒng)一的對(duì)象庫(kù),腳本可以基于對(duì)象庫(kù)統(tǒng)一管理對(duì)象,當(dāng)對(duì)象庫(kù)的某一對(duì)象發(fā)生變化時(shí),如中文版的button上是“擬定”,英文版也許就是“ok”,可以更改對(duì)象庫(kù)中對(duì)象的屬性,就不需要打開(kāi)每個(gè)腳本進(jìn)行修改,尚有一種比較重要的是對(duì)象庫(kù)的圖形化操作,也許會(huì)有些對(duì)象庫(kù)的合并、分拆等等。
2.就是腳本要易于修改和維護(hù),不僅僅是腳本的語(yǔ)言,更重要的是要提供腳本圖形化的編輯。雖然測(cè)試人員諸多是從開(kāi)發(fā)人員轉(zhuǎn)換過(guò)來(lái)的,但測(cè)試人員不等
6、于開(kāi)發(fā)人員,那么工具的使用是要易于理解和掌握,像有的顧客甚至是業(yè)務(wù)人員和開(kāi)發(fā)人員一起錄制腳本,這時(shí)候工具對(duì)于業(yè)務(wù)人員要易于理解和掌握,要可以懂得工具是如何用的。尚有就是離線編輯,不用起應(yīng)用也可以進(jìn)行腳本編輯。
3.測(cè)試數(shù)據(jù)的驅(qū)動(dòng),數(shù)據(jù)表要易于編輯和維護(hù),數(shù)據(jù)參數(shù)化操作。
4.檢查點(diǎn),支持多種檢查點(diǎn),如對(duì)象、文本、位圖。
5.成果報(bào)告,剛剛我們也提到,成果報(bào)告的圖形化也是很有必要的,并且要易于瀏覽。下面我們看看惠普提供的有關(guān)功能測(cè)試套件,上午的調(diào)研報(bào)告中我不久樂(lè)的看到,對(duì)自動(dòng)化測(cè)試工具在公司中應(yīng)用的調(diào)查成果,WinRunner是排在第一位的,但事實(shí)上HP同步尚有此外一種自動(dòng)化測(cè)試工具產(chǎn)品,
7、就是Quit Test Professional,即QTP。目前,HP是把WinRunner和QTP作為整體的功能測(cè)試套件提供。WinRunner比較關(guān)注老式的應(yīng)用,如初期的Delphi、PowerBuilder;QTP關(guān)注新興技術(shù),如.NET、新的WebService、無(wú)線、VMWare桌面支持的測(cè)試,QTP 都可以支持。同步這兩個(gè)產(chǎn)品又有通用的覆蓋面,涉及像Web、VB、Activex等等,但我們向顧客推薦QTP,由于它具有靈活、易用、簡(jiǎn)樸的特性。它不僅提供腳本語(yǔ)言的編輯,同步還提供核心字視圖界面。在界面中它對(duì)每一種對(duì)象進(jìn)行梳理、提取,同步下面又提供數(shù)據(jù)表和實(shí)時(shí)的捕獲,這樣顧客可以很以便的
8、編輯。同步也可以把對(duì)象選擇進(jìn)來(lái),離線編輯腳本。此外還提供ActiveScreen技術(shù),可以界面快照,然后對(duì)快照添加驗(yàn)證點(diǎn)、測(cè)試環(huán)節(jié),甚至離線編輯。
下面是我們?cè)陂L(zhǎng)期的工作過(guò)程中總結(jié)的自動(dòng)化功能測(cè)試的原則:
· 就是選擇合適的被測(cè)應(yīng)用;
· 就是要選擇合適的案例;
· 設(shè)計(jì)自動(dòng)化功能測(cè)試框架;
· 自動(dòng)化測(cè)試事實(shí)上是這種規(guī)模效應(yīng),覆蓋率達(dá)到一定規(guī)模,她的效果才干體現(xiàn)出來(lái),同步也是要不斷積累和完善的。
1.選擇合適的被測(cè)應(yīng)用:
· 工具相應(yīng)用界面開(kāi)發(fā)技術(shù)的支持限度
· 生命周期長(zhǎng),但是常常變更和升級(jí)
· 界面變化相對(duì)不大
· 開(kāi)發(fā)已經(jīng)基本完畢
· 回歸測(cè)試階段
9、
· 檢查已知錯(cuò)誤與否重現(xiàn)
· 發(fā)現(xiàn)修改導(dǎo)致的新錯(cuò)誤
2.選擇合適的案例
· 高業(yè)務(wù)風(fēng)險(xiǎn)
· 手工測(cè)試復(fù)雜度高
· 實(shí)現(xiàn)自動(dòng)化測(cè)試難度低
· 前期測(cè)試發(fā)現(xiàn)缺陷比較多
案例評(píng)估措施
這個(gè)片子是簡(jiǎn)介如何評(píng)估業(yè)務(wù)的風(fēng)險(xiǎn)。重要從業(yè)務(wù)風(fēng)險(xiǎn)評(píng)估和技術(shù)風(fēng)險(xiǎn)評(píng)估兩方面來(lái)說(shuō)。從不同的維度來(lái)評(píng)估你的業(yè)務(wù)是不是具有高風(fēng)險(xiǎn)。
3.規(guī)模效應(yīng),不斷完善積累
· 設(shè)計(jì)先行
· 覆蓋率越高,價(jià)值越明顯
· 覆蓋率和投入成正比
· 不要一開(kāi)始就盼望高覆蓋率
· 逐漸使用,逐漸發(fā)展,逐漸完善
此外一方面,對(duì)于自動(dòng)化功能測(cè)試僅僅錄制回放是不夠的:
· 設(shè)計(jì)自動(dòng)化功能測(cè)試框架
10、
· 業(yè)務(wù)人員和技術(shù)人員的協(xié)同工作
· 大批量腳本的調(diào)度
· 重用需要實(shí)現(xiàn)腳本調(diào)度
· 數(shù)據(jù)驅(qū)動(dòng)的規(guī)定
· 界面一旦變化的維護(hù)規(guī)定
4.自動(dòng)化功能測(cè)試設(shè)計(jì)框架
這里我們提出的自動(dòng)化功能測(cè)試設(shè)計(jì)框架應(yīng)當(dāng)涉及的內(nèi)容,一方面最核心的是中心管理,我們一方面應(yīng)當(dāng)有自己的庫(kù)(Central Management),去集中管理所有的自動(dòng)化測(cè)試腳本;上面一層是功能庫(kù)(Functional Lib),是某些可以提取的函數(shù);再上面一層是業(yè)務(wù)組件(Logic Components),把被測(cè)系統(tǒng)可重用的組件提取出來(lái);再上面一層是控制器(Controller),可以控制、組織業(yè)務(wù)組件,形成一種
11、個(gè)業(yè)務(wù)流程;再上面是調(diào)用的腳本(Load Scripting),實(shí)現(xiàn)腳本的調(diào)度。下面我們來(lái)看一下,老式的自動(dòng)化功能測(cè)試是序列化的,從登錄、創(chuàng)立訂單、查看訂單到退出,是一步步做的,數(shù)據(jù)往往和腳本是捆綁在一起的,對(duì)腳本的調(diào)用還是需要用寫(xiě)代碼的方式來(lái)維護(hù)。而HP的業(yè)務(wù)流程測(cè)試(Business Process Testing)—基于Web的無(wú)測(cè)試腳本的功能測(cè)試,它與老式的自動(dòng)化功能測(cè)試的區(qū)別是:
· 使業(yè)務(wù)人員參與自動(dòng)化功能測(cè)試的設(shè)計(jì)和使用,及早進(jìn)行測(cè)試規(guī)劃
· 業(yè)務(wù)人員使用自然語(yǔ)言定義組件;測(cè)試人員腳本實(shí)現(xiàn)
· 使用應(yīng)用界面流和數(shù)據(jù)創(chuàng)立測(cè)試案例
· 大量減少自動(dòng)化測(cè)試案例維護(hù)時(shí)間
12、
· QTP/WR與TD for QC集成實(shí)現(xiàn)
外面的展廳中,我的同事會(huì)有某些實(shí)時(shí)的demo展示,人們?nèi)绻袗?ài)好可以在間歇的時(shí)候去看一下,業(yè)務(wù)流程測(cè)試怎么樣以便的協(xié)助顧客實(shí)現(xiàn)自動(dòng)化功能測(cè)試的框架。這個(gè)圖是HP的質(zhì)量中心的框架圖,在軟件質(zhì)量管理講演中會(huì)對(duì)它具體簡(jiǎn)介,這里我就不具體簡(jiǎn)介了。
第二部分給人們簡(jiǎn)介軟件自動(dòng)化性能測(cè)試。解說(shuō)之前,我一方面問(wèn)人們一種問(wèn)題,有多少人用過(guò) LoadRunner?好,我本來(lái)想如果用的人多的話我就著重簡(jiǎn)介某些新的特性,目前看來(lái)人們用的不多,我還是具體簡(jiǎn)介一下。前面我們簡(jiǎn)介的是功能測(cè)試,重要是在功能上看產(chǎn)品和業(yè)務(wù)的相應(yīng)狀況,能不能滿足業(yè)務(wù)需求。但同步我們也懂得產(chǎn)
13、品的使用往往不是一兩個(gè)人,少則幾十,多則上千,那么產(chǎn)品上線后來(lái)是不是可以支撐這樣多顧客,因此要做性能測(cè)試,她與功能測(cè)試尚有個(gè)區(qū)別是,功能測(cè)試還是可以靠人力去做,但性能測(cè)試往往無(wú)法靠人力做的,由于沒(méi)有措施做到這樣多人同步做一種操作,并計(jì)算響應(yīng)時(shí)間。作為性能測(cè)試,我們往往面臨某些問(wèn)題:1.性能測(cè)試目的不明確;2.業(yè)務(wù)部門(mén)和測(cè)試團(tuán)隊(duì)缺少通用語(yǔ)言;3.腳本能否錄制和回放;4.場(chǎng)景如何接近真實(shí)地模擬;5.瓶頸定位。
HP LoadRunner作為業(yè)界領(lǐng)先的自動(dòng)化壓力測(cè)試工具,它具有諸多功能:1.使用成百上千的虛擬顧客替代真實(shí)顧客;2.從單一控制點(diǎn)對(duì)系統(tǒng)產(chǎn)生精確的,可測(cè)量和可反復(fù)的負(fù)載,并且提供無(wú)代理的監(jiān)控;3.強(qiáng)大的分析器,協(xié)助查明系統(tǒng)瓶頸。
然后我們可以看一下 LoadRunner如何工作?
· 將業(yè)務(wù)流程錄制為自動(dòng)化腳本,例如股票交易應(yīng)用中的 “買(mǎi)入”;
· 添加事務(wù), 參數(shù)化輸入數(shù)據(jù), 添加驗(yàn)證點(diǎn);
· 模擬顧客行為,例如網(wǎng)絡(luò)連接類(lèi)型,頻率等…