什么是基准测试?
在学习基准测试之前,让我们先了解一下——
性能测试中的基准
性能测试中的基准是一种度量标准或参考点,可以根据它来比较软件产品或服务以评估质量指标。换句话说,基准是指一套标准,有助于确定软件产品或服务的质量。我们可以对软件产品或服务进行基准测试,以评估其质量。
例如,一支足球队有一个球员的基准,以使其具备英超联赛球员的资格。该基准的技能组合可以是过去五个赛季的进球数,或者上半场控球率,或者在当地比赛中出场的最低比赛场次等。
什么是基准测试?
基准测试测量一组可重复的量化结果,这些结果作为参考点,可以根据它来比较产品/服务。基准测试结果的目的是将当前和未来的软件版本与其各自的基准进行比较。
基准必须是可重复的。例如,在每次负载测试迭代中,如果响应时间变化太大,则必须对系统性能进行基准测试。响应时间需要在不同的负载条件下保持稳定。
基准必须是可量化的。例如,用户体验不能用数字量化,但由于良好的 UI,用户在网页上花费的时间可以量化。
基准测试不仅与软件测试相关,还涉及硬件测试,被认为是商业世界中最重要的任务之一。
在本教程中,我们将讨论客户端-服务器应用程序或换句话说,Web 应用程序的基准。基准测试可以针对以下服务进行:
- 浏览器兼容性
- 断开的链接
- HTML 合规性
- 加载时间
- 可访问性
- 链接流行度
为什么基准测试很重要?
在业务层面,基准测试有助于确定
- 基于 Web 的应用程序相对于竞争对手的表现如何
- 不同类型的客户如何体验网站的响应时间和可用性
- 它确保网站符合标准和最佳实践
- 它使得在做出合同决定之前能够评估第三方服务提供商
- 允许找出要避免的错误
创建基准测试计划
测试计划是基准测试过程中最关键的要素。基准测试计划遵循以下步骤:
- 扩展和调用工作负载
- 收集和存储基准测试的度量
- 定义所需的时间跨度和测试过程的终点
- 准备备用计划以克服任何新的测试用例失败
- 决定终止结束过程的权限
如何进行基准测试
基准测试涉及 4 个阶段
第 1 步)计划阶段
- 识别和优先排序标准和要求
- 确定基准标准
- 定义基准测试过程
第 2 步)分析阶段
- 找出错误根本原因以提高质量
- 设定测试过程的目标
第 3 步)集成阶段
- 与相关人员分享结果并获得批准
- 建立功能目标
第 4 步)行动阶段
- 制定测试计划和文档
- 实施前一阶段中指定的行动并监控进展
- 持续运行该过程
基准测试的组成部分
不同的系统具有不同程度的复杂性,并且需要不同的技术来测试应用程序。
基准测试有 3 个主要组成部分。它们是
- 工作负载规范:确定提交给被测系统的请求类型和频率。
- 指标规范:确定要测量的元素,例如;下载速度
- 测量规范:确定如何测量指定元素以找到合适的值
基准测试时要考虑的事项
为了成功进行基准测试,需要考虑以下事实。
- 一致性和控制是执行基准测试的重要措施。
- 了解系统架构以设计测试标准和测试数据
- 检查初始静态数据并根据用户数量进行更新
- 检查所需的“重置”功能,并定义每秒事务率(这特别处理用户对数据库的事务)
- 根据功能划分系统元素
- 每个系统都有不同的架构和设计,在执行基准测试时需要考虑这些因素
- 确保所有软件组件都处于工作状态
- 操作系统和支持驱动程序应准确工作
- 在运行基准测试之前,从系统中删除预取和临时文件
- 关闭所有在后台运行的进程和应用程序
- 检查操作系统更新和实际配置
基准测试框架
基准测试框架有助于执行一些基本的性能检查任务。这些基本任务包括——
- 数据库访问
- 服务器端组合
- JSON 序列化
- 配置
Benchmark Framework 2.0 和 TechEmpower 是最常用的基准测试框架。
让我们看看 TechEmpower。我们将快速浏览其主要功能。
- 它是一个用于执行基准任务的开源框架
- 它需要正确配置基准环境
- 主要有两种模式,例如用于比较结果的基准模式和用于非专业人士的验证模式
- 需要几个文件,这些文件是唯一的,并且可能因系统而异
- 它包括一个“基准配置文件”,该文件定义了一组测试指令和基准程序的元数据
- 它基于多种语言,例如 Java、Python、Ruby、PHP、JavaScript、Perl、C、Groovy、Haskell、Scala 等。
- 对象关系映射器 (ORM) 用于对数据库、JSON 序列化等执行测试。
基准测试工具
基准测试工具相应地进行了分类。我们将一一列出。
测试 Windows PC 的工具
测试 CPU 性能的工具
- Cinebench
- Geekbench
测试系统速度和移动设备电池的工具
- Phoronix (Linux)
- CPU UserBenchmark (CPU 基准测试)
- Vellamo (网页浏览性能)
基准测试也可以在 Android 手机和平板电脑上执行。其中,Passmark 是一个众所周知且广泛使用的基准测试工具。
摘要
- 在软件工程中,基准测试提供了一组可重复的、可量化的系统性能结果。
- 有助于进行负载条件测试并确定系统针对 DDoS 攻击的行为。
- 工作负载规范、指标和测量规范是基准测试的主要组成部分。
- 使用多种工具和框架可以快速有效地执行基准测试。
- 基准测试也适用于移动设备。