APP测试---其他测试
App测试-其它测试类型
课程目标
1、理解移动app兼容性测试的思路
2、掌握如何使用云测平台来进行移动app兼容性测试
3、理解移动app网络测试的思路
4、掌握如何使用腾讯qnet工具来进行移动app网络测试
5、了解移动app安装测试、用户体验测试和异常测试
课前扩展
APP测试/WEB测试/客户端软件测试
其实整个APP测试的课程,目的是为了让你们学习到,APP在测试过程中需要注意的特殊点,以及不同点(相对于B/S架构和C/S架构的电脑客户端软件来说)
Browser / Server Browser浏览器
Client / Server Client客户端 -> APP其实也是C/S架构的
其实现在我们测试“移动端”:
\1. APP :
要安装的
\2. 小程序 :
小程序是基于别的平台上,用户可以直接使用的,不需要提供安装包
小程序往往安装在微信端和支付宝上面,需要向微信发起申请,通过以后才能安装,绑定到微信/支付宝这个平台上
\3. H5页面 :
H5 = HTML第五代技术
学习HTML
Hyper text markup language 超文本标记语言
文字输入的地方和【百度一下】按钮都叫输入框
为什么按钮叫输入框:点击了,服务器才会收到通知,所以点击的动作等于你输入动作给服务器
重点复习:为什么H5如此之火?
安卓/IOS完全独立,所以我们做一个功能给客户用,做2次,成本非常之高,但是HTML技术是跨平台,他可以用浏览器访问,仅仅只是一个链接,直接连过去即可,所以现在很多APP的功能,都做成了H5
但是H5有什么弱点?第一,由于他基于网页技术,所以他做不出什么特别高大上的酷炫功能,所以,放心,原生app还是很厉害的,现在主流是在原生APP里,嵌入大量的H5
H5被广泛应用在,宣传相关的功能上:朋友之间分享链接、比如在线购买保险(其实你只需要填写信息就可以了)
APP的专项测试
如果面试被问到:你们怎么测试APP的?(等同于问你,APP专项测试的关注点)
1、功能性(简单提一下)
2、APP的性能:内存,CPU, GPU, 手机电量, 弱网测试,不同网络切换测试,流量,安装包大小
3、APP的兼容性
4、APP和手机的影响(手机的电量、流量、设置、提醒等)
5、APP的易用性
如果人家面试官问你,移动端的测试怎么做?千万记住,不只是APP,明白吗?还有小程序、H5
一、移动app兼容性测试
iOS系统上做app兼容性测试比Android系统上要容易很多(需要准备的内容少很多)
Android 的app兼容性测试主要考虑:
1、Android系统版本
v 标准Android系统
v 定制化的Android系统(华为手机很多都是定制的,游戏手机也是定制的,甚至老年人手机,微软系统都有OEM)
对于标准Android系统,5.0和6.0需要重点关注(权限)
2、机型的兼容(主要是屏幕的兼容)
1)屏幕类型:全面屏、刘海屏、水滴屏、传统屏、药丸屏等
2)屏幕密度:hdpi、xhdpi等
3)屏幕分辨率
4)屏幕尺寸
5)品牌
实际工作中兼容性测试可以包含(测试策略):
① 针对几款主流机型,进行完整的功能测试和性能测试
② 针对更多的机型,使用云测平台来进行简单的功能测试和性能测试:
云测平台比如TestIn、阿里云、腾讯云、华为云等。云测平台本质上就是手机的在线租用。
只做:安装->启动->简单的功能测试(Ripper功能智能探索)->卸载
可移植性测试?大家不要过于纠结测试术语,一回事,我也可以理解,可移植性测试是兼容测试大类的一部分
测试策略:一般做基础的功能点击的话,只做冒烟测试或主流程测试就可以了
1.1.使用阿里云做兼容性测试
1、访问阿里云(建议使用google的chrome浏览器访问,其他可能有兼容问题)
https://homenew.console.aliyun.com/
2、找到并开通移动测试的云服务
3、点击研发工具右侧的【查看更多】
4、点击【移动测试】
5、上传被测应用
6、选择【运行测试】,选择兼容性测试
7、选择被测应用及版本
8、进行测试配置,提交测试
提交测试后,不会马上出结果,需要等待一段时间,测试完毕后,会通过邮件或者旺旺通知测试结果
1.2.阿里云做兼容性测试的主要考虑点
1、应用的安装、启动、【智能探索(Monkey)】和卸载
2、性能方面:启动时间、CPU占用率、内存占用率、流量、丢帧率
3、智能探索测试(类似于monkey)
1.3. 阿里云进行兼容性测试的原理
阿里云在兼容性测试过程中会抓取日志、截图,完全靠adb工具来实现自动化:
抓取日志:adb logcat -v time
阿里云抓取的日志包括logcat日志和anr日志(/data/anr/目录下),在日志中查询exception、error、anr、crash等关键字,提取重要日志信息
错误截图:adb shell screencap
1.4. 利用adb和bat批处理程序做简单的安装、启动和卸载自动化
Bat 批处理文件,自动地打开CMD命令行模式,并且可以同时执行多条命令
Batch 批处理的意思 ,他不是bat(蝙蝠)
bat命令不懂的,百度搜索,不要刻意去学,用到了,用多了自然就会
将脚本放进一个普通文本文档,扩展名改为kaoyanbang.bat
新建普通txt,然后重命名,把txt改成bat就可以了
adb install D:\EducationLab\kaoyanbang.apk
choice /t 2 /d y /n >nul
adb shell am start -n com.tal.kaoyan/.ui.activity.HomeTabActivity
choice /t 10 /d y /n >nul
adb shell monkey -p com.tal.kaoyan --throttle 300 -vvv 100
adb shell pm clear com.tal.kaoyan
choice /t 2 /d y /n >nul
adb uninstall com.tal.kaoyan
choice /t 2 /d y /n >nul
代码解释:
1、安装考研帮app
2、等待2s
3、运行考研帮app(直接进入首页)
am , 对于APP管理的命令,app management,不同的活动在androidmanifast.xml里去搜索activity就可以了
4、等待10s
5、执行Monkey命令
6、退出考研帮app
pm ,对于process(进程)的管理命令,process management
7、等待2s
8、卸载考研帮app
9、等待2s
自动执行bat文件,不需要什么Jenkins,Windows的定时任务管理器就可以完成,把bat文件加入任务管理器即可,可以有各种启动策略
二、移动app网络测试(弱网测试)
移动app运行在手机上,手机会连接不同的网络,比如:2G、3G、4G、5G、wifi等。这些不同的网络差异体现在:
1、带宽/速度
2、延迟
3、丢包率
4、错误率
性能测试不做弱网,性能测试可以做比较差的硬件设备。
弱网的模拟是为了做功能测试的,模拟出很差的网络(现实生活中可能会发生的情况),比如坐地铁、坐电梯等等。测试弱网的时候,软件的功能会不会发生异常,软件功能是否依然健壮。
弱网下测试订单支付:关注订单成功和不成功,主要从这2个角度分别关注:银行的账户余额,订单状态,商家的金额状态等
通过设置不同的网络参数就可以模拟不同的网络。常见的网络模拟工具有:
1、NEWT
运行在pc上,通过控制电脑的网卡来模拟各种移动网络。这个款工具由微软亚洲研究院研发。
2、ATC
运行在linux环境上,由facebook开源。
https://github.com/facebook/augmented-traffic-control
3、QNET
腾讯研发的工具,是一款网络模拟的app。
https://wetest.qq.com/product/qnet
QNET,在虚拟机里的手机模拟器上,无法登录成功,原因是,最新版的模拟器不兼容win7虚拟机,老版本的模拟器又跟目前的QQ有冲突,QQ会闪退,但QNET需要先登录QQ再授权登录。
可以安装的环境:逍遥模拟器是7.2.9 QQ是8.4.18 QNET是2.1.3(QQ好像不是最新版本的)
移动app网络测试包含:
1、不同网络下的功能测试
2、模拟不同网络不断切换下的功能测试
wifi->4g->3g->2g->4g->wifi(不同网络之间的切换)
【问题】微信朋友圈视频自动加载,如果微信设置中设置wifi情况下自动加载,那么网络由wifi变成4g,自动下载功能应该如何处理,会中断吗?
A. 中断
B. 不中断
C. 不确定
【问题】恢复wifi后会自动恢复吗?
A. 会
B. 不会
C. 不确定
3、弱网测试
带宽变小、延迟变大、丢包率上升、错误率上升。
4、无网测试
可以通过飞行模式模拟。
2.1.qnet工具在移动app网络测试中使用
一、安装并运行qnet(现在需要下载最新版本了)
https://wetest.qq.com/product/qnet/
二、选择qq登录
需要在手机上安装qq的app(自动授权),并且使用的qq号需要进行实名认证。
如果你QNET在手机模拟器上,那QQ也要在手机模拟器里装下
三、选择被测app,选择网络,点击开始测试。
四、操作被测的app
五、可以更换网络后再进行操作
六、双击左上角的Q,回到qnet,结束测试
三、移动app其它类型测试
3.1.安装/卸载测试
1)对安装包进行病毒扫描,检查安装包是否有病毒
2)通过不同方式安装:adb、应用商店、浏览器、扩展卡、扫描二维码
v 如果想测试细致点就这么测,不想的话就应用商店就可以
3)app的升级测试
3.2用户体验测试
1)用户使用app是否方便?操作是不是简便?比如是否能单手操作,操作区域是否适合手指大小。
2)开发者选项的一项检测界面布局的小工具,位置:开发者选项->绘图->显示布局边界
确定退出帐户界面上确定按钮和取消按钮之间存在一个紫红的区域,说明两个按钮的可操作区域并没有连在一起
3.3.异常测试
出现各种异常的情况该如何处理
1)断网(无网测试)
2)断电(通过拔电池模拟)
3)程序异常退出(杀进程:adb shell pm clear com.tal.kaoyan)
场景:付款付到一半(验证的是APP能否很好的处理)
4)服务器给过来异常数据(fiddler的AutoResponder模拟)
四、总结
移动app的测试主要从以下5个类型来考虑:
1、功能测试
2、性能测试
3、兼容性测试
4、网络测试
5、易用性测试(用户体验)