• 8
  • 8
分享
  • 微信小程序测试——软件测试圈
  • 北极 2022-05-09 13:23:53 字数 1931 阅读 1419 收藏 8

普通的移动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

微信小程序兼容性测试

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

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

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

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

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

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

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

图片 16.png

图片 17.png

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

微信小程序网络测试

移动app 的网络测试考虑:

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

2、弱网测试

3、无网测试

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

图片 18.png

微信小程序特殊测试点

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

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

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

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

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

 

作者:QAtest

文章来源:知乎

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、我们为什么要做日志测试?虽然额外的日志记录可能会导致软件程序的执行速度下降。但如果有详细的日志记录就可以帮助我们更迅速地诊断问题,加快我们对故障的响应,并且往往可以显著地减少发现一些隐藏得非常深的错误的问题!二、日志级别log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。ALL 最低等级的,用于打开所有日志记录。TRACE designates finer-grained informational events than the DEBUG.Since:1....
            0 0 1053
            分享
          •   据报道,美国国家公路交通安全管理局(NHTSA)今日表示,在接到两起投诉后,已开始对特斯拉(182,-5.71,-3.04%)ModelY电动汽车的方向盘脱落问题展开调查。  NHTSA称,已经接到两起事故投诉,车主在驾驶2023年生产的ModelYSUV电动汽车时,车轮竟然脱离了转向柱,即方向盘脱落。这主要是因为,受影响车辆在没安装固定螺栓(用于固定方向盘)的情况下就交付给了车主。  3月4日,NHTSA对此展开了初步评估,涵盖大约120089辆汽车。NHTSA今日称,目前正在评估“与这种情况相关的范围、频率和制造工序。”  对此,特斯拉尚未发表评论。  3月6日,公开资料显示,特斯拉在...
            0 0 1278
            分享
          • 网上收集到的一些有关Selenium自动化相关的面试,给出的答案仅供参考。1.Selenium中用什么函数判断元素是否存在?isElementPresent2.Selenium中hidden或者是display = none的元素是否可以定位到?不能,可以写JavaScript将标签中的hidden先改为0,再定位元素3.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?添加元素智能等待时间 driver.implicitly_wait(30)添加强制等待时间(比如python中写 sleep)try 方式进行 id,name,clas,x path, ...
            1 1 1312
            分享
          • 当进行 自动化测试 编排时,测试步骤间的数据传递是至关重要的。在传统的方式中,一般通过复杂的脚本配置,或者手动复制这些数据,然后再慢慢地粘贴到每个需要它们的地方,以此来实现接口之间的参数传递。这种方式往往效率低下、容易出错并且难以维护,当接口或业务逻辑发生变化时,需要进行大量修改,增加了维护成本。为了应对这种复杂的数据依赖关系,Apifox 中引入了「动态值」传递机制。这种机制就像是一个灵活的“桥梁”,将指定的“上游”测试步骤的运行结果捕获,并插入到“下游”测试步骤的请求参数中,确保测试用例能够适应不同场景下的数据变化。这种响应关联机制消除了中间的手动传递数据环节...
            0 0 1562
            分享
          •   自学习selenium以来,提到元素定位首先想得的是find_element_by_xxx。  但是今天学习时发现了还有一个方法find_element,没有后面的by。  于是试图点进去源码看看,未果(不知道是不是vscode不支持的原因)。  于是在网上搜索相关内容,貌似这种方法确实可行,贴出疑似源码如下:  def find_element(self, by=By.ID, value=None):           """    &n...
            0 0 1885
            分享
      • 51testing软件测试圈微信