微信小程序的测试方案总结「终于解决」 -金沙1005

微信小程序的测试方案总结「终于解决」提纲/目标通过对微信小程序特性和测试点进行总结,储备测试知识,提高测试效率。小程序特性介绍 小程序测试工作过程监控与管理 常见问题&技巧现状分析接触小程序的项目相对较少 缺少小程序测试实战经验 对小程序的特性不了解 小程序测试测试沉淀较少目标达到成就介绍小程序特性,了解测试中的注意事项 以某小程序为例,了解小程序测试工作 通过知识沉淀和经验总结,提高测试效率课程内容*小程序已越来越常见小程序发布审核发布前需申请外网域名,并在微信web开发者工具里找

通过对微信小程序特性和测试点进行总结,储备测试知识,提高测试效率。

  • 小程序特性介绍
  • 小程序测试工作过程监控与管理
  • 常见问题&技巧

现状分析

  • 接触小程序的项目相对较少
  • 缺少小程序测试实战经验
  • 对小程序的特性不了解
  • 小程序测试测试沉淀较少

目标达到成就

  • 介绍小程序特性,了解测试中的注意事项
  • 以某小程序为例,了解小程序测试工作
  • 通过知识沉淀和经验总结,提高测试效率

微信小程序的测试方案总结「终于解决」

*小程序已越来越常见

小程序发布审核

  1. 发布前需申请外网域名,并在微信web开发者工具里找到项目,设置好服务器的域名。
  2. 开发完上传代码后,在微信公众平台—》登录小程序管理后台—》点击开发管理—》点击提交版本审核即可。
  3. 审核通过后会有相应提示,接着把审核通过的小程序发布线上。若未审核通过可做相应修改继续提审。
  4. 第一次提交小程序审核时,需先上线后端,一般第一次审核时间比较久(3d左右)

微信小程序的测试方案总结「终于解决」

 

小程序的限制

  1. 页面层级跳转:不能超过10层。
  2. 用户本地缓存:不能超过10mb。
  3. 小程序代码包:不能超过3m,所以部分图片资源需上传cdn。
  4. 小程序发布:需提交微信审核通过才可发版。
  5. 提交审核前,外网域名需申请(除微信域名之外)。

层级问题

  1. 小程序原生页面存在10层限制问题,即超过10层时便无法打开新页面,而业务流程或者访问形成闭环时,很容易陷入10层问题。
  2. 为避免层级限制导致的无法打开页面和层级限制带来的交互路径限制,内部提出了【层级策略】以解决层级限制问题。
  3. 【层级策略】将页面路径存储到storage,返回时则刷新拉取存储的页面路径,目前只保存页面路径,不保存表单等数据。

基础库版本

  1. 小程序的能力需要微信客户端来支撑,每一个基础库都只能在对应的客户端版本上运行,高版本的基础库对应的api不支持低版本,所以在使用这些新能力的时候需要做兼容。
  2. 由于微信版本和基础库版本不是一一对应关系,且小程序api是基于各个基础库版本进行发布的,所以在测试过程中需要提前获悉当前基础库版本号。
  3. 目前可在zeye后台查看基于转转用户使用的基础库、微信版本、手机型号覆盖率等数据。
  4. 目前我们主要通过日志的方式自动获取到版本号,可通过两种途径拿到:1.体验版进入金沙1005首页时通过console查到;2.通过我的功能页面拿到。
  5. 微信官方基础库版本查看: https://developers.weixin.qq.com/miniprogram/dev/framework/client-lib/version.html

微信小程序的测试方案总结「终于解决」

小程序版本管理

  1. 小程序并不像服务端那样区别线上和线下版本,而是有开发版、体验版、线上版。
  2. 如果只是开发后端逻辑功能,可在三个版本中任意一个进行测试;如果是开发前端功能则需在相应的开发版/体验版进行测试。
  3. 三者具体区别如下:
  • 权限层:前两者需申请开发者和体验者权限才可使用,后者则面向所有用户。
  • 性能层:开发版和体验版自身带有vconsole性能面板(回归需关闭此功能),而线上版则没有。
  • 代码层:开发人员可同时在多个开发版上开发互不影响;体验版当前只能有一份代码处于审核中,审核通过后可发布上线,也可直接重新提交审核,覆盖原审核版本;线上版本则为所有用户使用的代码版本,该版本代码在新版本代码发布后被覆盖更新。

4.  包大小:开发版本不限制包大小;体验者&正式版则限制包大小。

5.  二维码:体验版保持不变,开发版30min后失效需重新生成。

前期准备

  1. 微信版本号需在6.3.27及以上,低于提示升级。
  2. qa需申请对应小程序体验者权限&开发者权限。
  3. 小程序开发版、体验版、正式版。
  4. 小程序appid,项目地址&名字。
  5. 明确小程序本次测试入口&版本。
  6. 微信公众号平台发布的【小程序开发助手】, 可方便快捷的预览和体验线上版本,体验版本以及开发版本。

测试点

  1. 授权:目前已实现静默授权,即用户首次访问小程序,主动获取微信授权,通过获取openid,生成转转uid,并存储昵称、头像等信息。后续用户若杀掉小程序重新进入,无需重新授权。
  2. 功能:与端内正常测试功能无异;
  3. 缓存:功能需求后,此时就需要关注缓存情况: 微信给每个小程序提供了10mb的本地缓存。 页面切换时,可能会将上一个页面的数据带到下一个页面展示。 对于账号切换、版本发布等带来的缓存,目前解决方法是简单粗暴的将小程序删掉,重新进入生效。 还可从代码层面解决缓存问题:a.清除当前存储到storage里的内容,如cookie信息,主要调用wx.clearstoragesync();b.从基础库1.9.90开始,小程序支持自动更新上线代码,接口为wx.getupdatemanager()。
  4. 性能:开发版和体验版自身带有vconsole性能面板。
  5. 分享功能测试: 分享到好友列表&生成海报页分享到朋友圈; 用线上/测试/开发版分享给好友,落地页就是相应的线上/测试/开发版; 朋友圈识别跳转都是线上版;所以在测试过程中若涉及到扫码跳转,就需借助【小程序码测试工具】。
  6. 层级: m页、toast、弹窗等不受限于层级问题; 小程序原生页面超过10层后不能再打开新页面,正常业务流程或闭环容易造成10层问题。
  7. 埋点 :测试大致和端内测试流程一样,关注actiontype&pagetype等参数; 小程序统计常需区分用户来源渠道,因此还需关注【backup】中的channel,pagechannel,type等参数。 具体规则见: https://developers.weixin.qq.com/miniprogram/analysis/custom/#_1-快速入门

微信小程序的测试方案总结「终于解决」

     8. 更新

      8.1 小程序的启动方式

  • 冷启动—-小程序首次打开或销毁后再次被打开。
  • 热启动—-小程序打开后,在一段时间内(目前:5分钟)再次被打开,此时会将后台的小程序切换到前台。

     8.2 相应更新机制

  • 小程序冷启动时,会检查小程序是否有最新版本。如果有则将异步下载最新版本,但是仍将运行当前版本等到下一次冷启动时再运行最新版本。
  • 如果你想现在就使用最新版本则需要调用wx.getupdatemanager api进行处理。
  • 具体规则见:

     8.3 如何测试:开发在编译时设置下一个版本更新模式

微信小程序的测试方案总结「终于解决」

测试坑点

测试坑点 小程序测试过程中经常碰到的坑,重点需关注:

  • 层级页面跳转
  • 兼容性
  • 缓存

 

测试工具

主要为开发者测试工具

微信小程序的测试方案总结「终于解决」

业界参考-wetest

1.兼容性测试: 测试地址: https://wetest.qq.com/product/miniapp

小程序兼容测试帮助文档: https://wetest.qq.com/help/documentation/10618.html

微信小程序的测试方案总结「终于解决」

2. 压测: 微信小程序压测最佳实践案例 https://wetest.qq.com/help/documentation/10490.html

微信小程序的测试方案总结「终于解决」

测试常见问题总结

1.缓存

微信小程序的测试方案总结「终于解决」

2.2.更新机制:现在就使用最新版本则需要调用wx.getupdatemanager api进行处理。

微信小程序的测试方案总结「终于解决」

小程序特性。

小程序的测试点。

小程序测试的注意事项和技巧。

 

 

 

js555888金沙老品牌的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处:https://ispacesoft.com/131620.html

(0)

相关推荐

  • 微信小程序服务器.net,微信小程序登陆 .net 后端实现1:前端获取用户凭证code传送请求得到openid(用户惟一标识)在页面的onlaunch方法中,调用wx.login方法html这一步获取登陆凭证,经过凭证调用本地后台接口,获取用户openidsessionkey等,本地后台的接口调用方法参考第四步算法注意点:小程序1:一般咱们会把用户的session_key存取到后台的session会话中,可是在微信小程序不会自动保存用户的se…

  • 微信小程序:引入阿里巴巴矢量图标库iconfont「建议收藏」阿里巴巴矢量图标库:https://www.iconfont.cn/第一步:生成fontclass地址将喜欢的icon加入购物车将购物车中的图标添加至项目获取项目的fontclass地址,打开连接,并复制内容第二步:引入字体将fontclass内容粘贴到微信小程序项目中新建文件static/font/iconfont.wxss在app.wxss文件中引入字体@import”static/font/iconfont.wxss”第三步:使用字体图标第一个为iconfo

  • 微信小程序授权登录 获取手机号「建议收藏」微信小程序授权登录 获取手机号一、官方文档背景:小程序登录的链接:微信小程序获取手机号的链接:二、微信小程序授权登录 获取手机号1、简单说明官方文档的操作:先授权登录后拿手机号2、前端代码:(1)自定义util.js,替换util的原生utils.js(其实原生也可以用,按个人喜好)(2)login.wxml(3)login.wxss(4)login.json(5)login.js三、以上操作后的页面展示:附提醒:一、官方文档背景:这个图一定要认真去看,一步一步来,不要着急小程序登录的链接:htt

  • 关于微信小程序的面试题_uniapp小程序面试题1、微信的小程序的主要文件wxml、js、json、wxssapp.json:配置文件入口,整个小程序的全局配置app.js:做了什么:1、引入工具js文件importutilfrom’./utils/util.js’;引入config文件varconfig=require(‘./utils/config.js’)、接入友盟注册小程序每个小程序都需要在app.js中调用app方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。//app….

  • 微信小程序弹窗问题怎么解决_微信小程序模态弹窗一、询问弹窗,如果报错:cannotreadproperty’data’ofundefined可写成以下wx.showmodal({title:’提示’,content:’确定要删除吗?’,success:(res)=>{if(res.confirm){this.deletebattery()}elseif(res.cancel){c

  • 小程序子组件向父组件传值_react父组件调用子组件方法承上一篇的例子,记录一下小程序里子组件给父组件传值.只需要来这么一行就可以暴露出一个自定义的事件,比如这个,事件名是,传值传出变量.这里也是一样的,下面这条语句其实就像二、父组件接收然后父组件这边就可以在子组件上使用监听这个自定义事件了,并且负责对这个自定义事件进行处理的函数,可以接受到子组件triggerevent传的值:之后,我们可以在handleup里尝试接收一下子组件的传值:总结感觉上一篇父传子里掺杂了…

  • 微信小程序tabbar消失_微信小程序tabbar显示问题微信小程序中自带tabbar,我在app.json中配置了4个tabbar类似如下”tabbar”:{“color”:”#9fb9ba”,”selectedcolor”:”#00aaa8″,”backgroundcolor”:”#1f2346″,”borderstyle”:”white”,”position”:”bottom”,”list”:[{“pagepath”:”pages/…

    2022年12月26日
  • 基于微信小程序的培训机构系统前言:该系统作为本科毕业设计,可能还有很多的不足。只是当时做这个系统的时候,由于需要使用java语言作为后端实现与微信小程序界面数据交互,看遍网上很多的案例基本后台都是php语言用于编写接口,几乎没找到过java作为后台语言的案例。写这篇博客只是为了帮助需要后台使用java语言来实现的朋友。一、项目介绍微信小程序端:小程序端管理员实现对信息模块的管理,包含课程…

发表回复

您的电子邮箱地址不会被公开。

联系金沙1005

关注“java架构师必看”公众号

回复4,添加站长微信。

附言:ispacesoft.com网而来。

关注微信
网站地图