色欲香天天综合网站,亚洲AV优女天堂熟女,色一情一乱一伦一区二区三欧美,日本久久综合久久综合

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析

本文共有3963字,快速閱讀需要大約5分鐘,賞味期限持久。 隨著軟件測試技術(shù)的發(fā)展,人們已經(jīng)從最初的純粹的手工測試轉(zhuǎn)變?yōu)槭止づc自動化測試技術(shù)相結(jié)合的測試方法。近年來,自動化測試越來越受到人們的...

本文共有3963字,快速閱讀需要大約5分鐘,賞味期限持久。

隨著軟件測試技術(shù)的發(fā)展,人們已經(jīng)從最初的純粹的手工測試轉(zhuǎn)變?yōu)槭止づc自動化測試技術(shù)相結(jié)合的測試方法。近年來,自動化測試越來越受到人們的重視,對于自動化測試的研究也越來越多。

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖

背景

項目版本功能日趨增加,系統(tǒng)模塊越來越多,功能趨于完善,此外系統(tǒng)經(jīng)常更新,測試人員無法滿足多模塊的測試需求,測試壓力日漸增大,尤其在做回歸測試時,無法確保每次更新后系統(tǒng)都得到完整的回歸測試。

一、自動化測試基礎(chǔ)知識

什么是自動化測試

1、把人為驅(qū)動的測試行為改成機器執(zhí)行,通過設(shè)計的測試用例,由機器按照測試用例的執(zhí)行步驟對其進行自動操作,輸出結(jié)果,由測試人員進行比較。

2、自動化測試往往通過一些測試工具或框架,編寫自動化測試用例,來模擬手工測試。

3、自動化測試能極大的節(jié)省人力、時間和硬件資源,提高測試效率。

自動化測試的優(yōu)勢

1、自動化測試工具可以根據(jù)需要,準備大量的測試數(shù)據(jù)。

2、可以使用相關(guān)腳本技術(shù)準備大量的測試用例。

3、測試結(jié)果有時需要再進行相應(yīng)的數(shù)據(jù)處理。

4、可以對大量數(shù)據(jù)或數(shù)據(jù)格式進行快速比對。

自動化測試的劣勢

1、相對手工測試,自動化測試對測試人員的能力要求相對較高。

2、自動化測試用例需要根據(jù)版本迭代進行更新,有一定維護成本。

3、不能指望自動化測試去發(fā)現(xiàn)更多新的BUG,自動化測試能發(fā)現(xiàn)的缺陷遠遠比手工測試的少。

4、自動化測試的產(chǎn)出價值往往在于長期的回歸測試,短期內(nèi)發(fā)揮的作用可能不明顯。

5、自動化測試不能提高測試的有效性,只能用于提高測試的效率。

對于自動化測試的誤解

1、有了自動化測試不再需要手工測試。

2、自動化測試對有些測試比如:本地化測試、用戶體驗測試、探索性測試,測試環(huán)境搭建方面并不能完全代替手工測試。

3、自動化測試是對產(chǎn)品的運行,對測試點要有一定的手工測試基礎(chǔ),自動化測試和手動測試相輔相成。

4、自動化測試并不僅指自動化運行測試產(chǎn)品,數(shù)據(jù)處理也是非常重要的一個環(huán)節(jié)。

自動化測試前提條件及原則

1、項目周期長,需求穩(wěn)定近期未變動。

2、前端開發(fā)無需多次修改的頁面,無缺陷遺留的模塊。

3、自動化測試腳本可重復(fù)使用,比較頻繁的回歸測試(由于模塊較多,暫時回歸測試范圍限定為模塊主流程)。

4、手工測試難以實現(xiàn),需要在多平臺上運行相同的測試案例及大量重復(fù)任務(wù)。

5、前期自動化實施應(yīng)避開復(fù)雜度極高的模塊

如何實施自動化測試

1、獲取信息和測試需求分析:總體把握系統(tǒng)架構(gòu)和設(shè)計,分析出系統(tǒng)的測試需求。

2、設(shè)計:設(shè)計測試用例,并且挑選出需要自動化實現(xiàn)的測試用例。

3、實現(xiàn):編寫、調(diào)試和實現(xiàn)測試腳本。

4、執(zhí)行:執(zhí)行腳本的過程,需要不斷分析執(zhí)行過程中的異常。

5、測試結(jié)果分析:分析哪些是Bug,哪些是測試框架本身的問題。

6、維護:自動化測試腳本維護是一個難以解決又必須要解決的問題。

7、總結(jié):在自動化測試過程中總結(jié)自動化實踐的投入產(chǎn)出比。

自動化測試的層次劃分

1、越往上,越接近QA、業(yè)務(wù)/最終用戶,越往下,越接近開發(fā)。

2、越往上,測試執(zhí)行越慢;越往下,測試執(zhí)行越快。

3、越往上,測試成本越高(越耗時,失敗時的信息越模糊,越難跟蹤),越往下,測試成本越低。

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖1

二、自動化測試工具和框架

常見的自動化測試的工具

自動化測試工具開發(fā)語言:Java、Python等

基礎(chǔ)測試工具

(1)單元測試:junit(java)、unittest(python)

(2)接口測試:httpclient(java)、restassure(java)、request(python)

(3)UI測試:selenium webdriver( web )、appium(app)

3、常見自動化測試工具

(1)接口測試:Jmeter、soapui、postman

(2)UI測試:katalon、Robotframework、Android

自動化測試腳本技術(shù)

1、線性腳本:錄制、回放

2、結(jié)構(gòu)化腳本:含有控制腳本執(zhí)行的指令,支持順序、選擇和循環(huán)

3、共享腳本:可以被多個測試用例使用,腳本之間可以互相調(diào)用

4、數(shù)據(jù)驅(qū)動腳本: 數(shù)據(jù)驅(qū)動腳本是將測試輸入存儲在獨立的文件中,腳本中只存放控制信息

5、關(guān)鍵字驅(qū)動腳本:關(guān)鍵字驅(qū)動腳本實際上是較重復(fù)的數(shù)據(jù)驅(qū)動技術(shù)的邏輯擴展 ,即測試用例的執(zhí)行步驟(操作,操作對象,操作值)存放在文件中,直接執(zhí)行

自動化測試操作的基本原理

1、接口自動化測試操作

(1)模擬請求 url和報文,準備測試數(shù)據(jù)()抓包獲取接口信息,對接口的一個分析,有文檔或無文檔

(2)模擬客戶端發(fā)送 HTTP請求(get、post)

(3)模擬客戶端從服務(wù)器接收返回報文

(4)驗證返回結(jié)果是否符合預(yù)期

2、UI自動化測試的操作

(1)通過id、name、xpath、cssSelector等方法定位頁面元素(findelement、findelements)

(2)對定位到的頁面元素執(zhí)行相應(yīng)的操作( click、input等)

(3)對操作后出現(xiàn)的結(jié)果和預(yù)期結(jié)果做一個比較( assert )

自動化測試基礎(chǔ)工具原理

1、Selenium(解析前端代碼與控制瀏覽器)

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖2

自動化測試的PO模式

1、在PO模式中抽象封裝成一個BasePage類,該基類擁有一個只實現(xiàn)webdriver實例的屬性

2、每一個page都繼承BasePage,通過driver來管理本page中元素,將page中的操作封裝成一個個的方法TestCase依賴page類,實現(xiàn)相應(yīng)的測試步驟

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖3

自動化測試框架

1、關(guān)鍵字驅(qū)動

(1)將測試用例分成四個不同的部分。首先是測試步驟(Test Step),二是測試步驟中的對象(Test Object),三是測試對象執(zhí)行的動作(Action),四是測試對象需要的數(shù)據(jù)(Test Data)。

(2)將數(shù)據(jù)與關(guān)鍵字結(jié)合來描述如何執(zhí)行測試。也就是將測試用例腳本中的步驟提取出來,放在獨立的數(shù)據(jù)文件中,變成簡單編寫的方式。這種方法具備數(shù)據(jù)驅(qū)動的優(yōu)勢,同時非編程人員也能建立測試。

(3)關(guān)鍵字驅(qū)動的模式是建立在數(shù)據(jù)驅(qū)動手段之上,關(guān)鍵字驅(qū)動文件包含指令 (關(guān)鍵詞),而不只是數(shù)據(jù)。

(4)這個測試框架可以通過很少的代碼來產(chǎn)生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產(chǎn)生各個測試用例的同時被復(fù)用。

2、數(shù)據(jù)驅(qū)動

(1)從某個數(shù)據(jù)文件(例如Excel文件、Xml文件、Json文件、數(shù)據(jù)庫等)中讀取輸入測試數(shù)據(jù),然后通過變量傳入編寫的測試腳本中。

(2)數(shù)據(jù)文件的讀取、測試狀態(tài)和所有測試步驟都被編寫進測試腳本里;測試數(shù)據(jù)只包含在數(shù)據(jù)文件中,而不是腳本里,測試腳本只是一個”驅(qū)動”,或者說是一個傳送數(shù)據(jù)的機制。

(3)數(shù)據(jù)驅(qū)動的方法主要用于需要通過不同數(shù)據(jù)來保證測試覆蓋率的場景,比如被測系統(tǒng)業(yè)務(wù)邏輯固定不變或變動較小,即測試用例步驟是固定的,但是所需要的測試數(shù)據(jù)是變化的情況,通常來說,數(shù)據(jù)都是保存在外面文件或數(shù)據(jù)庫中,運行時自動獲取。即測試框架中要支持數(shù),據(jù)與腳本分離,一個測試腳本可以驅(qū)動執(zhí)行多個相似測試場景。

(4)這個框架意圖減少需要執(zhí)行所有測試用例所需要的總的測試腳本數(shù),數(shù)據(jù)驅(qū)動需要很少的代碼來產(chǎn)生大量的測試用例。

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖4

三、自動化測試框架的選擇與搭建

1、技術(shù)方案

Selenium(Webdriver) + Python(unittest)+ cx_Oracle + HTMLTestRunner

Selenium的WebDriver是一款開源工具。利用比較簡潔的Python語言進行自動化測試,對于人員的學(xué)習(xí)成本來講比較實用,學(xué)習(xí)時間短,有優(yōu)勢。

Python自帶的unittest單元測試框架可以很方便的實現(xiàn)自動化用例的設(shè)計和執(zhí)行以及自動化用例套件的管理等任務(wù)。Python是純面向?qū)ο蟮恼Z言,后續(xù)也可以過渡到Java + Selenium進行更加豐富的自動化測試;此外,可以選擇Jenkins作為持續(xù)集成服務(wù)器,配合Python+Selenium的方案進行自動化冒煙測試。

此方案采用了Page Object設(shè)計模式,將頁面、用例、數(shù)據(jù)三者分離。這樣可以使測試案例可以更關(guān)注與業(yè)務(wù)而非界面細節(jié),提高測試案例的可讀性;降低代碼冗余,增加方法的復(fù)用性。

2、環(huán)境選擇

根據(jù)測試組自動化測試需求討論結(jié)果,在uat、stage環(huán)境下使用自動化測試技術(shù)做回歸測試。(執(zhí)行前需確保該環(huán)境可正常使用)

由于uat、stage環(huán)境頻繁發(fā)版,影響自動化測試框架調(diào)試及腳本編寫,申請一個穩(wěn)定環(huán)境做調(diào)試及編寫工作。

3、自動化測試流程

(1)選取模塊

(2)選擇用例(主流程用例)

(3)按頁面編寫操作方法

(4)按用例編寫用例流程腳本

(5)按用例編寫數(shù)據(jù)查詢方法

(6)執(zhí)行用例

(7)輸出報告(后期擴展,增加執(zhí)行日志和異常截圖以便跟蹤缺陷)。

綜上,當腳本內(nèi)容編寫結(jié)束并且業(yè)務(wù)需求和測試需求均無更改的時候,執(zhí)行后兩步操作即可。查看報告內(nèi)容,如發(fā)現(xiàn)缺陷,需按用例內(nèi)容重現(xiàn)缺陷并提交至禪道管理系統(tǒng)。

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖5

4、后續(xù)維護

(1)業(yè)務(wù)需求變更

當業(yè)務(wù)需求變更時,應(yīng)在執(zhí)行用例時越過變更內(nèi)容用例,變更內(nèi)容上線后按需求變更內(nèi)容對腳本及用例進行相應(yīng)調(diào)整。調(diào)整結(jié)束,需再次執(zhí)行確保用例穩(wěn)定。

(2)被測模塊重構(gòu)

當被測模塊重構(gòu)完成時,需執(zhí)行該模塊自動化測試用例,查看是否正常執(zhí)行,若無問題出現(xiàn)則不需調(diào)整,若出現(xiàn)問題需及時調(diào)試解決。

(3)技術(shù)變更

隨著自動化測試框架的不斷調(diào)優(yōu)、擴展功能,基礎(chǔ)模塊和封裝的頁面等也會隨之變化。進而,自動化測試需要定期執(zhí)行,以保證調(diào)優(yōu)、擴展后框架的穩(wěn)定性,從而達到保障回歸測試的正常進行。

5、資源調(diào)配

(1)環(huán)境:

a、項目環(huán)境與線上項目近似,獨立發(fā)版,版本內(nèi)容相對穩(wěn)定,數(shù)據(jù)庫獨立,不受其它環(huán)境影響。

b、本機環(huán)境,win7&win10 Chrome 72 32bit。

(2)用戶:獨立用戶,權(quán)限盡量調(diào)高,以免由用戶權(quán)限影響訪問某些功能點,減少用例遺漏。

(3)人員:建立自動化測試的組,理想狀態(tài)下3-4個人員,測試開發(fā)、中高級自動化測試工程師、初級自動化工程師。

(4)培訓(xùn):對初級自動化工程師培訓(xùn),設(shè)計的框架以及封裝的驅(qū)動等。

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖6

四、自動化測試分階段實現(xiàn)

1、搭建基礎(chǔ)版框架,完成一個模塊的自動化測試demo

采用Page Object設(shè)計模式,對頁面元素,用例流程,數(shù)據(jù)進行封裝隔離,在通用模塊或基礎(chǔ)模塊中對webdriver進行二次封裝,自動生成測試報告以便分析自動化測試執(zhí)行結(jié)果。

2、按基礎(chǔ)版框架,擴展測試范圍

選取適合做自動化測試的功能模塊,按基礎(chǔ)框架思路編寫腳本、用例等,然后對框架做擴展,實現(xiàn)數(shù)據(jù)驅(qū)動、定時執(zhí)行測試,發(fā)送報告郵件等便于使用的非核心功能。

3、覆蓋大多數(shù)模塊的回歸測試

根據(jù)人員等資源的協(xié)調(diào)情況,將自動化測試用例擴展至覆蓋大部分模塊回歸測試的程度。由執(zhí)行自動化測試完成回歸測試,以達到提高回歸測試的效率,降低回歸測試人力要求的目的。

小結(jié)

自動化測試技術(shù)在現(xiàn)代測試技術(shù)中是有一定優(yōu)勢的,但是自動化測試不是在任何情況下都必須的,適當?shù)?、或者是有效成本投入,需要我們在合適的時機引入自動化測試,使手工測試和自動化測試實現(xiàn)完美結(jié)合。

請關(guān)注+私信回復(fù):“測試”就可以免費拿到軟件測試學(xué)習(xí)資料。

5分鐘了解自動化測試,自動化優(yōu)勢、劣勢、工具和框架選擇全剖析插圖7

聯(lián)系我們

聯(lián)系我們

0769-81627526

在線咨詢: QQ交談

郵箱: info@kingpo.hk

工作時間:周一至周五,9:00-17:30,節(jié)假日休息
關(guān)注微信
微信掃一掃關(guān)注我們

微信掃一掃關(guān)注我們

手機訪問
手機掃一掃打開網(wǎng)站

手機掃一掃打開網(wǎng)站

返回頂部
牙克石市| 东明县| 福贡县| 蓬莱市| 武城县| 黄浦区| 潜山县| 乌兰察布市| 获嘉县| 和平县| 长岭县| 永州市| 乌拉特中旗| 福海县|