• 14
  • 15
分享
  • 微信小程序测试——软件测试圈
  • 北极 2021-10-20 11:16:50 字数 1954 阅读 3628 收藏 15

手把手教你测试微信小程序,附软件测试员必知的20个常见测试点!

普通的移动app是需要安装的,但是绝大部分的app不会经常使用,但仍然会占用手机存储空间,所以开始出现免安装app,微信小程序实际是一种免安装的app。类似的比如华为、小米等手机厂商推出的快应用、支付宝小程序。微信小程序实际是运行在微信之上。

1.png

小程序的类网页经过微信翻译之后以http数据的形式和服务器进行交互。小程序无法脱离微信来进行使用。

2.png

微信小程序的页面可以包含:

  1. 小程序页面(WXML+WXSS);

  2. M页页面(H5移动网页);

  3. toast信息(过一段时间会自动消失的信息,比如登录成功的提示信息,1、2秒后自动消失);

  4. 弹窗。

微信小程序功能测试

微信小程序分为三个版本:

  1. 开发版;

  2. 体验版(需要在小程序管理平台里添加体验用户才可以使用);

  3. 正式版。

微信小程序界面的操作的测试,跟移动app、web网站没什么区别。

开发者工具测试(开发版)

通过AppData可以比界面检查的更细。类似于fiddler中inspectors。

3.png

借助于真机调试,可以修改AppData中的数据,对微信小程序做一些大值测试或者异常测试。

4.png

扫码后

5.png

6.png

通过修改真机调试界面中AppData中的数据可以实现和fiddler中autoresponder类似的功能,检查各种数据的情况下界面的显示。

因为微信小程序是运行在微信之上的,所以各种功能交互更多是微信考虑处理,测试微信小程序时可以不用太考虑。

Fiddler工具测试(体验版/正式版)

对于体验版或者正式版,可以完全类似于移动app的测试方式,利用fiddler来做测试。

使用步骤:

  1. 电脑上的fiddler设置抓取和解析https的包;

  2. 手机上安装fiddler的证书;

  3. 手机上开启代理。

运行小程序后,即可以在fiddler上看到抓取的https的包。

微信小程序性能测试

移动app的性能测试关注:

  1. 业务响应时间(启动时间/页面切换时间),通过logcat中查询displayed关键字;

  2. Cpu,emmagee;

  3. Gpu,过度绘制、高速相机;

  4. 内存,emmagee;

  5. 流量,emmagee;

  6. 电量,emmagee。

微信小程序因为一般运行的时间短、频度低,所以关注的性能指标比app要少一些。

  1. 业务响应时间(小程序包下载时间/启动时间/页面切换时间);

  2. 内存;

  3. Cpu;

  4. 帧率;

  5. 数据缓存大小。

微信小程序针对开发版提供性能监控器工具。

7.png

打开后,重启小程序

8.png

通过展示出来的性能数据,我们能够直观的看到实时的性能,比如切换页面时的页面切换耗时。如果想要看性能的整体的长时间变化趋势,则需要借助trace工具。

1、在调试小程序的真机中操作导出trace数据(前提是开启性能监控面板)

9.png

2、开发者工具中选中trace工具

10.png

3、选择保存trace记录的手机(前提是adb能连接上手机)

4、选择前面导出的trace数据

11.png

Cpu变化趋势

12.png

Fps趋势(gpu绘制)

13.png

部分fps明显偏小,属于性能的bug。

内存趋势

14.png

15.png

其它

16.png

微信小程序兼容性测试

移动app的兼容性测试包含:

1、android版本的兼容,4.0、5.0、7.0

2、机型的兼容,hdpi、xhdpi、xxxhdpi

微信小程序的兼容性测试包含:

  1. 操作系统兼容性(兼容android系统和ios系统),android系统和ios系统对js代码的处理存在差异,所以需要考虑这两个系统的兼容性。实际工作中同一个小程序,需要在android微信上和ios微信上分别进行测试。

  2. 机型兼容性(屏幕的适配),微信小程序中考虑了屏幕的自动适配,专门设计了一个rpi单位,但还是不能完全保证适配没问题,所以针对小程序仍然需要考虑机型兼容。

  3. 微信版本的兼容性(基础库版本适配)

17.png

18.png

针对开发版,通过修改调试基础库版本即可做兼容性测试。

微信小程序网络测试

移动app 的网络测试考虑:

  1. 强网测试,不同网络下使用、网络切换下的使用;

  2. 弱网测试;

  3. 无网测试。

微信小程序和移动app的网络测试类似。

19.png

微信小程序特殊测试点

  1. 小程序包大小不能超过3M,开发版对大小没有限制,但是体验版和正式版都有限制。

  2. 页面层级跳转不能超过10次,比如分类-》居家-》布艺软装-》居家-》被枕-》居家-》。达到10次就无法跳转了,如果非要有这种跳转方式,需要考虑不让微信觉得是10次跳转。

  3. 缓存,微信小程序为了提升用户体验,会缓存用户的页面及数据,方便下次调用时直接使用。可能产生的问题:

  • 微信小程序缓存的数据是否和服务器端一致。实际测试时可以先访问页面,然后修改服务器上数据,再回看小程序中页面,看数据是否一致。

  • 切换相似的页面,看是否缓存的数据会产生混乱,比如居家和餐厨两个分类,切换分类的时候,会不会因为缓存导致具体信息不发生变化。


作者:QAtest

链接:https://zhuanlan.zhihu.com/p/70735052

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   1.道路测试流程  测试场地  1.测试场地有哪些?  对于一些要求不太高/简单的测试场景可以找一些封闭的场地,如断头路或者是城市所在地当地政府提供的诸如智能网联专用道路之类的测试道路,对于复杂或相对要求高一些的测试场景可以到专业的国家智能网联汽车试点测试场进行测试,以下提供了国内常用的示范区:  ①国家智能网联汽车(上海)试点示范区封闭测试区  ②国家智能商用车检验检测(泰兴)基地  ③中汽中心(盐城)汽车试验场  ④国家智能交通综合测试基地(无锡)  ⑤浙江5G车联网应用示范区(杭州云栖小镇&桐乡乌镇)  ⑥中汽中心智能网联汽车测试(北京)基地  ⑦中国汽研智能网联汽车(重庆)...
            0 0 1816
            分享
          •   前言  我们在做自动化时,当自动化测试用例编写完成后,都会想着将其自动执行程序,或者说通过定时的形式进行执行我们的自动化测试程序,这样才能真正意义上实现自动化测试。哪么大家知道都有哪些方法可以帮助我们实现这个功能吗?接下来小编就简单介绍下集中如何定时执行我们的自动化测试用例程序。  Jenkins  说到定时任务,肯定有人想到jenkins,没错,jenkins是一款持续集成的工具,其中里面就有一个小功能构建定时器,可以很好的帮助我们实现这个功能。  使用方法  1.通过进入到对应的测试项目内中,然后点击configure(配置)进入其页面中。  2.配置页面中的Build Trigger...
            0 0 1990
            分享
          • 当下微服务如火如荼,各个团队在争先恐后推出微服务,不论在概念上还是在实践上,如果自己没有跟微服务挂上钩,便会被贴上落伍的标签。我们在推微服务的时候,我们说微服务架构具备如下优势:架构灵活,能够应对复杂的业务需求。独立部署,大大提高CI/CD的效率。服务自治,支持技术栈多元化。……这些特征恰恰是单点应用无法具备的,因此微服务架构在广大的呼声下逐渐承接了单点应用的替代工作。随着容器技术的成熟,使用Docker重建一个应用的成本趋近于零。而K8S/Rancher在生产上的广泛应用,很大程度解决了容器管理的难题。调用链分析工具(ZipKin)、ELK+Kibana再配合系统监控工具(Prometheu...
            0 0 980
            分享
          •   测试开发工程师就是测试中的软件开发工程师或测试中的软件设计工程师,目前许多组织都要求测试开发工程师这类专业人员能够参与应用程序开发以及所开发软件的测试。测试人员可以不参与软件开发的手工测试人员或质量分析人员。测试开发工程师通常参与开发高质量,健壮和高性能的代码,这对于自动化测试用例或设计可用作测试工具的测试框架很有用。测试开发工程师还审查了软件产品的设计和过程。测试开发工程师随着DevOps,敏捷和持续测试的增长,它的职责正在增加。  测试开发工程师具有熟练的开发和测试技能;另一方面,测试人员参与到准备和执行测试用例的工作中,无论是手工还是自动化。  测试人员是具有有限的编程技能,他们非常...
            0 0 1153
            分享
      • 51testing软件测试圈微信