性能测试所需要的知识
性能测试准备
需求分析
- 需求文档中的内容? 要自己去
鉴别
、更要反复的讨论需求
的目的
和目标
- 业务要熟悉。熟悉业务可以找
需求人员、功能测试人员、运维、架构师
来讲解并帮忙熟悉业务- 测试计划。要
明白什么人在怎么时间做什么事情?
(工作量的评估)
- 需求的工作量 = 功能测试的 1.5倍(大约是1.5倍到2.5倍)
- 测试用例的编写(测试场景的设计)例如:测试文档
性能环境搭建(注意:在公司自己没必要去搭建环境,因为公司搭建环境只有一次,让运维人员搭建就好。
自己必须要懂得如何搭建环境
)
- 性能环境(申请硬件
申请硬件的时间过长
会影响测试时间)- 中间件部署、搭建。可以找人帮忙或者度娘,公司的知识库。特别强调:
你可以交给开发人员或者其他人员搭建或协助,但是必须部署的路径在哪里?这些部件的核心参数在哪里?这些必须要知道
- 监控环境。(注意:
监控环境尽可能自己搭建
)性能脚本开发
- 脚本协议(脚本、工具)
- 工具(jmeter)
- 调式、试运行
- 什么时候可以开展性能测试?
- 在我们的接口测试,
需求接口测试完成,就可以做性能测试。
性能测试执行
- 性能场景设计(负载测试、性能测试)
- 执行 + 监控开启
- 通过监控数据,来进行初步数据分析
- 性能执行
性能结果分析与调优(时间很长)
- 性能监控数据(分析是否有没有问题)
- 如果没有问题:记录数据,写测试报告
- 如果有问题,就要进行性能分析
- 丛一推非常乱的数据,抽丝剥茧的找出有用的信息。(猜测、经验猜测)-----
例如:破案,通过一些蛛丝马迹来分析
- 调优是追求整体最优的,而不上某一个最优
测试报告
测试报告
- jmeter会自动生成一份HTML报告,有图形,但是这些图形不能组合
- 我们在写word测试报告,就要把html报告中的多个图形,截图出来,然后附在测试报告中。
哪些需要做性能测试?
- 有监管
- 涉及生命财产安全
- 核心功能(例:
使用人最多、最挣钱的
) - 架构调整、基线升级(jdk)
- 预计会导致流量激增(例如活动:双11、618、周年庆等等)
行业标准
行业标准
- http\https协议除接口
- 平均响应时间 <= 1.5秒 再加上错误率 Error <= 0.1%
注意:错误率,如果是偶尔的几次错误,错误率没有超过0.1%可以不用管,如果超过了,我们也是要分析原因的;如果是个连续的,就一定要分析,因为是:要么是达到瓶颈,要么就是要性能分析找出问题。
如何判断有性能问题?
- 1、是否有连续报错(如果有,且性能指标次数不满足,就要性能分析与调优)
- 2、tps的趋势,有明显下降(此时,我们要看这个拐点的性能指标是否满足,如果不满足要求,如果不满足,就要进行性能分析)
- 3、平均响应时间是否超过1.5秒,此时,我们不能接受,所以我们期望他们的性能更好