• 小程序测试工作


    小程序测试工作

    1. 前期准备

    (1) 微信版本号需在6.3.27及以上,低于提示升级。

    (2) qa需申请对应小程序体验者权限&开发者权限。

    (3) 小程序开发版、体验版、正式版。

    (4) 小程序AppID,项目地址&名字。

    (5) 明确小程序本次测试入口&版本。

    (6) 微信公众号平台发布的【小程序开发助手】, 可方便快捷的预览和体验线上版本,体验版本以及开发版本。

    1. 测试点

    (1) 授权:目前已实现静默授权,即用户首次访问小程序,主动获取微信授权,通过获取openid,生成转转uid,并存储昵称、头像等信息。后续用户若杀掉小程序重新进入,无需重新授权。

    (2) 功能:与端内正常测试功能无异;

    (3) 缓存:功能需求后,此时就需要关注缓存情况:

    ① 微信给每个小程序提供了10MB的本地缓存。

    ② 对于账号切换、版本发布等带来的缓存,目前解决方法是简单粗暴的将小程序删掉,重新进入生效。

    ③ 页面切换时,可能会将上一个页面的数据带到下一个页面展示,例如【主程序-红包需求】点击未使用先显示正确文案》点击已使用已过期”—》点击未使用,文案却展示已使用未使用的文案。此时可以给开发人员提bug,通过代码解决页面缓存问题;

    ④ 从代码层面解决缓存问题:

    1) 清除当前存储到storage里的内容,如cookie信息,主要调用wx.clearStorageSync()

    2) 2.从基础库1.9.90开始,小程序支持自动更新上线代码,接口为wx.getUpdateManager()

    (4) 性能

    (5) 分享功能测试:

    ① 分享到好友列表&生成海报页分享到朋友圈;

    ② 用线上/测试/开发版分享给好友,落地页(引导页)就是相应的线上/测试/开发版;

    ③ 朋友圈识别跳转都是线上版;所以在测试过程中若涉及到扫码跳转,就需借助【小程序码测试工具】。

    (6) 服务通知:以模板ID的形式推送服务通知;

    (7) 微信公众号

    ① 需关注公众号&无须收集formId

    ② 小程序服务通知:收集formId

    ③ formId有效期7d,如果用户没有可用的formId,则无法给用户推送相应消息;

    ④ 通过点击操作单个/批量收集formId,主要存储在wtable,触发行为如支付、提交表单等;详情戳一戳它https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html

    ⑤ 批量收集formIdPOST请求,如zzwxpush/addFormIds

    ⑥ 单个收集formIdGET请求,如zzwxpush/addFormId?formId

    ⑦ 

    ⑧ 

    ⑨ 每个小程序收集的formId,只能用于对应的小程序,也只能用于对应的uid。例如闲置社108批量收集formId,却存储在小程序103,结果导致闲置社批量formId失败,而且小程序存储很多无效可用的formId,主要原因是由于前端传入参数source=103导致。

    ⑩ 常出现问题:formId无效(命中小程序自身策略)、无可用formId(需收集)。

    (8) 层级

    ① M页、toast、弹窗等不受限于层级问题;

    ② 小程序原生页面超过10层后不能再打开新页面,正常业务流程或闭环容易造成10层问题,例如个人中心--》商品列表页--》个人中心……

    ③ 解决方法【层级策略】:将页面链接存储到storage,返回时则刷新拉取存储的页面链接。目前只保存页面路径,不保存页面数据。

    (9) 兼容:

    ① 微信版本:小程序的接口完全依赖于微信,因此部分基础库较高的接口可能在低版本的微信上不生效,需做兼容,如:页面内分享是基于1.2.0的基础库开发,因此要求对应微信版本在6.5.8及以上;

    ② 不同机型:如某页面在华为机型展示没问题,但到小米机型却展示有问题;

    ③ 手机系统:Androidios两个版本兼容性可能不同;如个人主页中【安卓和ios】评价样式有问题。

    (10) 埋点:

    ① 埋点测试大致和端内测试流程一样,关注actiontype&pagetype等参数;

    ② 小程序统计常需区分用户来源渠道,因此还需关注【backup】中的channelpagechanneltype等参数。

    ③ appid:主要存储小程序source参数值。

    ④ scene:场景值,详情https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/scene.html

    ⑤ channel:只对小程序入口页生效,会伴随整个生命周期,直到退出小程序。如果没有明确的参数值,则默认为none

    ⑥ pagechannel:针对页面url参数,只带到落地页,不会带到后续页面。如果没有明确的参数值,则默认为none

    ⑦ type:目前用在详情页,主要用于区分此商品是个人mine/圈子group/他人normal

    ⑧ 根据pm需求还可以增加相应渠道参数。

    (11) 内嵌M页:

    ① 1.6.4版本开始陆续支持小程序内嵌M页。

    ② M页不受限于小程序的层级页面,如【游戏M页】点击首页》游戏频道为1层页面,而不是2层页面。

    ③ 测试M页需做相应的适配,以在小程序能够正常使用,如登陆等。若M页嵌入native页面,则还需要额外做native页面交互的适配。如【游戏我的拼团】没做适配,则提示此错误。

    ④ M测重点关注页面跳转功能,展示等问题。

    (12) 测试坑点

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

    ① 层级页面跳转

    ② 兼容性

    ③ 缓存

    具体内容请查看链接https://testerhome.com/topics/16299

  • 相关阅读:
    淘宝长仁:JVM性能指标的理论极限和衡量方法(TaobaoJVM)
    你不知道的5个JVM命令行标志
    Java 内存模型 JMM
    Java虚拟机深入研究
    java内存区域——daicy
    Java里的堆(heap)栈(stack)和方法区(method)
    JVM学习笔记-操作数栈(Operand Stack)
    c# 网页打印全流程
    备忘录模式实例1
    加密程序-注册方法实现
  • 原文地址:https://www.cnblogs.com/sulanyuan/p/11104236.html
Copyright © 2020-2023  润新知