解放雙手——你知道軟體測試階段都有哪些主流自動化測試技術嗎?
當前,軟體產品整體的開發測試節奏正在不斷的加快。如何快速響應市場需求,在保障產品質量的同時提高軟體研發效率?是擺在開發、測試人員面前的一大難題。
對軟體測試人員來說,提高自動化測試的能力和效率,是應對這一難題的途徑之一。透過調研學習,我們對主流自動化測試技術進行簡要對比。按照人工介入程度區分,自動化測試技術主要分為兩大類別:流量複製技術和場景測試技術。
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等,在各行業應用較為廣泛。
場景測試技術具有場景按需定製,測試針對性強,定位重現問題較為便捷的特點。適合前端測試,特別是有人機互動、有流程、步驟和環節概念的應用程式和桌面程式,能精細化覆蓋所有業務分支流程,實現仿使用者操作行為的測試。
針對流量複製技術和場景測試技術所採用的自動化測試軟體,我們進行了對比分析,分析結果參見下表:
主流自動化測試軟體優劣對比
從上述分析可以看到,流量複製技術和場景測試技術實現原理不同,在市場上都具備相對成熟的軟體支援,在應用中各有優勢,適合於不同型別的測試應用場景。在實際產品的測試過程中,我們應根據軟體系統的不同特徵和場景,選用適合的自動化測試技術,以期提高測試效率和質量。
加我VX:ww-51testing 回覆關鍵詞“測試”領取限量軟體測試學習資料哦~~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2658124/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- “自動化測試解放雙手”,測試自動化好處大盤點!
- 自動化測試可替代手動測試?軟體測試這個誤區你有嗎?
- 軟體自動化測試的四個階段
- 軟體測試:自動化測試
- 解放雙手 - Android 開發應該嘗試的 UI 自動化測試AndroidUI
- 軟體測試這些你知道嗎?
- 軟體自動化測試有什麼優勢?自動化測試框架有哪些?框架
- 持續測試跟自動化測試的這些區別你知道嗎?
- 軟體測試技術-黑盒測試
- 軟體測試筆記——11.自動化測試和手動測試的選擇筆記
- 軟體測試理論(2)自動化測試
- 軟體自動化測試有哪些測試流程?專業的軟體測評中心推薦
- 測者的測試技術手冊:自動的自動化EvoSuite 自動生成JUnit的測試用例UI
- 10K起步的軟體測試崗到底需要學什麼?零基礎進階自動化測試需要哪些技術...
- 作為一個軟體測試新手,你知道軟體測試的幾個方向嗎?
- 解放雙手——移動端UI自動化測試框架對比,總有一款適合你!UI框架
- 軟體測試常用的工具都有哪些-測試常用工具
- Eggplant—HMI自動化測試軟體
- 通用自動化測試軟體 — TAE
- Eggplant—HMI 自動化測試軟體
- 軟體測試的四個測試階段簡析,軟體測試報告需要多少錢?測試報告
- 軟體安全測試有哪些測試手段?軟體測試報告收費貴嗎?測試報告
- 軟體測試為什麼需要自動化測試框架?權威軟體測試公司分享框架
- 學習軟體測試需要掌握哪些技術?
- 軟體測試方法和技術有哪些呢?
- Android UXSS階段性小結及自動化測試AndroidUX
- 軟體效能測試的幾個階段
- 高階測試工程師必備技術:用Git版本控制自動化測試程式碼工程師Git
- 自動化軟體測試知識分享,上海權威軟體檢測公司有哪些?
- Python自動化測試怎麼學?軟體測試進階Python自動化,收藏這篇文章就夠了Python
- 單元測試階段的測試工作量自動預估
- 階段測試
- 軟體測試培訓分享:軟體測試自學能找到工作嗎
- 自動化測試系列 —— UI自動化測試UI
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- 第三方軟體測評▏web測試和app測試的區別你知道嗎?WebAPP
- 軟體測試、自動化測試極容易產生的誤區
- 自動化測試在國際軟體測試中的應用