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