普通的移动app是需要安装的,但是绝大部分的app不会经常使用,但仍然会占用手机存储空间,所以开始出现免安装app,微信小程序实际是一种免安装的app。类似的比如华为、小米等手机厂商推出的快应用、支付宝小程序。微信小程序实际是运行在微信之上。
小程序的类网页经过微信翻译之后以http数据的形式和服务器进行交互。小程序无法脱离微信来进行使用。
微信小程序的页面可以包含:
1、小程序页面(WXML+WXSS)
2、M页页面(H5移动网页)
3、toast信息(过一段时间会自动消失的信息,比如登录成功的提示信息,1、2秒后自动消失)
4、弹窗
微信小程序分为三个版本:
1、开发版
2、体验版(需要在小程序管理平台里添加体验用户才可以使用)
3、正式版
微信小程序界面的操作的测试,跟移动app、web网站没什么区别。
开发者工具测试(开发版)
通过AppData可以比界面检查的更细。类似于fiddler中inspectors。
借助于真机调试,可以修改AppData中的数据,对微信小程序做一些大值测试或者异常测试。
扫码后
通过修改真机调试界面中AppData中的数据可以实现和fiddler中autoresponder类似的功能,检查各种数据的情况下界面的显示。
因为微信小程序是运行在微信之上的,所以各种功能交互更多是微信考虑处理,测试微信小程序时可以不用太考虑。
对于体验版或者正式版,可以完全类似于移动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、数据缓存大小
微信小程序针对开发版提供性能监控器工具。
打开后,重启小程序
通过展示出来的性能数据,我们能够直观的看到实时的性能,比如切换页面时的页面切换耗时。如果想要看性能的整体的长时间变化趋势,则需要借助trace工具。
1、在调试小程序的真机中操作导出trace数据(前提是开启性能监控面板)
2、开发者工具中选中trace工具
3、选择保存trace记录的手机(前提是adb能连接上手机)
4、选择前面导出的trace数据
Cpu变化趋势
Fps趋势(gpu绘制)
部分fps明显偏小,属于性能的bug。
内存趋势
其它
移动app的兼容性测试包含:
1、android版本的兼容,4.0、5.0、7.0
2、机型的兼容,hdpi、xhdpi、xxxhdpi
微信小程序的兼容性测试包含:
1、操作系统兼容性(兼容android系统和ios系统),android系统和ios系统对js代码的处理存在差异,所以需要考虑这两个系统的兼容性。实际工作中同一个小程序,需要在android微信上和ios微信上分别进行测试。
2、机型兼容性(屏幕的适配),微信小程序中考虑了屏幕的自动适配,专门设计了一个rpi单位,但还是不能完全保证适配没问题,所以针对小程序仍然需要考虑机型兼容。
3、微信版本的兼容性(基础库版本适配)
针对开发版,通过修改调试基础库版本即可做兼容性测试。
微信小程序网络测试
移动app 的网络测试考虑:
1、强网测试,不同网络下使用、网络切换下的使用
2、弱网测试
3、无网测试
微信小程序和移动app的网络测试类似。
1、小程序包大小不能超过3M,开发版对大小没有限制,但是体验版和正式版都有限制。
2、页面层级跳转不能超过10次,比如分类-》居家-》布艺软装-》居家-》被枕-》居家-》。达到10次就无法跳转了,如果非要有这种跳转方式,需要考虑不让微信觉得是10次跳转。
3、缓存,微信小程序为了提升用户体验,会缓存用户的页面及数据,方便下次调用时直接使用。可能产生的问题:
1)微信小程序缓存的数据是否和服务器端一致。实际测试时可以先访问页面,然后修改服务器上数据,再回看小程序中页面,看数据是否一致。
2)切换相似的页面,看是否缓存的数据会产生混乱,比如居家和餐厨两个分类,切换分类的时候,会不会因为缓存导致具体信息不发生变化。
作者:QAtest
文章来源:知乎