一、APP、Web、H5测试总结
web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。首先从系统架构来看的话,web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是app端是不能够保证完全一致的,除非用户更新客户端。如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
相同点:
1、从功能测试的来讲的话,在流程和功能测试上是没有区别的。系统测试和一些细节可能会不一样。
2、性能方面,web页面可能只会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory
3、兼容方面,web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容,不过一般还是以浏览器的为主。而浏览器的兼容则是一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox)。app的测试则必须依赖phone或者是pad,不仅要看分辨率,屏幕尺寸,还要看设备系统。系统总的来说也就分为Android和iOS,不过国内的Android的定制系统太多,也是比较容易出现问题的。
4、相比较web测试,app更是多了一些专项测试:
一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等;而弱网测试是app测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。这些在前面的弱网测试那篇已经讲过,这里不再讲了。安装、卸载、更新,现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。
web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除app相关的文件等等。
APP端测试:https://www.cnblogs.com/linbo3168/p/9047313.html
1、对UI要求比较高,需要更加注重用户体验。对于一个小小的屏幕,如何让用户使用更加轻便、简介、易用。
2、性能方面,web页面可能只会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory
2、手机对网络要求比较特别,网络分2G,3G,wifi
3、版本升级测试,及对老版本回归测试
4、Push推送测试
5、iOS、Android及系统兼容性测试
Web端测试:
1、体验
2、稳定性
H5页面测试:
H5测试就是HTML5,就是移动端web页面。
我们以往的APP是使用原生系统内核的,相当于直接在系统上操作,是我们传统意义上的软件,更加稳定。H5的APP先得调用系统的浏览器内核,相当于是在网页中进行操作,较原生APP稳定性稍差。H5最大的有点是可以跨平台,开发容易。APP的话需要用Android语言和iOS语言各写一套,H5只需写一套。
H5测试应该从哪方面考虑?
除基本的功能测试之外,H5页面的测试,需要注意以下几点:
1.1登录
目前H5与native各个客户端都做了互通,所以在测试的时候需要注意两点:
A、若客户端已经登录,进入H5后仍然是登录状态
B、若客户端未登录,进入H5,点击对应按钮或链接,如果需要登录,需要拉起native登录。若取消登录,是否可再次拉起登录,或停留在页面是否有对应登录提示。
1.2翻页
遇到翻页加载的页面,需要注意内容为1页或者多页的情况。
A、数据分页加载的时,注意后续页面请求数据的正确。这个需要注意在快速操作场景中,请求页数是不是一次递增,快速操作(如第一次尚未loading出来的时候仍然继续上拉操作)时是否发出去对应的请求
1.3刷新与返回
A、下拉舒心是否仍然处于当前页面
B、用户主动点击刷新按钮是否仍然处于当然页面
C、当点击返回与back键,回退页面是否期望页面
1.4数据的请求与返回
A、提交了请求,是否正确返回期望的数据
2、H5适配相关
H5的适配其实与客户端相比,要求少一些,手机品牌之间的差异不大,所以不用太多关注。
A、大屏(如720*1280,重点关注页面背景是否完全撑开页面,刷新是否有抖动)、小屏手机(如320*480,重点关注下拉弹窗样式和文案折行)
B、Android
C、iOS
D、浏览器上也要完美展示
3、安全相关
3.1明确投放渠道都有哪些
是否对投放渠道做了限制,直接通过url请求是否拦截等
4、体验相关
4.1收集操作相关
A、锁屏之后展示页面
B、回退到后台之后,重新呼出在前台展示
C、手指欢动师范流畅,手指点击时焦点是否定位正确,不同机型会不一样
4.2弱网络体验
5、埋点数据检查
二、客户端测试
1、网络测试需要关注点:
1) 无网络,执行需要网络的操作,要有友好的提示,确保程序不出现crash。由于
网络出现crash都属于bug。
2) 无网络,执行需要网络的操作,要有友好的提示,确保程序不出现crash。由于
网络出现crash都属于bug。
3) 网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成crash
4) 网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。如
遇数据交换失败时要给予提示
5) 网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执
行其他操作的情况,有无异常情况。此问题也会经常出现程序crash
2、应用的前后端切换
1)APP在处理弹窗时、有数据交换时、
操作:app切换到后台、手机锁屏截屏、有电话打来再回到app时
验证结果:检查是否停留在上一次操作界面,功能及应用状态是否正常(特别是在处理弹出框时),程序是否有崩溃,功能状态是否正常(特别是数据有更新的时候)
2)杀掉APP,再次打开,启动是否正常
3、数据更新
根据业务规则以及数据更新情况,来确定最优的数据更新情况
1)需要确定哪些地方需要手动刷新、自动更新、
2)数据展示部分处理逻辑,是每次从服务端请求还是缓存在本地,这样才有针对性的做测试
3)检查有数据更新的地方均有做异常处理
4、Push测试
1)检查Push消息是否按照正常的业务规则发送
2)如果不接收Push消息时,检查用户不再收到消息推送
3)如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到push。 在非免打扰时间段,用户能正常收到push
5、客户端更新
客户端更新一般是通过判断与服务器端返回的当前版本号比较来判断是否有更新。我们测试模拟更新时,首先要了解到服务端当前版本号(1.0),然后让客户端打高版本的安装包(2.0),通知服务端改服务端版本号也改成2.0,把2.0安装包放服务端后。即可开始升级测试。
1)当客户端有新版本时,提示更新
2)当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下 次启动app时,仍能出现更新提示。如果是正式app已经上线,那么升级时一定要考虑老版本是否能正常使用。
3)当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端或 者切换到后台,下次启动app时,仍出现强制升级提示
4)覆盖安装后,用户信息仍然保留
5)更新成功,检查是否是新版本,并且不能再提示更新
6)老版本回归
6、免登陆
1)很多应用支持免登陆浏览,当应用开启时自动以上一次登录的用户身份浏览
2)无网情况能否正常进入免登陆状态
3)密码更换时,检查有数据交换时是否进行的身份校验
4)用户主动退出,下次再登录时是否停留在登录页面
7、通用测试
1)对模拟键盘的处理,例如键盘展开后,点击其他位置,键盘能否正常收起,键盘使用完毕后,能否正常收起
2)同时快速点击两个不同的按钮,检查程序是否正常,是否有闪退现象
3)文字特殊符号的展示显示能正常输入,不转义显示,如<>不会显示成<>