文档中心 压测大师 最佳实践 小程序压测案例

小程序压测案例

最近更新时间:2019-04-25 18:07:40

操作场景

本文以电商类为例,为您介绍如何使用压测大师对微信小程序进行压测。

前提条件

已创建一个 WeTest 压测大师项目

场景需求分析

某电商类微信小程序需要压测“商品详情”和“加入购物车”页面,根据业务逻辑,首先进入商品详情页,再将商品加入购物车。

  1. 进入商品详情页
    通过商品 ID,可以打开不同商品详情页。
  2. 加入购物车
    选择不同商品详情页,将不同商品加入购物车中。
    测试模型图如下所示:

操作步骤

新建一个测试用例,添加客户端请求,然后根据自身业务需求设计测试模型,最后对微信小程序发起压测。

场景配置

为了实现前面的测试需求,可以通过以下步骤进行压测:

  1. 创建压测大师项目后,选择压测大师 > 用例列表,单击【新建 URL 测试】。

  2. 在客户端请求栏,填写 URL 地址、选择请求方法。示例如下:

    • 压测 URL 地址:https://top.domain.com/goods/getProductDetail
    • 请求方法:POST

      说明:

      该示例中,使用的域名“top.domain.com”,为示例地址,您可以根据真实业务场景填写压测 URL。

  3. 在客户端请求栏,填写 Header、Body 请求参数。如下图所示:

    • 选择 Header 页签,填写商品详情接口请求 Header 信息。
    • 选择 Body 页签,填写商品详情接口请求 Body 信息,Header 中 Content-Type 字段为 application/json,故 Body 是 JSON 格式,Body 上传方法选择 raw。
  4. 单击【添加客户端请求】,填写第二个客户端请求信息。

  5. 为判断“商品加入购物车”是否成功,可设置检查点,选择检查点页签,填写检点信息。

    • 变量名:填写自定义的变量名称。
    • 来源:根据变量的返回路径选择 Response Header 或 Response Body,这里我们选择 Response Body。
    • 提取方式:可根据需要自主选择变量的提取方式,这里我们选择 JSON。
    • Header 名称:当来源为 Response Header 时需要填写相应的 header 名称。
    • 检查规则:根据选择的提取方式填写对应的规则。
    • 预期值:填写预期服务器返回值。

    示例如下:
    商品加入购物车接口成功的返回信息为:
    {"code":"100","message":"","result":{#加入购物车的对应商品信息},"ver":"1"},来自 Response Body,因此,检查点配置为:变量名为 code,提取方式选择 JSON,检查规则为 ["code"],预期值为100。
    如下图所示:

场景调试

  1. 定义场景名
    自定义一个场景的名称,平台默认场景名为:默认场景1/2/3……。
  2. 上下文/单场景模式选择
    单场景是单独执行这一条 URL,设置多个单场景时,多条 URL 将会并行执行。
    上下文是构建链路性场景,从 A 到 B 顺序执行,B 的某个值从 A 的返回内容中提取等。
  3. 设置压力百分比
    设置该场景的压力百分比,当测试模型中有多个场景时,可根据自身业务比例进行分配压力百分比。
  4. 单击【调试】,进行调试。一般调试时间在5秒至20秒。

调试结束后,可查看客户端请求的调试详情。

压力设置

场景调试完成后,需要设置并发人数和场景配置等。上拉页面,找到“并发设置”配置模块,配置项说明如下:

  1. 填写并发设置,如下图所示:
    • 起始人数:初始并发10。
    • 每阶段增加人数:每阶段增加并发为0。
    • 每阶段持续时间:代表压测时长为1分钟。
    • 最大人数:最大人数需要大于或等于初始并发。
    • 发包间隔时间:每次请求收到回包后等待0s,再次发送请求。
    • 超出时间:事务响应时间超过10000ms,记为超时请求。
    • 发包模式:客户端建链后不端口,始终在长链接上不断发包。
  2. 报告标准阈值设置。
    在报告标准阈值页面,可以根据项目需求设置阈值,如成功率,响应时间和 TPS,最终压测数据与阈值进行比对,若满足条件即测试通过。

启动压测

下拉页面至底部,单击【立即执行】,即可发起压测(腾讯云用户需在 VUM 消费确认栏,单击确认)。