聊聊使用场景法进行性能测试

2024-08-10 11:37:33 浏览数 (2)

今天是中国人的情人节,祝愿天下有情人终成眷属。

场景法在性能测试中是一种非常有效的方法,它模拟真实用户在系统上的行为。这种方法不仅评估了系统的响应时间和吞吐量,还检查了系统在各种负载下的稳定性和可靠性。以下是使用场景法进行性能测试的一般步骤

一、需求分析

理解业务需求和关键操作流程。

确定关键的性能指标,如响应时间、吞吐量、并发用户数等。

二、创建测试场景

根据需求分析的结果,设计出代表典型用户行为的测试场景。

这些场景应该覆盖主要的功能点和业务流程。

三、确定测试数据

准备测试数据,确保数据的准确性和多样性,以反映真实用户的使用情况。

四、 构建测试环境

确保测试环境与生产环境尽可能相似,包括硬件、软件、网络配置等。

五、开发测试脚本

使用性能测试工具(如LoadRunner, JMeter等)编写测试脚本来模拟用户活动。

脚本应包含登录、浏览、搜索、购买、退出等用户操作。

六、 执行初步测试

在低负载下运行测试,以验证测试脚本的正确性。

确认所有功能都能按预期工作。

七、 逐步增加负载

逐渐增加并发用户数或事务量,观察系统表现。

记录系统响应时间、吞吐量和资源利用率等数据。

八、 分析结果

分析测试结果,查找性能瓶颈。

检查错误日志,确定问题原因。

九、优化和迭代

根据测试结果调整系统配置、代码或数据库设置。

对修改后的系统再次进行性能测试。

十、最终测试

在最高预期负载下进行最终测试,确保系统在压力下仍能稳定运行。

十一、 报告和总结

编写详细的性能测试报告,包括测试方法、结果、发现的问题及建议。

与团队分享测试结果,讨论可能的改进措施。

场景法的关键在于创建逼真的用户场景,这有助于识别系统在实际使用中的潜在问题,通过这种方法,可以确保系统在上线前能够应对预期的用户流量和操作。

到目前为止,我们讨论的基线性能测试法和影响性能的因子测试法,都是从构,设计和实现角度去考虑的,并没有从用户便用的角度考虑。接下来我们要讨论的场景性能测试法,就是要充分考虑用户的使用因素,以及这些因素是如何影响性能的,以此评估系统是否能够满足用户在特定场景下的使用。

场景是用户会如何使用这个系统以完成预定目标的所有情况的集合。

一般来说,从使用的角度来说,产品会有3个维度部署、配置和业务负载,但是大多数测试者会习惯性地从产品设计的角度去测试,比如在测试前仔细分析开发实现流程,然后设计测试条件或者测试数据去覆盖流程。但是,场景测试却要求测试者从用户使用习惯入手,包括用户会如何部署、用户会如何配置、用户会使用怎样的业务负载,依据这些来构造测试用例,其中涉及的测试检查点也必须是用户的关注点。

在进行场景性能测试时,首先我们需要分析用户在实际使用中有哪些部署方式,

例如:

用户有哪些典型的部署场景(例如组网),与之相关的上下行环境是怎样的?

用户有哪些部署方式(如虚拟化部署、服务器部署等)?

用户部署的环境和测试环境有些不同?

这些典型部署环境中的资源是否能够满足系统的基本要求,环境中是否存在资源争抢或者明显的资源短板,如果有则判断其是否会影响性能,然后将可能影响性能的点作为性能测试因子。

在配置方面,场景性能测试需要分析、总结用户实际使用中的典型配置,并明确用户是怎么使用这些配置的,例如配置的数量、复杂度、是否会动态变化、变化率等。因为多时候,这些都会影响系统的关键算法,影响系统性能。

我们需要将这些配置作为场景性能测试的配置,并在性能测试过程中,按照用户的使用习惯去动态调整配置,确定这些操作对系统性能的影响。

在业务负载方面,在场景性能测试中,我们还需要尽量模拟用户真实业务的负载特点。

例如:

业务的新建情况和并发规模。

吞吐量大小。

数据包的大小、突发情况等。

业务类型分布。

业务是否存在规律,如周期性变化等。

除了正常业务负载之外,我们还需要考虑一些常见异常业务,包括攻击。

从用户关注点角度来说,场景性能测试主要关注哪些和用户性能体验相关的指标,如“响应时间”“抖动”“刷新率”等。

网上冲浪下列文章挺不错:

1.性能测试场景的设计方法

https://mp.weixin.qq.com/s/Pi1uKKnzzqxihq9A3WS0xw

2.性能测试场景设计方法(教科书版)

https://mp.weixin.qq.com/s/YKv4TvQExAQ5v91BE3_UOQ

0 人点赞