針對本文探討的軟件自動化測試項目,挑選工具的重要評判標(biāo)準(zhǔn)有如下幾點:

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

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

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

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

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

  4.腳本語言支持能力,不同的自動化工具使用的編程語言不盡相同,常見的有vBseriPt、Javaseript、Java、e#、Rubv等。

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

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

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

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

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