性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行

脚本编写

资源监控:聚合报告和PerFMon

1.单接口测试脚本

(1)登录脚本

图片[1] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

(2)进入首页、搜索商品、获取商品详情

图片[2] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

(3)加入购物车的脚本

图片[3] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

(4)查看我的购物车、结算下订单、查看我的订单

图片[4] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

以上操作中加入购物车、查看我的购物车、结算下订单、查看我的订单这四个功能模块,与登录是强相关的,都是在登录状态下才能够进行操作。因此编写脚本时,要在一起编写。

2.业务流程的测试脚本

  • 将业务流程中的所有单接口的脚本组装在一起
  • 注意所有的脚本组装在一起时,数据是否一致
图片[5] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

搭建测试环境

1.测试环境的要求

图片[6] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

2.准备测试数据

目的:压测环境中的数据量尽量与生产环境中数据量一致

方法:为了快速创建大量数据,可以直接操作数据库进行添加,使用pymysql库操作

注意:修改待添加的商品库存为⾜够⼤,避免在性能测试过程把商品库存耗尽导致脚本失败

执行测试脚本

1.单台测试机执行

  • 前提:先保证脚本调试通过之后,才能进入正式压测阶段。
  • 可以选择Windows或者Linux测试机来执行:
    • Windows环境:操作界面化、直观、易上手,但是软件占用机器资源较多,导致资源使用率不高;可支持并发较低。
    • Linux环境:命令行操作,结果查看不太方便,但资源利用率相对较高;可支持较高并发。

2.分布式执行

  • 如果单台压测机的并发量不能够满足要求,则可以通过分布式压测来提高并发量。
  • JMeter工具支持分布式压测,即多台机器同时执行同一个脚本,然后统计结果。

3.执行示例

进⼊⾸⻚脚本:

模拟5个并发:

实际TPS未达到要求TPS100,实际响应时间未超过要求实际5s,⽆法证明是否存在bug,需要进⼀步增加负载量

图片[7] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

模拟30个⽤户并发:

实际TPS未达到要求TPS100,实际响应时间超过要求实际5s,说明⽤例测试不通过,需要提交bug

稳定性测试

确定出稳定运⾏的所有业务操作:(同时运⾏)

根据运营数据,分析出每个业务操作对应的虚拟⽤户数

图片[8] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

稳定性测试执⾏:

  • 所有的脚本同时执⾏(解除前后依赖)
  • 每个脚本都是⼀个事务/业务 —— 事务控制器
  • 按照要求设置虚拟⽤户数和运⾏时间
  • 执⾏稳定性测试并监控
图片[9] - 性能测试项目实战三: 脚本编写、环境搭建 和 测试用例执行 - 正则时光

如果单个接⼝/业务流程还存在性能bug,需要再修复性能bug,再进⾏稳定性测试

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享