本文3440字,阅读约需7分钟
Hi,大家好。小程序自诞生以来,凭借“即用即走,不占内存。”的优势一直独领风骚,在帮助各行各业连接、服务用户方面扮演了更加重要的角色。截止到2020年底,小程序DAU突破4亿
,全年交易额同比增长超过100%。技能在手,进阶无忧。以下介绍小程序的测试点。
小程序是微信开发不需要下载安装,上线需要经过微信审核的应用。小程序产品的版本类型分为:开发版、体验版、正式版。开发版、体验版无需审核,只需要给微信号权限,经过扫小程序的二维码才能访问。单纯功能测试的层面来说,微信小程序测试、APP测试、web测试在流程和功能测试上是没有区别的,但由于载体的不同,导致有一些不同。
大体上从11个方面进行测试:权限测试、功能测试、接口测试、性能测试、兼容性测试、易用性测试、UI测试、网络测试、版本配置测试、缓存测试及埋点测试等11个方面进行介绍。
一、权限测试
开发版
、体验版
不需要微信审核,只需要给测试微信号赋予权限,通过扫描小程序二维码就可访问;正式版需要微信审核,审核后如需登录,需微信号赋予登录权限即可。
小程序微信授权的测试功能点大致如下:
- 允许授权,进入下一步操作;
- 拒绝授权,无法下一步操作;
- 关闭退出,如未授权重新进入需要继续授权;
- 关闭退出,如已授权无需再次授权;
- 更换微信登录设备后再登录小程序,需要对小程序重新授权;
- 同一微信号在不同手机微信端授权登录同一小程序之后,所能查看的数据和操作的权限都应该是同步一致的。
二、功能测试
1 按功能模块测试
模块设计好的各个大类功能模块划分,然后在逐级细分,覆盖到每个功能尽可能全面的测试点。
2 按业务流程测试
1)小程序的业务,比如:播放、支付(支付时注意支付状态:单次授权?免密?);
2)把各个功能点串联起来形成完整的业务流程来检查;
3)同一业务员,有不同的路径来实现,每个路径都需要覆盖检查。
3 按数据流向测试
1)根据数据从某一端操作输入和输出流向,设计基于数据流的测试用例,输出的数据也可能成为另外一端的输入;
2)检查输入的数据是否按照代码逻辑执行正确的输出;
3)是否数据发生异常,无法输入、有输入却无任何输出、输出不正确、多余的输出其他信息等;
4 同一功能不同入口有效性检查测试
1)小程序在首页、列表页、详细页、其他的业务功能相关页面,都有可能存在同一个功能的入口;
2)每一个入口路径都需要覆盖检查;
5 交互性检查测试
1)一般而言,产生数据和功能交互变化的情况主要有这几个分类:前台与前台之间、前台与后台之间、后台与后台之间;
2)前台从F1页面提交的数据,可能需要在前台F2页面查看到,也会在对应后台的B页面查到记录;
3)后台B1页面修改或者添加的数据,对应到前台的F页面产生交互变化,后台本身的不同页面间也可能存在同一个数据的输出值;
6 支付测试
1)支付时的支付状态:单次授权、免密;
2)解除免密授权是否能进行支付;
3)支付时有金额、无金额、支付顺序等情况是如何处理的;
4)对于未支付的订单是如何处理的;
5)小程序没有授权支付,小程序是如何处理的;
三、接口测试
1)有接口文档的,参照接口文档进行接口测试。
2)没有接口文档的,使用Charles或fiddler抓包(同app抓包)
接口测试这里不做细致介绍。
四、UI测试
1) 页面交互;
2)页面展示元素:检查小程序的界面美观度、字体大小、字体格式、按钮布局等。
五、易用性测试
1 导航
1)定位到页面某个模块所在位置;
2)回到顶部或者底部;
3)导航条的收展;
4)导航标签的文字是否容易理解;
5)页面最多跳转超过限定次数后是否失败(小程序原生页面存在10层限制问题,超过10层便无法打开新页面,而业务流程或者访问形成闭环时很容易陷入10层问题)。
2 功能入口
1)重复且常用业务的功能入口;
2)是否在比较显眼的位置;
3)业务操作是否便于大多数用户使用和查看。
3 上下层进入与返回
1)首页与列表页之间;
2)列表页与详细页之间;
3)首页与详细页之间;
4)不同层级之间的进入和返回实现是否有相应按键易操作;
4 字体、图片、动态交互效果
1)字体:标签、标题、内容、动态播放字体;
2)图片:背景图、轮播图、触屏产生的交互图;
3)操作是否过于繁琐。
六、网络测试
1 网络切换测试
1)WIFI切至2G/3G/4G/5G;
2)WIFI切至无网;
3)2G/3G/4G/5G切至WIFI;
4)2G/3G/4G/5G切至无网;
5)无网切至2G/3G/4G/5G;
6)无网切至WIFI;
2 验证各种网络情况下是否正常
关于网速的选择:
- 3G:300k-2Mbps左右
- 2.5G(GPRS)一般在100kbps
- 2G(GSM)一般在5-9kbps
如果不习惯自定义设置带宽等,可直接测试网速逐渐提升。设置好以后,就可以启动你的小程序进行各种网络测试了。
七、兼容性测试
1)操作系统兼容性(Android版/iOS版);
2)屏幕兼容性测试(屏幕分辨率影响页面的布局);
3)微信版本兼容性测试;
4)二维码兼容(分享给朋友或者朋友圈的二维码图片是否能二维码正确扫描)
八、版本配置测试
针对不同的模板,在前端程序代码中修改相应的配置参数
,做到版本与版本之间的切换。
1 非公用部分
不同版本直接的切换,需要保证彼此的功能模块和数据独立性不受干扰,也就是不同版本的管理后台添加的数据只应该调用到各个对应模板的前台小程序中,不同的版本小程序从前台提交的数据也只会提交到各自管理后台。
2 公用部分
切换不同的版本,都会显示相同的功能模块和公共数据信息。
九、性能测试
1)页面的白屏时间;
2)首屏时间;
3)资源占用;
4)页面渲染时间
十、缓存测试
用户本地缓存(小程序文件、授权数据、登录数据等)不能超过10MB,缓存的作用是提高程序的流畅性、减少网络请求、节省服务器资源,其缓存测试点:清除缓存时是否强制退出、后台清理以及关机等情况,每次提交或退出时,是否清除了本次表单的缓存。
十一、小程序埋点测试
小程序埋点测试与其他端流程基本一致:产品提出埋点需求,开发人员在平台配置埋点事件,然后进行代码埋点,测试人员再测试埋点。
注意:小程序测试过程中经常遇到的坑:层级页面跳转、兼容性、缓存。