前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何做一份精致的性能测试报告

如何做一份精致的性能测试报告

作者头像
小黑同学
发布2022-10-28 10:02:57
7500
发布2022-10-28 10:02:57
举报
文章被收录于专栏:E=mc²E=mc²

相比于普通的功能测试,性能测试对测试工程师的技能要求更高,一般来说,也只有中高级测试工程师才会有机会做性能测试。

本文通过下面三个部分来介绍

  • 性能测试报告的目的
  • 性能测试过程中的关注点有哪些?
  • 如何做一份精致的报告

一、性能测试报告的目的

报告的目的是总结过程,呈现结论。 性能测试做完了,怎么做的,各项指标怎么样,是否符合预期,我们需要通过一份报告来呈现。 在做性能测试的过程中,很多时候是要研发工程师协助一起完成的,所以最终的报告不仅是我们自己要看,同时也要给研发工程师及架构师看。因此,我们在撰写报告的时候要把各个角色关注的指标有效地呈现出来。 同时,性能测试报告也是一份留档,在下次业务扩容进行压测的时候可以作为基线参考,可以更好地评估压测指标。

二、性能测试过程中的关注点

性能测试分别要关注施压端和服务端。 施压端即我们用来模拟压力发出请求的服务器,常用的工具有jmeter、loadrunner等,模拟较大压力时通常采用多台机器组成的集群。 服务端即服务程序所在的机器,一般是多台服务器组成的集群,在性能测试过程中是被压测的对象。

在施压过程中,施压端一般要关注三个指标 qps(请求量)、rt(响应时间)、error(错误率)。 服务端(或服务集群)一般关注下面几个指标:qps(处理的请求量)、rt(响应时间)、cup(cpu使用率)、mem(内存占用情况)、load(负载)、traffic(网络速率)

下面是上述指标的具体含义:

qps QPS(Query Per Second),每秒钟能够处理的请求的数量,是衡量一个系统性能的重要指标。

rt RT(Response Time),响应时间(一般单位为ms),是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结 果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。一般情况下,响应时间还会细分为:最小响应时间、平均响应时间、最大响应时间。

error error请求错误率,一个请求预期正常的返回code为200,其它code(比如302、404、500等)均为非预期的,记为错误。错误率是指在施压机发送的所有请求中,返回code非200的占比。

cpu CPU(%) 是指测试任务运行的这个时间段内,应用服务系统的 CPU 资源占用率。这是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。

mem Memory (%) 指的是当前系统内存的使用量占总内存大小的比率,反应当前机器配置情况对应用的内存的一个承载能力,判断扩容等重要指标。

load Load 就是一定时间内,计算机的任务执行队列的长度,cpu计算的队列。 平均Load是指,在特定的一段时间内统计的正在CPU中运行的(R状态)、正在等待CPU运行的、处于不可中断睡眠的(D状态)的任务数量的平均值。平均Load是最常用的指标。

traffic Traffic (kb/s) 指的是网络传输的速率,反应了当前应用所属服务器带宽的使用情况。可以细分为 in(入) 和 out(出),一般会统计 最大值、最小值、平均值等。

三、如何做一份精致的报告

压测结束,最后要输出测试报告,一份精致的报告不仅能够很好地展示测试结果,同时也是体现自己的专业性的机会。 下面通过几个问题的分解来说明

1、用什么文档写?

如果自己所在公司没有规定,建议紧跟在线协作的趋势,使用在线文档编写,比如腾讯文档、钉钉文档、飞书文档等,功能都很丰富好用。 如果自己的所在公司有内部协作平台,就在指定平台上写,最终成稿之后复制到邮件正文发送即可。

2、用什么语言?

根据自己公司的类型来,一般国内公司就用中文,没必要用英文,花里胡哨反而不好。如果是在国际化企业,有不同籍员工,那就要用公司规定的语种。

`3、报告内容用图标还是文字?

我们可以参考优秀的报告模板,总结下来就是字要少,图表要丰富,能用图说明的绝不用文字。 相比于文字,图表显得专业、高级,而且压测数据一般都是是变化的,只有图表才能够准确直观地展示压测过程的各项指标。 压测数据的图表一般在压测工具(jmeter可以使用第三方插件)中会自动生成,需要我们截图并整理。图表有了,接下来就该整理撰写报告了

4、关键内容有哪些?

一份完整的报告应该包含以下关键内容: ○ 压测信息(包含任务名称、压测时间、相关责任人等) ○ 施压机信息(包含机房信息、机器配置等) ○ 服务端信息(包含机房信息、机器配置等) ○ 压测结果(包含平均qps、最大最小耗时、cpu平均使用率、内存平均使用率、总的请求数、错误率等) ○ 压测详情(单个接口时该内容可省略,多个接口时,则将第4项内容按接口拆分展示) ○ 压测指标(三大指标qps、rt、error的图表放在这里) ○ 服务监控指标(服务器或集群的指标图表放在这里)

5、排版格式注意什么?

报告中字体要协调统一,缩进换行等基本排版要美观。

6、报告附件补充什么?

○ 测试方案 ○ 测试测数据

7、发送报告的注意事项

○ 使用公司指定的邮箱发送 ○ 收件人应包含相关的各个角色

下面给出一份测试报告的样例,可以作为参考。


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

作为程序员,大家都普遍都低调含蓄,但是该展现自己专业性的时候一定要积极表现。

对于测试工程师来说不仅要掌握专业的测试技能,同时也要提升各种文档的撰写能力,让自己的技能得到全面的展现。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、性能测试报告的目的
  • 二、性能测试过程中的关注点
  • 三、如何做一份精致的报告
    • 1、用什么文档写?
      • 2、用什么语言?
        • `3、报告内容用图标还是文字?
          • 4、关键内容有哪些?
            • 5、排版格式注意什么?
              • 6、报告附件补充什么?
                • 7、发送报告的注意事项
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档