解放雙手——你知道軟件測試階段都有哪些主流自動化測試技術嗎?

當前,軟件產品整體的開發測試節奏正在不斷的加快。如何快速響應市場需求,在保障產品質量的同時提高軟件研發效率?是擺在開發、測試人員面前的一大難題。

對軟件測試人員來說,提高自動化測試的能力和效率,是應對這一難題的途徑之一。通過調研學習,我們對主流自動化測試技術進行簡要對比。按照人工介入程度區分,自動化測試技術主要分為兩大類別:流量複製技術和場景測試技術。

解放雙手——你知道軟件測試階段都有哪些主流自動化測試技術嗎?

1、流量複製技術

流量複製技術的原理是:複製在線Server的請求數據包(比如HTTP流量、TCP流量、鏈路層流量等),修改流量包頭部信息,發送給測試服務器,達到欺騙測試服務器程序的目的,從而為欺騙測試服務器上面的上層應用打下基礎。

技術發展現狀:目前有各種開源的軟件支持流量複製,比如Gor、TCPCopy等。其中,Gor是一款Golang語言編寫的簡單的http流量複製開源工具,它的工作流程是監聽服務器捕捉http流量,把捕捉到的流量發送到重現服務器上或者保存到文件中,重現服務器再繼續把流量發送到一個指定的ip地址:

解放雙手——你知道軟件測試階段都有哪些主流自動化測試技術嗎?

Gor工作流程圖

TCPCopy是國內各大互聯網公司廣泛應用XCopy系列工具之一,XCopy是由網易主導,多家公司參與開發的具有在線Server流量複製功能的一系列開源軟件的總稱。XCopy系列包括TCPCopy、UDPCopy、MysqlCopy等開源軟件(這些軟件都集成在tcpcopy開源項目內)。TCPCopy是一種請求複製(複製基於TCP的packets)工具,通過複製在線數據包,修改TCP/IP頭部信息,發送給測試服務器。

流量複製技術具有技術成熟,項目開源,對用戶透明,無需用戶承擔額外的研發工作僅需要在生產和測試環境安裝相應的軟件等特點。測試流程真實仿真生產情況,測試路徑真實,能放大和縮小流量,實現仿生產條件下的仿真性能測試。流量複製技術應用在對後端服務進行測試,適合人機界面交互少、後臺邏輯相對單一的系統進行自動化測試,比如網捷貸、搜索引擎等相關產品。

解放雙手——你知道軟件測試階段都有哪些主流自動化測試技術嗎?

2、場景測試技術

場景測試技術的原理是:按照真實業務場景劃分,通過程序錄制用戶的操作行為,轉化為腳本,然後在被測環境回放腳本進行測試。

技術發展現狀:目前有較為成熟的軟件支持,比如:QTP、Watir、Selenium等,在各行業應用較為廣泛。

解放雙手——你知道軟件測試階段都有哪些主流自動化測試技術嗎?

場景測試技術具有場景按需定製,測試針對性強,定位重現問題較為便捷的特點。適合前端測試,特別是有人機交互、有流程、步驟和環節概念的應用程序和桌面程序,能精細化覆蓋所有業務分支流程,實現仿用戶操作行為的測試。

針對流量複製技術和場景測試技術所採用的自動化測試軟件,我們進行了對比分析,分析結果參見下表:

主流自動化測試軟件優劣對比

解放雙手——你知道軟件測試階段都有哪些主流自動化測試技術嗎?

從上述分析可以看到,流量複製技術和場景測試技術實現原理不同,在市場上都具備相對成熟的軟件支持,在應用中各有優勢,適合於不同類型的測試應用場景。在實際產品的測試過程中,我們應根據軟件系統的不同特徵和場景,選用適合的自動化測試技術,以期提高測試效率和質量。

請關注+私信回覆:“測試”就可以免費拿到軟件測試學習資料,全棧測試工程師相關資料可以私信我。

解放雙手——你知道軟件測試階段都有哪些主流自動化測試技術嗎?


分享到:


相關文章: