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 超文本标记语言

img

​ 文字输入的地方和【百度一下】按钮都叫输入框

​ 为什么按钮叫输入框:点击了,服务器才会收到通知,所以点击的动作等于你输入动作给服务器

​ 重点复习:为什么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、找到并开通移动测试的云服务

img

3、点击研发工具右侧的【查看更多】

img

4、点击【移动测试】

img

5、上传被测应用

img

6、选择【运行测试】,选择兼容性测试

img

7、选择被测应用及版本

img

8、进行测试配置,提交测试

提交测试后,不会马上出结果,需要等待一段时间,测试完毕后,会通过邮件或者旺旺通知测试结果

img

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、错误率

img

​ 性能测试不做弱网,性能测试可以做比较差的硬件设备。

​ 弱网的模拟是为了做功能测试的,模拟出很差的网络(现实生活中可能会发生的情况),比如坐地铁、坐电梯等等。测试弱网的时候,软件的功能会不会发生异常,软件功能是否依然健壮。

​ 弱网下测试订单支付:关注订单成功和不成功,主要从这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/

img

​ 二、选择qq登录

​ 需要在手机上安装qq的app(自动授权),并且使用的qq号需要进行实名认证。

​ 如果你QNET在手机模拟器上,那QQ也要在手机模拟器里装下

​ 三、选择被测app,选择网络,点击开始测试。

img

​ 四、操作被测的app

img

​ 五、可以更换网络后再进行操作

​ 六、双击左上角的Q,回到qnet,结束测试

三、移动app其它类型测试

3.1.安装/卸载测试

1)对安装包进行病毒扫描,检查安装包是否有病毒

2)通过不同方式安装:adb、应用商店、浏览器、扩展卡、扫描二维码

v 如果想测试细致点就这么测,不想的话就应用商店就可以

3)app的升级测试

3.2用户体验测试

1)用户使用app是否方便?操作是不是简便?比如是否能单手操作,操作区域是否适合手指大小。

img

2)开发者选项的一项检测界面布局的小工具,位置:开发者选项->绘图->显示布局边界

img

img

确定退出帐户界面上确定按钮和取消按钮之间存在一个紫红的区域,说明两个按钮的可操作区域并没有连在一起

3.3.异常测试

出现各种异常的情况该如何处理

1)断网(无网测试)

2)断电(通过拔电池模拟)

3)程序异常退出(杀进程:adb shell pm clear com.tal.kaoyan)

场景:付款付到一半(验证的是APP能否很好的处理)

4)服务器给过来异常数据(fiddler的AutoResponder模拟)

四、总结

移动app的测试主要从以下5个类型来考虑:

1、功能测试

2、性能测试

3、兼容性测试

4、网络测试

5、易用性测试(用户体验)


posted @ 2021-06-13 15:30  李沙漠  阅读(348)  评论(0编辑  收藏  举报