Tricentis 主导的一项全球调查为我们提供了几个有关测试趋势的重要观察。趋势表明,团队倾向于使用功能测试,这可以理解,但是手动测试也将保留下来。
怎么选择测试框架?这有一些标准:
- 相对快速和方便设置(或开箱即用的解决方案)
- 支持社区或开发者自己可以为其框架提供支持
- 有清晰而全面的文档
- 与其他工具充分集成
- 有一些很酷的功能,例如代码可重用性支持在多个平台和环境进行测试
Selenium(功能测试)
Selenium 诞生于 2004 年,它已经逐渐成为 QA 工程师的必备测试工具。它在 GitHub 上有近 20000 Star,是市场上最受欢迎的功能测试工具之一。
一般来说,Selenium 是一个涵盖几种工具的生态系统:Selenium WebDriver、Selenium IDE 和 Selenium Grid。
Selenium 核心特性:
- 跨浏览器和跨平台测试
- 多种测试语言(Python、Java、C#等)
- 高度可调整的开源代码
- 并行运行测试
Selenium 亮点特性:
- 具有详细文档和庞大支持者社区的开源工具
最新更新:
- Selenium 4(拦截网络流量、Chrome 浏览器调试协议等)
Ranorex(功能测试)
Ranorex 是一款端到端的功能测试工具,具有自动超时处理、动态网页元素识别和内嵌页面对象映射。
Ranorex 核心特性:
- 跨浏览器和跨平台测试
- 具有回归、数据驱动、关键字驱动测试选项
- 扩展的、详细的报告
- 可用于真实及模拟 iOS 和 Android 设备的自动化测试
Ranorex 亮点特性:
- GUI 对象识别,非常适合黑盒测试
最新更新:
- 对于失败的测试进行智能修复
PractiTest(探索性测试)
PractiTest 本来被定位为应用生命周期管理方案的一体化工具,即该工具提供了手动和测试自动化管理选项。但是,最令人感兴趣的部分是探索性测试功能。
PractiTest 核心特性:
- 测试用例管理
- 问题状态管理
- 可定制的仪表板,并附有详细报告
- 可重用的测试
- 数据结构
- 从运行中可自动提交 bug
- 与其他工具集成:Jira(云、数据中心、服务器)
PractiTest 亮点特性:
- 直观的探索性测试的趋势跟踪
最新更新:
- 数据项目演示
- 导入导出的可追溯性
LoadNinja(负载测试)
Load Ninja 是一个性能和负载测试框架,用于诊断 API 和 UI 性能问题。LoadNinja 具有内置的 TrueLoad 技术,与传统的按协议进行的性能测试相比,该技术可使测试终端用户体验的速度提高 60%。
LoadNinja 核心特性:
- 数以千计的在真实浏览器上的用法
- 测试脚本的录制和回放
- 问题实时诊断
LoadNinja 亮点特性:
- 使用 REST API 和自定义 CI/CD 插件进行自动化负载测试
最新更新:
- 对于手动停止的测试可下载 CSV 报告
- 可以对录制页面与回放页面进行比较
Optimizely(UI/UX)
Optimizely 是一个强大的 UI/UX 测试工具,可以对网站或者应用中重新设计或实现的新特性进行演练测试。该工具主要用于在推出新特性前验证变更,以减少失败的风险。
Optimizely 核心特性:
- A/B 测试构建及运行
- 顺序测试新功能
- FDR 错误控制
- 借助 snippets 轻松集成到代码中
Optimizely 亮点特性:
- 使用 API 控制实验,并可随时监控统计信息和实验结果
最新更新:
- Optimizely Agent 将框架部署到所选的基础设施提供者
SonarQube(安全性测试)
SonarQube 是一个安全性测试工具,可在代码审查期间提供代码库漏洞检测和协助。
SonarQube 核心特性:
- 多语言覆盖(27 种编程语言)
- 可疑代码段检测
- 与 GitHub、GitLab、Azure DevOps、Bitbucket 集成
SonarQube 亮点特性:
- 对代码热修复有详细漏洞描述
最新更新:
- JavaScript SAST 分析和 Azure DevOps Server 集成
- 对于 C++ 的支持更强
Cucumber(验收测试)
Cucumber 是一个行为驱动的开发测试工具,用于增强终端用户的体验。Cucumber 涵盖几个产品:Cucumber Open(可执行的规范验证)、CucumberStudio(BDD 协作平台)和 Cucumber School(培训和教程)。
Cucumber 核心特性:
- 与源代码控制系统集成
- 对不喜欢编码的人来说,这是一个非常合适的框架
- 对客户来说容易理解,是一种语法简单的 Gherkin 语言
- 大量面向业务的文档
- 兼容多种语言,包括 Java 和 Python
Cucumber 亮点特性:
- 使用行为驱动开发
最新更新:
- CucumberStudio:BDD 的协作平台
SoapUI(API 功能测试)
一种功能模拟测试工具,主要使用数据驱动方法,提高了测试覆盖率。
SoapUI 核心特性:
- 用于公共或第三方 API 的安全性测试
- 脚本化测试创建
- 使用“虚拟用户测试”工具进行 API 性能测试
- 详细全面的报告
SoapUI 亮点特性:
- 虚拟化模拟和 API 预发布测试
最新更新:
- API Explorer,一种 API 响应的即时调试器
TestNG(单元测试)
TestNG 是基于 Java 的单元测试工具,受非常流行的工具 NUnit 和 JUnit 启发。与 NUnit 和 JUnit 相比,TestNG 具有更加强大的功能,使其成为集成和端到端测试的多功能工具。但是,它还是最适合于单元测试。
TestNG 核心特性:
- 多线程测试执行
- 数据驱动的测试支持
- 使用 JDK 方式提供日志和运行
- 借助 IDE 插件或使用了 build.xml 的 Apache Ant,从而得以灵活执行
TestNG 亮点特性:
- 并行测试:具有多种可用方法和策略的大线程池
最新更新:
- 通过回调支持测试重试
- 可以禁用通过 SPI 加载的强制侦听
MantisBT(手工测试)
MantisBT 是一个开源的缺陷记录工具,专门为 QA 工程师和测试人员而设计。它提供本地和托管的安装环境,并支持所有运行 PHP 的平台(Windows、Linux、Mac)。
MantisBT 核心特性:
- 内置报告选项
- 从时间跟踪工具到聊天工具的多样化集成
- 适用于台式机和移动设备
- 与您选择的插件兼容
- 多 DBMS 和多语言库支持
MantisBT 亮点特性:
- 具有可跟踪进度的路线图工具,可用于发布计划
最新更新:
- 完全兼容 PHP 8.0
工程师可能用到的其他工具
(1) Jenkins
这是一款领先的 CI 工具,可以成功地运用于实时测试代码库变更。它还是一个可以整合到测试过程中并使某些关键过程自动化的好工具。
(2) GitHub
GitHub 是成百上千万开发人员使用的版本控制存储库。许多 QA 工具可以链接到 GitHub 帐户,以便自动记录报告缺陷。例如,当使用 GitHub 进行缺陷跟踪时,您可以在其他测试工具上运行手动测试。
(3) Text Shortcode
Tmux 是一种流行的虚拟终端复用器,用来管理一个终端窗口中运行的多个终端会话。您可以将它们与一个终端分离,然后将这些会话附加到另一个终端上,并使用命令行界面,而不必将它们从一个会话中转储并启动另一个会话。它类似于 GNU Screen,但不同之处在于它经伯克利软件发行(BSD)授权许可。
结论
每个月都会出现新框架,而且现有框架也在不断地演进。希望这份清单可以帮你选出合适的测试工具。
原文链接:
https://dzone.com/articles/10-popular-software-testing-tools-for-2021?fileGuid=gRrcHdyDyVX6TVGX