產(chǎn)品體驗中心 下載與支持 產(chǎn)品社區(qū) 澤眾云   合作代理 |  咨詢電話:400-035-7887/021-6072 5088

軟件測試之自動化測試腳本的詳解

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

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

自動化測試腳本

一、線性腳本

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

1.線性腳本不需要深入的工作或計劃,只需坐在計算機前利用自動化測試工具錄制手工測試任務即可。

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

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

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

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

線性腳本的缺點:

1.過程繁瑣:產(chǎn)生可行的自動化測試(包括比較)的時間比運行手工測試要長2到10倍。

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

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

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

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

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

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

線性腳本的適用范圍:

1.當測試事例只使用一次時,則無需對將要丟棄的腳本花費太多的功夫,線性腳本便非常方便使用。

2.線性腳本適合在做培訓或演示時,可以回放錄制好的腳本來代替擊鍵動作。

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

4.線性腳本可以用自動編輯來修改自動測試,任何特定的修改只做一次,因此一次性的腳本足以滿足需求。

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

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

數(shù)據(jù)驅(qū)動腳本的優(yōu)點:

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

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

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

4.數(shù)據(jù)驅(qū)動腳本技術(shù)對于測試事例的數(shù)據(jù)輸入和維護帶來了極大的方便。

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

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

數(shù)據(jù)驅(qū)動腳本的缺點:

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

2.因為腳本變得邏輯性更強,引入更多的控制指令,初始腳本建立時間和開銷較大。

3.如果開發(fā)出的腳本不規(guī)范,則后期的管理和維護會帶來巨大的工作量,對于測試工程本人來說需要的技能也更高。

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

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

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

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

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

結(jié)構(gòu)化腳本類似于結(jié)構(gòu)化程序設計,腳本中含有控制腳本執(zhí)行的指令,這些指令或為控制結(jié)構(gòu)或為調(diào)用結(jié)構(gòu)。結(jié)構(gòu)化腳本可以進行嵌套調(diào)用另一個腳本,執(zhí)行完后在返回到當前腳本。

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

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

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

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

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

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

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

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

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

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

核心思想為三個分離

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

2)測試描述與具體實現(xiàn)細節(jié)的分離 

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

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

需的測試數(shù)據(jù)從腳本中提取出來,在運行時測試腳本再從數(shù)據(jù)存放處讀取預先定制好的數(shù)據(jù),這樣腳本和數(shù)據(jù)可以獨立維護。

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

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

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

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

2)公用的對象

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

3)公用的方法

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

五、共享腳本

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

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

1.共享腳本使得實現(xiàn)類似的測試花費的開銷較少。

2.共享腳本的維護開銷低于線性和結(jié)構(gòu)化腳本。

3.共享腳本中刪除明顯的重復代碼,這樣代碼更加簡潔易懂。

4.可以在共享腳本中增加更智能的功能,如認為的等待一定時間再次運行某個功能。

共享腳本的缺點:

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

2.對于每個測試用例仍需一個特定的測試腳本,因此維護成本比較高。

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

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

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

推薦閱讀:

走進前端自動化測試,深入了解它的構(gòu)架

自動化測試經(jīng)常用于哪些項目中?要怎么寫自動化測試的方案?

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

自動化單元測試要怎么理解?自動化單元測試有幾大原則?

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

深入了解黑盒測試的定義和黑盒測試的步驟

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

添加客服微信 歡迎咨詢測試工具和測試服務

微信客服
問題
反饋
產(chǎn)品
畫冊

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

產(chǎn)品畫冊
返回
頂部

方案咨詢

×
提交信息

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

您的信息已成功提交!

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