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. Redis学习---Redis的免密操作

    Redis的免密操作 问题解决[方式一]:当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效 1.首先进入redis,如果没有开启redis则需要先开启: [r ...

  2. 统计过程控制与评价 Cpk、SPC、PPM

    Cpk(Process capability index)--工序能力指数 SPC(Statisical Process Control)--工艺过程统计受控状态分析 PPM(Parts Per Mi ...

  3. C# HttpWebRequest 笔记

    目录: 1,HttpWebRequest 实例化 2,GetResponse 获取请求结果 3,获取结果 4,获取流信息 HttpWebRequest 是一个Http 请求类,继承于 WebReque ...

  4. ord 字符转code chr : code转字符

    print(ord('刀')) # ord 字符转Unicode # 20992 print(chr(20992)) # Unicode 转成chr(字符)

  5. lambda 形参:返回值 lambda 匿名函数 格式:

    lambda 匿名函数 格式: lambda 形参:返回值 e.g f = lambda n:n**2 print(f(10))

  6. 反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,被AOP过的真实类等工具函数.java

    import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.ap ...

  7. CSS 鼠标样式

    设置鼠标指针放在一个元素边界范围内时所用的光标形状,需要对元素的css属性cursor进行设置. cursor属性可能的值: default 默认光标(通常是一个箭头) auto 默认.浏览器设置的( ...

  8. TeamViewer app案例分析

    产品 产品名 TeamViewer远程app 选择原因 远程连接软件是不时之需,当有时私人电脑没有在身边而又需要操作电脑时,远程控制TeamViewer这个软件能帮我们大忙. 调研与评测 1.第一次上 ...

  9. ubuntu 12.04 eclipse增加桌面快捷方式

    1.创建桌面启动器(编辑/usr/share/applications/eclipse.desktop) [Desktop Entry] Encoding=UTF-8 Name=eclipse Com ...

  10. acl 4 year statistics