这篇文章讨论了在性能测试中常见的测试策略。文章首先指出性能测试的目的是找到软件运行环境中底层硬件的资源瓶颈和软件设计构建中的性能影响点。接着,介绍了在实际工作场景中,如何设置脚本并发和测试数据等关键测试策略,并给出了一些经验之谈。
这篇文章是性能分享的第二篇,我想聊聊在实际工作中,性能测试最常见的一些测试策略。
性能测试的目的是什么
在聊测试策略之前,很有必要聊聊性能测试的目的,或者性能测试的本质是要做什么,解决什么问题。只有想明白这点,后面的需求分析、工具选型、制定测试策略才能更好的开展。
在实际的软件研发测试交付过程中,对测试来说,除了要验证功能的正确性之外,系统的性能表现也是很重要的一项工作内容。简单理解就是用户在使用系统提供的服务时,除了功能不出错,还要尽可能支持更多的人用系统提供的服务。功能的正确性是基本盘,更好的性能具有更大的附加值。
软件系统是运行在服务器上面的,服务器的底层是硬件资源和网络,从另一个角度来看摩尔定律的话,就是硬件的配置越高越好,原则上能提供更好的性能。当然,软件的性能还与其最初的设计和构建有很大的关系。因此,性能测试的本质是什么?
找到软件运行环境中底层硬件的资源瓶颈;
找到软件设计和构建过程中出现的影响性能的点
工作中常用的测试策略
还是以实际工作的场景来谈常用的测试策略,其中最关键的就是2点:如何设置脚本并发和测试数据。下面是一些常见的工作案例,我会先介绍案例,然后举例说明测试策略。
一些经验之谈:
绝大多数场景,第一次压测都推荐梯度递增方式,这样便于找到性能拐点;
固定并发压力只适用于其他条件不变,只有某一个影响因素变更的情况下使用;
一般都推荐先梯度,找到性能拐点定位问题后,再通过固定并发方式去验证优化是否生效;
单独的性能测试环境很重要,如果环境无法独立,建议听领导的要求压测一波统计数据出个报告就行;
测试数据记得一定要参数化,一定不要用同一个或同一批数据去反复压测(功能测试都更新数据更何况性能);
以上都是经验之谈,但遇到问题建议不断调整去试错和验证,不要照搬全抄;
推荐阅读