持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情
设计并发测试场景
设计思路整理
1.需求分析
并发测试的需求分析分为以下几个部分。
·业务需求分析
(1)首先要找到并发测试对象,了解需要测试的功能有哪些,可以按照业务功能整理,不必 深入细节。
(2)其次描述测试对象的重要性,如要求严格质量的核心功能、高频使用的功能、占用系统 资源较多的功能。
(3)最后进行测试对象拆分,比如购买商品可以拆分成:搜索商品、锁定库存、提交订单、 发送支付指令、接受处理支付结果、业务流水、短信及站内信通知、微信推送结果等。
·环境需求分析
明确重点测试对象,预先设置基础数据及大量历史数据,模拟真实环境。
·性能需求指标分析
分析性能指标是否合理。可以从历史数据中的这几个方面考虑:TPS、页面访问量、并发请 求数,从而判断需求指标是否恰当,安排优先级。
2.测试策略
在看懂一个功能完整的运行流程,包括请求顺序、请求之间互相调用关系、数据流向、 有没有调用外部系统后,需要明确重点测试对象,预先设置基础数据及大量历史数据,模拟 真实环境。这些都属于并发测试的准备工作。完成了准备工作,测试人员就需要按照测试策 略执行测试。
一般并发测试会涉及以下几个测试阶段,测试执行顺序也可以按照序列执行。
(1)对于功能并发测试,要先进行单业务功能场景的测试,再进行混合业务功能场景的 测试。
(2)对于性能并发测试,通常是满足某些系统性能指标的前提下,让被测对象承担不同的工 作量,以评估被测对象的最大处理能力及是否存在缺陷。
(3)对于稳定性测试,判断测试系统的长期稳定运行的能力。该策略测试强度较小,一般趋 向于客户现场日常状态下的压力强度,当然在通过时间不能保证稳定性的状态下,需要加大压力 强度来测试,此时的压力强度则会高于正常值。
(4)对于异常性测试,模拟系统在较差、异常资源配置下运行,如人为降低系统工作环 境所需要的资源,网络带宽、系统内存、数据锁等,以评估被测对象在资源不足的情况下的 工作状态。
对于不同的测试执行阶段,只是测试人员关注的测试目的不同而已。实际执行代码相同或者 仅需修改少数代码(如添加性能指标)就能完成测试。对于测试人员来说,测试思想才是最关键 的内容,而测试思想在复杂的业务功能测试中最能体现。所以在下一节,我会以功能并发测试为 例,举两个实例,希望大家能掌握其中的测试思想。