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. Linux 系统的/usr目录

    /usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据:所有系统默认的软件都会放置到/usr, 系统 ...

  2. 局域网不同网段访问设置WINS域名服务系统

    大背景 公司两台路由器,网段不同 路由器:192.168.0.1 路由器:192.168.1.1 路由器2需要访问路由器1的机子,初始是ping不通的. 方案 使用IP设置里WINS设置,即可轻松实现 ...

  3. http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码

    http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...

  4. September 05th 2017 Week 36th Tuesday

    I always in the deepest despair, meet the most beautiful sunrise. 我总是在最深的绝望里遇见最美丽的惊喜. Some pessimist ...

  5. PAT 1001A+B Format

    Github 1001 题目速览 1.解题的思路过程 认真读题,题目为A+BFormat,简单的计算a+b问题,特殊在于输出的形式. 输入形式为每个输入文件包含一个测试样例,每个测试样例仅包含一对整型 ...

  6. python and、or以及and-or

    @Python: and.or以及and-or 一.and: 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值:而是,返回它们实际进行比较的值之一. & ...

  7. BZOJ3530:[SDOI2014]数数(AC自动机,数位DP)

    Description 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串.例如当S=(22,333,0233)时,233是幸运数,2333.20233.3 ...

  8. BZOJ1076:[SCOI2008]奖励关(状压DP,期望)

    Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的 ...

  9. 20155314 2016-2017-2 《Java程序设计》实验二 Java面向对象程序设计

    20155314 2016-2017-2 <Java程序设计>实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UM ...

  10. 调试cnn-Sentence-Classifier遇到的问题

    运行train文件训练模型出现了以下错误: train文件在app文件目录下: raw_vectors.txt文件则在cnn-Sentence-Classifier目录下: 这是train代码调用re ...