App兼容性测试/MONKEY配置和安装

APP测试的兼容性测试

在这里插入图片描述

上线后进行兼容性测试的话,这种情况只适用于安卓 因为这个情况是不允许的,ios是不行的。。

上线前可以问市场经理 或者查找百度流量和百度指数
在这里插入图片描述

MTC testblrd 都有云测试平台
云平台不会把测试人员代替的,比如 云平台他也是软件,他不可以自己测自己呀,他也得找人测试,就这一点就不能说云平台会把测试人员代替。云平台只是能代替一部分自动化测试内容

易用性测试:

在这里插入图片描述

UI测试:
在这里插入图片描述

场景交互测试:
比如在玩一个app的时候可能会突然退出或者是切换到其他app上,或者说正在使用某种app,突然有电话短信或者视频通话,用户在使用app的时候会有很多种场景,所以要考虑app在这些不同的场景下能不能够正常的使用。
在这里插入图片描述
资源争用:
手机的资源是有限的,比如说抖音在使用的时候会有声音,那么会和麦克风喇叭有冲突,比如先开了播放音乐 再打开抖音,这个时候一般是后面会把前面的app压下去。

在这里插入图片描述
消息推送:
1.在不同的手机上消息推送展示是不一样的,所以也很容易出问题。
在这里插入图片描述
2.我们需要检查消息推送过来是否能够正常的展示,并且在app退出后能不能收到消息推送。(系统有一个消息推送的模块,app可以通过这个模块来控制退出后是否能收到消息推送)
3.断网以后再次联网还能收到消息吗
4.同时推送两条消息,是前一条先显示还是后一条先显示
在这里插入图片描述
App的安装/卸载/更新:
1.是否安装成功
2.卸载app后残留的数据处理(当用户卸载时选择保留用户数据,下一次安装的时候是否能正确读取数据,如果不保留数据,是否能删的干干净净)
3.只考虑手机自带的更新,应用市场的更新就不管了,因为app可能有的还没有上架到市场中去,要考虑强制更新和正常更新。
强制更新:
假如这个软件已经更新很多次了,而用户还没有更新,这个老版本如果已经不能用了,那么软件可能就会选择偷偷更新(行为流氓,但是是为了保留住用户)
热更新:
热更新就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复 BUG 和发布功能,让开发者得以绕开苹果的审核机制,避免长时间的审核等待以及多次被拒造成的成本。简单来说,就是当游戏某个功能出现bug,或者修改了某个功能,后者增加了某个功能的适合,我们不需要重新下载安装安装包,就可以更新游戏内容。
热更新的好处:不用浪费流量重新下载,不用通过商店审核更加快速,不用重新安装玩家可以更快体验到更新的内容。
苹果会审核app上架, 2017年6月,AppStore审核团队针对AppStore中“热更新”的App开发者发送邮件,要求移除所有相关的代码、框架或SDK,并重新提交审核,否则就会在AppStore中下架该软件。(但也有偷偷做热更新的)
苹果反对的原因: 由于软件热更新绕过了苹果的审核,黑客开发者有可能会通过提交正常的版本之后,通过热更新的方式修改APP导致安全隐患,这违反了苹果的安全隐私政策。另外苹果此举既能改善部分使用混编语言的App的流畅性,也能重新掌握一些渠道的App审核权限。
在这里插入图片描述

资源的消耗:
1.app对于电量的消耗是不一样的,app对于每小时消耗的电量是有指标的,需要在可接受的范围内。(设置–电池–看到软件的耗电排行,但是要统计多一点数据,做一个平均值)
2.应用大小不能太大,安装的时间和打开app的时间也不能太长,操作的响应时间需要注意。
258原则 : 2s以内是最好的,5s用户能感受到打开的过程,8s的话用户就会有意见了。
3.可以通过adb,配套monkey runner或者monkey去检测资源的消耗

在这里插入图片描述

权限:
当你提出的需要的权限用户不允许的话,app会怎么处理?
比如app需要相机权限,但是用户不允许,app会强制打开还是强制退出?
需要注意的是,不给某一个权限的时候,app是否能正常使用其他的权限?

弱网测试:
使用app可能会在不同的网络下使用,在不同网络下是否都能正常使用。
方法
1.可以用软件来模拟网络(3G可能会取消,但是2G不会取消,因为它是通信的基础),还可以在路由器上做网速的限制。
monkey可以实现无规律的操作,直到测到规定时间。
在这里插入图片描述在这里插入图片描述

H5 = 手机上的网站

版本迭代:
在这里插入图片描述

增量测试:只测试已知的有变化的功能。(当功能已经非常多全部测试已经不成了的时候,可能会推出自动化测试,这个时候我们就只测试已知的有变化的功能)
全量测试:软件都是从小做到大,每发一个新功能,要把所有的功能都测一遍。

Web测试和App测试有什么区别

1、系统架构方面:
web项目,一般都是b/s架构,基于浏览器的。app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。
2、性能方面:
web页面主要会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory这些。它们服务端的性能没区别,都是一台服务器。
3、兼容方面:
web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容。app测试则要看分辨率,屏幕尺寸,还要看设备系统。web测试是基于浏览器的所以不必考虑安装卸载。
app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件。此外APP还有一些专项测试:如网络、适配性等。
相对于 Web 项目,APP有专项测试,对于app的测试会更麻烦一点
  1. 干扰测试:中断,来电,短信,关机,重启等
  2. 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)
  3. 安装、更新、卸载
  安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况
  卸载:需考虑 卸载后是否删除app相关的文件
  更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新
  4. 界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换
  5. 安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等
  6. 边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等

性能和稳定性工具—MONKEY

是安卓sdk自带的小的压力测试工具,可以模拟出一些随机事件,可以对真机或者虚拟机产生相应的随机性操作,这种压力工具一定不是针对后端性能,而是针对单一手机性能而做的一些工具
目标是为了保证手机运行app的稳定性,不会因为这个app的使用当机等

◆Monkey是android sdk中自带的工具
◆运行在模拟设备中,并生成用户事件的伪随机流,例如点击,触摸,或手势,以及若干系统级事件。
◆Monkey测试,所有的事件都是随机产生的,不带任何人的主观性。可使用Monkey进行压力测试

那么目前说的都是对于单机进行测试,那如果想测试服务器,比如说支付宝。
就需要接口测试,是后端的,需要用loadrunner测试,
所以手机app的测试需要分为前端和后端测试,前端用monkey,后端用LR

环境配置和安装

◆JDK安装配置
◆Android SDK安装配置
◆电脑adb连接手机或虚拟设备
adb是安卓的一个工具,打开手机的开发者模式,调成允许调试
adb连接夜神模拟器,保证夜神模拟器和本身的安卓sdk的adb版本是一致的

1.用夜神模拟器下载好手机淘宝,使用过monkey来进行压力测试:
在这里插入图片描述
2.查看是否装好安卓的sdk
在这里插入图片描述
3.将adb链接到夜神模拟器上:
在这里插入图片描述
4.要知道用adb发包,用monkey进行压测的时候,需要知道夜神模拟器相应我要进行压测的软件的包名,所以要查一下淘宝在夜神模拟器中的包名,可以查看一下所有的包名,找taobao即可:
在这里插入图片描述
如果不确定的话可以加上-f,可以告诉你是哪一个apk:
在这里插入图片描述
在这里插入图片描述
依托adb应用到monkey的工具 -p 包的名字 日志等级(三个v说明是最详尽的日志) 随机事件流(1000说明是产生1000个随机事件) > report.txt(将我们的命令打到这个文件中去)
在这里插入图片描述

点击回车以后,夜神模拟器会自己随机模拟一千次事件,包括滑动,点击,等等

在这里插入图片描述
完成后打开report文件,查看日志:

在这里插入图片描述
monkey有一个参数可以把seed号传入,这样下次执行的时候它的随机事件流和这一个的事件流是完全一致的,这就帮助我们去进行各种操作,比如稳定性,这次没通过要回归的话,用上次没通过的事件流是不是更好呢。
在这里插入图片描述
用真机的话可以用usb链接真机,进行操作

云测试平台

众测平台,毕竟不是每个公司都能把所有手机机型都采购一遍

在这里插入图片描述在这里插入图片描述
有大大的云端 就像客户一样做一些操作

发布了82 篇原创文章 · 获赞 7 · 访问量 4164

猜你喜欢

转载自blog.csdn.net/sunshine612/article/details/105610443