...

软件测试常见工具

收集整理,测试相关工具、资源面试题等,欢迎补充完善

image

功能测试

测试工具

  • XMind: 思维导图工具,常用来梳理测试点,商业软件,支持免费试用,有功能限制
  • XShell: Windows平台远程Linux服务器连接及操作工具,商业软件,支持免费试用,有功能限制

项目/测试管理

  • Jira: 缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理
    • Xray: Jira用例管理插件, 支持BDD,收费插件,支持试用
    • Zephyr Squad: Jira用例管理插件,收费插件,支持试用
  • Tapd: 腾讯出品的项目管理平台,支持需求、迭代、任务、缺陷、测试用例管理等
  • PingCode: 新一代研发管理工具
  • TestLink: 开源测试用例管理,测试计划,测试执行,测试报告。
  • 禅道: ,国产开源工具,记录bug,用例管理,项目管理。
  • Redmine: 用Ruby开发的基于web的项目管理软件

抓包工具

  • Chrome Devtools: Chrome浏览器自带的开发组工具,Network面板可用于抓包
  • Charles: 多平台HTTP接口抓包工具,商业软件,支持免费试用
  • Fiddler: HTTP抓包调试工具,支持Mock响应,弱网模拟等
  • Wireshark:基于网卡的抓包工具,支持HTTP、TCP、UDP等各种协议的抓包,支持各种操作系统
  • Whistle:基于Nodejs实现的跨平台抓包工具,支持Http,WebSocket及TCP请求
  • Mitmproxy: 开源HTTP抓包工具,支持使用代码编写抓包规则
  • AnyProxy: 阿里巴巴开源的基于Nodejs实现的HTTP抓包工具
  • Tcpdump:Linux服务端抓包命令

命令行工具

  • Idb: iOS调试命令行工具,仅支持macOS
  • Adb: Android SDK中内置的Android调试工具

笔记及流程图

  • Draw.io: 开源免费的流程图绘制工具
  • Obsidian: 免费的Markdown文档及知识管理工具,支持众多插件
  • 有道云笔记: 网易免费的云笔记管理软件,支持Markdown及Word等格式
  • 印象笔记: 功能丰富的云笔记软件,免费版支持2个端的同步

其他

客户端专项

App性能测试

  • PerfDog: App性能监控及分析工具,已转为收费软件

稳定性测试

  • Monkey: Android SDK中内置的一款Android稳定性测试工具
  • Fastbot_Android: 字节开源的Android稳定性测试工具
  • Fastbot_iOS: : 字节开源的iOS稳定性测试工具
  • FastMonkey: 张昭开发的一款基于Swift的iOS稳定性测试统计已停止维护
  • SwiftMonkey: Zalando小组开发的一款iOS稳定性测试工具,已停止维护
  • WebDriverAgent: Facebook开发的iOS自动化测试驱动,可以配合Appium使用

弱网测试

  • Fiddler:使用Fiddler抓包工具可以模拟弱网
  • Charles: 使用Charles代理可以模拟弱网
  • TC: Traffic Control, Linux上网络流量控制工具

音视频质量

服务端测试

常用工具

  • Git: 代码版本管理命令行工具
  • Docker: 应用容器,轻量化虚拟机

接口测试

  • Postman: HTTP接口测试工具,支持HTTP,Websocket,GraphQ, gRPC接口测试,接口管理及Mock等
  • Bruno: 开源免费的HTTP测试工具,类似Postman,数据存在本地
  • JMeter: 工业级的压力测试工具,也可以做接口测试
  • SoapUI: 基于SOAP协议的WebService接口测试工具
  • SwitchHosts: Hosts配置及切换工具

接口管理及测试

  • YApi: 爱奇艺YMFE团队开源的接口管理平台,支持Mock接口
  • RAP2: 阿里开源的接口管理平台,支持Mock接口
  • ShowDoc: 开源接口文档管理工具,自带模版,方便使用
  • SwaggerUI: 与接口代码集成的接口测试插件,可以使用Web界面查看和调试开发好的接口
  • MeterSphere: 一站式开源持续测试平台。
  • BlazeMeter: 一站式持续测试平台
  • ApiPost: 一款类似Postman的HTTP接口文档、设计、调试、自动化测试一体化协作工具
  • ApiFox: 另一款类似Postman的HTTP接口文档、设计、调试、自动化测试一体化协作工具

数据库客户端

  • Navcat: 商业软件,包含MySQL、PostgreSQL、MongoDB、Redis等各种客户端
  • DBeaver: 开源的数据库客户端,支持MySQL、PostgresSQL等
  • Another Redis Desktop Manager: 另一款开源的Redis桌面客户端

服务端监控

综合监控工具

  • Zabbix: 经典的开源的Linux服务实时监控工具
  • Prometheus: 开源实时监控、时序数据库,监控数据采集,多和Grafana配合使用
  • Grafana: 开源监控表盘系统,多和Prometheus配合使用
  • Nightingale-夜莺监控: 滴滴开源版监控系统,支持对接各种数据库及监控表盘系统
  • Netdata: 开源高性能、云原生和本地监控工具
  • Falcon: 小米开源的一款企业级监考及报警系统。

数据库监控

  • Dolphie: 开源MySQL数据库实时监控平台
  • Anemometer: MySQL慢查询监控
  • DBA Dash: 开源SQL Server数据库监控
  • Swiple: 开源的数据库监控和自动报警平台,支持MySQL,PostgresSQL等
  • Redis Monitor: Redis自带的运行监控命令

数据库健康检查

日志监控系统

  • ELK: 开源日志监控工具,Elasticsearch + Logstash + Kibana

微服务(分布式)链路监控(APM)

  • Dapper: 分布式监控架构(论文)
  • Apache SkyWalking: 开源分布式系统的应用程序性能监视工具
  • Pinpoint: 开源无侵入的,分布式应用程序性能监控工具,支持Java, Python, PHP

Linux命令行监控工具

  • htop: 实时统计Linux系统资源占用率的Linux命令行工具
  • iftop: 实时统计Linux网络流量的Linux命令行工具
  • nload: Linux网速实时监控的Linux命令行工具

流量回放

  • GoReplay: 网络监控工具,可以做流量回放,压力测试,流量分析
  • TcpCopy: 流量回放工具。
  • vm-sandbox-repeater: 阿里开源的基于JVM-Sandbox的流量录制回放工具,提供入口请求(HTTP/Dubbo/Java)流量回放、子调用(Java/Dubbo)返回值Mock能力

安全测试&渗透测试

  • AppScan: App安全测试工具
  • Metasploit: 广泛使用的渗透测试自动化框架
  • BurpSuite: 渗透测试工具套件
  • Kali Linux: 包含上百种渗透测试,如漏洞分析,Web应用程序,信息收集,无线攻击,逆向工程,密码破解,取证工具,Web应用程序,欺骗,嗅探相关工具的开源Linux系统

混沌测试

  • ChaosBlade: 阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具。
  • ChaosMesh: 基于 Kubernetes 的云原生混沌工程平台。

白盒测试

代码质量 &代码审查

  • SonarQube: 开源代码质量和安全的扫描工具,支持Python,Java等多种语言项目
  • Gerrit: 配合Git的代码审查工具

代码覆盖率

  • Goc: 开源的Golang项目代码覆盖率工具
  • Jacoco: 开源的Java项目代码覆盖率工具
  • CodePulse: 实时代码覆盖率工具

常见开发框架

  • OpenResty: 一款基于Nginx和Lua的高性能Web开发框架
  • COLA: 阿里巴巴推出的Java领域驱动Web开发框架
  • Spring Boot: Java Web应用开发框架,常结合Mybatis操作数据库,可结合Dubbo + Zookeeper开发微服务
  • [Spring Cloud](https://spring.io/projects/spring-cloud]: Spring整套微服务框架,包含Gatewary广告,Bug消息总线,注册中心Nacos、Consul服务治理,Sentinel熔断限流,OpenFeign接口框架等
  • Gin: Golang Web服务开发框架,常结合Gorm操作数据库
  • Go-zero: Golang微服务开发框架
  • ThinkPHP: 轻量级PHP Web应用开发框架
  • Koa: Nodejs Web应用开发框架
  • Cocos: 2D/3D游戏开发框架
  • CEF:基于Chromium浏览器的桌面应用开发框架
  • Electron: 基于前Javascript, HTML及CSS的桌面应用开发框架

性能测试

HTTP接口性能测试

  • LoadRunner: HP的商业性能测试工具
  • JMeter:开源的基于Java的接口压力测试工具,也有Websocket压力测试插件
  • Locust:基于Python的性能测试工具,Web界面
  • Wrk: 一款现代HTTP基准测试工具,Linux命令
  • Apache Bench: HTTP接口性能测试命令
  • Siege: Siege是一个多线程HTTP负载测试和基准测试工具

Web页面性能测试

  • Chrome LightHouse: Chrome浏览器自带的页面性能测试工具
  • WebPageTest:测量和分析网页性能工具,支持开发者下载源文件搭建私人的内部测试站点
  • PageSpeed Insights:专注于改进网页性能的开发者工具,google出品

App性能测试/监控

  • PerfDog: App性能监控及分析工具,已转为收费软件

PC应用性能

  • PresentMon: Windows平台图形应用(游戏)性能测试工具

其他性能测试

数据库性能测试

  • Sysbench: 多线程MySQL数据库测试命令行工具
  • Pgbench: PostgresSQL数据库性能测试工具

存储性能测试

  • Vdbench: 可以产生大量的IO读写,以测试存储性能
  • MemTester: 内存压力测试工具

网络性能测试

  • IPerf: 主机TCP, UDP及SCTP网卡带宽(性能)测试工具

自动化测试

测试框架

Python

Java

  • JUnit: 最著名的xUnit类的单元测试框架,但是不仅仅可以做单元测试。
  • TestNG: 更强大的Java测试框架,灵活可扩展,支持注解和多线程。
  • Spock: Java及Groovy应用的BDD测试框架
  • Cucumber-JVM: Java版Cucumber,一款BDD测试框架
  • Rest-assured: Java一款易用的的测试HTTP接口测试框架
  • Maven: Java项目构建及依赖管理框架

Golang

  • Testify: Golang三方具单元测试框架,包含测试套件、常用断言及Mock工具等
  • HttpRunner: 基于YAML测试文件的HTTP及UI测试库

C++

  • GTest: Google一款C++单元测试框架
  • Bazel: 一款C++项目构建及测试框架

跨语言测试框架

其他

  • Gauge: 轻量级的跨平台测试自动化工具,可以以业务语言编写测试用例。

WebUI自动化

  • Selenium: 业界最有影响力的Web自动化测试工具。
  • Cypress: 自带浏览器,基于Javascript的Web自动化测试工具,较Selenium更快
  • Playwright :微软开源的一款Python异步Web测试库,支持多种浏览器,较Selenium更快
  • Puppeteer: 基于Javascript的的异步Web测试库,较Selenium更快

AppUI自动化

Android & iOS自动化

  • Appium: 支持android和ios的移动端自动化测试工具
  • Macaca: 面向多端的自动化测试工具,由阿里巴巴开源。
  • Airtest: UI自动化测试工具,支持App和游戏测试,网易开源。
  • SoloPi: Soloπ是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。
  • Uiautomator2: Python版Uiautomator封装,Android设备测试框架
  • ATX: 网易推出的AppUI测试框架,支持Android和iOS
  • STF: STF(Smartphone Test Farm) 移动设备管理工具,通过浏览器控制和管理移动设备。

Flutter App自动化

鸿蒙App自动化

微信小程序自动化

  • MiniTest: 属于小程序和小游戏的自动化测试框架

桌面客户端自动化

  • Pyautogui: 基于截图识别等桌面自动化框架
  • Atalon: API,Web,移动端的自动化测试工具。
  • Ranorex: 商业GUI自动化测试工具,支持桌面,Web,移动端。
  • AutoIT: 用类Basic脚本编写Windows桌面GUI自动化的工具。
  • QTP/UFT 商业GUI桌面,Web的自动化测试工具

持续集成

  • Jenkins: 使用广泛的开源持续集成网站,拥有丰富的插件,支持应用定时打包、构建、自动化测试等
  • GitLab CI: 开源GitLab平台的基于YAML配置的应用持续集成语法

测试开发

IDE&编辑器

  • PyCharm: Jetbrains推出的Python开发工具,有社区免费版
  • IDEA: Jetbrains推出的Java开发工具,有社区免费版
  • Visual Studio Code: 微软推出的全能代码编辑器,支持多种语言和各种插件
  • Zed: 新一代支持协作编码的代码编辑器

Python

  • Django: Python全能Web开发框架
  • Flask: Python微型Web开发框架
  • FastAPI: Python高性能Web接口开发框架
  • SQLAlchemy: Python数据库操作ORM库

Java

Golang

  • Gin: 简单易用的的Golang Web开发框架
  • Gorm: Golang数据库操作ORM框架

前端

  • Vue: 渐进式Web前端开发框架,有Vue2和Vue3两个版本
  • Element UI: 饿了么推出的Web前端组件库,支持Vue
  • React: Meta推出的前端开发框架
  • AntDesign:阿里推出的Web前端组件库,支持React
  • TDesign: 腾讯推出的前端组件库,支持Vue,React等

其他

车载测试

  • CANoe: Vector推出的汽车HIL和SIL项目的开发和测试工具
  • CANdelaStudio: Vector推出的高效汽车数据诊断系统
  • DiVa: Vector推出的汽车电子控制单元,自动化验证和诊断工具
  • vTESTstudio: Vector推出的可视化汽车嵌入式系统自动化测试工具
  • python-can: CAN协议硬件Python操作库

搜索测试

  • 评价指标:准确率、精确率、召回率、MAP(Mean Average Precision-平均精度)和NDCG(Normalized Discounted Cumulative Gain-归一化折合增益值)、无结果率、MRR(平均倒数排名)、点击率等
  • 主要测试方法:A/B Testing,基于专家(主管)评价,或基于点击率统计评价

大数据测试

AI大模型测试

算法测试

Web3区块链测试

  • Remix:以太坊只能合约开发IDE,支持合约编程,编译,调试及部署
  • Hardhat: 基于Javascript或Typescript的以太坊应用测试框架

用例生成

  • Graphwalker: 基于模型的测试用例生成框架
  • PICT: 微软公司开发的pairwise testing的用例生成工具

AI辅助测试

  • AI辅助用例生成
  • AI辅助用例检查

参考

posted @ 2024-09-11 14:06  韩志超  阅读(165)  评论(0编辑  收藏  举报