WeTest 导读

在小程序持续大量爆发的形势下,现在已经成为了各平台竞争的战略布局重点。至今年2月,月活超500万的微信小程序已经达到237个,其中个人开发占比高达2成。因小程序的开发门槛低、传播快、收益高,越来越多的开发者投入了小程序这一领域,由于整体开发水平层次不齐,会碰到越来越多的小程序质量问题。特别是面对电商、零售、旅游、直播等容易有高并发量的行业,会出现“服务器崩溃”、“访问响应缓慢”、“页面操作卡死”、“支付提交失败”等性能问题。那么,应该如何做小程序服务器压测呢?

接下来,我们将以电商行业为例,为您介绍如何使用WeTest的压测大师来做微信小程序的压测。


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

 

一、场景的需求分析

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

1、进入商品详情页

1)通过商品id,可以打开不同商品详情页

2、加入购物车

1)选择不同商品详情页,将不同商品加入购物车中

测试模型如下:

二、场景配置的操作步骤

接下来为了实现前面的测试需求,我们来介绍下具体步骤:

1、登录WeTest平台(wetest.qq.com),在导航栏选择产品>性能测试>服务器性能>进入项目>创建项目

(注:创建团队项目可与团队成员共同管理和完成项目)

2、在项目首页点击创建测试按钮,选择URL测试来创建用例,示例如下:

3、 在客户端请求栏,填写URL地址、选择请求方法。

请求方法:POST

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

4、在客户端请求栏,填写Header、Body请求参数。

1)选择Header页签,填写商品详情接口请求header信息。

2)选择Body页签,填写商品详情接口请求body信息,Header中Content-Typ字段为application/json,故Body是 JSON格式,body上传方法选择raw。

5、单击 添加客户端请求 ,填写第二个客户端请求信息。

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

1)变量名:填写自定义的变量名称;

2)来源:根据变量的返回路径选择Response Header或Response Body,这里我们选择Response Body;

3)提取方式:可根据需要自主选择变量的提取方式,这里我们选择 JSON;

4)Header名称:当来源为Response Header时需要填写相应的header名称;

5)检查规则:根据选择的提取方式填写对应的规则;

6)预期值:填写预期服务器返回值;

示例如下:

商品加入购物车接口成功的返回信息为:

{"code":"100","message":"","result":{#加入购物车的对应商品信息},"ver":"1"},来自Response
Body,这里我们自定义变量名为code,提取方式选择 JSON,检查规则为["code"],预期值为100设置检查点。

如图所示:

三、场景调试操作步骤

1、 定义场景名

1)自定义一个场景的名称,平台默认场景名为:默认场景1/2/3……

2、上下文/单场景模式选择

1)单场景是单独执行这一条URL,设置多个单场景时,多条URL将会并行执行;

2)上下文是构建链路性场景,从A到B顺序执行,B的某个值从A的返回内容中提取等。

3、设置压力百分比

1)设置该场景的压力百分比,当测试模型中有多个场景时,可根据自身业务比例进行分配压力百分比

4、点击“调试”按钮进行调试。一般调试时间在5秒至20秒。

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

四、压力设置步骤

 

场景调试完成后,需要设置并发人数和场景配置等。

1、填写并发设置,如图所示:

1)起始人数:初始并发10;

2)每阶段增加人数:每阶段增加并发为0;

3)每阶段持续时间:代表压测时长为1分钟;

4)最大人数:最大人数需要大于或等于初始并发;

5)发包间隔时间:每次请求收到回包后等待0s,再次发送请求

6)超出时间:事务响应时间超过10000ms,记为超时请求

7)发包模式:客户端建链后不切换端口,始终在长链接上不断发包

2、报告标准阈值设置

可以根据项目需求设置阈值,如成功率、响应时间和TPS,最终压测数据与阈值进行比对,若满足条件即测试通过。

五、启动压测

单击立即执行,即可发起压测(腾讯云用户需在VUM消费确认栏点击确认)


WeTest平台针对于服务器性能测试中常出现的技术门槛、配置冗杂、成本高昂等开发者亟待解决的问题,推出“压测大师”服务,包含了“服务器自助压测服务”与“深度性能测试服务”两大功能模块,通过专业级别测试与健全修正方案,协助开发者逐一击破切实难关。

点击传送门获取更多压测信息:

 传送门:https://wetest.qq.com/product/gaps

手把手教你测微信小程序的更多相关文章

  1. 手把手教你玩微信小程序跳一跳

    最近微信小程序火的半边天都红了,虽然不会写,但是至少也可以仿照网上大神开发外挂吧!下面手把手教妹纸们(汉纸们请自觉的眼观耳听)怎么愉快的在微信小游戏中获得高分. 废话不多说,咱们这就发车了!呸!咱们这 ...

  2. 手把手教你制作微信小程序,开源、免费、快速搞定

    最近做了个"罗孚传车"的小程序 一时兴起,做了一个小程序,将个人收集的同汽车相关的行业资讯和学习资料,分享到小程序中,既作为历史资料保存,又提供给更多的人学习和了解,还能装一下:) ...

  3. 用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  4. 教你理解微信小程序的生命周期和运行原理

    转自:http://blog.csdn.net/tsr106/article/details/53052879  写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君 ...

  5. [iOS]手把手教你实现微信小视频

    本文个人原创,转载请注明出处,谢谢. 前段时间项目要求需要在聊天模块中加入类似微信的小视频功能,这边博客主要是为了总结遇到的问题和解决方法,希望能够对有同样需求的朋友有所帮助. 效果预览: 这里先罗列 ...

  6. 微信小程序自定义组件

    要做自定义组件,我们先定一个小目标,比如说我们在小程序中实现一下 WEUI 中的弹窗组件,基本效果图如下. Step1 我们初始化一个小程序(本示例基础版本库为 1.7 ),删掉里面的示例代码,并新建 ...

  7. 微信小程序 教程之引用

    系列文章: 微信小程序 教程之WXSS微信小程序 教程之引用微信小程序 教程之事件微信小程序 教程之模板微信小程序 教程之列表渲染微信小程序 教程之条件渲染微信小程序 教程之数据绑定微信小程序 教程之 ...

  8. 微信小程序开发过程中tabbar页面显示的相关问题及解决办法!

    在微信小程序的开发过程中如果有使用过tabbar的同学,我相信一定会遇到一些困扰.为什么有些时候代码中明明已经在app.json里面增加了tabbar,可以页面中就是不显示呢?可不可以有些页面显示ta ...

  9. 微信小程序——手把手教你写一个微信小程序

    前言 微信小程序年前的跳一跳确实是火了一把,然后呢一直没有时间去实践项目,一直想搞但是工作上不需要所以,嗯嗯嗯嗯嗯emmmmm..... 需求 小程序语音识别,全景图片观看,登录授权,获取个人基本信息 ...

随机推荐

  1. Ubuntu16.04安装redis和php的redis扩展

    安装redis服务 sudo apt-get install redis-server 装好之后默认就是自启动.后台运行的,无需过多设置,安装目录应该是  /etc/redis 启动 sudo ser ...

  2. c# 利用AForge和百度AI开发实时人脸识别

    baiduAIFaceIdentify项目是C#语言,集成百度AI的SDK利用AForge开发的实时人脸识别的小demo,里边包含了人脸检测识别,人脸注册,人脸登录等功能 人脸实时检测识别功能 思路是 ...

  3. Mosquitto安装调试实录

    1. 安装 以Centos 7.x为例,先安装依赖项(笔者使用阿里云资源,部分依赖项可能未列出): yum install gcc-c++ yum install openssl-devel yum ...

  4. Civil War

    Civil War 编辑 <Civil War>是美国硬摇滚乐队枪炮与玫瑰的一首单曲,首次收录于1990年的群星慈善专辑<Nobody's Child: Romanian Angel ...

  5. ubuntu 14.04 安装 openvswitch

    安装 openvswitch (这里以openvswitch lib 分支为例) 如果没有安装git,如果有请跳过 $ sudo apt-get install git install ovs $ g ...

  6. 第一次项目冲刺(Alpha版本)2017/11/19

    一.当天站立式会议 会议内容 1.对数据库的设计的进一步讨论 2.讨论SSH一些配置细节 3.分配今天的任务 二.任务分解图 三.燃尽图 四.心得 1.零散的时间要利用起来,追上计划的进度. 2.在小 ...

  7. 使用FASTJSON做反序列化的时间格式处理

    JSONObject.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.mmm"; Productorder tmp1 = JSONObj ...

  8. Golang context包解读

    Context 通常被译作 上下文 ,一般理解为程序单元的一个运行状态.现场.快照,而翻译中 上下 又很好地诠释了其本质,上下上下则是存在上下层的传递, 上 会把内容传递给 下 . 在Go语言中,程序 ...

  9. kong安装

    1 哪些企业在用KONG: Mashapoe Marketplace Buzzlogix Gengo IBM Intel OpenDNS 饿了么 Kong可与两种不同的组件协同工作: Nginx:Ko ...

  10. 常用命令 tcl & shell

    TCL 常用命令: 1. 当前时间  [exec  date  +%m%d_%H%M]   (实际是调用shell命令 date),比如在 icc 中保存cell 时可以用:save_mw_cel   ...