軟件測(cè)試之自動(dòng)化測(cè)試腳本的詳解

發(fā)布時(shí)間:2020-08-04

軟件測(cè)試我們通常是分為人工測(cè)試和自動(dòng)化測(cè)試的,自動(dòng)化測(cè)試和人工測(cè)試相比是有一定的區(qū)別的,今天我們就先了解一下自動(dòng)化測(cè)試中的自動(dòng)化測(cè)試腳本。自動(dòng)化測(cè)試腳本有線性腳本、數(shù)據(jù)驅(qū)動(dòng)腳本、結(jié)構(gòu)化腳本、關(guān)鍵字驅(qū)動(dòng)腳本以及共享腳本。

自動(dòng)化測(cè)試腳本

一、線性腳本

線性腳本的優(yōu)點(diǎn):

1.線性腳本不需要深入的工作或計(jì)劃,只需坐在計(jì)算機(jī)前利用自動(dòng)化測(cè)試工具錄制手工測(cè)試任務(wù)即可。

2.線性腳本可以快速開(kāi)始自動(dòng)化,測(cè)試工程師只需理解測(cè)試流程即可開(kāi)展自動(dòng)化測(cè)試工作,同時(shí)也是樹(shù)立測(cè)試工程師開(kāi)始對(duì)自動(dòng)化感興趣最快速的方法和技術(shù)。

3.線性腳本對(duì)實(shí)際執(zhí)行操作可以進(jìn)行審計(jì)跟蹤。

4.使用線性腳本技術(shù),用戶不必是編程人員(假設(shè)不需修改腳本,用戶不必關(guān)心腳本本身)。

5.線性腳本提供良好的演示效果。

線性腳本的缺點(diǎn):

1.過(guò)程繁瑣:產(chǎn)生可行的自動(dòng)化測(cè)試(包括比較)的時(shí)間比運(yùn)行手工測(cè)試要長(zhǎng)2到10倍。

2.一切都依賴(lài)于每次測(cè)試所捕獲的內(nèi)容。

3.測(cè)試輸入和比較,以及測(cè)試的數(shù)據(jù)和業(yè)務(wù)都是‘捆綁’在腳本中的,不便于修改測(cè)試數(shù)據(jù)和測(cè)試步驟。

4.腳本不能共享和重用。

5.由于線性腳本要求測(cè)試的對(duì)象相對(duì)比較的固定,因此容易受軟件變化的影響。

6.線性腳本修改代價(jià)大(維護(hù)成本高)。

7.如果回放腳本時(shí)發(fā)生了錄制腳本時(shí)沒(méi)有發(fā)生的事情,如來(lái)自網(wǎng)絡(luò)的意外錯(cuò)誤消息,腳本很容易與被測(cè)試軟件發(fā)生沖突,引起整個(gè)測(cè)試失敗。

線性腳本的適用范圍:

1.當(dāng)測(cè)試事例只使用一次時(shí),則無(wú)需對(duì)將要丟棄的腳本花費(fèi)太多的功夫,線性腳本便非常方便使用。

2.線性腳本適合在做培訓(xùn)或演示時(shí),可以回放錄制好的腳本來(lái)代替擊鍵動(dòng)作。

3.線性腳本可以用于轉(zhuǎn)換。如系統(tǒng)的某一部分發(fā)生變化,但從用戶的角度不能影響系統(tǒng)的工作,可以錄制有用數(shù)據(jù),替換軟件或硬件,然后回放錄制過(guò)程可以使新系統(tǒng)恢復(fù)到初始狀態(tài)。

4.線性腳本可以用自動(dòng)編輯來(lái)修改自動(dòng)測(cè)試,任何特定的修改只做一次,因此一次性的腳本足以滿足需求。

5.線性腳本可用于設(shè)置和清除測(cè)試,通過(guò)回放輸入序列操作文件或數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的記錄的設(shè)置和清除。

二、數(shù)據(jù)驅(qū)動(dòng)腳本

數(shù)據(jù)驅(qū)動(dòng)腳本的優(yōu)點(diǎn):

1.在數(shù)據(jù)驅(qū)動(dòng)腳本的層次上,自動(dòng)化測(cè)試可以真正從中獲益,可以以較小的額外開(kāi)銷(xiāo)實(shí)現(xiàn)很多測(cè)試事例的自動(dòng)化,不需要編寫(xiě)更多的腳本。

2.在數(shù)據(jù)驅(qū)動(dòng)腳本中,數(shù)據(jù)文件的格式對(duì)于測(cè)試者而言非常易于處理,甚至可以在數(shù)據(jù)配置文件里添加很多方便維護(hù)的注釋來(lái)增加數(shù)據(jù)的可理解性。

3.數(shù)據(jù)驅(qū)動(dòng)腳本技術(shù)使得測(cè)試工程師可以將更多的時(shí)間和精力放在自動(dòng)化測(cè)試和維護(hù)測(cè)試上。

4.數(shù)據(jù)驅(qū)動(dòng)腳本技術(shù)對(duì)于測(cè)試事例的數(shù)據(jù)輸入和維護(hù)帶來(lái)了極大的方便。

5.在數(shù)據(jù)驅(qū)動(dòng)腳本中,甚至連期望結(jié)果都可以從腳本中提取出來(lái),使得腳本的維護(hù)工作變得更為簡(jiǎn)單。

6.對(duì)于一組功能強(qiáng)大靈活的數(shù)據(jù)驅(qū)動(dòng)腳本,測(cè)試者本人甚至不需具有腳本編程技能,而只需掌握數(shù)據(jù)文件的配置方法,便可輕松的使用腳本完成自己的測(cè)試

數(shù)據(jù)驅(qū)動(dòng)腳本的缺點(diǎn):

1.需要具有一定編程背景知識(shí)的人員加入到腳本編寫(xiě)里面。

2.因?yàn)槟_本變得邏輯性更強(qiáng),引入更多的控制指令,初始腳本建立時(shí)間和開(kāi)銷(xiāo)較大。

3.如果開(kāi)發(fā)出的腳本不規(guī)范,則后期的管理和維護(hù)會(huì)帶來(lái)巨大的工作量,對(duì)于測(cè)試工程本人來(lái)說(shuō)需要的技能也更高。

三、結(jié)構(gòu)化腳本

目前所有測(cè)試腳本支持三種基本控制結(jié)構(gòu)如下:

順序結(jié)構(gòu)(即前面的線性腳本,依次執(zhí)行每行的指令)。

選擇結(jié)構(gòu):使腳本具有判斷功能,即加入類(lèi)似“if,switch”類(lèi)型的語(yǔ)句來(lái)使腳本的執(zhí)行具有跳躍能力,按照判斷條件執(zhí)行相關(guān)的指令。

疊代/循環(huán)結(jié)構(gòu):可以根據(jù)需要重復(fù)執(zhí)行一個(gè)或多個(gè)指令序列如加入像“for,while”等語(yǔ)句。

結(jié)構(gòu)化腳本類(lèi)似于結(jié)構(gòu)化程序設(shè)計(jì),腳本中含有控制腳本執(zhí)行的指令,這些指令或?yàn)榭刂平Y(jié)構(gòu)或?yàn)檎{(diào)用結(jié)構(gòu)。結(jié)構(gòu)化腳本可以進(jìn)行嵌套調(diào)用另一個(gè)腳本,執(zhí)行完后在返回到當(dāng)前腳本。

結(jié)構(gòu)化腳本的優(yōu)點(diǎn):

1.結(jié)構(gòu)化腳本健壯性更好,對(duì)一些容易導(dǎo)致測(cè)試失敗的特殊情況和測(cè)試中出現(xiàn)的異常情況可以進(jìn)行相應(yīng)的處理。

2.結(jié)構(gòu)化腳本可以像函數(shù)一樣作為模塊被其他腳本調(diào)用或使用。

3.結(jié)構(gòu)化腳本可以提高腳本的重用性和靈活性,使得代碼易于維護(hù),可以更好的支持自動(dòng)化測(cè)試。

結(jié)構(gòu)化腳本的缺點(diǎn):

1.腳本變得非常復(fù)雜,在一定程度上增加了另外的維護(hù)工作量。

2.腳本還是在錄/播的基礎(chǔ)上實(shí)現(xiàn)的,因此腳本內(nèi)仍然捆綁著測(cè)試的數(shù)據(jù)和邏輯,即鍵盤(pán)、鼠標(biāo)動(dòng)作表示的輸入被固化在腳本中,測(cè)試修改和定制非常復(fù)雜困難。

四、關(guān)鍵字驅(qū)動(dòng)腳本

關(guān)鍵字驅(qū)動(dòng)腳本實(shí)際上是較復(fù)雜的數(shù)據(jù)驅(qū)動(dòng)腳本的邏輯擴(kuò)展。數(shù)據(jù)驅(qū)動(dòng)腳

本的限制是每個(gè)測(cè)試事例執(zhí)行的導(dǎo)航和操作必須一樣,測(cè)試的邏輯知識(shí)建立在數(shù)據(jù)文件和控制腳本中。關(guān)鍵字驅(qū)動(dòng)腳本將數(shù)據(jù)文件變?yōu)闇y(cè)試事例的描述,用一系列關(guān)鍵字指定要執(zhí)行的任務(wù)。關(guān)鍵字驅(qū)動(dòng)腳本的一個(gè)特點(diǎn)是它看起來(lái)更像描述一個(gè)測(cè)試事例做什么,而不是如何做。前面四種腳本是說(shuō)明性方法的腳本,只有關(guān)鍵字驅(qū)動(dòng)腳本是描述性方法,因而它更容易理解。描述性方法是將被測(cè)軟件的知識(shí)建立在測(cè)試自動(dòng)化環(huán)境中,相關(guān)的知識(shí)包含在支持腳本中,這些支持腳本了解被測(cè)軟件,但是不需要了解測(cè)試事例。

核心思想為三個(gè)分離

1)界面元素名與測(cè)試內(nèi)部對(duì)象名的分離在被測(cè)應(yīng)用程序和錄制生成的測(cè)試腳本之間增加一個(gè)抽象層,它可以將界面上的所有元素映射成相對(duì)應(yīng)的一個(gè)邏輯對(duì)象,測(cè)試針對(duì)這些邏輯對(duì)象進(jìn)行,界面元素的改變只會(huì)影響映射表,而不會(huì)影響測(cè)試。

2)測(cè)試描述與具體實(shí)現(xiàn)細(xì)節(jié)的分離 

把測(cè)試描述和測(cè)試的具體實(shí)現(xiàn)細(xì)節(jié)分離開(kāi)來(lái)。測(cè)試描述只說(shuō)明軟件測(cè)試要做什么以及期待什么樣的結(jié)果,而不管怎樣執(zhí)行測(cè)試或怎樣證實(shí)結(jié)果。這樣做是因?yàn)闇y(cè)試的實(shí)現(xiàn)細(xì)節(jié)通常與特定的平臺(tái)以及特定的測(cè)試執(zhí)行工具有著密切的聯(lián)系。這種分離使得測(cè)試描述對(duì)于應(yīng)用實(shí)現(xiàn)細(xì)節(jié)是不敏感的,而且有利于測(cè)試在工具和平臺(tái)間的移植。

3)腳本與數(shù)據(jù)的分離 最后,可以把測(cè)試執(zhí)行過(guò)程中所

需的測(cè)試數(shù)據(jù)從腳本中提取出來(lái),在運(yùn)行時(shí)測(cè)試腳本再?gòu)臄?shù)據(jù)存放處讀取預(yù)先定制好的數(shù)據(jù),這樣腳本和數(shù)據(jù)可以獨(dú)立維護(hù)。

以上這三個(gè)分離各司其職、互相獨(dú)立,最大程度地減少相互之間的影響。從關(guān)鍵字驅(qū)動(dòng)的思想可以看出,該種測(cè)試框架不僅實(shí)現(xiàn)了將數(shù)據(jù)和腳本相分離,而且實(shí)現(xiàn)了測(cè)試邏輯和數(shù)據(jù)的分離,大大提高了腳本的復(fù)用度和維護(hù)性,從而更大限度地實(shí)現(xiàn)了測(cè)試工具的自動(dòng)化

根據(jù)測(cè)試用例得出自動(dòng)化測(cè)試框架的典型要素

1)公用的環(huán)境

不同測(cè)試用例也會(huì)用到相同的測(cè)試環(huán)境,將該測(cè)試環(huán)境獨(dú)立封裝,在各個(gè)測(cè)試用例中靈活調(diào)用,可以增強(qiáng)腳本的可維護(hù)性。

2)公用的對(duì)象

成功的框架開(kāi)發(fā)需要確定領(lǐng)域?qū)S玫?ldquo;熱點(diǎn)”(Hotspot)。所以在開(kāi)發(fā)過(guò)程中必然存在大量相同的對(duì)象(如窗口、按鈕、頁(yè)面等)。將對(duì)象抽取出來(lái)形成一個(gè)獨(dú)立的可重用強(qiáng)的個(gè)體,當(dāng)對(duì)象的屬性需要變更時(shí)做到只需修改對(duì)象屬性而無(wú)需修改腳本。

3)公用的方法

將方法封裝成獨(dú)立的函數(shù),通過(guò)參數(shù)的形式調(diào)用,盡量做到和數(shù)據(jù)無(wú)關(guān)。

五、共享腳本

共享腳本意味著腳本可以被多個(gè)測(cè)試事例使用,即腳本語(yǔ)言允許一個(gè)腳本被另一個(gè)腳本調(diào)用,這樣可以節(jié)省生成腳本的時(shí)間。當(dāng)重復(fù)任務(wù)發(fā)生變化時(shí),只需修改一個(gè)腳本。共享腳本可以是在不同主機(jī)、不同系統(tǒng)之間共享腳本,也可以是在同一主機(jī)、同一系統(tǒng)之間共享腳本。此腳本開(kāi)發(fā)的思路是產(chǎn)生一個(gè)執(zhí)行某種任務(wù)的腳本,而不同的測(cè)試要重復(fù)這個(gè)任務(wù),當(dāng)要執(zhí)行這個(gè)任務(wù)時(shí)只要在適當(dāng)?shù)牡胤秸{(diào)用這個(gè)腳本便可以了。

共享腳本的優(yōu)點(diǎn):

1.共享腳本使得實(shí)現(xiàn)類(lèi)似的測(cè)試花費(fèi)的開(kāi)銷(xiāo)較少。

2.共享腳本的維護(hù)開(kāi)銷(xiāo)低于線性和結(jié)構(gòu)化腳本。

3.共享腳本中刪除明顯的重復(fù)代碼,這樣代碼更加簡(jiǎn)潔易懂。

4.可以在共享腳本中增加更智能的功能,如認(rèn)為的等待一定時(shí)間再次運(yùn)行某個(gè)功能。

共享腳本的缺點(diǎn):

1.需要跟蹤更多的腳本、文檔、名字以及存儲(chǔ)。如果管理不好,很難找出適合的腳本。

2.對(duì)于每個(gè)測(cè)試用例仍需一個(gè)特定的測(cè)試腳本,因此維護(hù)成本比較高。

3.共享腳本通常是針對(duì)測(cè)試軟件的某一部分,不能實(shí)現(xiàn)真正意義上的共享。

共享腳本的編寫(xiě)需要更高的編程技能,提高了對(duì)測(cè)試工程師的要求數(shù)據(jù)驅(qū)動(dòng)腳本是當(dāng)前廣泛應(yīng)用的自動(dòng)化測(cè)試腳本技術(shù),它是將測(cè)試輸入數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)文件里,而不是繼續(xù)放在腳本本身里面。腳本里只存放控制信息,執(zhí)行測(cè)試時(shí),從文件中而不是從腳本中讀取數(shù)據(jù)輸入,從而使得同一個(gè)腳本可以執(zhí)行不同的測(cè)試,實(shí)現(xiàn)了數(shù)據(jù)與腳本的分離,但測(cè)試邏輯依然與腳本捆綁在一起。

本篇文章到這里就結(jié)束了,大家現(xiàn)在對(duì)于測(cè)試腳本應(yīng)該有了一些了解,小編在最后的時(shí)候給大家介紹一個(gè)簡(jiǎn)單好用的工具,AutoRunner(自動(dòng)化測(cè)試工具)通過(guò)錄制和編寫(xiě)測(cè)試腳本,實(shí)現(xiàn)功能測(cè)試、回歸測(cè)試的自動(dòng)化,降低測(cè)試人工成本。

推薦閱讀:

走進(jìn)前端自動(dòng)化測(cè)試,深入了解它的構(gòu)架

自動(dòng)化測(cè)試經(jīng)常用于哪些項(xiàng)目中?要怎么寫(xiě)自動(dòng)化測(cè)試的方案?

自動(dòng)化測(cè)試技術(shù)的發(fā)展階段及與手工測(cè)試的區(qū)別

自動(dòng)化單元測(cè)試要怎么理解?自動(dòng)化單元測(cè)試有幾大原則?

想要做好滲透測(cè)試,就需要明白的這八大步驟

深入了解黑盒測(cè)試的定義和黑盒測(cè)試的步驟

本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號(hào) 2003-2024 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測(cè)試工具和測(cè)試服務(wù)

微信客服
問(wèn)題
反饋
產(chǎn)品
畫(huà)冊(cè)

掃描二維碼下載澤眾軟件企業(yè)宣傳冊(cè)

產(chǎn)品畫(huà)冊(cè)
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專(zhuān)業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。

您的信息已成功提交!

我們的客服人員稍后會(huì)與您聯(lián)系