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