2023年十款開源測試開發(fā)工具推薦(自動化、性能、混沌測試、造數(shù)據(jù)、流量復制)
先給各位讀者粉絲拜個晚年!祝大家新年快樂,闔家幸福!今天為大家奉獻一篇測試開發(fā)工具集錦干貨。在本篇文章中,將給大家推薦10款日常工作中經(jīng)常用到的測試開發(fā)工具神器,涵蓋了自動化測試、性能壓測、流量復制、混沌測試、造數(shù)據(jù)等。
1、AutoMeter-API 自動化測試平臺
AutoMeter 是一款針對分布式服務,微服務 API 做功能和性能一體化的自動化測試平臺,一站式提供發(fā)布單元,API,環(huán)境,用例,前置條件,場景,計劃,報告等管理。
在項目開發(fā),迭代交付過程中開發(fā)人員,測試人員需要針對系統(tǒng)提供的 API 做調(diào)試,回歸測試,性能測試。自動化測試,一個好的平臺本質(zhì)上需要解決 API 測試的 5 大基本問題:
- 1.支持不同的角色,技術人員多人協(xié)作
- 2.支持定義多個不同的測試環(huán)境
- 3.支持定義各種被測系統(tǒng),API
- 4.支持功能,性能,回歸,自動化測試
- 5.功能/性能明細報告,統(tǒng)計報告
項目地址:
2、QA Wolf 瀏覽器自動化測試工具
QA Wolf 可幫助你以 10 倍的速度創(chuàng)建、運行和維護端到端的瀏覽器自動化測試。
項目地址:
3、Mimesis 用于 Python 的高性能虛假數(shù)據(jù)生成器
Mimesis 是一個用于 Python 的高性能虛假數(shù)據(jù)生成器,它以多種語言提供用于多種用途的數(shù)據(jù)。虛假數(shù)據(jù)可用于填充測試數(shù)據(jù)庫、創(chuàng)建虛假 API 端點、創(chuàng)建任意結構的 JSON 和 XML 文件、匿名化生產(chǎn)中的數(shù)據(jù)等。
支持的功能
- 簡單:易于使用和學習
- 多語言:支持多種語言的數(shù)據(jù)
- 性能:可用于 Python 的最快數(shù)據(jù)生成器
- 數(shù)據(jù)多樣性:支持多種數(shù)據(jù)提供者用于各種目的
- 通用數(shù)據(jù)提供者:從單個對象對所有提供者的簡化訪問
- 零依賴:不需要 Python 標準庫以外的任何模塊
- 基于模式的生成器:提供一種簡單的機制來通過任何復雜的模式生成數(shù)據(jù)
項目地址:
安裝:
示例:
4、Ddosify 高性能負載測試工具
Ddosify 是一個用 Golang 編寫的高性能負載測試工具和 DDOS 攻擊模擬。
特性:
- 協(xié)議不可知 - 目前支持 HTTP、HTTPS、HTTP/2。其他協(xié)議正在開發(fā)中。
- 基于場景 - 在 JSON 文件中創(chuàng)建你的流程。無需一行代碼!
- 不同的負載類型 - 測試你的系統(tǒng)在不同負載類型上的限制。
項目地址:
5、AutoCannon HTTP/1.1 基準測試工具
AutoCannon 是一個用 Node.js 編寫的 HTTP/1.1 基準測試工具,受到 wrk 和 wrk2 的極大啟發(fā),支持 HTTP 管道和 HTTPS。autocannon 可以產(chǎn)生比 wrk 和 wrk2 更多的負載。
項目地址:
6、Sharingan 流量錄制回放工具
Sharingan(寫輪眼)是一個基于 golang 的流量錄制回放工具,適合項目重構、回歸測試等。
特性
- 支持下游流量錄制。相比 tcpcopy、goreplay 等方案,回放不依賴下游環(huán)境。
- 支持并發(fā)流量錄制和回放。錄制對服務影響小,回放速度更快。
- 支持時間重置、噪音去除、批量回放、覆蓋率報告、常見協(xié)議解析等等。
- 支持寫流量回放,不會污染應用數(shù)據(jù)。
- 不依賴業(yè)務框架,低應用浸入。
項目地址:
使用示例:
7、randdata 隨機測試數(shù)據(jù)生成工具
randdata 是一款基于 JAVA 開發(fā)的測試數(shù)據(jù)生成工具,為了測試人員、軟件開發(fā)人員、數(shù)據(jù)開發(fā)人員、售前工程師或產(chǎn)品經(jīng)理演示提供生成隨機相應數(shù)據(jù)的全力打造的,支持個人信息、地址、數(shù)字、網(wǎng)絡、銀行、是非等多種數(shù)據(jù)的隨機生成,無需用戶再去編寫復雜 SQL 或程序就能生成附合中國人習慣的數(shù)據(jù)。從而大大的節(jié)約軟件開發(fā)的成本。
特點:
- 無代碼 : 無需編寫代碼,即生成相應數(shù)據(jù)。
- 運行簡單:用戶只要安裝 JDK1.8 及以上版本即可運行。
- 數(shù)據(jù)隨機性:最大限度保證數(shù)據(jù)不重復。
- 支持直接數(shù)據(jù)庫表生成:可直接導入某些數(shù)據(jù)庫的表結構,而無須手工建表,通過給表指定生成數(shù)據(jù)類型即可。
- 運行環(huán)境要求低:windows、linux 等 PC 機可直接運行,項目只有一個 jar 包,可通過 java -jar 包名即可運行。
項目地址:
8、DrissionPage WEB 自動化測試集成工具
DrissionPage,即 driver 和 session 的合體,是一個基于 python 的 Web 自動化操作集成工具。
requests 爬蟲面對要登錄的網(wǎng)站時,要分析數(shù)據(jù)包、JS 源碼,構造復雜的請求,往往還要應付驗證碼、JS 混淆、簽名參數(shù)等反爬手段,門檻較高。若數(shù)據(jù)是由 JS 計算生成的,還須重現(xiàn)計算過程,體驗不好,開發(fā)效率不高。使用 selenium,則可以很大程度上繞過這些坑,但 selenium 效率不高。
因此,這個庫將 selenium 和 requests 合二為一,不同需要時切換相應模式,并提供一種人性化的使用方法,提高開發(fā)和運行效率。除了合并兩者,本庫還以網(wǎng)頁為單位封裝了常用功能,簡化了 selenium 的操作和語句,在用于網(wǎng)頁自動化操作時,減少考慮細節(jié),專注功能實現(xiàn),使用更方便。
特性
- 允許在 selenium 和 requests 間無縫切換,共享 session。
- 兩種模式提供一致的 API,使用體驗一致。
- 人性化的頁面元素操作方式,減輕頁面分析工作量和編碼量。
- 對常用功能作了整合和優(yōu)化,更符合實際使用需要。
- 兼容 selenium 代碼,便于項目遷移。
- 使用 POM 模式封裝,便于擴展。
- 統(tǒng)一的文件下載方法,彌補瀏覽器下載的不足。
- 簡易的配置方法,擺脫繁瑣的瀏覽器配置。
項目地址:
9、Chaos Mesh 在 Kubernetes 上進行混沌測試
Chaos Mesh 是一個云原生的混沌工程(Chaos Engineering)平臺,可在 Kubernetes 環(huán)境中進行混沌測試。
當前實現(xiàn)支持用于故障注入的主要操作:
- pod-kill:模擬 Kubernetes Pod 被 kill。
- pod-failure:模擬 Kubernetes Pod 持續(xù)不可用,可以用來模擬節(jié)點宕機不可用場景。
- network-delay:模擬網(wǎng)絡延遲。
- network-loss:模擬網(wǎng)絡丟包。
- network-duplication:模擬網(wǎng)絡包重復。
- network-corrupt:模擬網(wǎng)絡包損壞。
- network-partition:模擬網(wǎng)絡分區(qū)。
- I/O delay:模擬文件系統(tǒng) I/O 延遲。
- I/O errno:模擬文件系統(tǒng) I/O 錯誤 。
項目地址:
10、Automagica 智能流程自動化平臺
Automagica 是一個開源智能機器人流程自動化(SRPA,Smart Robotic Process Automation)平臺,借助 Automagica,自動化跨平臺流程變得輕而易舉。Automagica 可以通過簡單程序腳本實現(xiàn)打開各種應用程序并對應用進行操作。
Automagica 需要 Python 3.7 環(huán)境,官方支持 Windows 10 平臺,Linux 和 Mac 目前官方還不支持。
項目地址:
Automagica 使用場景:
- 桌面交互自動化
- Office 自動化,例如打開 Excel 并進行數(shù)據(jù)填充
- Web 自動化,例如打開網(wǎng)址并進行網(wǎng)頁操作
- 商業(yè)應用自動化
- 自動打開郵件應用并收發(fā)郵件
- 遠程控制等等
例如:打開 Excel 并進行程序控制:
打開畫圖工具并進行繪圖:
示例代碼 該示例打開 Windows 記事本并輸入 'Hello world!'.
下面例子打開 Chrome 瀏覽器并訪問指定url
本文轉載自微信公眾號「測試開發(fā)技術」,可以通過以下二維碼關注。轉載本文請聯(lián)系測試開發(fā)技術公眾號。