首页 > 其他分享 >浅谈基准测试

浅谈基准测试

时间:2023-03-15 10:55:05浏览次数:40  
标签:场景 浅谈 结果 基准 系统 测试 测试工具

转载:https://www.cnblogs.com/imyalost/p/9630843.html

之前的博客介绍过关于性能测试类型的内容,在性能测试中有一种测试类型叫做基准测试。这篇博客,就聊聊关于基准测试的一些事儿。。。

 

1、定义

通过设计合理的测试方法,选用合适的测试工具和被测系统,实现对某个特定目标场景的某项性能指标进行定量的和可对比的测试。

 

2、特质

①、可重复性:可进行重复性的测试,这样做有利于比较每次的测试结果,得到性能结果的长期变化趋势,为系统调优和上线前的容量规划做参考。

PS:这种特质是为了满足基准测试的日常轮询需要。

②、可观测性:通过全方位的监控(包括测试开始到结束,执行机、服务器、数据库),及时了解和分析测试过程发生了什么。

③、可展示性:相关人员可以直观明了的了解测试结果(web界面、仪表盘、折线图树状图等形式)。

④、真实性:测试的结果反映了客户体验到的真实的情况(真实准确的业务场景+与生产一致的配置+合理正确的测试方法)。

⑤、可执行性:相关人员可以快速的进行测试验证修改调优(可定位可分析)。

 

3、前置条件

基准测试一定要在可控的条件下进行。

面对日益复杂的系统和不断增长的用户数,以及性能测试可能涉及到的多个业务系统,只有做到基准测试所涉及的业务场景、系统架构、测试环境等在可控状态下,

才能得到相对准确的结果,为容量规划、缺陷定位、系统调优提供参考和依据。

 

4、意义

①、为容量规划确定系统和应用程序的极限;

②、为配置测试的参数和配置选项提供参考依据;

③、为验收测试确定系统是否具备自己所宣称的能力;

④、为性能基线的建立提供长期的数据统计来源以及比较基准;

 

5、前提

①、测试目的:明确测试的目的,测试什么?用什么测试方法、策略?

②、测试环境:被测系统的环境是什么,SIT还是UAT活着PAT?

③、测试限制:要执行测试有哪些限制因素,该如何解决?

④、风险因素:测试可能存在哪些风险,解决方案是什么?

⑤、结果分析:对测试结果如何分析?测试产生的数据如何分析、定位?

 

6、原则

①、测试策略:稳定且连续的工作负载,多次运行,看测试结果数据的正态分布趋势,尽量取平均值;

②、数据统计:真实环境下测试数据的平均值、峰值各是多少,取值的维度;

③、差异风险:明确存在哪些风险,风险对测试结果的影响,是否忽略;

④、特殊情况:有哪些特殊情况,是否有对应的解决方案(比如支付场景中的支付服务调用,是否采用挡板等);

 

7、需要考虑的因素

交易配比:某些业务场景,一个流程包含多个事务,在模拟并发中,不同的事务各自的占比;

突发性的读写操作:某些特殊业务场景,会有短时的大流量冲击或者请求数量骤减,该如何模拟(浪涌测试);

系统配置:不同环境的系统配置不同,测试结果如何换算、如何对比?

测试时长:测试执行过程中,运行多长时间,不同交易运行的时间分配等;

结果展示类型:平均值、峰值、百分比值如何展示,如何对比?

成功/失败占比:每次测试过程中,成功和失败的事务占比统计;

是否可重现:如测试过程中出现报错或某些异常情况,是否可以重现?

是否可对比:是否有其他测试工具或者测试结果进行对比(尽量多次执行测试,进行测试结果对比:标准方差、正太分布了解一下?)?

 

8、简单可行的方法

逐渐增加系统负载是一个确定系统所能处理的最大吞吐量的简单办法,也是寻找系统性能拐点的可行策略(阶梯式加压测试)。

 

9、重点

基准测试的工作重点是统计分析:可以从以下几个维度去进行统计:

①、选择合适的测试工具,设定合理的测试方法以及需要确认的系统性能指标;

②、选择不同的测试工具,对测试结果进行对比,选择稳定且能反应系统真是性能表现的结果;

③、多次执行测试,收集大量的测试数据集和指标;

④、从不同维度解读分析数据,生成报告。

标签:场景,浅谈,结果,基准,系统,测试,测试工具
From: https://www.cnblogs.com/ceshi2016/p/17217704.html

相关文章

  • web测试 bug定位(待补充)
    1、前置条件1.1、需要的知识熟透系统业务、团队成员情况熟悉使用F12或抓包工具了解HTTP/HTTPS协议了解系统的架构,数据走向1.2、定位前的操作(1)保存bug产生的记录(2)排......
  • T-SQL——构建临时测试数据集
    目录0.背景1.SELECT2.CTE3.VALUES0.背景某些时候用于测试SQL语句,快速构建临时测试数据1.SELECTSELECT*FROM(SELECT'张三'ASName,'语文'ASSubject,100......
  • DNS的配置与测试
    前置要求:需求:任意两台虚拟机(本人用的为WindowsServer2012、Win7)Win2012:Win7:网络适配器:统一配置为Lan1段统一关闭防火墙可按照个人喜好为计算机命名一、  添加......
  • 微软出品自动化神器【Playwright+Java】系列(十二)测试框架的设计与开发
    一、前言大家好,我是六哥!又有好长一段时间没更文了,不是我懒,而是确实在更文上,没有以前积极了,这里是该自我检讨的。其实不是我不积极,而是相对更文学习来说,优先级不是最高。......
  • log4cpp编译测试
    最近项目上讨论通过对log4cpp进行封装后实现写日志的功能,今天在开发环境中编译库和测试程序。过程中遇到两个问题,记录一下。开发环境:ARMv864位环境,Ubuntu18.04系统1,log......
  • 聊聊性能测试开始前的准备工作
    转载:https://www.cnblogs.com/imyalost/p/9557741.html这篇博客,就聊聊性能测试的第一步工作:获取测试需求,到底需要哪些东西。。。性能测试流程导图一、相关设计文档1、......
  • 性能测试岗位常见面试题
    转载:https://www.cnblogs.com/imyalost/p/9249159.html面试岗位:性能测试工程师职位类型:全职面试问题:详见下文一、基础篇1、较为完整的性能测试的流程一个完整的性能......
  • redis缓存测试
    为什么要使用缓存?当然是为了快和省。快是因为业务系统的数据处理结果暂时存在内存中,下次访问时直接从内存取出,所以会很快。省是节省数据的处理流程及服务器的资源消耗。......
  • 性能测试从需求分析开始
    转载:https://www.cnblogs.com/imyalost/p/8956808.html一、产品需求 1、业务场景:一个问卷调查的功能,然后产品和业务会不定时通过前端界面去根据筛选条件查询相关问卷问......
  • NOI春季测试游记
    Day-20本来以为不能报名,但听说其他初中组织人参加,遂报名。某人试图21天学通C++Day-20~-2刷一些题,并学了大量新知识如DP。但是显然不够使我AKDayn(-15≤n≤-5)在......