針對(duì)本文探討的軟件自動(dòng)化測(cè)試項(xiàng)目,挑選工具的重要評(píng)判標(biāo)準(zhǔn)有如下幾點(diǎn):

  1.工具成熟性,復(fù)雜工作流軟件白動(dòng)化測(cè)試方法的研究第二章軟件測(cè)試?yán)碚撆c技術(shù)基礎(chǔ)成熟性指工具是否有著足夠廣泛的使用度,是否經(jīng)歷過(guò)足夠的時(shí)間考驗(yàn),是否經(jīng)過(guò)足夠?qū)嵺`的檢驗(yàn)。

  由于WOA軟件自動(dòng)化測(cè)試項(xiàng)目并非一個(gè)短期的、試驗(yàn)性的項(xiàng)目,而是一個(gè)需要長(zhǎng)期進(jìn)行并推廣的項(xiàng)目。因此,冷門(mén)或是新穎的工具并不合適此項(xiàng)目。此類工具的穩(wěn)定性以及未來(lái)的發(fā)展性沒(méi)有保障。對(duì)于長(zhǎng)期的軟件自動(dòng)化測(cè)試項(xiàng)目,風(fēng)險(xiǎn)過(guò)大。

  2.資料全面性,由于在軟件自動(dòng)化測(cè)試項(xiàng)目的進(jìn)行過(guò)程中,必然會(huì)遇到各類問(wèn)題。若工具的資料不夠全面,沒(méi)有足夠好的產(chǎn)品服務(wù),沒(méi)有強(qiáng)大的社區(qū)交互支持,那么,每次問(wèn)題的解決過(guò)程都將變得非常艱苦,容易造成時(shí)間的大量浪費(fèi)。項(xiàng)目進(jìn)度難以評(píng)估,成本難以控制。

  3.工具對(duì)象識(shí)別能力,雖然自動(dòng)化工具未必是基于Gu一 (Graphieuser,s一nterfaee,用戶圖形界面)進(jìn)行的,但基于GUI進(jìn)行的自動(dòng)化測(cè)試有其明顯的好處?能夠更好的模擬真實(shí)的用戶操作。不但可以測(cè)試到底層的問(wèn)題,還能測(cè)到表層問(wèn)題,如頁(yè)面的巧錯(cuò)誤等。

  因此,一個(gè)自動(dòng)化測(cè)試工具的識(shí)別對(duì)象能力非常重要。一個(gè)的自動(dòng)化測(cè)試工具應(yīng)當(dāng)擁有良好的控件識(shí)別機(jī)制,并有快速準(zhǔn)確的識(shí)別能力。自動(dòng)化測(cè)試工具不但應(yīng)該能夠良好識(shí)別頁(yè)面上的各種常見(jiàn)對(duì)象:如文字、超鏈接、圖片、文本框、密碼框、單選框、下拉框、頁(yè)面彈出框等等。對(duì)于一些系統(tǒng)自定義控件,也應(yīng)該支持自定義描述,提供對(duì)象映射功能等。由于對(duì)象在頁(yè)面上的表現(xiàn)不同,并不是所有的工具和框架都能處理好各種情況,因此控件識(shí)別方面需要進(jìn)行仔細(xì)的評(píng)估。

  4.腳本語(yǔ)言支持能力,不同的自動(dòng)化工具使用的編程語(yǔ)言不盡相同,常見(jiàn)的有vBseriPt、Javaseript、Java、e#、Rubv等。

  對(duì)于腳本語(yǔ)合首先應(yīng)考慮其功能是否可以滿足需求,是否足夠強(qiáng)大。Java、c#之類的高級(jí)語(yǔ)言功能上優(yōu)勢(shì)明顯,vBscriPt、」avascriPt等腳本語(yǔ)言則需進(jìn)行仔細(xì)評(píng)估。

  5.工具的集成開(kāi)發(fā)環(huán)境,(Integratedoeve一oping〔nvironment,集成開(kāi)發(fā)環(huán)境)對(duì)于腳本開(kāi)發(fā)非常重要,一個(gè)良好的舊〔對(duì)于生產(chǎn)效率的提升是巨大的。舊〔應(yīng)提供智能提示、自動(dòng)完成、快速編譯查錯(cuò)、方便而又強(qiáng)大的調(diào)試等基本功能。

  6.團(tuán)隊(duì)協(xié)作與版本控制,復(fù)雜工作流軟件自動(dòng)化測(cè)試方法的研究第二章軟件測(cè)試?yán)碚撆c技術(shù)纂礎(chǔ)在軟件自動(dòng)化測(cè)試過(guò)程中,需要團(tuán)隊(duì)協(xié)作。因此,一個(gè)良好的版本控制環(huán)境非常重要。能夠使用遷出、遷入機(jī)制將自動(dòng)化內(nèi)容管理起來(lái)。保存每個(gè)遷入的版本,在需要回退的時(shí)候能夠方便的找到歷史版本并進(jìn)行回退。這樣能避免誤操作帶來(lái)的損失,才能讓工作中的協(xié)作更為出色。

  7.執(zhí)行控制與執(zhí)行報(bào)告,自動(dòng)化測(cè)試與功能測(cè)試一樣,需要進(jìn)行多次的“執(zhí)行”,測(cè)試執(zhí)行能力對(duì)于自動(dòng)化測(cè)試工具而言非常重要。由于自動(dòng)化測(cè)試的優(yōu)勢(shì)之一便是可以進(jìn)行無(wú)人值守的“自動(dòng)”執(zhí)行。因此,工具提供的執(zhí)行方式應(yīng)當(dāng)多種多樣,不但需要能夠方便的進(jìn)行手動(dòng)驅(qū)動(dòng),還需提供自動(dòng)驅(qū)動(dòng),定時(shí)驅(qū)動(dòng)等功能。此外,自動(dòng)化工具還應(yīng)一記錄每次運(yùn)行的詳情,能夠自動(dòng)生成內(nèi)容詳細(xì)的,可以定制的測(cè)試報(bào)告。

  8.工具容錯(cuò)處理能力,自動(dòng)化腳本運(yùn)行中,會(huì)有多種不確定的因素的干擾,如常見(jiàn)的網(wǎng)絡(luò)和服務(wù)器穩(wěn)定性問(wèn)題等。工具應(yīng)提供恢復(fù)機(jī)制,能夠讓測(cè)試人員對(duì)于意外情況進(jìn)行自定義配置,關(guān)聯(lián)特定的恢復(fù)清理腳本。測(cè)試用例的編寫(xiě)與自動(dòng)化工具的選擇都是決定軟件自動(dòng)化項(xiàng)目成敗的重要環(huán)節(jié),下一章將結(jié)合本文著重介紹的WOA項(xiàng)目,具體闡述該項(xiàng)目的需求、工具選擇、設(shè)計(jì)與具體實(shí)現(xiàn)。