Clayton Neal在軟件測試和質量保證方面有超過13年的經驗,其中有八年的Windows, web,和移動應用程序的測試自動化經驗。他在測試領域的所有等級都工作過。近他在Bloomberg and Misys擔任QA經理。同時他還是Sogeti的自動化測試顧問。Clayton對自動化測試超迷戀,還見識了如何親自成功實施測試自動化。 |
測試自動化的好處我們都很清楚,更快地反饋問題,減少手工測試,持續(xù)集成是其中隨口可舉的。測試團隊成員越多,公司使用自動化越多,越好。為此,我們必須脫離實施測試自動化的技術方面,而去考慮編寫和運行自動化測試的非技術員工層面。無論開發(fā)團隊是否在做敏捷驗收測試驅動開發(fā)(ATDD),敏捷行為驅動開發(fā)(BDD)或使用傳統(tǒng)的瀑布方法,團隊可用來進行自動化的成員越多,自動化測試覆蓋范圍越廣。
關鍵字驅動測試是一種由自動化工程師開發(fā)被測應用程序內可重復使用行為的方法。然后非技術用戶可以用任何輸入參數(shù)將所得的可重復使用的關鍵字行為庫進行排序,確定測試用例。比如,一個關鍵字可以是點擊按鈕(在一個按鈕控件上點擊)或輸入文本(在一個文本框控件中輸入文本),然后這些關鍵字可以被用來填寫一個登錄表格并點擊 OK按鈕。該方法的好處是:自動化工程師集中干他們擅長的,即開發(fā)關鍵字的測試自動化的腳本或編程;非技術測試員和企業(yè)用戶使用這些關鍵字并基于他們的領域和產品知識來編寫測試用例,后使得自動化更加有效。
▪機器人框架是一個一般的基于關鍵字的測試自動化框架,它不依賴于任何一個特定的自動化工具(如:QTP, Ranorex, TestComplete, Selenium等),卻讓自動化工程師插入用這類自動化工具的關鍵字。機器人已經安裝了許多關鍵字并擁有一個非常成熟的功能集,包括:關鍵字的條件執(zhí)行
▪ 測試用例和測試集的[setup]和[teardown]
▪ 數(shù)據(jù)驅動關鍵字文件,目錄及流程管理的FOR循環(huán)
▪ HTML測試報告
▪詹金斯CI集成將變量變?yōu)橐粋關鍵字并從測試用例關鍵字的關鍵字標注返回
▪后列出的功能即能夠在現(xiàn)有關鍵字上創(chuàng)建關鍵字,確保如圖1所示的“關鍵字金字塔”的增長。
金字塔底層是由自動化工程師開發(fā)的技術關鍵字構成:頂端是應用程序內進行單個功能行為的功能關鍵字:后,我們將基于功能關鍵字的業(yè)務流程關鍵字總結為在應用程序內構建業(yè)務流程。這種分層的一個例子如表1所示。