几个思路教你制定性能测试方案

越来越多人注重软件质量,性能测试也进入很多人的眼前,性能测试的工具大家都知道,常见的JMeter、locust等,今天说一下性能测试方案。

测试目的

从目标出发,可以把性能测试分为几类:

1.测试性能参数的情况,帮助设计人员作出决策。

2.检测性能弱点,有针对性地增强硬件配置。

3.进行测试,监控产品进程或方法函数等影响性能的情况,调优软件性能。

4.进行高压测试,查看产品在高并发负载、单次大容量负载下是否有问题。

5.制定好性能指标,持续运行一定时间,验证系统在预设生产场景时的稳定性和可靠性。

6.确保产品的性能可以满足预定的生产场景

最基础的性能测试一般以最后一点为目标,即确保产品的性能可以满足预定的生产场景,下面以这个为例制定性能测试方案。

测试背景

测试背景指的是产品的业务背景,分析好业务背景,得出需要进行性能测试的业务,从而确定测试范围。

测试背景分析的目标只有一个 —— 找出请求压力最大的场景。

一个场景的请求压力受三个指标影响,请求人数、操作时长、人均请求次数,测试指标的数值依赖于测试背景。

例如:市场活动的测试指标
预计活动的客户量,计算客户从进行活动到确认活动成果需要的接口请求次数,模拟客户的操作时长。

客户量 * 活动请求次数 / 操作时长 = 平均QPS

平均QPS * 2 = QPS高峰

注:*2为举例,实际QPS高峰不一定是平均QPS的两倍。

测试范围

测试时检查的数据维度,包括响应时间,服务器CPU、内存使用率等。

预估的场景指标不一定正确,性能测试需要更多的数据来参考,在进行性能测试时应监控服务的CPU、内存等使用率,监控

方法也简单,如top -b命令即可监控linux系统的性能并输出日志,Perfmon可以监控Windows系统。

嫌麻烦,随意定个性能指标的人员便开始测试的人员,更加需要注意服务器的性能情况,了解在该情况下服务器的负载情况。

测试策略

测试策略,即如何进行性能测试,需确定使用的性能测试工具,测试脚本模拟的场景。

性能测试工具的介绍网上很多很详细,不再作说明,测试脚本的策略说几种比较常见的策略

1.并发测试:同时并发一定数量的请求,有明确的并发目标时使用,建议并发数为目标并发数*1.5。

2.负载测试:不断增加请求以查看不同负载的性能状态,需要关联负载和服务器的性能情况,有一定的数据处理。

3.稳定性测试:一定的负载下持续测试一段时间,长时间连续处理业务的产品建议进行稳定性测试。

不同测试策略关注的方向不同,收集的数据类型不同,根据测试目的选择策略。

测试资源

性能测试的结果与硬件配置相关性很强,需要在测试前确认好进行测试的资源。

1.服务器硬件资源

2.服务器网络资源

3.测试机硬件资源

4.测试机网络资源

测试进入条件

为了提高性能测试效率,避免无效测试,应有合理的测试进入条件

已完成功能测试

在功能还不够完备的情况下没有多大的意义,功能完善会对系统性能有影响,过早进入性能测试会出现测试结果不准确、浪费测试资源等情况。

准备好测试数据

不同数据量下测试的结果会不同,需要准备测试所需的数据

测试退出条件

避免无限期的延期、测试,应有确切的退出条件

成功退出

完成目标数据的获取后,退出性能测试。

失败退出

系统出现大量错误或测试情况不如预期,退出性能测试。

测试时机

如果服务器是云主机或测试环境是生产环境,需要定好测试时机。

若服务器是云主机,其他用户的主机使用情况会影响服务器,需在预定好的时间进行性能测试。

测试环境是生产环境,则需要注意不能让性能测试影响到线上业务的进行

你可能感兴趣的:(程序人生,测试,测试工程师)