企业应用软件性能测试案例分享



本文作者:王国栋。未经作者许可,禁止转载!

现任久其软件&蜂语网络测试经理,精通软件性能测试、性能调优、具备十年一线测试开发工作经验。


step1:了结背景需求

某信息服务提供商,与多家权威数据源供应商合作,提供数据查询/核查服务,为此要建设服务平台提供服务。产品的客户覆盖各个范围,所以在使用上的业务高峰可能会分布在全天各个时间段。

• 单台部署的情况下支持处理每秒并发1000以上;

• 单条数据服务,在除去外部影响因素下,处理响应时间在200ms左右

• 批量数据服务,批次数量在1000条数据,要求响应时间在1s以内

• 对系统响应性能,要求页面响应延迟小于1s;对大于1s的,提示加载中

step2:明确测试目的

确定可评估的性能测试目的:性能评估、问题诊断、性能调优;

step3:分解出独立可验证的测试目标

根据测试目的,分解出单独的目标;每一个目标都是独立且可验证的;

确定测试目标为:评估效率、可靠性、稳定性

step4:选择测试工具

根据测试目的,可以进行初步的测试工具选择。

• “嘴遁”:即简单的问题尝试沟通解决,比如系统用户量很少,业务很单一的情况下是没有必要做性能测试的;

• “PS”:在没有必要做性能测试的情况下有些项目经理还是坚持要性能测试报告,这种情况下,可以直接找一个先前类似规模系统的性能测试报告给项目经理看;

• “双手”:不要过度的依赖技术,如一个核心任务是数据处理的简单系统,基准测试要求10分钟之内完成3个计划任务的提交,这种情况是完全没有必要费尽心思准备测试脚本的,可以直接靠双手完成测试。

• 常用的性能测试工具:LoadRunner、Jmeter、HyperPacer

本测试选择性能测试工具HyperPacer

step5:确定测试场景

根据目标确定对应的测试场景;根据场景的特点确定重点监测指标;通过明细每一个监测指标的阀值确定通过标准;

step6:制定负载模型

step7:细化测试用例

根据负载模型细化产生各个用例和需要准备的数据要求;根据测试用例分解来细化响应时间的通过标准;

数据要求包含:多少存量数据;多少操作数据;多少用户数;

step8:脚本执行和调试

一个成功的执行:(1)无报错;(2)请求符合预期;(3)响应符合预期,有些时候虽然响应的状态码是200,但是程序内部做了一些异常的处理;

step9:结果分析和调优

第一次执行结束后,事务的平均响应时间在3s左右,最大响应时间到了5s;

第一次调优:按照自底向上的顺序,调优结束后响应时间在0.3s以内;

• 基础设施:服务器硬件配置、存储、网络设备

• 支撑系统:操作系统、中间件、数据库、web服务器和负载均衡设备(支撑系统的版本和参数都会对性能有一定影响)

• 程序设计:程序的架构、逻辑的复杂程度

• 程序的使用用户、场景、使用规模(很难改变的,对于特别耗费资源的可以做一些限制)、使用时间段等

第二次调优:核心的表都放到缓存中,最终系统的平均响应时间到了毫秒级

step10:得出最终的测试结论

 

Top