自動(dòng)(dòng)化測(cè)(cè)試指軟件測(cè)(cè)試的自動(dòng)(dòng)化,在預(yù)(yù)設(shè)(shè)狀態(tài)(tài)下運(yùn)(yùn)行應(yīng)(yīng)用程序或系統(tǒng)(tǒng),預(yù)(yù)設(shè)(shè)條件包括正常和異常,評(píng)(píng)估運(yùn)(yùn)行結(jié)(jié)果,自動(dòng)(dòng)化測(cè)(cè)試系統(tǒng)(tǒng)是基于自動(dòng)(dòng)化測(cè)(cè)試上的系統(tǒng)(tǒng)。將人為驅(qū)(qū)動(dòng)(dòng)的測(cè)(cè)試行為轉(zhuǎn)(zhuǎn)化為機(jī)(jī)器執(zhí)(zhí)行的過(guò)程。
自動(dòng)(dòng)化測(cè)(cè)試框架一般可以分為兩個(gè)(gè)層次,上層是管理整個(gè)(gè)自動(dòng)(dòng)化測(cè)(cè)試的開(kāi)發(fā)(fā),執(zhí)(zhí)行以及維護(hù)(hù),在比較龐大的項(xiàng)(xiàng)目中,它體現(xiàn)(xiàn)重要的作用,它可以管理整個(gè)(gè)自動(dòng)(dòng)測(cè)(cè)試,包括自動(dòng)(dòng)化測(cè)(cè)試用例執(zhí)(zhí)行的次序、測(cè)(cè)試腳本的維護(hù)(hù)、以及集中管理測(cè)(cè)試用例、測(cè)(cè)試報(bào)(bào)告和測(cè)(cè)試任務(wù)(wù)等。下層主要是測(cè)(cè)試腳本的開(kāi)發(fā)(fā),充分的使用相關(guān)(guān)的測(cè)(cè)試工具,構(gòu)(gòu)建測(cè)(cè)試驅(qū)(qū)動(dòng)(dòng),并完成測(cè)(cè)試業(yè)(yè)務(wù)(wù)邏輯。
自動(dòng)(dòng)化測(cè)(cè)試的演變:測(cè)(cè)試工具----數(shù)(shù)據(jù)(jù)驅(qū)(qū)動(dòng)(dòng)----關(guān)(guān)鍵字驅(qū)(qū)動(dòng)(dòng)----測(cè)(cè)試框架----測(cè)(cè)試平臺(tái)(tái)

自動(dòng)(dòng)化測(cè)(cè)試方法
(1)測(cè)(cè)試對(duì)(duì)象:UI、接口、代碼
①UI自動(dòng)(dòng)化:用例維護(hù)(hù)量大頁(yè)面相關(guān)(guān)性強(qiáng)(qiáng),應(yīng)(yīng)要后期介入U(xiǎn)(xiǎn)I測(cè)(cè)試適合與界面變動(dòng)(dòng)較小的項(xiàng)(xiàng)目
②接口自動(dòng)(dòng)化:可在產(chǎn)(chǎn)品前期介入用例維護(hù)(hù)量小頁(yè)面相關(guān)(guān)性小適合接口變動(dòng)(dòng)較小,界面變動(dòng)(dòng)頻繁的項(xiàng)(xiàng)目
(2)測(cè)(cè)試過(guò)程:系統(tǒng)(tǒng)測(cè)(cè)試、集成測(cè)(cè)試、單元測(cè)(cè)試
(3)執(zhí)(zhí)行人員:測(cè)(cè)試人員、開(kāi)發(fā)(fā)人員自動(dòng)(dòng)化測(cè)(cè)試可以在整個(gè)(gè)測(cè)(cè)試過(guò)程中任何一個(gè)(gè)階段實(shí)(shí)施測(cè)(cè)試人員一般在系統(tǒng)(tǒng)測(cè)(cè)試時(shí)(shí)進(jìn)(jìn)行自動(dòng)(dòng)化測(cè)(cè)試集成測(cè)(cè)試階段多進(jìn)(jìn)行自動(dòng)(dòng)構(gòu)(gòu)建、部署,以及冒煙測(cè)(cè)試的自動(dòng)(dòng)化單元測(cè)(cè)試針對(duì)(duì)代碼級(jí)(jí)別進(jìn)(jìn)行測(cè)(cè)試,可進(jìn)(jìn)行靜態(tài)(tài)代碼檢查,或者執(zhí)(zhí)行單元測(cè)(cè)試用例,典型的框架比如junit,jmock等,該部分多由開(kāi)發(fā)(fā)人員實(shí)(shí)施。
5.自動(dòng)(dòng)化測(cè)(cè)試的優(yōu)(yōu)勢(shì)(shì)
降低大型系統(tǒng)(tǒng)的由于變更或者多期開(kāi)發(fā)(fā)引起的大量的回歸測(cè)(cè)試的人力投入,這可能是自動(dòng)(dòng)化測(cè)(cè)試主要的任務(wù)(wù),特別是在程序修改比較頻繁時(shí)(shí),效果是非常明顯的,自動(dòng)(dòng)化測(cè)(cè)試前期人力投入較多,但后期進(jìn)(jìn)入維護(hù)(hù)期后,可節(jié)(jié)省大量人力,而手工測(cè)(cè)試后期需要增加大量人力用于回歸測(cè)(cè)試減少重復(fù)(fù)測(cè)(cè)試的時(shí)(shí)間,實(shí)(shí)現(xiàn)(xiàn)快速回歸測(cè)(cè)試創(chuàng)(chuàng)建優(yōu)(yōu)良可靠的測(cè)(cè)試過(guò)程,減少人為錯(cuò)(cuò)誤可以運(yùn)(yùn)行更多更繁瑣的測(cè)(cè)試可以執(zhí)(zhí)行一些手工測(cè)(cè)試?yán)щy或不可能進(jìn)(jìn)行的測(cè)(cè)試更好的利用資源。
如何實(shí)(shí)施自動(dòng)(dòng)化測(cè)(cè)試
自動(dòng)(dòng)化測(cè)(cè)試的適用對(duì)(duì)象
實(shí)(shí)施自動(dòng)(dòng)化測(cè)(cè)試的前提條件:需求變動(dòng)(dòng)不頻繁、項(xiàng)(xiàng)目周期足夠長(zhǎng)(zhǎng)、自動(dòng)(dòng)化測(cè)(cè)試腳本可重復(fù)(fù)使用
①需求變動(dòng)(dòng)頻繁的項(xiàng)(xiàng)目,自動(dòng)(dòng)化腳本不能重復(fù)(fù)使用,維護(hù)(hù)成本太大,性?xún)r(jià)(jià)比低
②項(xiàng)(xiàng)目周期短,自動(dòng)(dòng)化腳本編制完成后使用次數(shù)(shù)不多,性?xún)r(jià)(jià)比低
③交互型較強(qiáng)(qiáng)的項(xiàng)(xiàng)目,需要人工干預(yù)(yù)的項(xiàng)(xiàng)目,自動(dòng)(dòng)化無(wú)法實(shí)(shí)施
2.適合做自動(dòng)(dòng)化的項(xiàng)(xiàng)目:

①產(chǎn)(chǎn)品型項(xiàng)(xiàng)目。產(chǎn)(chǎn)品型的項(xiàng)(xiàng)目,新版本是在舊版本的基礎(chǔ)(chǔ)上進(jìn)(jìn)行改進(jìn)(jìn),功能變不大的項(xiàng)(xiàng)目,但項(xiàng)(xiàng)目的新老功能都需要重復(fù)(fù)的進(jìn)(jìn)行回歸測(cè)(cè)試?;貧w測(cè)(cè)試是自動(dòng)(dòng)化測(cè)(cè)試的強(qiáng)(qiáng)項(xiàng)(xiàng),它能夠很好的驗(yàn)(yàn)證你是否引入了新的缺陷,老的缺陷是否修改過(guò)來(lái)了。在某種程度上可以把自動(dòng)(dòng)化測(cè)(cè)試工具叫做回歸測(cè)(cè)試工具。
②機(jī)(jī)械并頻繁的測(cè)(cè)試。每次需要輸入相同、大量的一些數(shù)(shù)據(jù)(jù),并且在一個(gè)(gè)項(xiàng)(xiàng)目中運(yùn)(yùn)行的周期比較長(zhǎng)(zhǎng)。
3.什么時(shí)(shí)候?qū)嵤┳詣?dòng)化
4.如何實(shí)(shí)施自動(dòng)(dòng)化測(cè)(cè)試
(1)分析:總體把握系統(tǒng)(tǒng)邏輯,分析出系統(tǒng)(tǒng)的核心體系架構(gòu)(gòu)。
(2)設(shè)(shè)計(jì)(jì):設(shè)(shè)計(jì)(jì)測(cè)(cè)試用例,測(cè)(cè)試用例要足夠明確和清晰,覆蓋面廣而精
(3)實(shí)(shí)現(xiàn)(xiàn):實(shí)(shí)現(xiàn)(xiàn)腳本,有兩個(gè)(gè)要求一是斷言,二是合理的運(yùn)(yùn)用參數(shù)(shù)化。
(4)執(zhí)(zhí)行:執(zhí)(zhí)行腳本遠(yuǎn)(yuǎn)遠(yuǎn)(yuǎn)沒(méi)有我們想象中那么簡(jiǎn)(jiǎn)單。腳本執(zhí)(zhí)行過(guò)程中的異常需要我們仔細(xì)(xì)的去分析原因。
(5)總結(jié)(jié):測(cè)(cè)試結(jié)(jié)果的分析,和測(cè)(cè)試過(guò)程的總結(jié)(jié)是自動(dòng)(dòng)化測(cè)(cè)試的關(guān)(guān)鍵。
(6)維護(hù)(hù):自動(dòng)(dòng)化測(cè)(cè)試腳本的維護(hù)(hù)是一個(gè)(gè)難以解決但又需要解決的問(wèn)題。
(7)分析:在自動(dòng)(dòng)化測(cè)(cè)試過(guò)程中深刻的分析自動(dòng)(dòng)化用例的覆蓋風(fēng)(fēng)險(xiǎn)(xiǎn)和腳本維護(hù)(hù)的成本。

5.自動(dòng)(dòng)化測(cè)(cè)試實(shí)(shí)施失敗的原因
(1)期望值過(guò)高。就像管理人員要求完全測(cè)(cè)試一樣,期望100%的測(cè)(cè)試自動(dòng)(dòng)化,也同樣是一個(gè)(gè)不現(xiàn)(xiàn)實(shí)(shí)的需求。
(2)對(duì)(duì)收益和成本認(rèn)(rèn)識(shí)(shí)不清。拋開(kāi)工具的開(kāi)發(fā)(fā)或者購(gòu)(gòu)買(mǎi)成本和培訓(xùn)(xùn)成本,自動(dòng)(dòng)化測(cè)(cè)試的成本應(yīng)(yīng)該還包括兩部分(實(shí)(shí)現(xiàn)(xiàn)成本中還隱含了測(cè)(cè)試準(zhǔn)(zhǔn)備成本):
成本=實(shí)(shí)現(xiàn)(xiàn)成本+運(yùn)(yùn)行維護(hù)(hù)成本
自動(dòng)(dòng)化測(cè)(cè)試的收益是由測(cè)(cè)試腳本的重復(fù)(fù)運(yùn)(yùn)行次數(shù)(shù),或自動(dòng)(dòng)測(cè)(cè)試腳本的利用率決定的。