1?自動(dòng)化測(cè)試定義
首先來(lái)說(shuō)一下什么是軟件測(cè)試?
軟件測(cè)試簡(jiǎn)單來(lái)說(shuō)就是在規(guī)定的條件下對(duì)程序進(jìn)行操作以發(fā)現(xiàn)程序錯(cuò)誤手形,衡量軟件質(zhì)量侧巨,并對(duì)其是否能滿(mǎn)足設(shè)計(jì)要求進(jìn)行評(píng)估的過(guò)程惨远。
那么什么是自動(dòng)化測(cè)試呢?
自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程翰守,即模擬手工測(cè)試步驟通過(guò)執(zhí)行程序語(yǔ)言編制的測(cè)試腳本自動(dòng)地測(cè)試軟件孵奶,包括了所有測(cè)試階段,它是跨平臺(tái)兼容的蜡峰,并且是進(jìn)程無(wú)關(guān)的了袁。
實(shí)際上嚴(yán)格的說(shuō)自動(dòng)化測(cè)試是分廣義和狹義的。廣義的就是測(cè)試自動(dòng)化事示,它強(qiáng)調(diào)的是整個(gè)測(cè)試過(guò)程都由計(jì)算機(jī)系統(tǒng)完成早像,范圍更廣。狹義的就是我們通常所說(shuō)的自動(dòng)化測(cè)試肖爵,主要是說(shuō)通過(guò)某個(gè)自動(dòng)化工具自動(dòng)執(zhí)行某項(xiàng)測(cè)試任務(wù),處理范圍比較小臀脏。
2使用自動(dòng)化測(cè)試的前提條件及適用場(chǎng)合
前提條件
實(shí)施自動(dòng)化測(cè)試之前需要對(duì)軟件開(kāi)發(fā)過(guò)程進(jìn)行分析劝堪,以觀察其是否適合使用自動(dòng)化測(cè)試。通常需要同時(shí)滿(mǎn)足以下條件:
1) 需求變動(dòng)不頻繁
測(cè)試腳本的穩(wěn)定性決定了自動(dòng)化測(cè)試的維護(hù)成本揉稚。如果軟件需求變動(dòng)過(guò)于頻繁秒啦,測(cè)試人員需要根據(jù)變動(dòng)的需求來(lái)更新測(cè)試用例以及相關(guān)的測(cè)試腳本,而腳本的維護(hù)本身就是一個(gè)代碼開(kāi)發(fā)的過(guò)程搀玖,需要修改余境、調(diào)試,必要的時(shí)候還要修改自動(dòng)化測(cè)試的框架灌诅,如果所花費(fèi)的成本不低于利用其節(jié)省的測(cè)試成本芳来,那么自動(dòng)化測(cè)試便是失敗的。
項(xiàng)目中的某些模塊相對(duì)穩(wěn)定猜拾,而某些模塊需求變動(dòng)性很大即舌。我們便可對(duì)相對(duì)穩(wěn)定的模塊進(jìn)行自動(dòng)化測(cè)試,而變動(dòng)較大的仍是用手工測(cè)試挎袜。
2) 項(xiàng)目周期足夠長(zhǎng)
自動(dòng)化測(cè)試需求的確定顽聂、自動(dòng)化測(cè)試框架的設(shè)計(jì)、測(cè)試腳本的編寫(xiě)與調(diào)試均需要相當(dāng)長(zhǎng)的時(shí)間來(lái)完成牍白,這樣的過(guò)程本身就是一個(gè)測(cè)試軟件的開(kāi)發(fā)過(guò)程垫毙,需要較長(zhǎng)的時(shí)間來(lái)完成耐版。如果項(xiàng)目的周期比較短,沒(méi)有足夠的時(shí)間去支持這樣一個(gè)過(guò)程耀石,那么自動(dòng)化測(cè)試便成為笑談。
3) 自動(dòng)化測(cè)試腳本可重復(fù)使用
如果費(fèi)盡心思開(kāi)發(fā)了一套近乎完美的自動(dòng)化測(cè)試腳本蚪燕,但是腳本的重復(fù)使用率很低娶牌,致使其間所耗費(fèi)的成本大于所創(chuàng)造的經(jīng)濟(jì)價(jià)值奔浅,自動(dòng)化測(cè)試便成為了測(cè)試人員的練手之作,而并非是真正可產(chǎn)生效益的測(cè)試手段了诗良。
另外汹桦,在手工測(cè)試無(wú)法完成,需要投入大量時(shí)間與人力時(shí)也需要考慮引入自動(dòng)化測(cè)試鉴裹。
比如我們愚公坊項(xiàng)目這次SpringBoot升級(jí)后一些相對(duì)穩(wěn)定的模塊就可以采用自動(dòng)化測(cè)試注冊(cè)登錄模塊 購(gòu)物車(chē)模塊 訂單模塊等等舞骆。
適用場(chǎng)合
通常適合于軟件測(cè)試自動(dòng)化的場(chǎng)合:
(1)回歸測(cè)試,重復(fù)單一的數(shù)據(jù)錄入或是擊鍵等測(cè)試操作造成了不必要的時(shí)間浪費(fèi)和人力浪費(fèi)径荔;
(2)此外測(cè)試人員對(duì)程序的理解和對(duì)設(shè)計(jì)文檔的驗(yàn)證通常也要借助于測(cè)試自動(dòng)化工具督禽;
(3)采用自動(dòng)化測(cè)試工具有利于測(cè)試報(bào)告文檔的生成和版本的連貫性;
(4)自動(dòng)化工具能夠確定測(cè)試用例的覆蓋路徑总处,確定測(cè)試用例集對(duì)程序邏輯流程和控制流程的覆蓋狈惫。
隨著測(cè)試流程的不斷規(guī)范以及軟件測(cè)試技術(shù)的進(jìn)一步細(xì)化,軟件測(cè)試自動(dòng)化已經(jīng)日益成為一支不可忽視的力量鹦马。能否借助于這支外在力量以及如何借助于這支力量來(lái)規(guī)范企業(yè)測(cè)試流程胧谈、提高特定測(cè)試活動(dòng)的效率,正是本期所要討論的話題荸频。
3自動(dòng)化測(cè)試基本流程
1菱肖、制定測(cè)試計(jì)劃
在展開(kāi)自動(dòng)化測(cè)試之前,最好做個(gè)測(cè)試計(jì)劃旭从,明確測(cè)試對(duì)象稳强、測(cè)試目的、測(cè)試的項(xiàng)目?jī)?nèi)容和悦、測(cè)試的方法退疫、測(cè)試的進(jìn)度要求,并確保測(cè)試所需的人力摹闽、硬件蹄咖、數(shù)據(jù)等資源都準(zhǔn)備充分。制定好測(cè)試計(jì)劃后付鹿,下發(fā)給用例設(shè)計(jì)者澜汤。
2、分析測(cè)試需求
用例設(shè)計(jì)者根據(jù)測(cè)試計(jì)劃和需求說(shuō)明書(shū)舵匾,分析測(cè)試需求俊抵,設(shè)計(jì)測(cè)試需求樹(shù),以便用例設(shè)計(jì)時(shí)能夠覆蓋所有的需求點(diǎn)坐梯。一般來(lái)講徽诲,基于Web功能測(cè)試需要覆蓋一下幾個(gè)方面:
1)頁(yè)面鏈接測(cè)試,確保各個(gè)鏈接正常;2)頁(yè)面控件測(cè)試谎替,確保各個(gè)控件可靠偷溺;3)頁(yè)面功能測(cè)試,確保各項(xiàng)操作正常钱贯;4)數(shù)據(jù)處理測(cè)試挫掏,確保數(shù)據(jù)顯示準(zhǔn)確、處理精確可靠秩命;5)模塊業(yè)務(wù)邏輯測(cè)試尉共,確保各個(gè)業(yè)務(wù)流程暢通。
3弃锐、設(shè)計(jì)測(cè)試用例
通過(guò)分析測(cè)試需求袄友,設(shè)計(jì)出能夠覆蓋所有需求點(diǎn)的測(cè)試用例,形成專(zhuān)門(mén)的測(cè)試用例文檔霹菊。由于不是所有的測(cè)試用例都能用自動(dòng)化來(lái)執(zhí)行剧蚣,所以需要將能夠執(zhí)行自動(dòng)化測(cè)試的用例匯總成自動(dòng)化測(cè)試用例。必要時(shí)旋廷,要將登陸系統(tǒng)的用戶(hù)券敌、密碼、產(chǎn)品柳洋、客戶(hù)等參數(shù)信息獨(dú)立出來(lái)形成測(cè)試數(shù)據(jù),便于腳本開(kāi)發(fā)叹坦。
4熊镣、搭建測(cè)試環(huán)境
自動(dòng)化測(cè)試人員在用例設(shè)計(jì)工作開(kāi)展的同時(shí)即可著手搭建測(cè)試環(huán)境。因?yàn)樽詣?dòng)化測(cè)試的腳本編寫(xiě)需要錄制頁(yè)面控件募书,添加對(duì)象绪囱。測(cè)試環(huán)境的搭建,包括被測(cè)系統(tǒng)的部署莹捡、測(cè)試硬件的調(diào)用鬼吵、測(cè)試工具的安裝盒設(shè)置、網(wǎng)絡(luò)環(huán)境的布置等篮赢。
5齿椅、編寫(xiě)測(cè)試腳本
根據(jù)自動(dòng)化測(cè)試用例和問(wèn)題的難易程度,采取適當(dāng)?shù)哪_本開(kāi)發(fā)方法編寫(xiě)測(cè)試較薄启泣。一般先通過(guò)錄制的方式獲取測(cè)試所需要的頁(yè)面控件涣脚,然后再用結(jié)構(gòu)化語(yǔ)句控制腳本的執(zhí)行,插入檢查點(diǎn)和異常判定反饋語(yǔ)句寥茫,將公共普遍的功能獨(dú)立成共享腳本遣蚀,必要時(shí)對(duì)數(shù)據(jù)驚醒參數(shù)化。當(dāng)然還可以用其他高級(jí)功能編輯腳本。腳本編寫(xiě)好了之后芭梯,需要反復(fù)執(zhí)行险耀,不斷調(diào)試,知道運(yùn)行正常為止玖喘。腳本的編寫(xiě)和命名要符合管理規(guī)范甩牺,以便統(tǒng)一管理和維護(hù)。
6芒涡、分析測(cè)試結(jié)果柴灯、記錄測(cè)試問(wèn)題
應(yīng)該及時(shí)分析自動(dòng)化測(cè)試結(jié)果,建議測(cè)試人員每天抽出一定時(shí)間费尽,對(duì)自動(dòng)化測(cè)試結(jié)果進(jìn)行分析赠群,以便盡早地發(fā)現(xiàn)缺陷。如果采用開(kāi)源自動(dòng)化測(cè)試工具旱幼,建議對(duì)其進(jìn)行二次開(kāi)發(fā)查描,以便與測(cè)試部門(mén)選定的缺陷管理工具緊密結(jié)合。理想情況下柏卤,自動(dòng)化測(cè)試案例運(yùn)行失敗后冬三,自動(dòng)化測(cè)試平臺(tái)就會(huì)自動(dòng)上報(bào)一個(gè)缺陷。測(cè)試人員只需每天抽出一地你該時(shí)間缘缚,確認(rèn)這些自動(dòng)上報(bào)的缺陷勾笆,是否是真實(shí)的系統(tǒng)缺陷。如果是系統(tǒng)缺陷就提交開(kāi)發(fā)人員修復(fù)桥滨,如果不是系統(tǒng)缺陷窝爪,就檢查自動(dòng)化測(cè)試腳本或者測(cè)試環(huán)境。
7齐媒、跟蹤測(cè)試BUG
測(cè)試記錄的BUG要記錄到缺陷管理工具中去蒲每,以便定期跟蹤處理。開(kāi)發(fā)人員修復(fù)后喻括,需要對(duì)此問(wèn)題執(zhí)行回歸測(cè)試邀杏,就是重復(fù)執(zhí)行一次該問(wèn)題對(duì)應(yīng)的較薄,執(zhí)行通過(guò)則關(guān)閉唬血,否則繼續(xù)修改望蜡。如果問(wèn)題的修改方案與客戶(hù)達(dá)成一致,但與原來(lái)的需求有所偏離刁品,那么在回歸測(cè)試前泣特,還需要對(duì)腳本進(jìn)行必要的修改和調(diào)試。4介紹自動(dòng)化測(cè)試工具
QTP
QTP是Quick Test
Professional的簡(jiǎn)稱(chēng)挑随,是一種自動(dòng)測(cè)試工具状您。使用QTP的目的是想用它來(lái)執(zhí)行重復(fù)的自動(dòng)化測(cè)試勒叠,主要是用于回歸測(cè)試和測(cè)試同一軟件的新版本。因此你在測(cè)試前要考慮好如何對(duì)應(yīng)用程序進(jìn)行測(cè)試膏孟,例如要測(cè)試哪些功能眯分、操作步驟、輸入數(shù)據(jù)和期望的輸出數(shù)據(jù)等柒桑。
QTP歷史
QTP是一款自動(dòng)化測(cè)試工具
QTP
是HP的收費(fèi)產(chǎn)品現(xiàn)在的名字是UFT(Unified Funtional
Testing,統(tǒng)一功能測(cè)試)弊决,在2012年12月份之前叫做QTP,現(xiàn)在好多公司和人還沿用以前的名字稱(chēng)呼它
功能優(yōu)點(diǎn)
【快速】自動(dòng)化執(zhí)行測(cè)試比人工測(cè)試速度快很多【可靠】每一次的測(cè)試都可以正確的執(zhí)行相同的動(dòng)作魁淳,可以避免人工測(cè)試的錯(cuò)誤【可重復(fù)】可以多次重復(fù)執(zhí)行相同的測(cè)試【可程序化】可以以程序的方式飘诗,撰寫(xiě)復(fù)雜的測(cè)試腳本,并可以以程序的方式改變腳本以適應(yīng)測(cè)試的需要和變動(dòng)【廣泛性】可以建立廣泛的測(cè)試腳本界逛,涵蓋應(yīng)用程序的所有功能【可再使用】可以重讀使用測(cè)試腳本昆稿,即使應(yīng)用程序的使用接口已經(jīng)改變
QTP實(shí)操
使用QTP錄制一個(gè)測(cè)試腳本:愚公坊PC端的登錄退出
一.打開(kāi)QTP
開(kāi)啟QTP,在“Add-in Manager”窗口中選擇“Web”選項(xiàng)息拜,點(diǎn)擊“OK”關(guān)閉“Add-in Manager”窗口溉潭,進(jìn)入QTP 主窗口。(加載web插件)
二.錄制腳本
1.選中“Test>Record”或者點(diǎn)選工具欄上的“Record”按鈕少欺。
打開(kāi)“Record and Run Settings”對(duì)話窗口
2.點(diǎn)擊“確定”按鈕喳瓣,開(kāi)始錄制了,將自動(dòng)打開(kāi)IE瀏覽器并連接到愚公坊網(wǎng)站上赞别。
3.登錄愚公坊網(wǎng)站
?????? 在用戶(hù)名和密碼輸入注冊(cè)時(shí)使用的賬號(hào)和密碼畏陕,點(diǎn)擊“登錄”,進(jìn)入“愚公坊”網(wǎng)頁(yè)仿滔。
4.點(diǎn)擊退出
? ?5.停止錄制
?????? 在QTPt工具列上點(diǎn)擊“Stop”按鈕蹭秋,停止錄制。
到這里已經(jīng)完成了登錄退出動(dòng)作堤撵,并且QTP已經(jīng)錄制了從按下“Record”按鈕后到“Stop”按鈕之間的所有操作
? ? 6 通過(guò)以上五個(gè)步驟,我們錄制了一個(gè)完整的測(cè)試腳本—愚公坊的登錄和退出羽莺。
腳本如下:
三.回放实昨、檢查腳本的正確性
四.初步的描述性編程(唯一的屬性標(biāo)識(shí))