小程序
1)权限测试
需要检查以下几种情况下微信用户访问的权限
a、未授权微信登录小程序
未授权时,一般使用一些业务功能的时候,都会弹出提醒:先授权再操作对应功能。或者在提交数据到后台的时候,会提示补充相关身份信息才能提交成功。
b、已授权微信登录小程序
授权微信访问小程序,意味着自己的微信账号可被小程序管理方所获取,自动以微信的身份行使业务操作权限,比如咨询、支付、数据查询等。
c、同一微信号在不同手机端登录授权查看数据权限
同一微信号在不同手机微信端授权登录同一小程序之后,所能查看的数据和操作的权限都应该是同步一致的。
2)功能测试
a、按功能模块测试:根据主要业务模块
b、按业务流程测试:根据实际业务流
c、按数据流向测试:验证输入数据和输出数据是否一致 、数据存储到数据库 是否与界面填写的一致等等
d、同一功能不同的入口有效性的检查:同一个功能 不同入口 测试
e、交互性检查 :界面友好提示、网络错误提示、数据异常提示是否用户一眼就知道下一步该做什么
3)界面测试
设计是否符合高保真要求、按钮尺寸颜色是否合理、横竖屏切换操作、
4)兼容性
小程度和微信上的其他小程序、微信版本、手机平台、不同网络状态、系统
a. 操作系统兼容性
常规的手机端OS为:Android(11.0/10.X/…)、IOS(14.3/13.x/12.x…)、
电脑端:windows系统 和IOS系统
b. 屏幕兼容性测试
尤其是1rpx的像素经常在iphone7p上出现断线的情况。
c. 微信版本兼容性(8.0.1/7.X/...)
5)交互
微信到小程序、与手机系统自带的app交互、与微信其他功能(收货地址、卡券等等)交互
6)易用性
a、导航
定位到页面某个模块所在位置,回到顶部或底部,导航条的收展,导航标签的文字是否容易理解。
b、功能入口
重要且常用业务的功能入口,是否在比较显眼的位置,是否方便搜索,业务操作过程是否便于大多数用户使用和查看。
c、上下层级进入和返回
首页<–>列表页、列表页<–>详细页 、首页<–>详细页。不同层级之间的进入和返回实现是否有相应按键易操作。
d、字体、图片、动态交互效果
字体:标签、标题、内容、动态播放字体…
图片:轮播图、背景图、封面图、触屏产生的交互图…
e、其他
页面的响应时间、资源占用、渲染时间、耗电量、白屏
7)、安全测试
微信公众号授权、小程序账号与APP账号的关联
小程序的升级更新、分享、添加删除我的小程序、取消授权
8)、性能测试
包括页面的白屏时间,首屏时间,资源占用,页面渲染时间,帧率等等。
四、根据小程序API 总结能用到的测试点
- 小程序授权登录、登录状态过期重新登录、获取当前账号信息、获取当前用户信息、
- 修改微信字体大小(我-设置-通用-字体大小),看适配情况。
- 修改微信设置的语言,看适配情况
- 根据不同手机的操作系统及版本 如Android 最新版 、低配手机 、苹果手机
- 权限相关:蓝牙、地理位置(模糊定位和精准定位)、wifi系统开关、在竖屏正方向下的安全区域等
- 查看公众号文章中插入的小程序,是否能正常使用
- 消息提示框,title 文本最多显示 7 个汉字长度。测试点大于7个汉字或小于7个汉字
- 网络不好的情况下,是否显示 loading 提示框
- 底部导航菜单-tabBar 某一项的右上角的红点,看小红点是否能正常显示
- 手机应用全部设置为网络字体,看小程序中的字体是否适配
- 页面下拉刷新
- 数据缓存: 保存数据到本地缓存 删除本地缓存
- 地图:获取地图中心的经纬度、
- 图片:保存图片到系统相册、全屏预览图片、从本地选择图片上传或使用相机拍照
- 视频:保存视频到系统相册、拍摄视频或从本地相册中选视频、播放视频、暂停视频、停止视频、设置倍速播放、进入全屏、退出全屏、 跳转到指定位置、发送弹幕、
- 音频:开始播放语音、结束播放语音、暂停正在播放的语音、语音转文字功能?
- 小程序跳转:打开另外一个小程序、返回到上一个小程序
- 发起微信支付:wx.requestPayment 支付成功、支付失败
- 收货地址:获取用户收货地址 wx.chooseAddress,看应用是否能将个人信息-我的地址的地址带过来
- 微信运动:获取用户过去三十天微信运动步数 wx.getWeRunData, 实际业务要求显示当前的步数,可将2处的数据做比较,是否一致
- 剪切板:获取系统剪切板的内容-we.getgetClipboardData,从微信聊天记录里复制的信息,看是否能粘贴到小程序中并正常显示
- 网络:监听网络状态变化时间-wx.onNetworkStatusChange 、获取网络类型 -wx.getNetworkType,网络无连接或网络不好的情况下,是否能正常提示网络类型不好了,请检查网络
- 电话:拨打电话-wx.makePhoneCall 小程序中联系客服,是否能正常拨打电话
- 性能:监听内存不足告警事件-wx.onMemoryWarning 手机内存不足,是否能给出警告
- 扫码:掉起客户端扫码界面进行扫码 wx.scanCode 小程序中扫一扫功能是否能正常使用
H5
1. 环境配置
一般的测试流程是H5页面开发完成后,先在测试环境进行测试,测试通过再部署到线上环境,所以测试阶段要先进行测试环境配置。
2. 测试关注点
2.1 业务逻辑测试
业务逻辑相关的测试,视具体业务的需求而定;
2.2 页面元素UI测试
页面UI主要包括文字、图片以及页面布局等方面测试;
文字:风格一致、错别字、标点符号统一、换行是否显示正常、一行长文字是省略显示全显示、图片与文字是否一致、刷新页面文字是否展示;
图片:1)静态:大小、风格;2)动态:大小、风格、准确性动态图、转场动画,loading动画,点击动画等;3)刷新页面图片是否正常展示;4)图片适配:根据不同屏幕和分辨率进行适配;
页面布局:页面文字图片是否能自适应屏幕、整体布局是否合理等;
内嵌链接:空链接、刷新链接数据是否展示;链接跳转是否正确;
2.3 页面操作
1)刷新与返回
页面刷新是否仍然处于当前页面;
用户主动点击刷新按钮是否仍然处于当前页面;
点击返回与back键,回退页面是否是期望页面(安卓物理按键返回;iOS左滑返回,考虑左滑一半松手,自动回到H5页面是否正常加载的情况);
2)翻页
遇到翻页加载的页面,需要注意内容为一页或者多页的情况;
数据分页加载时,注意后续页面请求数据的正确;
ps:注意在快速操作场景中,请求页数是不是依次递增,快速操作(如第一页尚未loading出来的时候仍然继续上拉操作)时是否发出去对应的请求了。
3)弹窗出现/关闭
手机测试要特别关注交互是否友好,可能会导致一些体验的问题,比如:弹出层的点击,是否会穿透,影响到弹出层下面的页面;
4)浮层页面
对于一些浮层做的页面,例如地图、产品分类等浮层,注意拖动后是否可以看到它下面的页面,拖动后边缘是否有留白;
5)页面提示
弱网络下,数据加载较慢,是否有对应的loading提示;
接口获取异常时,提示是否合理;
刷新页面或者加载新内容时页面是否有抖动;
6)手机操作相关
锁屏之后展示页面;
退到后台,再重新呼出在前台展示;
2.4 接口测试
1)接口返回处理:
请求成功,且返回有数据,测试接口返回数据的各种场景-接口返回的数据期望的是否一致;接口入参的边界值校验;检查接口的容错性,如对于传输数据类型错误能否处理等,整型的输入小数、中英文等;
请求成功,但data内容为空;
请求接口异常时,页面处理;
2)接口性能测试:
页面加载时间:关注页面首屏加载时间;调用接口数据返回的时间,速度过慢会影响用户体验;资源相关:页面中有图片的话,尽量缩小图片;资源是否压缩、是否通过CDN加载。
服务端并发性能:用户量过多时,服务器性能是否受到影响;
内存:反复访问,检查是否占用大量内存;
流量消耗:对于一些不会变化的图片,如游戏动画效果相关图片,不需要每次都请求的东西,做本地缓存;数据较多时是否做了分页加载。
2.5 网络测试
网络环境:WiFi、4G、3G、2G;
网络异常:弱网、断网;
网络切换;
2.6 适配测试
H5页面需要适配的内容主要有:图片高清适配;字体大小适配;页面布局宽度适配;横竖屏适配;
考虑适配因素:对不同屏幕尺寸和分辨率的机型进行适配;不同平台iOS和安卓进行适配;屏幕横竖屏适配;日夜间模式适配;深色浅色模式适配(iOS13系统);
2.7 安全测试
明确投放渠道都有哪些,是否对未投放渠道做了限制,直接通过url请求是否拦截等;
接口部分敏感信息是否加密传输等;
直接URL是否能打开;
防止恶意攻击;
2.8 埋点测试
埋点数据检查;
2.9 上线后验证测试
上线后:H5涉及到的各种资源文件,在测试环境(包括预发环境),一般都是内域,正式上线,RD童鞋有把资源文件(或者说url中的链接忘了修改)漏发的风险,所以上线后一定要用外网环境再快速回归下;
如何识别H5
从视觉效果上看,H5页面与APP native页面是一样的,因此测试时经常会问到一个问题,这个页面是不是H5页面?如何识别呢?在此提供以下几个方法:1)基本上只要对那个view长按,然后看是不是有反应,比如手机震动(Android)、或者出现文字选择粘贴(Android/iOS),那么就是H5页面;2)横屏竖屏相互切换,能自适应,并且布局不会乱掉,通常情况也属于H5页面;3)H5页面在PC端也是能访问的,chrome对H5支持最好,功能的测试可以在PC端chrome下先测试,也可以在手机上直接测试