目录
在进行场景性能测试时,首先我们需要分析用户在实际使用中有哪些部署方式,
在业务负载方面,在场景性能测试中,我们还需要尽量模拟用户真实业务的负载特点。
场景法在性能测试中是一种非常有效的方法,它模拟真实用户在系统上的行为。这种方法不仅评估了系统的响应时间和吞吐量,还检查了系统在各种负载下的稳定性和可靠性。以下是使用场景法进行性能测试的一般步骤
理解业务需求和关键操作流程。
确定关键的性能指标,如响应时间、吞吐量、并发用户数等。
根据需求分析的结果,设计出代表典型用户行为的测试场景。
这些场景应该覆盖主要的功能点和业务流程。
准备测试数据,确保数据的准确性和多样性,以反映真实用户的使用情况。
确保测试环境与生产环境尽可能相似,包括硬件、软件、网络配置等。
使用性能测试工具(如LoadRunner, JMeter等)编写测试脚本来模拟用户活动。
脚本应包含登录、浏览、搜索、购买、退出等用户操作。
在低负载下运行测试,以验证测试脚本的正确性。
确认所有功能都能按预期工作。
逐渐增加并发用户数或事务量,观察系统表现。
记录系统响应时间、吞吐量和资源利用率等数据。
分析测试结果,查找性能瓶颈。
检查错误日志,确定问题原因。
根据测试结果调整系统配置、代码或数据库设置。
对修改后的系统再次进行性能测试。
在最高预期负载下进行最终测试,确保系统在压力下仍能稳定运行。
编写详细的性能测试报告,包括测试方法、结果、发现的问题及建议。
与团队分享测试结果,讨论可能的改进措施。
场景法的关键在于创建逼真的用户场景,这有助于识别系统在实际使用中的潜在问题,通过这种方法,可以确保系统在上线前能够应对预期的用户流量和操作。
到目前为止,我们讨论的基线性能测试法和影响性能的因子测试法,都是从构,设计和实现角度去考虑的,并没有从用户便用的角度考虑。接下来我们要讨论的场景性能测试法,就是要充分考虑用户的使用因素,以及这些因素是如何影响性能的,以此评估系统是否能够满足用户在特定场景下的使用。
场景是用户会如何使用这个系统以完成预定目标的所有情况的集合。
一般来说,从使用的角度来说,产品会有3个维度部署、配置和业务负载,但是大多数测试者会习惯性地从产品设计的角度去测试,比如在测试前仔细分析开发实现流程,然后设计测试条件或者测试数据去覆盖流程。但是,场景测试却要求测试者从用户使用习惯入手,包括用户会如何部署、用户会如何配置、用户会使用怎样的业务负载,依据这些来构造测试用例,其中涉及的测试检查点也必须是用户的关注点。
例如:
用户有哪些典型的部署场景(例如组网),与之相关的上下行环境是怎样的?
用户有哪些部署方式(如虚拟化部署、服务器部署等)?
用户部署的环境和测试环境有些不同?
这些典型部署环境中的资源是否能够满足系统的基本要求,环境中是否存在资源争抢或者明显的资源短板,如果有则判断其是否会影响性能,然后将可能影响性能的点作为性能测试因子。
在配置方面,场景性能测试需要分析、总结用户实际使用中的典型配置,并明确用户是怎么使用这些配置的,例如配置的数量、复杂度、是否会动态变化、变化率等。因为多时候,这些都会影响系统的关键算法,影响系统性能。
我们需要将这些配置作为场景性能测试的配置,并在性能测试过程中,按照用户的使用习惯去动态调整配置,确定这些操作对系统性能的影响。
例如:
业务的新建情况和并发规模。
吞吐量大小。
数据包的大小、突发情况等。
业务类型分布。
业务是否存在规律,如周期性变化等。
除了正常业务负载之外,我们还需要考虑一些常见异常业务,包括攻击。
从用户关注点角度来说,场景性能测试主要关注哪些和用户性能体验相关的指标,如“响应时间”“抖动”“刷新率”等。
网上冲浪下列文章挺不错:
https://mp.weixin.qq.com/s/Pi1uKKnzzqxihq9A3WS0xw
https://mp.weixin.qq.com/s/YKv4TvQExAQ5v91BE3_UOQ